diff --git a/build/with_fcm/README.md b/build/with_fcm/README.md index bf27fb29e11acc416a184ecd60891c268c27f3e8..83e5d9f24e0b77ba0dc55f0ed5adba8e26dd1cb9 100644 --- a/build/with_fcm/README.md +++ b/build/with_fcm/README.md @@ -1,12 +1,19 @@ -Directory organisation: -- the fcm subdirectory contains the fcm tool. In the PHYEX git repository, this directory is empty. - It will be populated on first call to the make\_fcm.sh script and content is not tracked by git. -- the fiat subdirectory contains the fiat package from the ECMWF. In the PHYEX git repository, this directory is empty. - It will be populated on first call to the make\_fcm.sh script and content is not tracked by git. -- the arch subdirectory contains architecture specific files. An alternative arch directory can be - provided on the command line when calling the make\_fcm.sh script -- arch\_\* subdirectories are automatically created by the make\_fcm.sh script and are tracked by git. -- the make\_fcm.sh script will: +# OFFLINE COMPILATION + +## Directory organisation + +The different directories are: + - the fcm subdirectory contains the fcm tool. In the PHYEX git repository, this directory is empty. + It will be populated on first call to the make\_fcm.sh script and content is not tracked by git. + - the fiat subdirectory contains the fiat package from the ECMWF. In the PHYEX git repository, this directory is empty. + It will be populated on first call to the make\_fcm.sh script and content is not tracked by git. + - the arch subdirectory contains architecture specific files. An alternative arch directory can be + provided on the command line when calling the make\_fcm.sh script + - arch\_\* subdirectories are automatically created by the make\_fcm.sh script and are not tracked by git. + +## Compilation + +The make\_fcm.sh script will: - populate the fcm and fiat directories on first call - create the arch\_$ARCH directory, poulate it with arch specific files and a compilation script - execute the newly created compilation script diff --git a/build/with_fcm/output.txt b/build/with_fcm/output.txt deleted file mode 100644 index 3ceb0cc41f5958aafc2bcaaf250174503a83d23b..0000000000000000000000000000000000000000 --- a/build/with_fcm/output.txt +++ /dev/null @@ -1,2455 +0,0 @@ - -This script has generated config.fcm which is included by fcm-make.cfg, the FCM configuration file. -Running : fcm make -v -v -v -[init] make # 2022-06-08T08:08:04Z -[info] shell(0 0.0) git --git-dir=/home/riette/PHYEXbuild/build/with_fcm/fcm/bin/../.git describe -[info] FCM 2021.05.0 (/home/riette/PHYEXbuild/build/with_fcm/fcm) -[init] make config-parse # 2022-06-08T08:08:04Z -[info] shell(256 0.0) svn info /home/riette/PHYEXbuild/build/with_fcm/arch_gnu -[info] config-file=/home/riette/PHYEXbuild/build/with_fcm/arch_gnu/fcm-make.cfg -[info] config-file= - /home/riette/PHYEXbuild/build/with_fcm/arch_gnu/arch.fcm -[info] config-file= - /home/riette/PHYEXbuild/build/with_fcm/arch_gnu/config.fcm -[done] make config-parse # 0.1s -[init] make dest-init # 2022-06-08T08:08:04Z -[info] dest=riette@sxphynh:/home/riette/PHYEXbuild/build/with_fcm/arch_gnu -[info] mode=new -[done] make dest-init # 0.0s -[init] make preprocess # 2022-06-08T08:08:04Z -[info] analyse 0.0 util4/. -[info] sources: total=1, analysed=1, elapsed-time=0.0s, total-time=0.0s -[info] source->target util4/. -> (process) src/ util4/. -[info] target util4/. -[info] required-target: process src util4/. -[info] target-tree-analysis: elapsed-time=0.0s -[info] shell(0 0.0) cpp -P -traditional -I./include /home/riette/PHYEXbuild/build/with_fcm/fiat/src/fiat/util/abor1.F90 -[info] process 0.0 M util4/. <- util4/. -[info] process targets: modified=1, unchanged=0, failed=0, total-time=0.0s -[info] TOTAL targets: modified=1, unchanged=0, failed=0, elapsed-time=0.0s -[done] make preprocess # 0.0s -[init] make build # 2022-06-08T08:08:04Z -[info] analyse 0.0 common/micro/mode_read_xker_rweth.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_gridn.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_dimn.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_fast_rg.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util8/. -[info] analyse 0.0 mpl12/internal/mpl_tour_table_mod.F90 -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_blowsnow.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_second_mnh.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_metricsn.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hook_end.intfb.h -[info] analyse 0.0 common/micro/mode_read_xker_gweth.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_dyn_corr.F90 -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_mppdb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) mode_coefj -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_field -[info] -> ( f.module) mode_tridiag_w -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_argslist_ll -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_alltoallv_mod.F90 -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) oml_mod -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modi_ini_neb.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_les.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modd_rain_ice_descr.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system4/. -[info] analyse 0.0 mpl12/internal/ec_mpi_atexit.c -[info] -> ( include) mpl.h -[info] analyse 0.0 drhook/internal/dr_hook_stackcheck_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tke_eps_sources.F90 -[info] -> ( f.module) modd_argslist_ll -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) mode_tridiag_tke -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modi_get_halo -[info] -> ( f.module) modd_field -[info] -> ( f.module) modd_budget -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modd_diag_in_run -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_budget -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_les -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_mf_turb.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_tridiag_massflux -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman_mf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_ver_sv_flux.F90 -[info] -> ( f.module) mode_emoist -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_tridiag -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_blowsnow -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> (o.special) rain_ice.o -[info] analyse 0.1 common/micro/mode_read_xker_sdryg.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util14/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_tiwmx_tab.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_tiwmx -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gradient_u.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_conf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 parkind/CMakeLists.txt -[info] analyse 0.0 common/micro/mode_ice4_fast_ri.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/ec_meminfo.intfb.h -[info] analyse 0.0 common/aux/modi_ini_cst.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_sv_flux.F90 -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_coefj -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_blowsnow -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gamma_inc.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modd_param_ice.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_comm_split_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gamma.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag_w.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_shuman -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/shuman.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_mf_cloud_bigaus.F90 -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modi_gamma_inc -[info] -> ( f.module) mode_thermo -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_rimltc.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modi_ice_adjust.F90 -[info] -> ( f.module) modd_budget -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/drhook.c -[info] -> ( include) cas.h -[info] -> ( include) crc.h -[info] -> ( include) oml.h -[info] -> ( include) ec_args.h -[info] -> ( include) drhook.h -[info] -> ( include) ec_get_cycles.h -[info] -> ( include) abor1.h -[info] analyse 0.0 common/micro/mode_ice4_rrhong.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/yommplstats.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_uv.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) mode_coefj -[info] -> ( f.module) modi_gradient_m -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_mpif.F90 -[info] -> ( include) mpif.h -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modd_diag_in_run.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gradient_w.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gradient_m.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_sedimentation_stat.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) modi_gamma -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_precision.F90 -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_emoist.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_sv_corr.F90 -[info] -> ( f.module) mode_emoist -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modd_blowsnow -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_oceanh.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modd_cturb.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi7/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi1/. -[info] analyse 0.0 common/turb/mode_sbl_depth.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_bl_depth_diag -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gamma_inc.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_msg -[info] -> ( f.module) modi_gamma -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/user_clock.intfb.h -[info] analyse 0.0 drhook/dr_hook_end.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_tendencies.F90 -[info] -> ( f.module) mode_ice4_warm -[info] -> ( f.module) mode_ice4_fast_rh -[info] -> ( f.module) mode_ice4_rsrimcg_old -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_ice4_fast_rs -[info] -> ( f.module) mode_msg -[info] -> ( f.module) modd_budget -[info] -> ( f.module) mode_ice4_compute_pdf -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) mode_ice4_fast_rg -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) mode_ice4_rainfr_vert -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) mode_ice4_slow -[info] -> ( f.module) mode_ice4_rrhong -[info] -> ( f.module) mode_ice4_nucleation -[info] -> ( f.module) modd_fields_address -[info] -> ( f.module) mode_ice4_fast_ri -[info] -> ( f.module) mode_ice4_rimltc -[info] -> ( f.module) modd_cst -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_mppdb.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_end_mod.F90 -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpi4to8 -[info] -> ( include) ec_mpi_finalize.intfb.h -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/oml.h -[info] analyse 0.0 mpl12/mpl_bindc.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_ref.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_fast_rh.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_param_ice -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi3/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_wait_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hook_prt.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_close_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_ioinit_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/dr_hook_watch_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hook_procinfo.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_ver_thermo_flux.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modd_ref -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_dim_n -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) mode_tm06_h -[info] -> ( f.module) modd_oceanh -[info] -> ( f.module) mode_prandtl -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_frc -[info] -> ( f.module) modd_grid_n -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) mode_gather_ll -[info] -> ( f.module) modd_turb_n -[info] -> ( f.module) mode_tridiag -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modd_metrics_n -[info] -> ( f.module) mode_tridiag_thermo -[info] -> ( f.module) modd_cst -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_sedimentation_split_momentum.F90 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) mode_tools -[info] -> ( f.module) modi_gamma -[info] -> ( f.module) mode_msg -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_arg_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_budget.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_barrier_mod.F90 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tm06.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_thl_rt_from_th_r_mf.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util4/. -[info] analyse 0.0 include1/gstats_setup.intfb.h -[info] analyse 0.0 common/turb/mode_bl_depth_diag.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_warm.F90 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_msg -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_general_gamma.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_nsv.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_ioinit_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_conf.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system1/. -[info] -> ( include) mpl.h -[info] -> ( include) drhook.h -[info] analyse 0.0 common/micro/mode_ice4_rsrimcg_old.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system7/. -[info] analyse 0.0 common/turb/mode_coefj.f90 -[info] -> ( f.module) modd_cst -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_waitany_mod.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpi4to8_s.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpi4to8.F90 -[info] -> ( f.module) mpi4to8_s -[info] -> ( f.module) mpi4to8_m -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_gatherv_mod.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpl_myrank_mod -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_send_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi2/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_thermo_flux.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_myrank_mod.F90 -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_probe_mod.F90 -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) oml_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/ini_neb.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_neb -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_updraft.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_compute_bl89_ml -[info] -> ( f.module) modd_turb_n -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_compute_entr_detr -[info] -> ( f.module) mode_th_r_from_thl_rt_1d -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) modd_param_mfshall_n -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/mpl.h -[info] analyse 0.1 common/turb/mode_prandtl.F90 -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_conf -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_emoist -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/compute_frac_ice.func.h -[info] analyse 0.0 parkind/parkind2.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_broadcast_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_barrier_mod -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpl_myrank_mod -[info] -> ( f.module) mpl_send_mod -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_parameters.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gradient_v.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.1 mpl12/internal/mpi4to8_m.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_abort_mod.F90 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) yomhook -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/ec_pmon.intfb.h -[info] analyse 0.0 drhook/internal/dr_hook_util.F90 -[info] -> ( include) dr_hook_init.intfb.h -[info] -> ( f.module) ec_lun -[info] -> ( f.module) yomgstats -[info] -> ( f.module) dr_hook_stackcheck_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) dr_hack_mod -[info] -> ( f.module) mpl_myrank_mod -[info] -> ( f.module) oml_mod -[info] -> ( f.module) yomhook -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_testsome_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util1/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/get_halo.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/shallow_mf.F90 -[info] -> ( f.module) mode_msg -[info] -> ( f.module) mode_mf_turb_expl -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_compute_updraft_raha -[info] -> ( f.module) mode_compute_mf_cloud -[info] -> ( f.module) mode_thl_rt_from_th_r_mf -[info] -> ( f.module) mode_compute_updraft_rhcj10 -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) mode_compute_updraft -[info] -> ( f.module) mode_mf_turb -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( include) compute_frac_ice.func.h -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/ice_adjust.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_budget -[info] -> ( f.module) modi_condensation -[info] -> ( f.module) modd_budget -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_ll -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_frc.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/ec_mpi_finalize.F90 -[info] -> ( include) dr_hook_end.intfb.h -[info] -> ( include) ec_meminfo.intfb.h -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_vw.F90 -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modd_field -[info] -> ( f.module) mode_coefj -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_conf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/drhook.h -[info] -> ( include) fiat_pp.h -[info] analyse 0.0 drhook/internal/dr_hook_util_multi.h -[info] analyse 0.0 common/turb/mode_turb_hor_tke.F90 -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/crc.c -[info] -> ( include) crc.h -[info] analyse 0.0 common/micro/mode_qsatmx_tab.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_tiwmx -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util9/. -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hack_mod.F90 -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_myrank_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/crc.h -[info] analyse 0.0 common/aux/modd_field.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_gather_ll.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_bytes_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_data_module.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_msg.F90 -[info] -> ( f.module) ec_lun -[info] -> ( f.module) modd_io -[info] -> ( include) abor1.intfb.h -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag_massflux.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_shuman_mf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_stats_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) yommplstats -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/ini_cst.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_precision -[info] -> ( f.module) mode_msg -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_send_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_nproc_mod -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/cdrhookinit.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_gradient_u.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gradient_w.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_conf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_th_r_from_thl_rt_1d.F90 -[info] -> ( include) compute_frac_ice.func.h -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_thermo -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 parkind/parkind1.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_comm_create_mod.F90 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_message_mod.F90 -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_abort_mod -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_ll.F90 -[info] -> ( f.module) mode_argslist_ll -[info] -> ( f.module) mode_tools -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_argslist_ll -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/turb.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_emoist -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_bl89 -[info] -> ( f.module) mode_turb_ver -[info] -> ( f.module) modd_ibm_param_n -[info] -> ( f.module) mode_ll -[info] -> ( f.module) mode_update_lm -[info] -> ( f.module) mode_sources_neg_correct -[info] -> ( f.module) mode_rmc01 -[info] -> ( f.module) modd_turb_n -[info] -> ( f.module) mode_tke_eps_sources -[info] -> ( f.module) mode_turb_hor_splt -[info] -> ( f.module) modd_budget -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) mode_tm06 -[info] -> ( f.module) modd_io -[info] -> ( f.module) mode_rotate_wind -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) mode_sbl -[info] -> ( f.module) modd_argslist_ll -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) mode_budget -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modi_ibm_mixinglength -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_les -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_rainfr_vert.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi4/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi8/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/cas.h -[info] analyse 0.0 util3/. -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/ec_args.h -[info] analyse 0.0 drhook/internal/dr_hook_util_multi.F90 -[info] -> ( include) dr_hook_util.h -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) oml_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_sedimentation_split.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_msg -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) modi_gamma -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_mf_cloud_direct.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_param_mfshall_n -[info] -> (o.special) rain_ice.o -[info] analyse 0.1 common/aux/mode_thermo.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_msg -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/ec_khz.intfb.h -[info] analyse 0.0 common/turb/mode_turb_hor_thermo_corr.F90 -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) mode_emoist -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/abor1.h -[info] analyse 0.0 gstats1/. -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_io.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/tools.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_nucleation.F90 -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_rotate_wind.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/yomhook.F90 -[info] -> ( include) dr_hook_util.h -[info] -> ( include) dr_hook_init.intfb.h -[info] -> ( include) dr_hook_end.intfb.h -[info] -> ( include) dr_hook_util_multi.h -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) oml_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system5/. -[info] -> ( include) getstatm.h -[info] analyse 0.0 mpl12/internal/mpl_groups.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_splt.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_turb_hor -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_turb_hor_tke -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modi_shuman -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_sbl.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cturb -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include2/. -[info] analyse 0.0 common/turb/mode_tm06_h.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_rmc01.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_sbl -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/mpl_module.F90 -[info] -> ( f.module) mpl_probe_mod -[info] -> ( f.module) mpl_gatherv_mod -[info] -> ( f.module) mpl_setdflt_comm_mod -[info] -> ( f.module) mpl_tour_table_mod -[info] -> ( f.module) mpl_wait_mod -[info] -> ( f.module) mpl_abort_mod -[info] -> ( f.module) mpl_mygatherv_mod -[info] -> ( f.module) mpl_barrier_mod -[info] -> ( f.module) mpl_allgatherv_mod -[info] -> ( f.module) mpl_nproc_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_comm_create_mod -[info] -> ( f.module) mpl_write_mod -[info] -> ( f.module) mpl_testsome_mod -[info] -> ( f.module) mpl_end_mod -[info] -> ( f.module) mpl_allgather_mod -[info] -> ( f.module) mpl_init_mod -[info] -> ( f.module) mpl_alltoallv_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_broadcast_mod -[info] -> ( f.module) mpl_comm_free_mod -[info] -> ( f.module) mpl_read_mod -[info] -> ( f.module) mpl_ioinit_mod -[info] -> ( f.module) mpl_comm_split_mod -[info] -> ( f.module) mpl_allreduce_mod -[info] -> ( f.module) mpl_waitany_mod -[info] -> ( f.module) mpl_bytes_mod -[info] -> ( f.module) mpl_scatterv_mod -[info] -> ( f.module) mpl_groups -[info] -> ( f.module) mpl_arg_mod -[info] -> ( f.module) mpl_buffer_method_mod -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) mpl_close_mod -[info] -> ( f.module) mpl_locomm_create_mod -[info] -> ( f.module) mpl_open_mod -[info] -> ( f.module) mpl_send_mod -[info] -> ( f.module) mpl_myrank_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_mf_cloud.F90 -[info] -> ( f.module) mode_compute_mf_cloud_direct -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_compute_mf_cloud_bigaus -[info] -> ( f.module) mode_compute_mf_cloud_stat -[info] -> ( f.module) mode_msg -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/ec_get_cycles.h -[info] analyse 0.0 util10/. -[info] analyse 0.0 common/turb/mode_turb_ver_sv_corr.F90 -[info] -> ( f.module) modd_blowsnow -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) mode_emoist -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_compute_pdf.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) mode_msg -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util7/. -[info] analyse 0.0 oml/. -[info] -> ( include) abor1.intfb.h -[info] -> ( f.module) ec_lun -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_function_thermo_mf.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_allgatherv_mod.F90 -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_send_mod -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpl_barrier_mod -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util6/. -[info] analyse 0.0 common/micro/mode_ice4_fast_rs.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modd_turbn.f90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modd_param_mfshalln.F90 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag_thermo.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_tiwmx.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/second_mnh.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_init_mod.F90 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_arg_mod -[info] -> ( f.module) mpl_buffer_method_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_tour_table_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_env_mod -[info] -> ( f.module) mpl_locomm_create_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_mf_cloud_stat.F90 -[info] -> ( f.module) mode_compute_function_thermo_mf -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi9/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modd_rain_ice_param.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modi_shuman.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modi_turb.F90 -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_budget -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_recv_mod.F90 -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_nproc_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) yommplstats -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modi_condensation.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/drhook_run_omp_parallel.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_read_xker_rdryg.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_ver_thermo_corr.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_prandtl -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modi_gradient_m -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system2/. -[info] analyse 0.0 common/micro/mode_rzcolx.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modi_general_gamma -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_rrcolss.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_general_gamma -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_hor_uw.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) mode_coefj -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modd_fields_address.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_ibm_paramn.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gradient_v.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 include1/fiat_pp.h -[info] analyse 0.0 common/turb/mode_update_lm.F90 -[info] -> ( f.module) modd_argslist_ll -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) mode_ll -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util2/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/general_gamma.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_gamma -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_ver.F90 -[info] -> ( f.module) modi_turb -[info] -> ( f.module) mode_sbl_depth -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_turb_ver_sv_flux -[info] -> ( f.module) mode_emoist -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_turb_ver_thermo_flux -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) mode_prandtl -[info] -> ( f.module) mode_turb_ver_dyn_flux -[info] -> ( f.module) mode_turb_ver_sv_corr -[info] -> ( f.module) mode_turb_ver_thermo_corr -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) mode_etheta -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_les -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_th_r_from_thl_rt_3d.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_th_r_from_thl_rt_1d -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system3/. -[info] -> ( include) getstatm.h -[info] analyse 0.0 common/turb/modi_les_mean_subgrid.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/rain_ice.F90 -[info] -> ( f.module) mode_ice4_tendencies -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_budget -[info] -> ( f.module) mode_ice4_sedimentation_stat -[info] -> ( f.module) mode_msg -[info] -> ( f.module) mode_budget -[info] -> ( f.module) mode_ice4_sedimentation_split -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modd_param_ice -[info] -> ( f.module) mode_ice4_rainfr_vert -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_fields_address -[info] -> ( f.module) mode_ice4_nucleation -[info] -> ( f.module) mode_ice4_sedimentation_split_momentum -[info] -> ( f.module) modd_cst -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_mf_turb_expl.F90 -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.1 common/micro/mode_read_xker_raccs.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_setdflt_comm_mod.F90 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util13/. -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_nproc_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_bl89.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_precision -[info] -> ( f.module) modd_cst -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util11/. -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/modi_shallow_mf.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/dr_hook_init.F90 -[info] -> ( include) abor1.intfb.h -[info] -> ( include) mpif.h -[info] -> ( f.module) yomhook -[info] -> ( f.module) ec_args_mod -[info] -> ( f.module) oml_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_th_r_from_thl_rt_2d.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) mode_th_r_from_thl_rt_3d -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_locomm_create_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_cst.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hook_init.intfb.h -[info] analyse 0.0 system8/. -[info] analyse 0.0 mpl12/internal/mpl_allgather_mod.F90 -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_barrier_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_send_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/condensation.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> ( f.module) mode_tiwmx -[info] -> ( f.module) mode_icecloud -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_cst -[info] -> ( include) compute_frac_ice.func.h -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/ec_mpi_finalize.intfb.h -[info] analyse 0.0 mpl12/internal/mpl_read_mod.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_ioinit_mod -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/shuman_mf.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gradient_m.F90 -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_entr_detr.F90 -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_thermo -[info] -> ( f.module) mode_th_r_from_thl_rt_1d -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_buffer_method_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_open_mod.F90 -[info] -> ( f.module) mpl_ioinit_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 drhook/internal/dr_hook_util.h -[info] analyse 0.0 common/micro/mode_rscolrg.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cst -[info] -> ( f.module) modi_general_gamma -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_argslist_ll.F90 -[info] -> ( f.module) modd_argslist_ll -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/ibm_mixinglength.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/modd_argslist_ll.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_io_field_write.F90 -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_field -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi6/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modi_rain_ice.F90 -[info] -> ( f.module) modd_budget -[info] -> ( f.module) modd_param_ice -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/gamma.F90 -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_turb_ver_dyn_flux.F90 -[info] -> ( f.module) modd_oceanh -[info] -> ( f.module) modd_nsv -[info] -> ( f.module) modi_gradient_u -[info] -> ( f.module) modd_conf -[info] -> ( f.module) modi_gradient_w -[info] -> ( f.module) modd_ref -[info] -> ( f.module) modi_gradient_m -[info] -> ( f.module) modd_field -[info] -> ( f.module) modi_les_mean_subgrid -[info] -> ( f.module) yomhook -[info] -> ( f.module) modi_gradient_v -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modi_second_mnh -[info] -> ( f.module) modd_les -[info] -> ( f.module) modd_cst -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_ll -[info] -> ( f.module) modd_turb_n -[info] -> ( f.module) mode_tridiag_wind -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) mode_io_field_write -[info] -> ( f.module) modi_shuman -[info] -> ( f.module) modd_io -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_allreduce_mod.F90 -[info] -> ( f.module) mpl_wait_mod -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_recv_mod -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) yommplstats -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_send_mod -[info] -> ( f.module) mpl_broadcast_mod -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_comm_free_mod.F90 -[info] -> ( f.module) ec_parkind -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_updraft_rhcj10.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_compute_bl89_ml -[info] -> ( f.module) modd_turb_n -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_th_r_from_thl_rt_1d -[info] -> ( f.module) modd_param_mfshall_n -[info] -> ( f.module) modi_shuman_mf -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag_tke.F90 -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/aux/mode_sources_neg_correct.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util5/. -[info] analyse 0.0 common/turb/mode_turb_hor.F90 -[info] -> ( f.module) mode_turb_hor_sv_corr -[info] -> ( f.module) modd_cst -[info] -> ( f.module) mode_turb_hor_thermo_flux -[info] -> ( f.module) mode_turb_hor_thermo_corr -[info] -> ( f.module) mode_turb_hor_uw -[info] -> ( f.module) mode_turb_hor_sv_flux -[info] -> ( f.module) mode_turb_hor_vw -[info] -> ( f.module) mode_turb_hor_dyn_corr -[info] -> ( f.module) mode_turb_hor_uv -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) modd_io -[info] -> ( f.module) modd_les -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_etheta.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpi5/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 dummyprog/. -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/modd_neb.F90 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_ice4_slow.F90 -[info] -> ( f.module) modd_rain_ice_descr -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) modd_rain_ice_param -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 system6/. -[info] analyse 0.0 include1/abor1.intfb.h -[info] analyse 0.0 common/aux/mode_budget.F90 -[info] -> ( f.module) modd_budget -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 util12/. -[info] -> ( include) ec_args.h -[info] analyse 0.0 common/turb/mode_compute_updraft_raha.F90 -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> ( f.module) mode_th_r_from_thl_rt_1d -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) modd_param_mfshall_n -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_write_mod.F90 -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) mpl_ioinit_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_mygatherv_mod.F90 -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) mpl_data_module -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpi4to8 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_compute_bl89_ml.F90 -[info] -> ( f.module) modi_shuman_mf -[info] -> ( f.module) mode_msg -[info] -> ( f.module) modd_parameters -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_cturb -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 mpl12/internal/mpl_scatterv_mod.F90 -[info] -> ( f.module) mpl_message_mod -[info] -> ( f.module) ec_parkind -[info] -> ( f.module) mpl_mpif -[info] -> ( f.module) mpl_stats_mod -[info] -> ( f.module) mpi4to8 -[info] -> ( f.module) oml_mod -[info] -> ( f.module) mpl_myrank_mod -[info] -> ( f.module) yommplstats -[info] -> ( f.module) mpl_data_module -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/micro/mode_icecloud.F90 -[info] -> ( f.module) mode_qsatmx_tab -[info] -> ( f.module) mode_tiwmx -[info] -> ( f.module) modd_cst -[info] -> ( f.module) yomhook -[info] -> ( f.module) parkind1 -[info] -> (o.special) rain_ice.o -[info] analyse 0.1 common/micro/mode_read_xker_sweth.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> (o.special) rain_ice.o -[info] analyse 0.0 common/turb/mode_tridiag_wind.F90 -[info] -> ( f.module) parkind1 -[info] -> ( f.module) yomhook -[info] -> ( f.module) modd_parameters -[info] -> (o.special) rain_ice.o -[info] sources: total=275, analysed=275, elapsed-time=1.8s, total-time=1.7s -[info] source->target / -> (install) etc/ .etc -[info] source->target / -> (archive) lib/ libo.a -[info] source->target common -> (archive) lib/ common/libo.a -[info] source->target common/aux -> (archive) lib/ common/aux/libo.a -[info] source->target common/aux/gamma.F90 -> (install) include/ gamma.F90 -[info] source->target common/aux/gamma.F90 -> (ext-iface) include/ gamma.interface -[info] source->target common/aux/gamma.F90 -> (compile) o/ gamma_x0d.o -[info] source->target common/aux/gamma_inc.F90 -> (install) include/ gamma_inc.F90 -[info] source->target common/aux/gamma_inc.F90 -> (ext-iface) include/ gamma_inc.interface -[info] source->target common/aux/gamma_inc.F90 -> (compile) o/ gamma_inc.o -[info] source->target common/aux/general_gamma.F90 -> (install) include/ general_gamma.F90 -[info] source->target common/aux/general_gamma.F90 -> (ext-iface) include/ general_gamma.interface -[info] source->target common/aux/general_gamma.F90 -> (compile) o/ general_gamma.o -[info] source->target common/aux/get_halo.F90 -> (install) include/ get_halo.F90 -[info] source->target common/aux/get_halo.F90 -> (ext-iface) include/ get_halo.interface -[info] source->target common/aux/get_halo.F90 -> (compile+) include/ modi_get_halo.mod -[info] source->target common/aux/get_halo.F90 -> (compile) o/ modi_get_halo.o -[info] source->target common/aux/gradient_m.F90 -> (install) include/ gradient_m.F90 -[info] source->target common/aux/gradient_m.F90 -> (ext-iface) include/ gradient_m.interface -[info] source->target common/aux/gradient_m.F90 -> (compile) o/ gx_m_m.o -[info] source->target common/aux/gradient_u.F90 -> (install) include/ gradient_u.F90 -[info] source->target common/aux/gradient_u.F90 -> (ext-iface) include/ gradient_u.interface -[info] source->target common/aux/gradient_u.F90 -> (compile) o/ gx_u_m.o -[info] source->target common/aux/gradient_v.F90 -> (install) include/ gradient_v.F90 -[info] source->target common/aux/gradient_v.F90 -> (ext-iface) include/ gradient_v.interface -[info] source->target common/aux/gradient_v.F90 -> (compile) o/ gx_v_uv.o -[info] source->target common/aux/gradient_w.F90 -> (install) include/ gradient_w.F90 -[info] source->target common/aux/gradient_w.F90 -> (ext-iface) include/ gradient_w.interface -[info] source->target common/aux/gradient_w.F90 -> (compile) o/ gx_w_uw.o -[info] source->target common/aux/ibm_mixinglength.F90 -> (install) include/ ibm_mixinglength.F90 -[info] source->target common/aux/ibm_mixinglength.F90 -> (ext-iface) include/ ibm_mixinglength.interface -[info] source->target common/aux/ibm_mixinglength.F90 -> (compile+) include/ modi_ibm_mixinglength.mod -[info] source->target common/aux/ibm_mixinglength.F90 -> (compile) o/ modi_ibm_mixinglength.o -[info] source->target common/aux/ini_cst.F90 -> (install) include/ ini_cst.F90 -[info] source->target common/aux/ini_cst.F90 -> (ext-iface) include/ ini_cst.interface -[info] source->target common/aux/ini_cst.F90 -> (compile) o/ ini_cst.o -[info] source->target common/aux/modd_argslist_ll.F90 -> (install) include/ modd_argslist_ll.F90 -[info] source->target common/aux/modd_argslist_ll.F90 -> (compile+) include/ modd_argslist_ll.mod -[info] source->target common/aux/modd_argslist_ll.F90 -> (compile) o/ modd_argslist_ll.o -[info] source->target common/aux/modd_blowsnow.F90 -> (install) include/ modd_blowsnow.F90 -[info] source->target common/aux/modd_blowsnow.F90 -> (compile+) include/ modd_blowsnow.mod -[info] source->target common/aux/modd_blowsnow.F90 -> (compile) o/ modd_blowsnow.o -[info] source->target common/aux/modd_budget.F90 -> (install) include/ modd_budget.F90 -[info] source->target common/aux/modd_budget.F90 -> (compile+) include/ modd_budget.mod -[info] source->target common/aux/modd_budget.F90 -> (compile) o/ modd_budget.o -[info] source->target common/aux/modd_conf.F90 -> (install) include/ modd_conf.F90 -[info] source->target common/aux/modd_conf.F90 -> (compile+) include/ modd_conf.mod -[info] source->target common/aux/modd_conf.F90 -> (compile) o/ modd_conf.o -[info] source->target common/aux/modd_cst.F90 -> (install) include/ modd_cst.F90 -[info] source->target common/aux/modd_cst.F90 -> (compile+) include/ modd_cst.mod -[info] source->target common/aux/modd_cst.F90 -> (compile) o/ modd_cst.o -[info] source->target common/aux/modd_dimn.F90 -> (compile+) include/ modd_dim_n.mod -[info] source->target common/aux/modd_dimn.F90 -> (compile) o/ modd_dim_n.o -[info] source->target common/aux/modd_dimn.F90 -> (install) include/ modd_dimn.F90 -[info] source->target common/aux/modd_field.F90 -> (install) include/ modd_field.F90 -[info] source->target common/aux/modd_field.F90 -> (compile+) include/ modd_field.mod -[info] source->target common/aux/modd_field.F90 -> (compile) o/ modd_field.o -[info] source->target common/aux/modd_frc.F90 -> (install) include/ modd_frc.F90 -[info] source->target common/aux/modd_frc.F90 -> (compile+) include/ modd_frc.mod -[info] source->target common/aux/modd_frc.F90 -> (compile) o/ modd_frc.o -[info] source->target common/aux/modd_gridn.F90 -> (compile+) include/ modd_grid_n.mod -[info] source->target common/aux/modd_gridn.F90 -> (compile) o/ modd_grid_n.o -[info] source->target common/aux/modd_gridn.F90 -> (install) include/ modd_gridn.F90 -[info] source->target common/aux/modd_ibm_paramn.F90 -> (compile+) include/ modd_ibm_param_n.mod -[info] source->target common/aux/modd_ibm_paramn.F90 -> (compile) o/ modd_ibm_param_n.o -[info] source->target common/aux/modd_ibm_paramn.F90 -> (install) include/ modd_ibm_paramn.F90 -[info] source->target common/aux/modd_io.F90 -> (install) include/ modd_io.F90 -[info] source->target common/aux/modd_io.F90 -> (compile+) include/ modd_io.mod -[info] source->target common/aux/modd_io.F90 -> (compile) o/ modd_io.o -[info] source->target common/aux/modd_les.F90 -> (install) include/ modd_les.F90 -[info] source->target common/aux/modd_les.F90 -> (compile+) include/ modd_les.mod -[info] source->target common/aux/modd_les.F90 -> (compile) o/ modd_les.o -[info] source->target common/aux/modd_metricsn.F90 -> (compile+) include/ modd_metrics_n.mod -[info] source->target common/aux/modd_metricsn.F90 -> (compile) o/ modd_metrics_n.o -[info] source->target common/aux/modd_metricsn.F90 -> (install) include/ modd_metricsn.F90 -[info] source->target common/aux/modd_nsv.F90 -> (install) include/ modd_nsv.F90 -[info] source->target common/aux/modd_nsv.F90 -> (compile+) include/ modd_nsv.mod -[info] source->target common/aux/modd_nsv.F90 -> (compile) o/ modd_nsv.o -[info] source->target common/aux/modd_oceanh.F90 -> (install) include/ modd_oceanh.F90 -[info] source->target common/aux/modd_oceanh.F90 -> (compile+) include/ modd_oceanh.mod -[info] source->target common/aux/modd_oceanh.F90 -> (compile) o/ modd_oceanh.o -[info] source->target common/aux/modd_parameters.F90 -> (install) include/ modd_parameters.F90 -[info] source->target common/aux/modd_parameters.F90 -> (compile+) include/ modd_parameters.mod -[info] source->target common/aux/modd_parameters.F90 -> (compile) o/ modd_parameters.o -[info] source->target common/aux/modd_precision.F90 -> (install) include/ modd_precision.F90 -[info] source->target common/aux/modd_precision.F90 -> (compile+) include/ modd_precision.mod -[info] source->target common/aux/modd_precision.F90 -> (compile) o/ modd_precision.o -[info] source->target common/aux/modd_ref.F90 -> (install) include/ modd_ref.F90 -[info] source->target common/aux/modd_ref.F90 -> (compile+) include/ modd_ref.mod -[info] source->target common/aux/modd_ref.F90 -> (compile) o/ modd_ref.o -[info] source->target common/aux/mode_argslist_ll.F90 -> (install) include/ mode_argslist_ll.F90 -[info] source->target common/aux/mode_argslist_ll.F90 -> (compile+) include/ mode_argslist_ll.mod -[info] source->target common/aux/mode_argslist_ll.F90 -> (compile) o/ mode_argslist_ll.o -[info] source->target common/aux/mode_budget.F90 -> (install) include/ mode_budget.F90 -[info] source->target common/aux/mode_budget.F90 -> (compile+) include/ mode_budget.mod -[info] source->target common/aux/mode_budget.F90 -> (compile) o/ mode_budget.o -[info] source->target common/aux/mode_gather_ll.F90 -> (install) include/ mode_gather_ll.F90 -[info] source->target common/aux/mode_gather_ll.F90 -> (compile+) include/ mode_gather_ll.mod -[info] source->target common/aux/mode_gather_ll.F90 -> (compile) o/ mode_gather_ll.o -[info] source->target common/aux/mode_io_field_write.F90 -> (install) include/ mode_io_field_write.F90 -[info] source->target common/aux/mode_io_field_write.F90 -> (compile+) include/ mode_io_field_write.mod -[info] source->target common/aux/mode_io_field_write.F90 -> (compile) o/ mode_io_field_write.o -[info] source->target common/aux/mode_ll.F90 -> (install) include/ mode_ll.F90 -[info] source->target common/aux/mode_ll.F90 -> (compile+) include/ mode_ll.mod -[info] source->target common/aux/mode_ll.F90 -> (compile) o/ mode_ll.o -[info] source->target common/aux/mode_mppdb.F90 -> (install) include/ mode_mppdb.F90 -[info] source->target common/aux/mode_mppdb.F90 -> (compile+) include/ mode_mppdb.mod -[info] source->target common/aux/mode_mppdb.F90 -> (compile) o/ mode_mppdb.o -[info] source->target common/aux/mode_msg.F90 -> (install) include/ mode_msg.F90 -[info] source->target common/aux/mode_msg.F90 -> (compile+) include/ mode_msg.mod -[info] source->target common/aux/mode_msg.F90 -> (compile) o/ mode_msg.o -[info] source->target common/aux/mode_sources_neg_correct.F90 -> (install) include/ mode_sources_neg_correct.F90 -[info] source->target common/aux/mode_sources_neg_correct.F90 -> (compile+) include/ mode_sources_neg_correct.mod -[info] source->target common/aux/mode_sources_neg_correct.F90 -> (compile) o/ mode_sources_neg_correct.o -[info] source->target common/aux/mode_thermo.F90 -> (install) include/ mode_thermo.F90 -[info] source->target common/aux/mode_thermo.F90 -> (compile+) include/ mode_thermo.mod -[info] source->target common/aux/mode_thermo.F90 -> (compile) o/ mode_thermo.o -[info] source->target common/aux/modi_gamma.F90 -> (install) include/ modi_gamma.F90 -[info] source->target common/aux/modi_gamma.F90 -> (compile+) include/ modi_gamma.mod -[info] source->target common/aux/modi_gamma.F90 -> (compile) o/ modi_gamma.o -[info] source->target common/aux/modi_gamma_inc.F90 -> (install) include/ modi_gamma_inc.F90 -[info] source->target common/aux/modi_gamma_inc.F90 -> (compile+) include/ modi_gamma_inc.mod -[info] source->target common/aux/modi_gamma_inc.F90 -> (compile) o/ modi_gamma_inc.o -[info] source->target common/aux/modi_general_gamma.F90 -> (install) include/ modi_general_gamma.F90 -[info] source->target common/aux/modi_general_gamma.F90 -> (compile+) include/ modi_general_gamma.mod -[info] source->target common/aux/modi_general_gamma.F90 -> (compile) o/ modi_general_gamma.o -[info] source->target common/aux/modi_gradient_m.F90 -> (install) include/ modi_gradient_m.F90 -[info] source->target common/aux/modi_gradient_m.F90 -> (compile+) include/ modi_gradient_m.mod -[info] source->target common/aux/modi_gradient_m.F90 -> (compile) o/ modi_gradient_m.o -[info] source->target common/aux/modi_gradient_u.F90 -> (install) include/ modi_gradient_u.F90 -[info] source->target common/aux/modi_gradient_u.F90 -> (compile+) include/ modi_gradient_u.mod -[info] source->target common/aux/modi_gradient_u.F90 -> (compile) o/ modi_gradient_u.o -[info] source->target common/aux/modi_gradient_v.F90 -> (install) include/ modi_gradient_v.F90 -[info] source->target common/aux/modi_gradient_v.F90 -> (compile+) include/ modi_gradient_v.mod -[info] source->target common/aux/modi_gradient_v.F90 -> (compile) o/ modi_gradient_v.o -[info] source->target common/aux/modi_gradient_w.F90 -> (install) include/ modi_gradient_w.F90 -[info] source->target common/aux/modi_gradient_w.F90 -> (compile+) include/ modi_gradient_w.mod -[info] source->target common/aux/modi_gradient_w.F90 -> (compile) o/ modi_gradient_w.o -[info] source->target common/aux/modi_ini_cst.F90 -> (install) include/ modi_ini_cst.F90 -[info] source->target common/aux/modi_ini_cst.F90 -> (compile+) include/ modi_ini_cst.mod -[info] source->target common/aux/modi_ini_cst.F90 -> (compile) o/ modi_ini_cst.o -[info] source->target common/aux/modi_second_mnh.F90 -> (install) include/ modi_second_mnh.F90 -[info] source->target common/aux/modi_second_mnh.F90 -> (compile+) include/ modi_second_mnh.mod -[info] source->target common/aux/modi_second_mnh.F90 -> (compile) o/ modi_second_mnh.o -[info] source->target common/aux/modi_shuman.F90 -> (install) include/ modi_shuman.F90 -[info] source->target common/aux/modi_shuman.F90 -> (compile+) include/ modi_shuman.mod -[info] source->target common/aux/modi_shuman.F90 -> (compile) o/ modi_shuman.o -[info] source->target common/aux/second_mnh.F90 -> (install) include/ second_mnh.F90 -[info] source->target common/aux/second_mnh.F90 -> (ext-iface) include/ second_mnh.interface -[info] source->target common/aux/second_mnh.F90 -> (compile) o/ second_mnh.o -[info] source->target common/aux/shuman.F90 -> (compile) o/ mxf.o -[info] source->target common/aux/shuman.F90 -> (install) include/ shuman.F90 -[info] source->target common/aux/shuman.F90 -> (ext-iface) include/ shuman.interface -[info] source->target common/aux/tools.F90 -> (compile+) include/ mode_tools.mod -[info] source->target common/aux/tools.F90 -> (compile) o/ mode_tools.o -[info] source->target common/aux/tools.F90 -> (install) include/ tools.F90 -[info] source->target common/micro -> (archive) lib/ common/micro/libo.a -[info] source->target common/micro/compute_frac_ice.func.h -> (install) include/ compute_frac_ice.func.h -[info] source->target common/micro/condensation.F90 -> (install) include/ condensation.F90 -[info] source->target common/micro/condensation.F90 -> (ext-iface) include/ condensation.interface -[info] source->target common/micro/condensation.F90 -> (compile) o/ condensation.o -[info] source->target common/micro/ice_adjust.F90 -> (install) include/ ice_adjust.F90 -[info] source->target common/micro/ice_adjust.F90 -> (ext-iface) include/ ice_adjust.interface -[info] source->target common/micro/ice_adjust.F90 -> (compile) o/ ice_adjust.o -[info] source->target common/micro/ini_neb.F90 -> (install) include/ ini_neb.F90 -[info] source->target common/micro/ini_neb.F90 -> (ext-iface) include/ ini_neb.interface -[info] source->target common/micro/ini_neb.F90 -> (compile) o/ ini_neb.o -[info] source->target common/micro/modd_fields_address.F90 -> (install) include/ modd_fields_address.F90 -[info] source->target common/micro/modd_fields_address.F90 -> (compile+) include/ modd_fields_address.mod -[info] source->target common/micro/modd_fields_address.F90 -> (compile) o/ modd_fields_address.o -[info] source->target common/micro/modd_neb.F90 -> (install) include/ modd_neb.F90 -[info] source->target common/micro/modd_neb.F90 -> (compile+) include/ modd_neb.mod -[info] source->target common/micro/modd_neb.F90 -> (compile) o/ modd_neb.o -[info] source->target common/micro/modd_param_ice.F90 -> (install) include/ modd_param_ice.F90 -[info] source->target common/micro/modd_param_ice.F90 -> (compile+) include/ modd_param_ice.mod -[info] source->target common/micro/modd_param_ice.F90 -> (compile) o/ modd_param_ice.o -[info] source->target common/micro/modd_rain_ice_descr.F90 -> (install) include/ modd_rain_ice_descr.F90 -[info] source->target common/micro/modd_rain_ice_descr.F90 -> (compile+) include/ modd_rain_ice_descr.mod -[info] source->target common/micro/modd_rain_ice_descr.F90 -> (compile) o/ modd_rain_ice_descr.o -[info] source->target common/micro/modd_rain_ice_param.F90 -> (install) include/ modd_rain_ice_param.F90 -[info] source->target common/micro/modd_rain_ice_param.F90 -> (compile+) include/ modd_rain_ice_param.mod -[info] source->target common/micro/modd_rain_ice_param.F90 -> (compile) o/ modd_rain_ice_param.o -[info] source->target common/micro/mode_ice4_compute_pdf.F90 -> (install) include/ mode_ice4_compute_pdf.F90 -[info] source->target common/micro/mode_ice4_compute_pdf.F90 -> (compile+) include/ mode_ice4_compute_pdf.mod -[info] source->target common/micro/mode_ice4_compute_pdf.F90 -> (compile) o/ mode_ice4_compute_pdf.o -[info] source->target common/micro/mode_ice4_fast_rg.F90 -> (install) include/ mode_ice4_fast_rg.F90 -[info] source->target common/micro/mode_ice4_fast_rg.F90 -> (compile+) include/ mode_ice4_fast_rg.mod -[info] source->target common/micro/mode_ice4_fast_rg.F90 -> (compile) o/ mode_ice4_fast_rg.o -[info] source->target common/micro/mode_ice4_fast_rh.F90 -> (install) include/ mode_ice4_fast_rh.F90 -[info] source->target common/micro/mode_ice4_fast_rh.F90 -> (compile+) include/ mode_ice4_fast_rh.mod -[info] source->target common/micro/mode_ice4_fast_rh.F90 -> (compile) o/ mode_ice4_fast_rh.o -[info] source->target common/micro/mode_ice4_fast_ri.F90 -> (install) include/ mode_ice4_fast_ri.F90 -[info] source->target common/micro/mode_ice4_fast_ri.F90 -> (compile+) include/ mode_ice4_fast_ri.mod -[info] source->target common/micro/mode_ice4_fast_ri.F90 -> (compile) o/ mode_ice4_fast_ri.o -[info] source->target common/micro/mode_ice4_fast_rs.F90 -> (install) include/ mode_ice4_fast_rs.F90 -[info] source->target common/micro/mode_ice4_fast_rs.F90 -> (compile+) include/ mode_ice4_fast_rs.mod -[info] source->target common/micro/mode_ice4_fast_rs.F90 -> (compile) o/ mode_ice4_fast_rs.o -[info] source->target common/micro/mode_ice4_nucleation.F90 -> (install) include/ mode_ice4_nucleation.F90 -[info] source->target common/micro/mode_ice4_nucleation.F90 -> (compile+) include/ mode_ice4_nucleation.mod -[info] source->target common/micro/mode_ice4_nucleation.F90 -> (compile) o/ mode_ice4_nucleation.o -[info] source->target common/micro/mode_ice4_rainfr_vert.F90 -> (install) include/ mode_ice4_rainfr_vert.F90 -[info] source->target common/micro/mode_ice4_rainfr_vert.F90 -> (compile+) include/ mode_ice4_rainfr_vert.mod -[info] source->target common/micro/mode_ice4_rainfr_vert.F90 -> (compile) o/ mode_ice4_rainfr_vert.o -[info] source->target common/micro/mode_ice4_rimltc.F90 -> (install) include/ mode_ice4_rimltc.F90 -[info] source->target common/micro/mode_ice4_rimltc.F90 -> (compile+) include/ mode_ice4_rimltc.mod -[info] source->target common/micro/mode_ice4_rimltc.F90 -> (compile) o/ mode_ice4_rimltc.o -[info] source->target common/micro/mode_ice4_rrhong.F90 -> (install) include/ mode_ice4_rrhong.F90 -[info] source->target common/micro/mode_ice4_rrhong.F90 -> (compile+) include/ mode_ice4_rrhong.mod -[info] source->target common/micro/mode_ice4_rrhong.F90 -> (compile) o/ mode_ice4_rrhong.o -[info] source->target common/micro/mode_ice4_rsrimcg_old.F90 -> (install) include/ mode_ice4_rsrimcg_old.F90 -[info] source->target common/micro/mode_ice4_rsrimcg_old.F90 -> (compile+) include/ mode_ice4_rsrimcg_old.mod -[info] source->target common/micro/mode_ice4_rsrimcg_old.F90 -> (compile) o/ mode_ice4_rsrimcg_old.o -[info] source->target common/micro/mode_ice4_sedimentation_split.F90 -> (install) include/ mode_ice4_sedimentation_split.F90 -[info] source->target common/micro/mode_ice4_sedimentation_split.F90 -> (compile+) include/ mode_ice4_sedimentation_split.mod -[info] source->target common/micro/mode_ice4_sedimentation_split.F90 -> (compile) o/ mode_ice4_sedimentation_split.o -[info] source->target common/micro/mode_ice4_sedimentation_split_momentum.F90 -> (install) include/ mode_ice4_sedimentation_split_momentum.F90 -[info] source->target common/micro/mode_ice4_sedimentation_split_momentum.F90 -> (compile+) include/ mode_ice4_sedimentation_split_momentum.mod -[info] source->target common/micro/mode_ice4_sedimentation_split_momentum.F90 -> (compile) o/ mode_ice4_sedimentation_split_momentum.o -[info] source->target common/micro/mode_ice4_sedimentation_stat.F90 -> (install) include/ mode_ice4_sedimentation_stat.F90 -[info] source->target common/micro/mode_ice4_sedimentation_stat.F90 -> (compile+) include/ mode_ice4_sedimentation_stat.mod -[info] source->target common/micro/mode_ice4_sedimentation_stat.F90 -> (compile) o/ mode_ice4_sedimentation_stat.o -[info] source->target common/micro/mode_ice4_slow.F90 -> (install) include/ mode_ice4_slow.F90 -[info] source->target common/micro/mode_ice4_slow.F90 -> (compile+) include/ mode_ice4_slow.mod -[info] source->target common/micro/mode_ice4_slow.F90 -> (compile) o/ mode_ice4_slow.o -[info] source->target common/micro/mode_ice4_tendencies.F90 -> (install) include/ mode_ice4_tendencies.F90 -[info] source->target common/micro/mode_ice4_tendencies.F90 -> (compile+) include/ mode_ice4_tendencies.mod -[info] source->target common/micro/mode_ice4_tendencies.F90 -> (compile) o/ mode_ice4_tendencies.o -[info] source->target common/micro/mode_ice4_warm.F90 -> (install) include/ mode_ice4_warm.F90 -[info] source->target common/micro/mode_ice4_warm.F90 -> (compile+) include/ mode_ice4_warm.mod -[info] source->target common/micro/mode_ice4_warm.F90 -> (compile) o/ mode_ice4_warm.o -[info] source->target common/micro/mode_icecloud.F90 -> (install) include/ mode_icecloud.F90 -[info] source->target common/micro/mode_icecloud.F90 -> (compile+) include/ mode_icecloud.mod -[info] source->target common/micro/mode_icecloud.F90 -> (compile) o/ mode_icecloud.o -[info] source->target common/micro/mode_qsatmx_tab.F90 -> (install) include/ mode_qsatmx_tab.F90 -[info] source->target common/micro/mode_qsatmx_tab.F90 -> (compile+) include/ mode_qsatmx_tab.mod -[info] source->target common/micro/mode_qsatmx_tab.F90 -> (compile) o/ mode_qsatmx_tab.o -[info] source->target common/micro/mode_read_xker_gweth.F90 -> (install) include/ mode_read_xker_gweth.F90 -[info] source->target common/micro/mode_read_xker_gweth.F90 -> (compile+) include/ mode_read_xker_gweth.mod -[info] source->target common/micro/mode_read_xker_gweth.F90 -> (compile) o/ mode_read_xker_gweth.o -[info] source->target common/micro/mode_read_xker_raccs.F90 -> (install) include/ mode_read_xker_raccs.F90 -[info] source->target common/micro/mode_read_xker_raccs.F90 -> (compile+) include/ mode_read_xker_raccs.mod -[info] source->target common/micro/mode_read_xker_raccs.F90 -> (compile) o/ mode_read_xker_raccs.o -[info] source->target common/micro/mode_read_xker_rdryg.F90 -> (install) include/ mode_read_xker_rdryg.F90 -[info] source->target common/micro/mode_read_xker_rdryg.F90 -> (compile+) include/ mode_read_xker_rdryg.mod -[info] source->target common/micro/mode_read_xker_rdryg.F90 -> (compile) o/ mode_read_xker_rdryg.o -[info] source->target common/micro/mode_read_xker_rweth.F90 -> (install) include/ mode_read_xker_rweth.F90 -[info] source->target common/micro/mode_read_xker_rweth.F90 -> (compile+) include/ mode_read_xker_rweth.mod -[info] source->target common/micro/mode_read_xker_rweth.F90 -> (compile) o/ mode_read_xker_rweth.o -[info] source->target common/micro/mode_read_xker_sdryg.F90 -> (install) include/ mode_read_xker_sdryg.F90 -[info] source->target common/micro/mode_read_xker_sdryg.F90 -> (compile+) include/ mode_read_xker_sdryg.mod -[info] source->target common/micro/mode_read_xker_sdryg.F90 -> (compile) o/ mode_read_xker_sdryg.o -[info] source->target common/micro/mode_read_xker_sweth.F90 -> (install) include/ mode_read_xker_sweth.F90 -[info] source->target common/micro/mode_read_xker_sweth.F90 -> (compile+) include/ mode_read_xker_sweth.mod -[info] source->target common/micro/mode_read_xker_sweth.F90 -> (compile) o/ mode_read_xker_sweth.o -[info] source->target common/micro/mode_rrcolss.F90 -> (install) include/ mode_rrcolss.F90 -[info] source->target common/micro/mode_rrcolss.F90 -> (compile+) include/ mode_rrcolss.mod -[info] source->target common/micro/mode_rrcolss.F90 -> (compile) o/ mode_rrcolss.o -[info] source->target common/micro/mode_rscolrg.F90 -> (install) include/ mode_rscolrg.F90 -[info] source->target common/micro/mode_rscolrg.F90 -> (compile+) include/ mode_rscolrg.mod -[info] source->target common/micro/mode_rscolrg.F90 -> (compile) o/ mode_rscolrg.o -[info] source->target common/micro/mode_rzcolx.F90 -> (install) include/ mode_rzcolx.F90 -[info] source->target common/micro/mode_rzcolx.F90 -> (compile+) include/ mode_rzcolx.mod -[info] source->target common/micro/mode_rzcolx.F90 -> (compile) o/ mode_rzcolx.o -[info] source->target common/micro/mode_tiwmx.F90 -> (install) include/ mode_tiwmx.F90 -[info] source->target common/micro/mode_tiwmx.F90 -> (compile+) include/ mode_tiwmx.mod -[info] source->target common/micro/mode_tiwmx.F90 -> (compile) o/ mode_tiwmx.o -[info] source->target common/micro/mode_tiwmx_tab.F90 -> (install) include/ mode_tiwmx_tab.F90 -[info] source->target common/micro/mode_tiwmx_tab.F90 -> (compile+) include/ mode_tiwmx_tab.mod -[info] source->target common/micro/mode_tiwmx_tab.F90 -> (compile) o/ mode_tiwmx_tab.o -[info] source->target common/micro/modi_condensation.F90 -> (install) include/ modi_condensation.F90 -[info] source->target common/micro/modi_condensation.F90 -> (compile+) include/ modi_condensation.mod -[info] source->target common/micro/modi_condensation.F90 -> (compile) o/ modi_condensation.o -[info] source->target common/micro/modi_ice_adjust.F90 -> (install) include/ modi_ice_adjust.F90 -[info] source->target common/micro/modi_ice_adjust.F90 -> (compile+) include/ modi_ice_adjust.mod -[info] source->target common/micro/modi_ice_adjust.F90 -> (compile) o/ modi_ice_adjust.o -[info] source->target common/micro/modi_ini_neb.F90 -> (install) include/ modi_ini_neb.F90 -[info] source->target common/micro/modi_ini_neb.F90 -> (compile+) include/ modi_ini_neb.mod -[info] source->target common/micro/modi_ini_neb.F90 -> (compile) o/ modi_ini_neb.o -[info] source->target common/micro/modi_rain_ice.F90 -> (install) include/ modi_rain_ice.F90 -[info] source->target common/micro/modi_rain_ice.F90 -> (compile+) include/ modi_rain_ice.mod -[info] source->target common/micro/modi_rain_ice.F90 -> (compile) o/ modi_rain_ice.o -[info] source->target common/micro/rain_ice.F90 -> (install) include/ rain_ice.F90 -[info] source->target common/micro/rain_ice.F90 -> (ext-iface) include/ rain_ice.interface -[info] source->target common/micro/rain_ice.F90 -> (compile) o/ rain_ice.o -[info] source->target common/turb -> (archive) lib/ common/turb/libo.a -[info] source->target common/turb/modd_cturb.F90 -> (install) include/ modd_cturb.F90 -[info] source->target common/turb/modd_cturb.F90 -> (compile+) include/ modd_cturb.mod -[info] source->target common/turb/modd_cturb.F90 -> (compile) o/ modd_cturb.o -[info] source->target common/turb/modd_diag_in_run.F90 -> (install) include/ modd_diag_in_run.F90 -[info] source->target common/turb/modd_diag_in_run.F90 -> (compile+) include/ modd_diag_in_run.mod -[info] source->target common/turb/modd_diag_in_run.F90 -> (compile) o/ modd_diag_in_run.o -[info] source->target common/turb/modd_param_mfshalln.F90 -> (compile+) include/ modd_param_mfshall_n.mod -[info] source->target common/turb/modd_param_mfshalln.F90 -> (compile) o/ modd_param_mfshall_n.o -[info] source->target common/turb/modd_param_mfshalln.F90 -> (install) include/ modd_param_mfshalln.F90 -[info] source->target common/turb/modd_turbn.f90 -> (compile+) include/ modd_turb_n.mod -[info] source->target common/turb/modd_turbn.f90 -> (compile) o/ modd_turb_n.o -[info] source->target common/turb/modd_turbn.f90 -> (install) include/ modd_turbn.f90 -[info] source->target common/turb/mode_bl89.F90 -> (install) include/ mode_bl89.F90 -[info] source->target common/turb/mode_bl89.F90 -> (compile+) include/ mode_bl89.mod -[info] source->target common/turb/mode_bl89.F90 -> (compile) o/ mode_bl89.o -[info] source->target common/turb/mode_bl_depth_diag.F90 -> (install) include/ mode_bl_depth_diag.F90 -[info] source->target common/turb/mode_bl_depth_diag.F90 -> (compile+) include/ mode_bl_depth_diag.mod -[info] source->target common/turb/mode_bl_depth_diag.F90 -> (compile) o/ mode_bl_depth_diag.o -[info] source->target common/turb/mode_coefj.f90 -> (install) include/ mode_coefj.f90 -[info] source->target common/turb/mode_coefj.f90 -> (compile+) include/ mode_coefj.mod -[info] source->target common/turb/mode_coefj.f90 -> (compile) o/ mode_coefj.o -[info] source->target common/turb/mode_compute_bl89_ml.F90 -> (install) include/ mode_compute_bl89_ml.F90 -[info] source->target common/turb/mode_compute_bl89_ml.F90 -> (compile+) include/ mode_compute_bl89_ml.mod -[info] source->target common/turb/mode_compute_bl89_ml.F90 -> (compile) o/ mode_compute_bl89_ml.o -[info] source->target common/turb/mode_compute_entr_detr.F90 -> (install) include/ mode_compute_entr_detr.F90 -[info] source->target common/turb/mode_compute_entr_detr.F90 -> (compile+) include/ mode_compute_entr_detr.mod -[info] source->target common/turb/mode_compute_entr_detr.F90 -> (compile) o/ mode_compute_entr_detr.o -[info] source->target common/turb/mode_compute_function_thermo_mf.F90 -> (install) include/ mode_compute_function_thermo_mf.F90 -[info] source->target common/turb/mode_compute_function_thermo_mf.F90 -> (compile+) include/ mode_compute_function_thermo_mf.mod -[info] source->target common/turb/mode_compute_function_thermo_mf.F90 -> (compile) o/ mode_compute_function_thermo_mf.o -[info] source->target common/turb/mode_compute_mf_cloud.F90 -> (install) include/ mode_compute_mf_cloud.F90 -[info] source->target common/turb/mode_compute_mf_cloud.F90 -> (compile+) include/ mode_compute_mf_cloud.mod -[info] source->target common/turb/mode_compute_mf_cloud.F90 -> (compile) o/ mode_compute_mf_cloud.o -[info] source->target common/turb/mode_compute_mf_cloud_bigaus.F90 -> (install) include/ mode_compute_mf_cloud_bigaus.F90 -[info] source->target common/turb/mode_compute_mf_cloud_bigaus.F90 -> (compile+) include/ mode_compute_mf_cloud_bigaus.mod -[info] source->target common/turb/mode_compute_mf_cloud_bigaus.F90 -> (compile) o/ mode_compute_mf_cloud_bigaus.o -[info] source->target common/turb/mode_compute_mf_cloud_direct.F90 -> (install) include/ mode_compute_mf_cloud_direct.F90 -[info] source->target common/turb/mode_compute_mf_cloud_direct.F90 -> (compile+) include/ mode_compute_mf_cloud_direct.mod -[info] source->target common/turb/mode_compute_mf_cloud_direct.F90 -> (compile) o/ mode_compute_mf_cloud_direct.o -[info] source->target common/turb/mode_compute_mf_cloud_stat.F90 -> (install) include/ mode_compute_mf_cloud_stat.F90 -[info] source->target common/turb/mode_compute_mf_cloud_stat.F90 -> (compile+) include/ mode_compute_mf_cloud_stat.mod -[info] source->target common/turb/mode_compute_mf_cloud_stat.F90 -> (compile) o/ mode_compute_mf_cloud_stat.o -[info] source->target common/turb/mode_compute_updraft.F90 -> (install) include/ mode_compute_updraft.F90 -[info] source->target common/turb/mode_compute_updraft.F90 -> (compile+) include/ mode_compute_updraft.mod -[info] source->target common/turb/mode_compute_updraft.F90 -> (compile) o/ mode_compute_updraft.o -[info] source->target common/turb/mode_compute_updraft_raha.F90 -> (install) include/ mode_compute_updraft_raha.F90 -[info] source->target common/turb/mode_compute_updraft_raha.F90 -> (compile+) include/ mode_compute_updraft_raha.mod -[info] source->target common/turb/mode_compute_updraft_raha.F90 -> (compile) o/ mode_compute_updraft_raha.o -[info] source->target common/turb/mode_compute_updraft_rhcj10.F90 -> (install) include/ mode_compute_updraft_rhcj10.F90 -[info] source->target common/turb/mode_compute_updraft_rhcj10.F90 -> (compile+) include/ mode_compute_updraft_rhcj10.mod -[info] source->target common/turb/mode_compute_updraft_rhcj10.F90 -> (compile) o/ mode_compute_updraft_rhcj10.o -[info] source->target common/turb/mode_emoist.F90 -> (install) include/ mode_emoist.F90 -[info] source->target common/turb/mode_emoist.F90 -> (compile+) include/ mode_emoist.mod -[info] source->target common/turb/mode_emoist.F90 -> (compile) o/ mode_emoist.o -[info] source->target common/turb/mode_etheta.F90 -> (install) include/ mode_etheta.F90 -[info] source->target common/turb/mode_etheta.F90 -> (compile+) include/ mode_etheta.mod -[info] source->target common/turb/mode_etheta.F90 -> (compile) o/ mode_etheta.o -[info] source->target common/turb/mode_mf_turb.F90 -> (install) include/ mode_mf_turb.F90 -[info] source->target common/turb/mode_mf_turb.F90 -> (compile+) include/ mode_mf_turb.mod -[info] source->target common/turb/mode_mf_turb.F90 -> (compile) o/ mode_mf_turb.o -[info] source->target common/turb/mode_mf_turb_expl.F90 -> (install) include/ mode_mf_turb_expl.F90 -[info] source->target common/turb/mode_mf_turb_expl.F90 -> (compile+) include/ mode_mf_turb_expl.mod -[info] source->target common/turb/mode_mf_turb_expl.F90 -> (compile) o/ mode_mf_turb_expl.o -[info] source->target common/turb/mode_prandtl.F90 -> (install) include/ mode_prandtl.F90 -[info] source->target common/turb/mode_prandtl.F90 -> (compile+) include/ mode_prandtl.mod -[info] source->target common/turb/mode_prandtl.F90 -> (compile) o/ mode_prandtl.o -[info] source->target common/turb/mode_rmc01.F90 -> (install) include/ mode_rmc01.F90 -[info] source->target common/turb/mode_rmc01.F90 -> (compile+) include/ mode_rmc01.mod -[info] source->target common/turb/mode_rmc01.F90 -> (compile) o/ mode_rmc01.o -[info] source->target common/turb/mode_rotate_wind.F90 -> (install) include/ mode_rotate_wind.F90 -[info] source->target common/turb/mode_rotate_wind.F90 -> (compile+) include/ mode_rotate_wind.mod -[info] source->target common/turb/mode_rotate_wind.F90 -> (compile) o/ mode_rotate_wind.o -[info] source->target common/turb/mode_sbl.F90 -> (install) include/ mode_sbl.F90 -[info] source->target common/turb/mode_sbl.F90 -> (compile+) include/ mode_sbl.mod -[info] source->target common/turb/mode_sbl.F90 -> (compile) o/ mode_sbl.o -[info] source->target common/turb/mode_sbl_depth.F90 -> (install) include/ mode_sbl_depth.F90 -[info] source->target common/turb/mode_sbl_depth.F90 -> (compile+) include/ mode_sbl_depth.mod -[info] source->target common/turb/mode_sbl_depth.F90 -> (compile) o/ mode_sbl_depth.o -[info] source->target common/turb/mode_th_r_from_thl_rt_1d.F90 -> (install) include/ mode_th_r_from_thl_rt_1d.F90 -[info] source->target common/turb/mode_th_r_from_thl_rt_1d.F90 -> (compile+) include/ mode_th_r_from_thl_rt_1d.mod -[info] source->target common/turb/mode_th_r_from_thl_rt_1d.F90 -> (compile) o/ mode_th_r_from_thl_rt_1d.o -[info] source->target common/turb/mode_th_r_from_thl_rt_2d.F90 -> (install) include/ mode_th_r_from_thl_rt_2d.F90 -[info] source->target common/turb/mode_th_r_from_thl_rt_2d.F90 -> (compile+) include/ mode_th_r_from_thl_rt_2d.mod -[info] source->target common/turb/mode_th_r_from_thl_rt_2d.F90 -> (compile) o/ mode_th_r_from_thl_rt_2d.o -[info] source->target common/turb/mode_th_r_from_thl_rt_3d.F90 -> (install) include/ mode_th_r_from_thl_rt_3d.F90 -[info] source->target common/turb/mode_th_r_from_thl_rt_3d.F90 -> (compile+) include/ mode_th_r_from_thl_rt_3d.mod -[info] source->target common/turb/mode_th_r_from_thl_rt_3d.F90 -> (compile) o/ mode_th_r_from_thl_rt_3d.o -[info] source->target common/turb/mode_thl_rt_from_th_r_mf.F90 -> (install) include/ mode_thl_rt_from_th_r_mf.F90 -[info] source->target common/turb/mode_thl_rt_from_th_r_mf.F90 -> (compile+) include/ mode_thl_rt_from_th_r_mf.mod -[info] source->target common/turb/mode_thl_rt_from_th_r_mf.F90 -> (compile) o/ mode_thl_rt_from_th_r_mf.o -[info] source->target common/turb/mode_tke_eps_sources.F90 -> (install) include/ mode_tke_eps_sources.F90 -[info] source->target common/turb/mode_tke_eps_sources.F90 -> (compile+) include/ mode_tke_eps_sources.mod -[info] source->target common/turb/mode_tke_eps_sources.F90 -> (compile) o/ mode_tke_eps_sources.o -[info] source->target common/turb/mode_tm06.F90 -> (install) include/ mode_tm06.F90 -[info] source->target common/turb/mode_tm06.F90 -> (compile+) include/ mode_tm06.mod -[info] source->target common/turb/mode_tm06.F90 -> (compile) o/ mode_tm06.o -[info] source->target common/turb/mode_tm06_h.F90 -> (install) include/ mode_tm06_h.F90 -[info] source->target common/turb/mode_tm06_h.F90 -> (compile+) include/ mode_tm06_h.mod -[info] source->target common/turb/mode_tm06_h.F90 -> (compile) o/ mode_tm06_h.o -[info] source->target common/turb/mode_tridiag.F90 -> (install) include/ mode_tridiag.F90 -[info] source->target common/turb/mode_tridiag.F90 -> (compile+) include/ mode_tridiag.mod -[info] source->target common/turb/mode_tridiag.F90 -> (compile) o/ mode_tridiag.o -[info] source->target common/turb/mode_tridiag_massflux.F90 -> (install) include/ mode_tridiag_massflux.F90 -[info] source->target common/turb/mode_tridiag_massflux.F90 -> (compile+) include/ mode_tridiag_massflux.mod -[info] source->target common/turb/mode_tridiag_massflux.F90 -> (compile) o/ mode_tridiag_massflux.o -[info] source->target common/turb/mode_tridiag_thermo.F90 -> (install) include/ mode_tridiag_thermo.F90 -[info] source->target common/turb/mode_tridiag_thermo.F90 -> (compile+) include/ mode_tridiag_thermo.mod -[info] source->target common/turb/mode_tridiag_thermo.F90 -> (compile) o/ mode_tridiag_thermo.o -[info] source->target common/turb/mode_tridiag_tke.F90 -> (install) include/ mode_tridiag_tke.F90 -[info] source->target common/turb/mode_tridiag_tke.F90 -> (compile+) include/ mode_tridiag_tke.mod -[info] source->target common/turb/mode_tridiag_tke.F90 -> (compile) o/ mode_tridiag_tke.o -[info] source->target common/turb/mode_tridiag_w.F90 -> (install) include/ mode_tridiag_w.F90 -[info] source->target common/turb/mode_tridiag_w.F90 -> (compile+) include/ mode_tridiag_w.mod -[info] source->target common/turb/mode_tridiag_w.F90 -> (compile) o/ mode_tridiag_w.o -[info] source->target common/turb/mode_tridiag_wind.F90 -> (install) include/ mode_tridiag_wind.F90 -[info] source->target common/turb/mode_tridiag_wind.F90 -> (compile+) include/ mode_tridiag_wind.mod -[info] source->target common/turb/mode_tridiag_wind.F90 -> (compile) o/ mode_tridiag_wind.o -[info] source->target common/turb/mode_turb_hor.F90 -> (install) include/ mode_turb_hor.F90 -[info] source->target common/turb/mode_turb_hor.F90 -> (compile+) include/ mode_turb_hor.mod -[info] source->target common/turb/mode_turb_hor.F90 -> (compile) o/ mode_turb_hor.o -[info] source->target common/turb/mode_turb_hor_dyn_corr.F90 -> (install) include/ mode_turb_hor_dyn_corr.F90 -[info] source->target common/turb/mode_turb_hor_dyn_corr.F90 -> (compile+) include/ mode_turb_hor_dyn_corr.mod -[info] source->target common/turb/mode_turb_hor_dyn_corr.F90 -> (compile) o/ mode_turb_hor_dyn_corr.o -[info] source->target common/turb/mode_turb_hor_splt.F90 -> (install) include/ mode_turb_hor_splt.F90 -[info] source->target common/turb/mode_turb_hor_splt.F90 -> (compile+) include/ mode_turb_hor_splt.mod -[info] source->target common/turb/mode_turb_hor_splt.F90 -> (compile) o/ mode_turb_hor_splt.o -[info] source->target common/turb/mode_turb_hor_sv_corr.F90 -> (install) include/ mode_turb_hor_sv_corr.F90 -[info] source->target common/turb/mode_turb_hor_sv_corr.F90 -> (compile+) include/ mode_turb_hor_sv_corr.mod -[info] source->target common/turb/mode_turb_hor_sv_corr.F90 -> (compile) o/ mode_turb_hor_sv_corr.o -[info] source->target common/turb/mode_turb_hor_sv_flux.F90 -> (install) include/ mode_turb_hor_sv_flux.F90 -[info] source->target common/turb/mode_turb_hor_sv_flux.F90 -> (compile+) include/ mode_turb_hor_sv_flux.mod -[info] source->target common/turb/mode_turb_hor_sv_flux.F90 -> (compile) o/ mode_turb_hor_sv_flux.o -[info] source->target common/turb/mode_turb_hor_thermo_corr.F90 -> (install) include/ mode_turb_hor_thermo_corr.F90 -[info] source->target common/turb/mode_turb_hor_thermo_corr.F90 -> (compile+) include/ mode_turb_hor_thermo_corr.mod -[info] source->target common/turb/mode_turb_hor_thermo_corr.F90 -> (compile) o/ mode_turb_hor_thermo_corr.o -[info] source->target common/turb/mode_turb_hor_thermo_flux.F90 -> (install) include/ mode_turb_hor_thermo_flux.F90 -[info] source->target common/turb/mode_turb_hor_thermo_flux.F90 -> (compile+) include/ mode_turb_hor_thermo_flux.mod -[info] source->target common/turb/mode_turb_hor_thermo_flux.F90 -> (compile) o/ mode_turb_hor_thermo_flux.o -[info] source->target common/turb/mode_turb_hor_tke.F90 -> (install) include/ mode_turb_hor_tke.F90 -[info] source->target common/turb/mode_turb_hor_tke.F90 -> (compile+) include/ mode_turb_hor_tke.mod -[info] source->target common/turb/mode_turb_hor_tke.F90 -> (compile) o/ mode_turb_hor_tke.o -[info] source->target common/turb/mode_turb_hor_uv.F90 -> (install) include/ mode_turb_hor_uv.F90 -[info] source->target common/turb/mode_turb_hor_uv.F90 -> (compile+) include/ mode_turb_hor_uv.mod -[info] source->target common/turb/mode_turb_hor_uv.F90 -> (compile) o/ mode_turb_hor_uv.o -[info] source->target common/turb/mode_turb_hor_uw.F90 -> (install) include/ mode_turb_hor_uw.F90 -[info] source->target common/turb/mode_turb_hor_uw.F90 -> (compile+) include/ mode_turb_hor_uw.mod -[info] source->target common/turb/mode_turb_hor_uw.F90 -> (compile) o/ mode_turb_hor_uw.o -[info] source->target common/turb/mode_turb_hor_vw.F90 -> (install) include/ mode_turb_hor_vw.F90 -[info] source->target common/turb/mode_turb_hor_vw.F90 -> (compile+) include/ mode_turb_hor_vw.mod -[info] source->target common/turb/mode_turb_hor_vw.F90 -> (compile) o/ mode_turb_hor_vw.o -[info] source->target common/turb/mode_turb_ver.F90 -> (install) include/ mode_turb_ver.F90 -[info] source->target common/turb/mode_turb_ver.F90 -> (compile+) include/ mode_turb_ver.mod -[info] source->target common/turb/mode_turb_ver.F90 -> (compile) o/ mode_turb_ver.o -[info] source->target common/turb/mode_turb_ver_dyn_flux.F90 -> (install) include/ mode_turb_ver_dyn_flux.F90 -[info] source->target common/turb/mode_turb_ver_dyn_flux.F90 -> (compile+) include/ mode_turb_ver_dyn_flux.mod -[info] source->target common/turb/mode_turb_ver_dyn_flux.F90 -> (compile) o/ mode_turb_ver_dyn_flux.o -[info] source->target common/turb/mode_turb_ver_sv_corr.F90 -> (install) include/ mode_turb_ver_sv_corr.F90 -[info] source->target common/turb/mode_turb_ver_sv_corr.F90 -> (compile+) include/ mode_turb_ver_sv_corr.mod -[info] source->target common/turb/mode_turb_ver_sv_corr.F90 -> (compile) o/ mode_turb_ver_sv_corr.o -[info] source->target common/turb/mode_turb_ver_sv_flux.F90 -> (install) include/ mode_turb_ver_sv_flux.F90 -[info] source->target common/turb/mode_turb_ver_sv_flux.F90 -> (compile+) include/ mode_turb_ver_sv_flux.mod -[info] source->target common/turb/mode_turb_ver_sv_flux.F90 -> (compile) o/ mode_turb_ver_sv_flux.o -[info] source->target common/turb/mode_turb_ver_thermo_corr.F90 -> (install) include/ mode_turb_ver_thermo_corr.F90 -[info] source->target common/turb/mode_turb_ver_thermo_corr.F90 -> (compile+) include/ mode_turb_ver_thermo_corr.mod -[info] source->target common/turb/mode_turb_ver_thermo_corr.F90 -> (compile) o/ mode_turb_ver_thermo_corr.o -[info] source->target common/turb/mode_turb_ver_thermo_flux.F90 -> (install) include/ mode_turb_ver_thermo_flux.F90 -[info] source->target common/turb/mode_turb_ver_thermo_flux.F90 -> (compile+) include/ mode_turb_ver_thermo_flux.mod -[info] source->target common/turb/mode_turb_ver_thermo_flux.F90 -> (compile) o/ mode_turb_ver_thermo_flux.o -[info] source->target common/turb/mode_update_lm.F90 -> (install) include/ mode_update_lm.F90 -[info] source->target common/turb/mode_update_lm.F90 -> (compile+) include/ mode_update_lm.mod -[info] source->target common/turb/mode_update_lm.F90 -> (compile) o/ mode_update_lm.o -[info] source->target common/turb/modi_les_mean_subgrid.F90 -> (install) include/ modi_les_mean_subgrid.F90 -[info] source->target common/turb/modi_les_mean_subgrid.F90 -> (compile+) include/ modi_les_mean_subgrid.mod -[info] source->target common/turb/modi_les_mean_subgrid.F90 -> (compile) o/ modi_les_mean_subgrid.o -[info] source->target common/turb/modi_shallow_mf.F90 -> (install) include/ modi_shallow_mf.F90 -[info] source->target common/turb/modi_shallow_mf.F90 -> (compile+) include/ modi_shallow_mf.mod -[info] source->target common/turb/modi_shallow_mf.F90 -> (compile) o/ modi_shallow_mf.o -[info] source->target common/turb/modi_turb.F90 -> (install) include/ modi_turb.F90 -[info] source->target common/turb/modi_turb.F90 -> (compile+) include/ modi_turb.mod -[info] source->target common/turb/modi_turb.F90 -> (compile) o/ modi_turb.o -[info] source->target common/turb/shallow_mf.F90 -> (install) include/ shallow_mf.F90 -[info] source->target common/turb/shallow_mf.F90 -> (ext-iface) include/ shallow_mf.interface -[info] source->target common/turb/shallow_mf.F90 -> (compile) o/ shallow_mf.o -[info] source->target common/turb/shuman_mf.F90 -> (compile+) include/ modi_shuman_mf.mod -[info] source->target common/turb/shuman_mf.F90 -> (compile) o/ modi_shuman_mf.o -[info] source->target common/turb/shuman_mf.F90 -> (install) include/ shuman_mf.F90 -[info] source->target common/turb/shuman_mf.F90 -> (ext-iface) include/ shuman_mf.interface -[info] source->target common/turb/turb.F90 -> (install) include/ turb.F90 -[info] source->target common/turb/turb.F90 -> (ext-iface) include/ turb.interface -[info] source->target common/turb/turb.F90 -> (compile) o/ turb.o -[info] source->target drhook -> (archive) lib/ drhook/libo.a -[info] source->target drhook/dr_hook_end.F90 -> (install) include/ dr_hook_end.F90 -[info] source->target drhook/dr_hook_end.F90 -> (ext-iface) include/ dr_hook_end.interface -[info] source->target drhook/dr_hook_end.F90 -> (compile) o/ dr_hook_end.o -[info] source->target drhook/dr_hook_init.F90 -> (install) include/ dr_hook_init.F90 -[info] source->target drhook/dr_hook_init.F90 -> (ext-iface) include/ dr_hook_init.interface -[info] source->target drhook/dr_hook_init.F90 -> (compile) o/ dr_hook_init.o -[info] source->target drhook/dr_hook_watch_mod.F90 -> (install) include/ dr_hook_watch_mod.F90 -[info] source->target drhook/dr_hook_watch_mod.F90 -> (compile+) include/ dr_hook_watch_mod.mod -[info] source->target drhook/dr_hook_watch_mod.F90 -> (compile) o/ dr_hook_watch_mod.o -[info] source->target drhook/drhook.c -> (install) include/ drhook.c -[info] source->target drhook/drhook.c -> (compile) o/ drhook.o -[info] source->target drhook/internal -> (archive) lib/ drhook/internal/libo.a -[info] source->target drhook/internal/cas.h -> (install) include/ cas.h -[info] source->target drhook/internal/cdrhookinit.F90 -> (install) include/ cdrhookinit.F90 -[info] source->target drhook/internal/cdrhookinit.F90 -> (ext-iface) include/ cdrhookinit.interface -[info] source->target drhook/internal/cdrhookinit.F90 -> (compile) o/ cdrhookinit.o -[info] source->target drhook/internal/crc.c -> (install) include/ crc.c -[info] source->target drhook/internal/crc.c -> (compile) o/ crc.o -[info] source->target drhook/internal/crc.h -> (install) include/ crc.h -[info] source->target drhook/internal/dr_hack_mod.F90 -> (install) include/ dr_hack_mod.F90 -[info] source->target drhook/internal/dr_hack_mod.F90 -> (compile+) include/ dr_hack_mod.mod -[info] source->target drhook/internal/dr_hack_mod.F90 -> (compile) o/ dr_hack_mod.o -[info] source->target drhook/internal/dr_hook_end.intfb.h -> (install) include/ dr_hook_end.intfb.h -[info] source->target drhook/internal/dr_hook_init.intfb.h -> (install) include/ dr_hook_init.intfb.h -[info] source->target drhook/internal/dr_hook_procinfo.F90 -> (install) include/ dr_hook_procinfo.F90 -[info] source->target drhook/internal/dr_hook_procinfo.F90 -> (ext-iface) include/ dr_hook_procinfo.interface -[info] source->target drhook/internal/dr_hook_procinfo.F90 -> (compile) o/ dr_hook_procinfo.o -[info] source->target drhook/internal/dr_hook_prt.F90 -> (install) include/ dr_hook_prt.F90 -[info] source->target drhook/internal/dr_hook_prt.F90 -> (ext-iface) include/ dr_hook_prt.interface -[info] source->target drhook/internal/dr_hook_prt.F90 -> (compile) o/ dr_hook_prt.o -[info] source->target drhook/internal/dr_hook_stackcheck_mod.F90 -> (install) include/ dr_hook_stackcheck_mod.F90 -[info] source->target drhook/internal/dr_hook_stackcheck_mod.F90 -> (compile+) include/ dr_hook_stackcheck_mod.mod -[info] source->target drhook/internal/dr_hook_stackcheck_mod.F90 -> (compile) o/ dr_hook_stackcheck_mod.o -[info] source->target drhook/internal/dr_hook_util.F90 -> (install) include/ dr_hook_util.F90 -[info] source->target drhook/internal/dr_hook_util.F90 -> (ext-iface) include/ dr_hook_util.interface -[info] source->target drhook/internal/dr_hook_util.F90 -> (compile) o/ dr_hook_util.o -[info] source->target drhook/internal/dr_hook_util.h -> (install) include/ dr_hook_util.h -[info] source->target drhook/internal/dr_hook_util_multi.F90 -> (install) include/ dr_hook_util_multi.F90 -[info] source->target drhook/internal/dr_hook_util_multi.F90 -> (ext-iface) include/ dr_hook_util_multi.interface -[info] source->target drhook/internal/dr_hook_util_multi.F90 -> (compile) o/ dr_hook_util_multi.o -[info] source->target drhook/internal/dr_hook_util_multi.h -> (install) include/ dr_hook_util_multi.h -[info] source->target drhook/internal/drhook_run_omp_parallel.F90 -> (install) include/ drhook_run_omp_parallel.F90 -[info] source->target drhook/internal/drhook_run_omp_parallel.F90 -> (ext-iface) include/ drhook_run_omp_parallel.interface -[info] source->target drhook/internal/drhook_run_omp_parallel.F90 -> (compile) o/ drhook_run_omp_parallel_ipfstr.o -[info] source->target drhook/yomhook.F90 -> (install) include/ yomhook.F90 -[info] source->target drhook/yomhook.F90 -> (compile+) include/ yomhook.mod -[info] source->target drhook/yomhook.F90 -> (compile) o/ yomhook.o -[info] source->target dummyprog -> (archive) lib/ dummyprog/libo.a -[info] source->target dummyprog/. -> (install) include/ dummyprog.F90 -[info] source->target dummyprog/. -> (compile) o/ dummyprog.o -[info] source->target dummyprog/. -> (link) bin/ libphyex.so -[info] source->target gstats1 -> (archive) lib/ gstats1/libo.a -[info] source->target gstats1/. -> (install) include/ yomgstats.F90 -[info] source->target gstats1/. -> (compile+) include/ yomgstats.mod -[info] source->target gstats1/. -> (compile) o/ yomgstats.o -[info] source->target include1/abor1.h -> (install) include/ abor1.h -[info] source->target include1/abor1.intfb.h -> (install) include/ abor1.intfb.h -[info] source->target include1/drhook.h -> (install) include/ drhook.h -[info] source->target include1/ec_args.h -> (install) include/ ec_args.h -[info] source->target include1/ec_get_cycles.h -> (install) include/ ec_get_cycles.h -[info] source->target include1/ec_khz.intfb.h -> (install) include/ ec_khz.intfb.h -[info] source->target include1/ec_meminfo.intfb.h -> (install) include/ ec_meminfo.intfb.h -[info] source->target include1/ec_pmon.intfb.h -> (install) include/ ec_pmon.intfb.h -[info] source->target include1/fiat_pp.h -> (install) include/ fiat_pp.h -[info] source->target include1/gstats_setup.intfb.h -> (install) include/ gstats_setup.intfb.h -[info] source->target include1/mpl.h -> (install) include/ mpl.h -[info] source->target include1/oml.h -> (install) include/ oml.h -[info] source->target include1/user_clock.intfb.h -> (install) include/ user_clock.intfb.h -[info] source->target include2/. -> (install) include/ getstatm.h -[info] source->target mpi1/. -> (install) include/ mpif.h -[info] source->target mpi2 -> (archive) lib/ mpi2/libo.a -[info] source->target mpi2/. -> (install) include/ mpi_comm_rank.F -[info] source->target mpi2/. -> (ext-iface) include/ mpi_comm_rank.interface -[info] source->target mpi2/. -> (compile) o/ mpi_comm_rank.o -[info] source->target mpi3 -> (archive) lib/ mpi3/libo.a -[info] source->target mpi3/. -> (install) include/ mpi_comm_size.F -[info] source->target mpi3/. -> (ext-iface) include/ mpi_comm_size.interface -[info] source->target mpi3/. -> (compile) o/ mpi_comm_size.o -[info] source->target mpi4 -> (archive) lib/ mpi4/libo.a -[info] source->target mpi4/. -> (install) include/ mpi_send.F -[info] source->target mpi4/. -> (ext-iface) include/ mpi_send.interface -[info] source->target mpi4/. -> (compile) o/ mpi_send.o -[info] source->target mpi5 -> (archive) lib/ mpi5/libo.a -[info] source->target mpi5/. -> (install) include/ mpi_recv.F -[info] source->target mpi5/. -> (ext-iface) include/ mpi_recv.interface -[info] source->target mpi5/. -> (compile) o/ mpi_recv.o -[info] source->target mpi6 -> (archive) lib/ mpi6/libo.a -[info] source->target mpi6/. -> (install) include/ mpi_initialized.F -[info] source->target mpi6/. -> (ext-iface) include/ mpi_initialized.interface -[info] source->target mpi6/. -> (compile) o/ mpi_initialized.o -[info] source->target mpi7 -> (archive) lib/ mpi7/libo.a -[info] source->target mpi7/. -> (install) include/ mpi_error_string.F -[info] source->target mpi7/. -> (ext-iface) include/ mpi_error_string.interface -[info] source->target mpi7/. -> (compile) o/ mpi_error_string.o -[info] source->target mpi8 -> (archive) lib/ mpi8/libo.a -[info] source->target mpi8/. -> (install) include/ mpi_barrier.F -[info] source->target mpi8/. -> (ext-iface) include/ mpi_barrier.interface -[info] source->target mpi8/. -> (compile) o/ mpi_barrier.o -[info] source->target mpi9 -> (archive) lib/ mpi9/libo.a -[info] source->target mpi9/. -> (install) include/ mpi_abort.F -[info] source->target mpi9/. -> (ext-iface) include/ mpi_abort.interface -[info] source->target mpi9/. -> (compile) o/ mpi_abort.o -[info] source->target mpl12 -> (archive) lib/ mpl12/libo.a -[info] source->target mpl12/internal -> (archive) lib/ mpl12/internal/libo.a -[info] source->target mpl12/internal/ec_mpi_atexit.c -> (install) include/ ec_mpi_atexit.c -[info] source->target mpl12/internal/ec_mpi_atexit.c -> (compile) o/ ec_mpi_atexit.o -[info] source->target mpl12/internal/ec_mpi_finalize.F90 -> (install) include/ ec_mpi_finalize.F90 -[info] source->target mpl12/internal/ec_mpi_finalize.F90 -> (ext-iface) include/ ec_mpi_finalize.interface -[info] source->target mpl12/internal/ec_mpi_finalize.F90 -> (compile) o/ ec_mpi_finalize.o -[info] source->target mpl12/internal/ec_mpi_finalize.intfb.h -> (install) include/ ec_mpi_finalize.intfb.h -[info] source->target mpl12/internal/mpi4to8.F90 -> (install) include/ mpi4to8.F90 -[info] source->target mpl12/internal/mpi4to8.F90 -> (compile+) include/ mpi4to8.mod -[info] source->target mpl12/internal/mpi4to8.F90 -> (compile) o/ mpi4to8.o -[info] source->target mpl12/internal/mpi4to8_m.F90 -> (install) include/ mpi4to8_m.F90 -[info] source->target mpl12/internal/mpi4to8_m.F90 -> (compile+) include/ mpi4to8_m.mod -[info] source->target mpl12/internal/mpi4to8_m.F90 -> (compile) o/ mpi4to8_m.o -[info] source->target mpl12/internal/mpi4to8_s.F90 -> (install) include/ mpi4to8_s.F90 -[info] source->target mpl12/internal/mpi4to8_s.F90 -> (compile+) include/ mpi4to8_s.mod -[info] source->target mpl12/internal/mpi4to8_s.F90 -> (compile) o/ mpi4to8_s.o -[info] source->target mpl12/internal/mpl_abort_mod.F90 -> (install) include/ mpl_abort_mod.F90 -[info] source->target mpl12/internal/mpl_abort_mod.F90 -> (compile+) include/ mpl_abort_mod.mod -[info] source->target mpl12/internal/mpl_abort_mod.F90 -> (compile) o/ mpl_abort_mod.o -[info] source->target mpl12/internal/mpl_allgather_mod.F90 -> (install) include/ mpl_allgather_mod.F90 -[info] source->target mpl12/internal/mpl_allgather_mod.F90 -> (compile+) include/ mpl_allgather_mod.mod -[info] source->target mpl12/internal/mpl_allgather_mod.F90 -> (compile) o/ mpl_allgather_mod.o -[info] source->target mpl12/internal/mpl_allgatherv_mod.F90 -> (install) include/ mpl_allgatherv_mod.F90 -[info] source->target mpl12/internal/mpl_allgatherv_mod.F90 -> (compile+) include/ mpl_allgatherv_mod.mod -[info] source->target mpl12/internal/mpl_allgatherv_mod.F90 -> (compile) o/ mpl_allgatherv_mod.o -[info] source->target mpl12/internal/mpl_allreduce_mod.F90 -> (install) include/ mpl_allreduce_mod.F90 -[info] source->target mpl12/internal/mpl_allreduce_mod.F90 -> (compile+) include/ mpl_allreduce_mod.mod -[info] source->target mpl12/internal/mpl_allreduce_mod.F90 -> (compile) o/ mpl_allreduce_mod.o -[info] source->target mpl12/internal/mpl_alltoallv_mod.F90 -> (install) include/ mpl_alltoallv_mod.F90 -[info] source->target mpl12/internal/mpl_alltoallv_mod.F90 -> (compile+) include/ mpl_alltoallv_mod.mod -[info] source->target mpl12/internal/mpl_alltoallv_mod.F90 -> (compile) o/ mpl_alltoallv_mod.o -[info] source->target mpl12/internal/mpl_arg_mod.F90 -> (install) include/ mpl_arg_mod.F90 -[info] source->target mpl12/internal/mpl_arg_mod.F90 -> (compile+) include/ mpl_arg_mod.mod -[info] source->target mpl12/internal/mpl_arg_mod.F90 -> (compile) o/ mpl_arg_mod.o -[info] source->target mpl12/internal/mpl_barrier_mod.F90 -> (install) include/ mpl_barrier_mod.F90 -[info] source->target mpl12/internal/mpl_barrier_mod.F90 -> (compile+) include/ mpl_barrier_mod.mod -[info] source->target mpl12/internal/mpl_barrier_mod.F90 -> (compile) o/ mpl_barrier_mod.o -[info] source->target mpl12/internal/mpl_broadcast_mod.F90 -> (install) include/ mpl_broadcast_mod.F90 -[info] source->target mpl12/internal/mpl_broadcast_mod.F90 -> (compile+) include/ mpl_broadcast_mod.mod -[info] source->target mpl12/internal/mpl_broadcast_mod.F90 -> (compile) o/ mpl_broadcast_mod.o -[info] source->target mpl12/internal/mpl_buffer_method_mod.F90 -> (install) include/ mpl_buffer_method_mod.F90 -[info] source->target mpl12/internal/mpl_buffer_method_mod.F90 -> (compile+) include/ mpl_buffer_method_mod.mod -[info] source->target mpl12/internal/mpl_buffer_method_mod.F90 -> (compile) o/ mpl_buffer_method_mod.o -[info] source->target mpl12/internal/mpl_bytes_mod.F90 -> (install) include/ mpl_bytes_mod.F90 -[info] source->target mpl12/internal/mpl_bytes_mod.F90 -> (compile+) include/ mpl_bytes_mod.mod -[info] source->target mpl12/internal/mpl_bytes_mod.F90 -> (compile) o/ mpl_bytes_mod.o -[info] source->target mpl12/internal/mpl_close_mod.F90 -> (install) include/ mpl_close_mod.F90 -[info] source->target mpl12/internal/mpl_close_mod.F90 -> (compile+) include/ mpl_close_mod.mod -[info] source->target mpl12/internal/mpl_close_mod.F90 -> (compile) o/ mpl_close_mod.o -[info] source->target mpl12/internal/mpl_comm_create_mod.F90 -> (install) include/ mpl_comm_create_mod.F90 -[info] source->target mpl12/internal/mpl_comm_create_mod.F90 -> (compile+) include/ mpl_comm_create_mod.mod -[info] source->target mpl12/internal/mpl_comm_create_mod.F90 -> (compile) o/ mpl_comm_create_mod.o -[info] source->target mpl12/internal/mpl_comm_free_mod.F90 -> (install) include/ mpl_comm_free_mod.F90 -[info] source->target mpl12/internal/mpl_comm_free_mod.F90 -> (compile+) include/ mpl_comm_free_mod.mod -[info] source->target mpl12/internal/mpl_comm_free_mod.F90 -> (compile) o/ mpl_comm_free_mod.o -[info] source->target mpl12/internal/mpl_comm_split_mod.F90 -> (install) include/ mpl_comm_split_mod.F90 -[info] source->target mpl12/internal/mpl_comm_split_mod.F90 -> (compile+) include/ mpl_comm_split_mod.mod -[info] source->target mpl12/internal/mpl_comm_split_mod.F90 -> (compile) o/ mpl_comm_split_mod.o -[info] source->target mpl12/internal/mpl_data_module.F90 -> (install) include/ mpl_data_module.F90 -[info] source->target mpl12/internal/mpl_data_module.F90 -> (compile+) include/ mpl_data_module.mod -[info] source->target mpl12/internal/mpl_data_module.F90 -> (compile) o/ mpl_data_module.o -[info] source->target mpl12/internal/mpl_end_mod.F90 -> (install) include/ mpl_end_mod.F90 -[info] source->target mpl12/internal/mpl_end_mod.F90 -> (compile+) include/ mpl_end_mod.mod -[info] source->target mpl12/internal/mpl_end_mod.F90 -> (compile) o/ mpl_end_mod.o -[info] source->target mpl12/internal/mpl_gatherv_mod.F90 -> (install) include/ mpl_gatherv_mod.F90 -[info] source->target mpl12/internal/mpl_gatherv_mod.F90 -> (compile+) include/ mpl_gatherv_mod.mod -[info] source->target mpl12/internal/mpl_gatherv_mod.F90 -> (compile) o/ mpl_gatherv_mod.o -[info] source->target mpl12/internal/mpl_groups.F90 -> (install) include/ mpl_groups.F90 -[info] source->target mpl12/internal/mpl_groups.F90 -> (compile+) include/ mpl_groups.mod -[info] source->target mpl12/internal/mpl_groups.F90 -> (compile) o/ mpl_groups.o -[info] source->target mpl12/internal/mpl_init_mod.F90 -> (install) include/ mpl_init_mod.F90 -[info] source->target mpl12/internal/mpl_init_mod.F90 -> (compile+) include/ mpl_init_mod.mod -[info] source->target mpl12/internal/mpl_init_mod.F90 -> (compile) o/ mpl_init_mod.o -[info] source->target mpl12/internal/mpl_ioinit_mod.F90 -> (install) include/ mpl_ioinit_mod.F90 -[info] source->target mpl12/internal/mpl_ioinit_mod.F90 -> (compile+) include/ mpl_ioinit_mod.mod -[info] source->target mpl12/internal/mpl_ioinit_mod.F90 -> (compile) o/ mpl_ioinit_mod.o -[info] source->target mpl12/internal/mpl_locomm_create_mod.F90 -> (install) include/ mpl_locomm_create_mod.F90 -[info] source->target mpl12/internal/mpl_locomm_create_mod.F90 -> (compile+) include/ mpl_locomm_create_mod.mod -[info] source->target mpl12/internal/mpl_locomm_create_mod.F90 -> (compile) o/ mpl_locomm_create_mod.o -[info] source->target mpl12/internal/mpl_message_mod.F90 -> (install) include/ mpl_message_mod.F90 -[info] source->target mpl12/internal/mpl_message_mod.F90 -> (compile+) include/ mpl_message_mod.mod -[info] source->target mpl12/internal/mpl_message_mod.F90 -> (compile) o/ mpl_message_mod.o -[info] source->target mpl12/internal/mpl_mpif.F90 -> (install) include/ mpl_mpif.F90 -[info] source->target mpl12/internal/mpl_mpif.F90 -> (compile+) include/ mpl_mpif.mod -[info] source->target mpl12/internal/mpl_mpif.F90 -> (compile) o/ mpl_mpif.o -[info] source->target mpl12/internal/mpl_mygatherv_mod.F90 -> (install) include/ mpl_mygatherv_mod.F90 -[info] source->target mpl12/internal/mpl_mygatherv_mod.F90 -> (compile+) include/ mpl_mygatherv_mod.mod -[info] source->target mpl12/internal/mpl_mygatherv_mod.F90 -> (compile) o/ mpl_mygatherv_mod.o -[info] source->target mpl12/internal/mpl_myrank_mod.F90 -> (install) include/ mpl_myrank_mod.F90 -[info] source->target mpl12/internal/mpl_myrank_mod.F90 -> (compile+) include/ mpl_myrank_mod.mod -[info] source->target mpl12/internal/mpl_myrank_mod.F90 -> (compile) o/ mpl_myrank_mod.o -[info] source->target mpl12/internal/mpl_nproc_mod.F90 -> (install) include/ mpl_nproc_mod.F90 -[info] source->target mpl12/internal/mpl_nproc_mod.F90 -> (compile+) include/ mpl_nproc_mod.mod -[info] source->target mpl12/internal/mpl_nproc_mod.F90 -> (compile) o/ mpl_nproc_mod.o -[info] source->target mpl12/internal/mpl_open_mod.F90 -> (install) include/ mpl_open_mod.F90 -[info] source->target mpl12/internal/mpl_open_mod.F90 -> (compile+) include/ mpl_open_mod.mod -[info] source->target mpl12/internal/mpl_open_mod.F90 -> (compile) o/ mpl_open_mod.o -[info] source->target mpl12/internal/mpl_probe_mod.F90 -> (install) include/ mpl_probe_mod.F90 -[info] source->target mpl12/internal/mpl_probe_mod.F90 -> (compile+) include/ mpl_probe_mod.mod -[info] source->target mpl12/internal/mpl_probe_mod.F90 -> (compile) o/ mpl_probe_mod.o -[info] source->target mpl12/internal/mpl_read_mod.F90 -> (install) include/ mpl_read_mod.F90 -[info] source->target mpl12/internal/mpl_read_mod.F90 -> (compile+) include/ mpl_read_mod.mod -[info] source->target mpl12/internal/mpl_read_mod.F90 -> (compile) o/ mpl_read_mod.o -[info] source->target mpl12/internal/mpl_recv_mod.F90 -> (install) include/ mpl_recv_mod.F90 -[info] source->target mpl12/internal/mpl_recv_mod.F90 -> (compile+) include/ mpl_recv_mod.mod -[info] source->target mpl12/internal/mpl_recv_mod.F90 -> (compile) o/ mpl_recv_mod.o -[info] source->target mpl12/internal/mpl_scatterv_mod.F90 -> (install) include/ mpl_scatterv_mod.F90 -[info] source->target mpl12/internal/mpl_scatterv_mod.F90 -> (compile+) include/ mpl_scatterv_mod.mod -[info] source->target mpl12/internal/mpl_scatterv_mod.F90 -> (compile) o/ mpl_scatterv_mod.o -[info] source->target mpl12/internal/mpl_send_mod.F90 -> (install) include/ mpl_send_mod.F90 -[info] source->target mpl12/internal/mpl_send_mod.F90 -> (compile+) include/ mpl_send_mod.mod -[info] source->target mpl12/internal/mpl_send_mod.F90 -> (compile) o/ mpl_send_mod.o -[info] source->target mpl12/internal/mpl_setdflt_comm_mod.F90 -> (install) include/ mpl_setdflt_comm_mod.F90 -[info] source->target mpl12/internal/mpl_setdflt_comm_mod.F90 -> (compile+) include/ mpl_setdflt_comm_mod.mod -[info] source->target mpl12/internal/mpl_setdflt_comm_mod.F90 -> (compile) o/ mpl_setdflt_comm_mod.o -[info] source->target mpl12/internal/mpl_stats_mod.F90 -> (install) include/ mpl_stats_mod.F90 -[info] source->target mpl12/internal/mpl_stats_mod.F90 -> (compile+) include/ mpl_stats_mod.mod -[info] source->target mpl12/internal/mpl_stats_mod.F90 -> (compile) o/ mpl_stats_mod.o -[info] source->target mpl12/internal/mpl_testsome_mod.F90 -> (install) include/ mpl_testsome_mod.F90 -[info] source->target mpl12/internal/mpl_testsome_mod.F90 -> (compile+) include/ mpl_testsome_mod.mod -[info] source->target mpl12/internal/mpl_testsome_mod.F90 -> (compile) o/ mpl_testsome_mod.o -[info] source->target mpl12/internal/mpl_tour_table_mod.F90 -> (install) include/ mpl_tour_table_mod.F90 -[info] source->target mpl12/internal/mpl_tour_table_mod.F90 -> (compile+) include/ mpl_tour_table_mod.mod -[info] source->target mpl12/internal/mpl_tour_table_mod.F90 -> (compile) o/ mpl_tour_table_mod.o -[info] source->target mpl12/internal/mpl_wait_mod.F90 -> (install) include/ mpl_wait_mod.F90 -[info] source->target mpl12/internal/mpl_wait_mod.F90 -> (compile+) include/ mpl_wait_mod.mod -[info] source->target mpl12/internal/mpl_wait_mod.F90 -> (compile) o/ mpl_wait_mod.o -[info] source->target mpl12/internal/mpl_waitany_mod.F90 -> (install) include/ mpl_waitany_mod.F90 -[info] source->target mpl12/internal/mpl_waitany_mod.F90 -> (compile+) include/ mpl_waitany_mod.mod -[info] source->target mpl12/internal/mpl_waitany_mod.F90 -> (compile) o/ mpl_waitany_mod.o -[info] source->target mpl12/internal/mpl_write_mod.F90 -> (install) include/ mpl_write_mod.F90 -[info] source->target mpl12/internal/mpl_write_mod.F90 -> (compile+) include/ mpl_write_mod.mod -[info] source->target mpl12/internal/mpl_write_mod.F90 -> (compile) o/ mpl_write_mod.o -[info] source->target mpl12/internal/yommplstats.F90 -> (install) include/ yommplstats.F90 -[info] source->target mpl12/internal/yommplstats.F90 -> (compile+) include/ yommplstats.mod -[info] source->target mpl12/internal/yommplstats.F90 -> (compile) o/ yommplstats.o -[info] source->target mpl12/mpl_bindc.F90 -> (compile) o/ fortran_mpi_abort.o -[info] source->target mpl12/mpl_bindc.F90 -> (install) include/ mpl_bindc.F90 -[info] source->target mpl12/mpl_bindc.F90 -> (ext-iface) include/ mpl_bindc.interface -[info] source->target mpl12/mpl_module.F90 -> (install) include/ mpl_module.F90 -[info] source->target mpl12/mpl_module.F90 -> (compile+) include/ mpl_module.mod -[info] source->target mpl12/mpl_module.F90 -> (compile) o/ mpl_module.o -[info] source->target oml -> (archive) lib/ oml/libo.a -[info] source->target oml/. -> (install) include/ oml_mod.F90 -[info] source->target oml/. -> (compile+) include/ oml_mod.mod -[info] source->target oml/. -> (compile) o/ oml_mod.o -[info] source->target parkind -> (install) etc/ parkind/.etc -[info] source->target parkind -> (archive) lib/ parkind/libo.a -[info] source->target parkind/CMakeLists.txt -> (install) etc/ parkind/CMakeLists.txt -[info] source->target parkind/parkind1.F90 -> (install) include/ parkind1.F90 -[info] source->target parkind/parkind1.F90 -> (compile+) include/ parkind1.mod -[info] source->target parkind/parkind1.F90 -> (compile) o/ parkind1.o -[info] source->target parkind/parkind2.F90 -> (install) include/ parkind2.F90 -[info] source->target parkind/parkind2.F90 -> (compile+) include/ parkind2.mod -[info] source->target parkind/parkind2.F90 -> (compile) o/ parkind2.o -[info] source->target system1 -> (archive) lib/ system1/libo.a -[info] source->target system1/. -> (install) include/ tabort.c -[info] source->target system1/. -> (compile) o/ tabort.o -[info] source->target system2 -> (archive) lib/ system2/libo.a -[info] source->target system2/. -> (install) include/ getstk.c -[info] source->target system2/. -> (compile) o/ getstk.o -[info] source->target system3 -> (archive) lib/ system3/libo.a -[info] source->target system3/. -> (install) include/ getrss.c -[info] source->target system3/. -> (compile) o/ getrss.o -[info] source->target system4 -> (archive) lib/ system4/libo.a -[info] source->target system4/. -> (install) include/ getpag.c -[info] source->target system4/. -> (compile) o/ getpag.o -[info] source->target system5 -> (archive) lib/ system5/libo.a -[info] source->target system5/. -> (install) include/ gethwm.c -[info] source->target system5/. -> (compile) o/ gethwm.o -[info] source->target system6 -> (archive) lib/ system6/libo.a -[info] source->target system6/. -> (install) include/ getcurheap.c -[info] source->target system6/. -> (compile) o/ getcurheap.o -[info] source->target system7 -> (archive) lib/ system7/libo.a -[info] source->target system7/. -> (install) include/ getstackusage.c -[info] source->target system7/. -> (compile) o/ getstackusage.o -[info] source->target system8 -> (archive) lib/ system8/libo.a -[info] source->target system8/. -> (install) include/ getmaxrss.c -[info] source->target system8/. -> (compile) o/ getmaxrss.o -[info] source->target util1 -> (archive) lib/ util1/libo.a -[info] source->target util1/. -> (install) include/ ec_parkind.F90 -[info] source->target util1/. -> (compile+) include/ ec_parkind.mod -[info] source->target util1/. -> (compile) o/ ec_parkind.o -[info] source->target util10 -> (archive) lib/ util10/libo.a -[info] source->target util10/. -> (install) include/ ec_set_umask.c -[info] source->target util10/. -> (compile) o/ ec_set_umask.o -[info] source->target util11 -> (archive) lib/ util11/libo.a -[info] source->target util11/. -> (install) include/ ec_pmon.F90 -[info] source->target util11/. -> (ext-iface) include/ ec_pmon.interface -[info] source->target util11/. -> (compile) o/ ec_pmon.o -[info] source->target util12 -> (archive) lib/ util12/libo.a -[info] source->target util12/. -> (install) include/ ec_args.c -[info] source->target util12/. -> (compile) o/ ec_args.o -[info] source->target util13 -> (archive) lib/ util13/libo.a -[info] source->target util13/. -> (install) include/ ec_flush.F90 -[info] source->target util13/. -> (ext-iface) include/ ec_flush.interface -[info] source->target util13/. -> (compile) o/ ec_flush.o -[info] source->target util14 -> (archive) lib/ util14/libo.a -[info] source->target util14/. -> (install) include/ ec_env_mod.F90 -[info] source->target util14/. -> (compile+) include/ ec_env_mod.mod -[info] source->target util14/. -> (compile) o/ ec_env_mod.o -[info] source->target util2 -> (archive) lib/ util2/libo.a -[info] source->target util2/. -> (install) include/ ec_args_mod.F90 -[info] source->target util2/. -> (compile+) include/ ec_args_mod.mod -[info] source->target util2/. -> (compile) o/ ec_args_mod.o -[info] source->target util3 -> (archive) lib/ util3/libo.a -[info] source->target util3/. -> (install) include/ ec_lun.F90 -[info] source->target util3/. -> (compile+) include/ ec_lun.mod -[info] source->target util3/. -> (compile) o/ ec_lun.o -[info] source->target util4 -> (install) etc/ util4/.etc -[info] source->target util4/. -> (install) etc/ util4/. -[info] source->target util5 -> (archive) lib/ util5/libo.a -[info] source->target util5/. -> (install) include/ abor1_c.c -[info] source->target util5/. -> (compile) o/ abor1_c.o -[info] source->target util6 -> (archive) lib/ util6/libo.a -[info] source->target util6/. -> (install) include/ loc_addr.c -[info] source->target util6/. -> (compile) o/ loc_addr.o -[info] source->target util7 -> (archive) lib/ util7/libo.a -[info] source->target util7/. -> (install) include/ ecomp_version.c -[info] source->target util7/. -> (compile) o/ ecomp_version.o -[info] source->target util8 -> (archive) lib/ util8/libo.a -[info] source->target util8/. -> (install) include/ ecmpi_version.c -[info] source->target util8/. -> (compile) o/ ecmpi_version.o -[info] source->target util9 -> (archive) lib/ util9/libo.a -[info] source->target util9/. -> (install) include/ get_openmp.F90 -[info] source->target util9/. -> (ext-iface) include/ get_openmp.interface -[info] source->target util9/. -> (compile) o/ get_openmp.o -[FAIL] make build # 2.4s -[FAIL] make # 2.6s diff --git a/docs/Offline.md b/docs/Offline.md index 5df0dd653e1ab5be192ff9ea357abb12e66f09a9..61f14b791610ba4a46174dec091b9d205288c723 100644 --- a/docs/Offline.md +++ b/docs/Offline.md @@ -18,6 +18,8 @@ This build system has two dependencies (installation is done automatically by th The script build/with\_fcm/make\_fcm.sh uses a configuration file and build the library and test programs. They can be found in the build/bin sudirectory in the architecture specific directory arch\_\<achitecture name\>. +Some more details can be found in [build/with\_fcm/README.md file](../build/with_fcm/README.md). + ## TEST PROGRAM ### Data generation diff --git a/docs/TODO b/docs/TODO index 2ce2488df99bb8789e98d0ceec17029d20a38bfd..50da1ca32f78bcf507ccf41f73537f6ba83da615 100644 --- a/docs/TODO +++ b/docs/TODO @@ -20,11 +20,19 @@ Intégration de PHYEX dans des cycles/versions officielles: - Ces clés devront être supprimées - Répertoires ext - Répertoire arome/ext et mesonh/ext contiennent les codes non PHYEX qu'il faut modifier dans le pack pour qu'il puisse être compilé. - - Ce répertoire devra être vidé à la fin du phasage, les modifications nécessaires ayadevront avoir été fournies par ailleurs -- modd_spp_type est pour l'instant dans mpa/micro/externals mais n'est pas de la microphysique + - Ce répertoire devra être vidé à la fin du phasage, les modifications nécessaires devront avoir été fournies par ailleurs +- Code AROME: + - supprimer les répertoires internals et modules de mpa/* qui sont repris par phyex + - supprimer les codes listés dans le fichier src/arome/gmkpack_ignored_files (ceux qui ne sont pas dans phyex) + - reprendre le code de src/arome/ext pour mettre à jour le code IAL + - déplacer dans mpa/conv: aro_convbu + - déplacer dans un nouveau mpa/aux: aro_startbu, aroini_budget, aro_suintbudget, aro_suintbudget_omp, aroini_cstmnh, aroini_frommpa, modd_spp_type Merge pb: + - AROME plante sur belenos lorsque le pack est complètement recompilé, constaté sur le commit c5379296bf399f376bddf02da37b81021c134717 (modifié pour initialisé CTURBLEN) - rain_ice_old a rebrancher dans Meso-NH + - LIMA à faire + - KFB ? Pb identifiés à corriger plus tard: - deposition devrait être déplacée dans ice4_tendencies @@ -38,16 +46,9 @@ Pb identifiés à corriger plus tard: - sedimentation momentum non branchée - si possible, modifier ice4_sedimentation_split* dans le même esprit que stat -Budgets/DDH -- Le code dans budget_DDH devra être transféré dans mode_budget -- les routines arome specifiques aux budgets sont dans mpa/micro, il faudrait les mettre dans aux -- Le module modd_dyn n'est utilisé que pour les budgets, voir s'il peut être supprimé -- Le code des budgets devrait être revu: pas en phase avec celui de Méso-NH et phasage a priori - inutile car très peu de code semble réellement utile pour AROME - Enable mnh_expand with fcm build Reprendre les différents outils en deux scripts principaux: - outil pour reprendre toutes les fonctionnalités sur le code: filepp, MNH_Expand_Array, correct_indent.py, verify_mnh_expand.py et renommage - outil prep_code débarrassé du renommage pour ne faire que la gestion des commit et lancer la manipulation sur le code -Il restera, à part, les scripts de comparaison des résultats (à moins qu'ils puissent être placés dans les check_commit correspondant) +Il restera, à part, les scripts de comparaison des résultats (à moins qu'ils puissent être inlinés dans les check_commit correspondant) diff --git a/src/arome/aux/budget_DDH.F90 b/src/arome/aux/budget_DDH.F90 deleted file mode 100644 index 5e448dc8eab5cc7bd501f1b4905e85cf019e244f..0000000000000000000000000000000000000000 --- a/src/arome/aux/budget_DDH.F90 +++ /dev/null @@ -1,218 +0,0 @@ -! ######spl -! ##################################### - SUBROUTINE BUDGET_DDH(PVARS,KBUDN,HBUVAR,YDDDH, YDLDDH, YDMDDH, LDISDIFF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ##################################### -! -!! BUDGET - routine to call the BUDGET routine for AROME. -!! -!! BEWARE THIS ROUTINE iS DIFFERENT FROM THE MNH ROUTINE BUDGET -!! EVEN IF IT WEARS THE SAME NAME !!! -!! -!! PURPOSE -!! ------- -! This routine is an interface for the add_ddh subroutine. -! It converts the selected field into klev reversed vertical -! levels and attributes to the selected field are created. -! -!!** METHOD -!! ------ -!! -!! 1st step: substract previous step (sequential approach in MNH) -!! 2nd step: reverse levels -!! 3rd step: multiplication by conversion factor for r-> q -!! or Theta-> T -!! -!! 4rd step: call to add_ddh now that the field has an Aladin shape -!! -!! -!! EXTERNAL -!! -------- -!! ADD_FIELD_3D -!! INVERT_VLEV -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_INTBUDGET: -!! -!! PVARS_M(nlon,1,nlev,13) !13 different budgets -!! VARMULT(:,:,13) ! allows to convert variables -!! -!! REFERENCE -!! --------- -!! "New data flow for diagnostics in Arome/Arpege" -!! -!! AUTHOR -!! ------ -!! O.Riviere 17/07/08 * Meteo France * -!! -!! -!! MODIFICATIONS -!! ------------- -!! F.Voitus 16/05/17 : Introduction of new DDH superstructure for budget -!! S.Riette Jan 2022 : LDISDIFF case -!! -!------------------------------------------------------------------------------- - -! - -USE MODDB_INTBUDGET,ONLY:TAB_VARMULT,TVARSM,CVARNAME,NLON -USE DDH_MIX, ONLY:NFLEVGDDH,NPROMADDH,ADD_FIELD_3D, & - & TYP_DDH, NEW_ADD_FIELD_3D ! reference is Arpege -USE OML_MOD, ONLY : OML_MY_THREAD -USE YOMLDDH, ONLY : TLDDH -USE YOMMDDH, ONLY : TMDDH - - -IMPLICIT NONE -! -! -!* 0.1 Declarations of arguments : -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARS ! source of the variable -INTEGER , INTENT(IN) :: KBUDN ! variable number - -CHARACTER (LEN=*) , INTENT(IN) :: HBUVAR ! Identifier of the Budget -TYPE(TYP_DDH) , INTENT(INOUT) :: YDDDH -TYPE(TLDDH) , INTENT(IN) :: YDLDDH -TYPE(TMDDH) , INTENT(IN) :: YDMDDH - -LOGICAL, OPTIONAL , INTENT(IN) :: LDISDIFF ! PVARS contains the increment (default is .FALSE.) - -!* 0.2 Declaration of local variables: -REAL,DIMENSION(NPROMADDH,NFLEVGDDH):: ZVARS -LOGICAL :: LINST,LDDH -INTEGER::IINCR,JLON,JLEV,IFDIA,IOFF -CHARACTER (LEN=4) :: CLPROC -CHARACTER (LEN=11) :: CLDDH -LOGICAL :: LISDIFF - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',0,ZHOOK_HANDLE) - -IF (PRESENT(LDISDIFF)) THEN - LISDIFF=LDISDIFF -ELSE - LISDIFF=.FALSE. -ENDIF - -IFDIA=SIZE(PVARS,1) -ZVARS(:,:)=0. -IF (SIZE(PVARS,3)==NFLEVGDDH+2) THEN - IOFF=1 -ELSE - IOFF=0 -ENDIF -!if length is less than 4, fill with budget old names -IF(LEN(HBUVAR)==1) THEN - CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_BU' -ELSE IF(LEN(HBUVAR)==2) THEN - CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_B' -ELSE IF(LEN(HBUVAR)==3) THEN - CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_' -ELSE - CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR))) -END IF -! -IF (YDLDDH%LDDH_OMP) THEN - CLDDH='T'//YDDDH%YVARMULT(KBUDN)%CNAME//CLPROC -ELSE - CLDDH='T'//CVARNAME(KBUDN)//CLPROC -ENDIF - -! depi not stored through call to budget but add_field -IF ((CLPROC=='DEPI').OR.(CLPROC=='CEDS')) THEN - IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',1,ZHOOK_HANDLE) - RETURN -ENDIF - -!1. Substraction of value at previous process and updates PVARSM - -IF (YDLDDH%LDDH_OMP) THEN - IF (CLPROC=='INIF') THEN - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ELSE - IF (LISDIFF) THEN - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) - YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=YDDDH%RVARSM(JLON,1,JLEV,KBUDN)+PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ELSE - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF)-YDDDH%RVARSM(JLON,1,JLEV,KBUDN) - YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ENDIF - ENDIF -ELSE - IF (CLPROC=='INIF') THEN - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - TVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ELSE - IF (LISDIFF) THEN - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) - TVARSM(JLON,1,JLEV,KBUDN)=TVARSM(JLON,1,JLEV,KBUDN)+PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ELSE - DO JLEV=1,NFLEVGDDH - DO JLON=1,IFDIA - ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF)-TVARSM(JLON,1,JLEV,KBUDN) - TVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) - ENDDO - ENDDO - ENDIF - ENDIF -ENDIF - - - -!2. Reverse levels MNH-> ALD -!IINCR=-1 -!CALL INVERT_VLEV(1,NLON,NFLEVGDDH,IINCR,ZVARS,PVARS2) - -!3. CONVERSION -! converting to desired budget variables - -IF (YDLDDH%LDDH_OMP) THEN - ZVARS(:,:)=ZVARS(:,:)*YDDDH%YVARMULT(KBUDN)%RVAL(:,:) -ELSE - ZVARS(:,:)=ZVARS(:,:)*TAB_VARMULT(KBUDN)%VARMULT(:,:) -ENDIF - - -!4. CALL TO ADD_FIELD - - -LDDH=.TRUE. -LINST=.TRUE. -! saves ZVARS with NAME HBUVAR as a Tendency from AROME -! and it is an INSTantaneous field -IF (CLPROC/='INIF') THEN - IF (YDLDDH%LDDH_OMP) THEN - CALL NEW_ADD_FIELD_3D(YDMDDH,ZVARS,CLDDH,YDDDH) - ELSE - CALL ADD_FIELD_3D(YDLDDH,ZVARS,CLDDH,'T','AROME',LINST,LDDH) - ENDIF -ENDIF - -IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',1,ZHOOK_HANDLE) -END SUBROUTINE BUDGET_DDH - diff --git a/src/arome/aux/ini_budget.F90 b/src/arome/aux/ini_budget.F90 deleted file mode 100644 index 9506cd1df51623445d6551c72846420b4a972e83..0000000000000000000000000000000000000000 --- a/src/arome/aux/ini_budget.F90 +++ /dev/null @@ -1,2533 +0,0 @@ -! ######spl - SUBROUTINE INI_BUDGET(KLUOUT, HLUOUT,PTSTEP,KSV,KRR, & - ONUMDIFU,ONUMDIFTH,ONUMDIFSV, & - OHORELAX_UVWTH,OHORELAX_RV,OHORELAX_RC,OHORELAX_RR, & - OHORELAX_RI,OHORELAX_RS, OHORELAX_RG, OHORELAX_RH,OHORELAX_TKE, & - OHORELAX_SV,OVE_RELAX,OCHTRANS,ONUDGING,ODRAGTREE, & - HRAD,HDCONV,HSCONV,HTURB,HTURBDIM,HCLOUD, & - HMET_ADV_SCHEME,HSV_ADV_SCHEME) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################################################# -! -!!**** *INI_BUDGET* - routine to initialize the parameters for the budgets -!! -!! PURPOSE -!! ------- -! The purpose of this routine is to set or compute the parameters used -! by the MESONH budgets. Names of files for budget recording are processed -! and storage arrays are initialized. -! -!!** METHOD -!! ------ -!! The essential of information is passed by modules. The choice of budgets -!! and processes set by the user as integers is converted in "actions" -!! readable by the subroutine BUDGET under the form of string characters. -!! For each complete process composed of several elementary processes, names -!! of elementary processes are concatenated in order to have an explicit name -!! in the comment of the recording file for budget. -!! -!! -!! EXTERNAL -!! -------- -!! None -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_PARAMETERS: JPBUMAX,JPBUPROMAX -!! -!! Module MODD_CONF: CCONF -!! -!! Module MODD_DYN: XSEGLEN -!! -!! -!! REFERENCE -!! --------- -!! Book2 of documentation (routine INI_BUDGET) -!! -!! -!! AUTHOR -!! ------ -!! P. Hereil * Meteo France * -!! -!! MODIFICATIONS -!! ------------- -!! Original 01/03/95 -!! J. Stein 25/06/95 put the sources in phase with the code -!! J. Stein 20/07/95 reset to FALSE of all the switches when -!! CBUTYPE /= MASK or CART -!! J. Stein 26/06/96 add the new sources + add the increment between -!! 2 active processes -!! J.-P. Pinty 13/12/96 Allowance of multiple SVs -!! J.-P. Pinty 11/01/97 Includes deep convection ice and forcing processes -!! J.-P. Lafore 10/02/98 Allocation of the RHODJs for budget -!! V. Ducrocq 04/06/99 // -!! N. Asencio 18/06/99 // MASK case : delete KIMAX and KJMAX arguments, -!! GET_DIM_EXT_ll initializes the dimensions of the -!! extended local domain. -!! LBU_MASK and XBUSURF are allocated on the extended -!! local domain. -!! add 3 local variables IBUDIM1,IBUDIM2,IBUDIM3 -!! to define the dimensions of the budget arrays -!! in the different cases CART and MASK -!! J.-P. Pinty 23/09/00 add budget for C2R2 -!! V. Masson 18/11/02 add budget for 2way nesting -!! O.Geoffroy 03/2006 Add KHKO scheme -!! J.-P. Pinty 22/04/97 add the explicit hail processes -!! C.Lac 10/08/07 Add ADV for PPM without contribution -!! of each direction -!! C. Barthe 19/11/09 Add atmospheric electricity -!! C.Lac 01/07/11 Add vegetation drag -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_PARAMETERS -USE MODD_BUDGET -USE MODD_DYN -USE MODD_CONF -USE MODD_PARAM_ICE -USE MODD_PARAM_C2R2 -USE MODD_ELEC_DESCR, ONLY : LINDUCTIVE -! -!USE MODE_ll -!USE MODE_IO_ll -! -IMPLICIT NONE -! -!* 0.1 declarations of argument -! -! -INTEGER, INTENT(IN) :: KLUOUT ! Logical unit number for prints -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name of output listing -REAL, INTENT(IN) :: PTSTEP ! time step -INTEGER, INTENT(IN) :: KSV ! number of scalar variables -INTEGER, INTENT(IN) :: KRR ! number of moist variables -LOGICAL, INTENT(IN) :: ONUMDIFU ! switch to activate the numerical - ! diffusion for momentum -LOGICAL, INTENT(IN) :: ONUMDIFTH ! for meteorological scalar variables -LOGICAL, INTENT(IN) :: ONUMDIFSV ! for tracer scalar variables -LOGICAL, INTENT(IN) :: OHORELAX_UVWTH ! switch for the - ! horizontal relaxation for U,V,W,TH -LOGICAL, INTENT(IN) :: OHORELAX_RV ! switch for the - ! horizontal relaxation for Rv -LOGICAL, INTENT(IN) :: OHORELAX_RC ! switch for the - ! horizontal relaxation for Rc -LOGICAL, INTENT(IN) :: OHORELAX_RR ! switch for the - ! horizontal relaxation for Rr -LOGICAL, INTENT(IN) :: OHORELAX_RI ! switch for the - ! horizontal relaxation for Ri -LOGICAL, INTENT(IN) :: OHORELAX_RS ! switch for the - ! horizontal relaxation for Rs -LOGICAL, INTENT(IN) :: OHORELAX_RG ! switch for the - ! horizontal relaxation for Rg -LOGICAL, INTENT(IN) :: OHORELAX_RH ! switch for the - ! horizontal relaxation for Rh -LOGICAL, INTENT(IN) :: OHORELAX_TKE ! switch for the - ! horizontal relaxation for tke -LOGICAL,DIMENSION(:),INTENT(IN):: OHORELAX_SV ! switch for the - ! horizontal relaxation for scalar variables -LOGICAL, INTENT(IN) :: OVE_RELAX ! switch to activate the vertical - ! relaxation -LOGICAL, INTENT(IN) :: OCHTRANS ! switch to activate convective - !transport for SV -LOGICAL, INTENT(IN) :: ONUDGING ! switch to activate nudging -LOGICAL, INTENT(IN) :: ODRAGTREE ! switch to activate vegetation drag -CHARACTER (LEN=*), INTENT(IN) :: HRAD ! type of the radiation scheme -CHARACTER (LEN=*), INTENT(IN) :: HDCONV ! type of the deep convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HSCONV ! type of the shallow convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HTURB ! type of the turbulence scheme -CHARACTER (LEN=*), INTENT(IN) :: HTURBDIM! dimensionnality of the turbulence - ! scheme -CHARACTER (LEN=*), INTENT(IN) :: HCLOUD ! type of microphysical scheme -CHARACTER (LEN=*), INTENT(IN) :: HMET_ADV_SCHEME ! type of advection scheme - ! for meteorological scalar variables -CHARACTER (LEN=*), INTENT(IN) :: HSV_ADV_SCHEME ! type of advection scheme - ! for tracer scalar variables -! -!* 0.2 declarations of local variables -! -INTEGER, DIMENSION(JPBUMAX,JPBUPROMAX+1) :: IPROACTV ! switches set by the - ! user for process - ! activation -INTEGER :: JI, JJ, JK , JJJ ! loop indices -INTEGER :: IIMAX_ll, IJMAX_ll ! size of the physical global domain -INTEGER :: ITEN ! tens for CBURECORD -INTEGER :: IPROC ! counter for processes -INTEGER :: IIU, IJU ! size along x and y directions - ! of the extended subdomain -INTEGER :: IBUDIM1 ! first dimension of the budget arrays - ! = NBUIMAX in CART case - ! = NBUKMAX in MASK case -INTEGER :: IBUDIM2 ! second dimension of the budget arrays - ! = NBUJMAX in CART case - ! = NBUWRNB in MASK case -INTEGER :: IBUDIM3 ! third dimension of the budget arrays - ! = NBUKMAX in CART case - ! = NBUMASK in MASK case -LOGICAL :: GERROR ! switch for error in - ! budget specifcation -CHARACTER(LEN=7), DIMENSION(JPBUMAX) :: YEND_COMMENT ! last part of comment - ! for budgets records -CHARACTER(LEN=6), DIMENSION(JPBUMAX,JPBUPROMAX) :: YWORK2 ! used for - ! concatenattion of - ! comments for budgets -CHARACTER(LEN=40) :: YSTRING -INTEGER :: ILEN -INTEGER :: JSV ! loop indice for the SVs -INTEGER :: IBUPROCNBR_SV_MAX ! Max number of processes for the SVs -INTEGER :: ILAST_PROC_NBR ! Index of the last process number -INTEGER :: IINFO_ll ! return status of the interface routine -INTEGER :: IRESP ! Return code of FM-routines -! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!! -!!! the lines below must be update as soon as MODD_BUDGET is updated -!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!------------------------------------------------------------------------------- -! -!* 1. COMPUTE BUDGET VARIABLES -! ------------------------ -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('INI_BUDGET',0,ZHOOK_HANDLE) -NBUSTEP = NINT (XBULEN / PTSTEP) -NBUTSHIFT=0 -! -! common dimension for all CBUTYPE values -! -IF (LBU_KCP) THEN - NBUKMAX = 1 -ELSE - NBUKMAX = NBUKH - NBUKL +1 -END IF -! -IF (CBUTYPE=='CART') THEN ! cartesian case only -! - NBUWRNB = 1 ! after every budget period, we write the result on the - ! FM_FILE -! Following lines are not used in AROME -! IF (LBU_ICP) THEN -! NBUIMAX_ll = 1 -! ELSE -! NBUIMAX_ll = NBUIH - NBUIL +1 -! END IF -! IF (LBU_JCP) THEN -! NBUJMAX_ll = 1 -! ELSE -! NBUJMAX_ll = NBUJH - NBUJL +1 -! END IF -! -! CALL GET_INTERSECTION_ll(NBUIL,NBUJL,NBUIH,NBUJH, & -! NBUSIL,NBUSJL,NBUSIH,NBUSJH,"PHYS",IINFO_ll) -! Call to GET_INTERSECTION_ll is replaced by: - NBUSIL=NBUIL - NBUSJL=NBUJL - NBUSIH=NBUIH - NBUSJH=NBUJH - IINFO_ll=0 - IF ( IINFO_ll /= 1 ) THEN ! - IF (LBU_ICP) THEN - NBUIMAX = 1 - ELSE - NBUIMAX = NBUSIH - NBUSIL +1 - END IF - IF (LBU_JCP) THEN - NBUJMAX = 1 - ELSE - NBUJMAX = NBUSJH - NBUSJL +1 - END IF - ELSE ! the intersection is void - CBUTYPE='SKIP' ! no budget on this processor - NBUIMAX = 0 ! in order to allocate void arrays - NBUJMAX = 0 - ENDIF -! three first dimensions of budget arrays in cart and skip cases - IBUDIM1=NBUIMAX - IBUDIM2=NBUJMAX - IBUDIM3=NBUKMAX -! these variables are not be used - NBUWRNB=-1 - NBUMASK=-1 -! -ELSEIF (CBUTYPE=='MASK') THEN ! mask case only -! - LBU_ENABLE=.TRUE. - NBUWRNB = NINT (XBUWRI / XBULEN) ! only after NBUWRNB budget periods, we write the - ! result on the FM_FILE - NBUTIME = 1 - -! CALL GET_DIM_EXT_ll ('B', IIU,IJU) - ALLOCATE( LBU_MASK( IIU ,IJU, NBUMASK) ) - LBU_MASK(:,:,:)=.FALSE. - ALLOCATE( XBUSURF( IIU, IJU, NBUMASK, NBUWRNB) ) - XBUSURF(:,:,:,:) = 0. -! -! three first dimensions of budget arrays in mask case -! the order of the dimensions are the order expected in WRITE_DIACHRO routine: -! x,y,z,time,mask,processus and in this case x and y are missing -! first dimension of the arrays : dimension along K -! second dimension of the arrays : number of the budget time period -! third dimension of the arrays : number of the budget masks zones - IBUDIM1=NBUKMAX - IBUDIM2=NBUWRNB - IBUDIM3=NBUMASK -! these variables are not used in this case - NBUIMAX=-1 - NBUJMAX=-1 -! the beginning and the end along x and y direction : global extended domain - ! get dimensions of the physical global domain - ! CALL GET_GLOBALDIMS_ll (IIMAX_ll,IJMAX_ll) - NBUIL=1 - NBUIH=IIMAX_ll + 2 * JPHEXT - NBUJL=1 - NBUJH=IJMAX_ll + 2 * JPHEXT - -! -ELSE ! default case -! - LBU_ENABLE=.FALSE. - NBUIMAX = -1 - NBUJMAX = -1 - LBU_RU = .FALSE. - LBU_RV = .FALSE. - LBU_RW = .FALSE. - LBU_RTH= .FALSE. - LBU_RTKE= .FALSE. - LBU_RRV= .FALSE. - LBU_RRC= .FALSE. - LBU_RRR= .FALSE. - LBU_RRI= .FALSE. - LBU_RRS= .FALSE. - LBU_RRG= .FALSE. - LBU_RRH= .FALSE. - LBU_RSV= .FALSE. -! -! three first dimensions of budget arrays in default case - IBUDIM1=0 - IBUDIM2=0 - IBUDIM3=0 -! -END IF -! -! -!------------------------------------------------------------------------------- -! -!* 2. ALLOCATE MEMORY FOR BUDGET ARRAYS AND INITIALIZE -! ------------------------------------------------ -! -ALLOCATE( NBUPROCNBR(JPBUMAX) ) -ALLOCATE( NBUPROCCTR(JPBUMAX) ) -ALLOCATE( CBUACTION(JPBUMAX, JPBUPROMAX) ) -ALLOCATE( CBUCOMMENT(JPBUMAX, JPBUPROMAX) ) -ALLOCATE( CBURECORD(JPBUMAX, JPBUPROMAX) ) -NBUPROCCTR(:) = 0 -NBUCTR_ACTV(:) = 0 -NBUPROCNBR(:) = 0 -CBUACTION(:,:) = 'OF' -CBURECORD(:,:) = ' ' -CBUCOMMENT(:,:) = ' ' -LBU_BEG =.TRUE. -! -!------------------------------------------------------------------------------- -! -!* 3. INITALIZE VARIABLES -! ------------------- -! -IPROACTV(:,:) = 3 -IPROACTV(:,4) = 1 -IPROACTV(:,JPBUPROMAX+1) = 0 -GERROR=.FALSE. -YWORK2(:,:) = ' ' -YEND_COMMENT(:) = ' ' -! -! Budget of RU -IF (LBU_RU) THEN - IPROC=4 - IPROACTV(1,IPROC) = NASSEU - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(1,IPROC) = NNESTU - IPROC=IPROC+1 - IPROACTV(1,IPROC) = NADVXU - IPROC=IPROC+1 - IPROACTV(1,IPROC) = NADVYU - IPROC=IPROC+1 - IPROACTV(1,IPROC) = NADVZU - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(1,IPROC) = NFRCU - IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(1,IPROC) = NNUDU - IPROC=IPROC+1 - IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(1,IPROC) = NCURVU - ELSE - IPROACTV(1,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( LCORIO ) THEN - IPROACTV(1,IPROC) = NCORU - ELSE - IPROACTV(1,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(1,IPROC) = NDIFU - IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(1,IPROC) = NRELU - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(1,IPROC) = 4 - ELSE - IPROACTV(1,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(1,IPROC) = NDRAGU - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(1,IPROC) = NVTURBU - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(1,IPROC) = NHTURBU - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(1,IPROC) = 4 - ELSE - IPROACTV(1,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(1,IPROC) = NMAFLU - IPROC=IPROC+1 - IPROACTV(1,IPROC) = NPRESU -! - YWORK2(1,1) = 'INIF_' - YWORK2(1,2) = 'ENDF_' - YWORK2(1,3) = 'AVEF_' - IPROC=4 - YWORK2(1,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'DRAG_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(1,IPROC) = 'PRES_' -! - YEND_COMMENT(1) = 'BU_RU' - NBUPROCNBR(1) = 3 -! - CBUACTION(1,1) = 'IG' - CBUACTION(1,2) = 'CC' - CBUACTION(1,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(1,JJ) = ADJUSTL( ADJUSTR( YWORK2(1,JJ) ) // & - ADJUSTL( YEND_COMMENT(1) ) ) - END DO -! -END IF -! -! Budget of RV -IF (LBU_RV) THEN - IPROC=4 - IPROACTV(2,IPROC) = NASSEV - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(2,IPROC) = NNESTV - IPROC=IPROC+1 - IPROACTV(2,IPROC) = NADVXV - IPROC=IPROC+1 - IPROACTV(2,IPROC) = NADVYV - IPROC=IPROC+1 - IPROACTV(2,IPROC) = NADVZV - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(2,IPROC) = NFRCV - IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(2,IPROC) = NNUDV - IPROC=IPROC+1 - IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(2,IPROC) = NCURVV - ELSE - IPROACTV(2,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( LCORIO ) THEN - IPROACTV(2,IPROC) = NCORV - ELSE - IPROACTV(2,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(2,IPROC) = NDIFV - IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(2,IPROC) = NRELV - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(2,IPROC) = 4 - ELSE - IPROACTV(2,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(2,IPROC) = NDRAGV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(2,IPROC) = NVTURBV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(2,IPROC) = NHTURBV - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(2,IPROC) = 4 - ELSE - IPROACTV(2,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(2,IPROC) = NMAFLV - IPROC=IPROC+1 - IPROACTV(2,IPROC) = NPRESV -! - YWORK2(2,1) = 'INIF_' - YWORK2(2,2) = 'ENDF_' - YWORK2(2,3) = 'AVEF_' - IPROC=4 - YWORK2(2,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'DRAG_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(2,IPROC) = 'PRES_' -! - YEND_COMMENT(2) = 'BU_RV' - NBUPROCNBR(2) = 3 -! - CBUACTION(2,1) = 'IG' - CBUACTION(2,2) = 'CC' - CBUACTION(2,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(2,JJ) = ADJUSTL( ADJUSTR( YWORK2(2,JJ) ) // & - ADJUSTL( YEND_COMMENT(2) ) ) - END DO -! -END IF -! -! Budget of RW -IF (LBU_RW) THEN - IPROC=4 - IPROACTV(3,IPROC) = NASSEW - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(3,IPROC) = NNESTW - IPROC=IPROC+1 - IPROACTV(3,IPROC) = NADVXW - IPROC=IPROC+1 - IPROACTV(3,IPROC) = NADVYW - IPROC=IPROC+1 - IPROACTV(3,IPROC) = NADVZW - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(3,IPROC) = NFRCW - IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(3,IPROC) = NNUDW - IPROC=IPROC+1 - IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(3,IPROC) = NCURVW - ELSE - IPROACTV(3,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( LCORIO ) THEN - IPROACTV(3,IPROC) = NCORW - ELSE - IPROACTV(3,IPROC) = 4 - END IF - IPROC=IPROC+1 - IPROACTV(3,IPROC) = NGRAVW - IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(3,IPROC) = NDIFW - IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(3,IPROC) = NRELW - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(3,IPROC) = 4 - ELSE - IPROACTV(3,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(3,IPROC) = NVTURBW - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(3,IPROC) = NHTURBW - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(3,IPROC) = 4 - ELSE - IPROACTV(3,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IPROACTV(3,IPROC) = NPRESW -! - YWORK2(3,1) = 'INIF_' - YWORK2(3,2) = 'ENDF_' - YWORK2(3,3) = 'AVEF_' - IPROC=4 - YWORK2(3,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'GRAV_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(3,IPROC) = 'PRES_' -! - YEND_COMMENT(3) = 'BU_RW' - NBUPROCNBR(3) = 3 -! - CBUACTION(3,1) = 'IG' - CBUACTION(3,2) = 'CC' - CBUACTION(3,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(3,JJ) = ADJUSTL( ADJUSTR( YWORK2(3,JJ) ) // & - ADJUSTL( YEND_COMMENT(3) ) ) - END DO -! -END IF -! -! Budget of RTH -IF (LBU_RTH) THEN - IPROC=4 - IPROACTV(4,IPROC) = NASSETH - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(4,IPROC) = NNESTTH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(4,IPROC) = NADVTH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(4,IPROC) = NADVXTH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(4,IPROC) = NADVYTH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(4,IPROC) = NADVZTH - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(4,IPROC) = NFRCTH - IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(4,IPROC) = NNUDTH - IPROC=IPROC+1 - IF ( KRR > 0 ) THEN - IF(.NOT.L1D) IPROACTV(4,IPROC) = NPREFTH - ELSE - IPROACTV(4,IPROC) = 4 - END IF - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(4,IPROC) = NDIFTH - IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(4,IPROC) = NRELTH - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(4,IPROC) = 4 - ELSE - IPROACTV(4,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HRAD /= 'NONE' ) IPROACTV(4,IPROC) = NRADTH - IPROC=IPROC+1 - IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(4,IPROC) = NDCONVTH - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(4,IPROC) = NVTURBTH - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(4,IPROC) = NHTURBTH - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(4,IPROC) = 4 - ELSE - IPROACTV(4,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF (HTURB /= 'NONE') IPROACTV(4,IPROC) = NDISSHTH - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(4,IPROC) = NMAFLTH - IPROC=IPROC+1 - IF (HCLOUD /= 'NONE') IPROACTV(4,IPROC) = NNEGATH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .OR. HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) & - IPROACTV(4,IPROC) = NHENUTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NHONTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NSFRTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDEPSTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDEPGTH - IPROC=IPROC+1 - IF (((HCLOUD(1:3) == 'ICE') .AND. LWARM) .OR. ((HCLOUD == 'C2R2' & - .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. HCLOUD(1:3) == 'KES') & - IPROACTV(4,IPROC) = NREVATH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NRIMTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NACCTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NCFRZTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NWETGTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDRYGTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NGMLTTH - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(4,IPROC) = NWETHTH - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(4,IPROC) = NHMLTTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NIMLTTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NBERFITH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NCDEPITH - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'KES' .OR. & - HCLOUD == 'REVE') IPROACTV(4,IPROC) = NCONDTH -! - YWORK2(4,1) = 'INIF_' - YWORK2(4,2) = 'ENDF_' - YWORK2(4,3) = 'AVEF_' - IPROC=4 - YWORK2(4,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'PREF_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'RAD_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DISSH_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HON_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'SFR_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CDEPI_' - IPROC=IPROC+1 - YWORK2(4,IPROC) = 'COND_' -! - YEND_COMMENT(4) = 'BU_RTH' - NBUPROCNBR(4) = 3 -! - CBUACTION(4,1) = 'IG' - CBUACTION(4,2) = 'CC' - CBUACTION(4,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(4,JJ) = ADJUSTL( ADJUSTR( YWORK2(4,JJ) ) // & - ADJUSTL( YEND_COMMENT(4) ) ) - END DO -! -END IF -! -! Budget of RTKE -IF (LBU_RTKE) THEN - IPROC=4 - IPROACTV(5,IPROC) = NASSETKE - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(5,IPROC) = NADVTKE - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(5,IPROC) = NADVXTKE - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(5,IPROC) = NADVYTKE - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(5,IPROC) = NADVZTKE - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(5,IPROC) = NFRCTKE - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(5,IPROC) = NDIFTKE - IPROC=IPROC+1 - IF ( OHORELAX_TKE ) THEN - IPROACTV(5,IPROC) = NRELTKE - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(5,IPROC) = 4 - ELSE - IPROACTV(5,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(5,IPROC) = NDRAGTKE - IPROC=IPROC+1 - IPROACTV(5,IPROC) = NDPTKE - IPROC=IPROC+1 - IPROACTV(5,IPROC) = NTPTKE - IPROC=IPROC+1 - IPROACTV(5,IPROC) = NDISSTKE - IPROC=IPROC+1 - IPROACTV(5,IPROC) = NTRTKE -! - YWORK2(5,1) = 'INIF_' - YWORK2(5,2) = 'ENDF_' - YWORK2(5,3) = 'AVEF_' - IPROC=4 - YWORK2(5,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DRAG_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DP_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'TP_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DISS_' - IPROC=IPROC+1 - YWORK2(5,IPROC) = 'TR_' -! - YEND_COMMENT(5) = 'BU_RTKE' - NBUPROCNBR(5) = 3 -! - CBUACTION(5,1) = 'IG' - CBUACTION(5,2) = 'CC' - CBUACTION(5,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(5,JJ) = ADJUSTL( ADJUSTR( YWORK2(5,JJ) ) // & - ADJUSTL( YEND_COMMENT(5) ) ) - END DO -! -END IF -! -! Budget of RRV -IF (LBU_RRV) THEN - IPROC=4 - IPROACTV(6,IPROC) = NASSERV - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(6,IPROC) = NNESTRV - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(6,IPROC) = NADVRV - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(6,IPROC) = NADVXRV - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(6,IPROC) = NADVYRV - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(6,IPROC) = NADVZRV - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(6,IPROC) = NFRCRV - IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(6,IPROC) = NNUDRV - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(6,IPROC) = NDIFRV - IPROC=IPROC+1 - IF ( OHORELAX_RV .OR. OVE_RELAX ) THEN - IPROACTV(6,IPROC) = NRELRV - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(6,IPROC) = 4 - ELSE - IPROACTV(6,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(6,IPROC) = NDCONVRV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(6,IPROC) = NVTURBRV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(6,IPROC) = NHTURBRV - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(6,IPROC) = 4 - ELSE - IPROACTV(6,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(6,IPROC) = NMAFLRV - IPROC=IPROC+1 - IF ( HCLOUD /= 'NONE' ) IPROACTV(6,IPROC) = NNEGARV - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'ICE') & - IPROACTV(6,IPROC) = NHENURV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(6,IPROC) = NDEPSRV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(6,IPROC) = NDEPGRV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' .OR. ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. & - ((HCLOUD(1:3) == 'ICE') .AND. LWARM)) IPROACTV(6,IPROC) = NREVARV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE' .OR. & - HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) IPROACTV(6,IPROC) = NCONDRV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(6,IPROC) = NCDEPIRV - IPROC=IPROC+1 -! - YWORK2(6,1) = 'INIF_' - YWORK2(6,2) = 'ENDF_' - YWORK2(6,3) = 'AVEF_' - IPROC=4 - YWORK2(6,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'COND_' - IPROC=IPROC+1 - YWORK2(6,IPROC) = 'CDEPI_' -! - YEND_COMMENT(6) = 'BU_RRV' - NBUPROCNBR(6) = 3 -! - CBUACTION(6,1) = 'IG' - CBUACTION(6,2) = 'CC' - CBUACTION(6,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(6,JJ) = ADJUSTL( ADJUSTR( YWORK2(6,JJ) ) // & - ADJUSTL( YEND_COMMENT(6) ) ) - END DO -! -END IF -! -! Budget of RRC -IF (LBU_RRC) THEN - IPROC=4 - IPROACTV(7,IPROC) = NASSERC - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(7,IPROC) = NNESTRC - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(7,IPROC) = NADVRC - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(7,IPROC) = NADVXRC - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(7,IPROC) = NADVYRC - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(7,IPROC) = NADVZRC - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(7,IPROC) = NFRCRC - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(7,IPROC) = NDIFRC - IPROC=IPROC+1 - IF ( OHORELAX_RC ) THEN - IPROACTV(7,IPROC) = NRELRC - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(7,IPROC) = 4 - ELSE - IPROACTV(7,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(7,IPROC) = NDCONVRC - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(7,IPROC) = NVTURBRC - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(7,IPROC) = NHTURBRC - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(7,IPROC) = 4 - ELSE - IPROACTV(7,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(7,IPROC) = NNEGARC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(7,IPROC ) = NACCRRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(7,IPROC) = NAUTORC - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') IPROACTV(7,IPROC) = NHENURC - IPROC=IPROC+1 -! - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NHONRC - IPROC=IPROC+1 - IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(7,IPROC) = NAUTORC - IPROC=IPROC+1 - !modif - IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(7,IPROC) = NACCRRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NRIMRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NWETGRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NDRYGRC - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(7,IPROC) = NWETHRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(7,IPROC) = NIMLTRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NBERFIRC - IPROC=IPROC+1 - IF (((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO').AND. LSEDC) .OR. & - (HCLOUD(1:3) == 'ICE' .AND. LSEDIC)) IPROACTV(7,IPROC) = NSEDIRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NCDEPIRC - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO' .OR. & - HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE') IPROACTV(7,IPROC) = NCONDRC - IPROC=IPROC+1 -! - YWORK2(7,1) = 'INIF_' - YWORK2(7,2) = 'ENDF_' - YWORK2(7,3) = 'AVEF_' - IPROC=4 - YWORK2(7,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HON_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CDEPI_' - IPROC=IPROC+1 - YWORK2(7,IPROC) = 'COND_' -! - YEND_COMMENT(7) = 'BU_RRC' - NBUPROCNBR(7) = 3 -! - CBUACTION(7,1) = 'IG' - CBUACTION(7,2) = 'CC' - CBUACTION(7,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(7,JJ) = ADJUSTL( ADJUSTR( YWORK2(7,JJ) ) // & - ADJUSTL( YEND_COMMENT(7) ) ) - END DO -! -END IF -! -! Budget of RRR -IF (LBU_RRR) THEN - IPROC=4 - IPROACTV(8,IPROC) = NASSERR - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(8,IPROC) = NNESTRR - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(8,IPROC) = NADVRR - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(8,IPROC) = NADVXRR - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(8,IPROC) = NADVYRR - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(8,IPROC) = NADVZRR - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(8,IPROC) = NFRCRR - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(8,IPROC) = NDIFRR - IPROC=IPROC+1 - IF ( OHORELAX_RR ) THEN - IPROACTV(8,IPROC) = NRELRR - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(8,IPROC) = 4 - ELSE - IPROACTV(8,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HCLOUD /= 'NONE' ) IPROACTV(8,IPROC) = NNEGARR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NSEDIRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NACCRRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NAUTORR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NREVARR - IPROC=IPROC+1 -! - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NSFRRR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NAUTORR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NACCRRR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NREVARR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NACCRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NCFRZRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NWETGRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NDRYGRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NGMLTRR - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(8,IPROC) = NWETHRR - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(8,IPROC) = NHMLTRR - IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NAUTORR - IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NACCRRR - IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NREVARR - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'ICE') & - IPROACTV(8,IPROC) = NSEDIRR - IPROC=IPROC+1 -! - YWORK2(8,1) = 'INIF_' - YWORK2(8,2) = 'ENDF_' - YWORK2(8,3) = 'AVEF_' - IPROC=4 - YWORK2(8,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SFR_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SEDI_' -! - YEND_COMMENT(8) = 'BU_RRR' - NBUPROCNBR(8) = 3 -! - CBUACTION(8,1) = 'IG' - CBUACTION(8,2) = 'CC' - CBUACTION(8,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(8,JJ) = ADJUSTL( ADJUSTR( YWORK2(8,JJ) ) // & - ADJUSTL( YEND_COMMENT(8) ) ) - END DO -! -END IF -! -! Budget of RRI -IF (LBU_RRI) THEN - IPROC=4 - IPROACTV(9,IPROC) = NASSERI - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(9,IPROC) = NNESTRI - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(9,IPROC) = NADVRI - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(9,IPROC) = NADVXRI - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(9,IPROC) = NADVYRI - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(9,IPROC) = NADVZRI - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(9,IPROC) = NFRCRI - IPROC=IPROC+1 - IF( ONUMDIFTH ) IPROACTV(9,IPROC) = NDIFRI - IPROC=IPROC+1 - IF ( OHORELAX_RI ) THEN - IPROACTV(9,IPROC) = NRELRI - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(9,IPROC) = 4 - ELSE - IPROACTV(9,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(9,IPROC) = NDCONVRI - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(9,IPROC) = NVTURBRI - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(9,IPROC) = NHTURBRI - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(9,IPROC) = 4 - ELSE - IPROACTV(9,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(9,IPROC) = NNEGARI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NHENURI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NHONRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NAGGSRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NAUTSRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NCFRZRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NWETGRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NDRYGRI - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(9,IPROC) = NWETHRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NIMLTRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NBERFIRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NSEDIRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NCDEPIRI - IPROC=IPROC+1 -! - YWORK2(9,1) = 'INIF_' - YWORK2(9,2) = 'ENDF_' - YWORK2(9,3) = 'AVEF_' - IPROC=4 - YWORK2(9,IPROC) = 'ASSE_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'NEST_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'ADV_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'ADVX_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'ADVY_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'ADVZ_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'FRC_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DIF_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(9,IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(9,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(9,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(9,IPROC) = 'NEGA_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HENU_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HON_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'AUTS_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CFRZ_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETH_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'IMLT_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'BERFI_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CDEPI_' -! - YEND_COMMENT(9) = 'BU_RRI' - NBUPROCNBR(9) = 3 -! - CBUACTION(9,1) = 'IG' - CBUACTION(9,2) = 'CC' - CBUACTION(9,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(9,JJ) = ADJUSTL( ADJUSTR( YWORK2(9,JJ) ) // & - ADJUSTL( YEND_COMMENT(9) ) ) - END DO -! -END IF -! -! Budget of RRS -IF (LBU_RRS) THEN - IPROC=4 - IPROACTV(10,IPROC) = NASSERS - IPROC= IPROC+1 - IF( NMODEL>1 ) IPROACTV(10,IPROC) = NNESTRS - IPROC= IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(10,IPROC) = NADVRS - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(10,IPROC) = NADVXRS - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(10,IPROC) = NADVYRS - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(10,IPROC) = NADVZRS - IPROC= IPROC+1 - IF( LFORCING ) IPROACTV(10,IPROC) = NFRCRS - IPROC= IPROC+1 - IF( ONUMDIFTH ) IPROACTV(10,IPROC) = NDIFRS - IPROC=IPROC+1 - IF ( OHORELAX_RS ) THEN - IPROACTV(10,IPROC) = NRELRS - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(10,IPROC) = 4 - ELSE - IPROACTV(10,IPROC) = 3 - END IF - END IF - IPROC= IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(10,IPROC) = NNEGARS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NDEPSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NAGGSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NAUTSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NRIMRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NACCRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NCMELRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NWETGRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NDRYGRS - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(10,IPROC) = NWETHRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NSEDIRS - IPROC=IPROC+1 -! - YWORK2(10,1) = 'INIF_' - YWORK2(10,2) = 'ENDF_' - YWORK2(10,3) = 'AVEF_' - IPROC= 4 - YWORK2(10,IPROC) = 'ASSE_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'NEST_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ADV_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ADVX_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ADVY_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ADVZ_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'FRC_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DIF_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(10,IPROC) = 'NEGA_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DEPS_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'AUTS_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'RIM_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ACC_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'CMEL_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(10,IPROC) = 'SEDI_' -! - YEND_COMMENT(10) = 'BU_RRS' - NBUPROCNBR(10) = 3 -! - CBUACTION(10,1) = 'IG' - CBUACTION(10,2) = 'CC' - CBUACTION(10,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(10,JJ) = ADJUSTL( ADJUSTR( YWORK2(10,JJ) ) // & - ADJUSTL( YEND_COMMENT(10) ) ) - END DO -! -END IF -! -! Budget of RRG -IF (LBU_RRG) THEN - IPROC=4 - IPROACTV(11,IPROC) = NASSERG - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(11,IPROC) = NNESTRG - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(11,IPROC) = NADVRG - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(11,IPROC) = NADVXRG - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(11,IPROC) = NADVYRG - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(11,IPROC) = NADVZRG - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(11,IPROC) = NFRCRG - IPROC=IPROC+1 - IF( ONUMDIFTH ) IPROACTV(11,IPROC) = NDIFRG - IPROC=IPROC+1 - IF ( OHORELAX_RG ) THEN - IPROACTV(11,IPROC) = NRELRG - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(11,IPROC) = 4 - ELSE - IPROACTV(11,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(11,IPROC) = NNEGARG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NSFRRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NDEPGRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NRIMRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NACCRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NCMELRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NCFRZRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NWETGRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NDRYGRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NGMLTRG - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(11,IPROC) = NWETHRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE')IPROACTV(11,IPROC) = NSEDIRG - IPROC=IPROC+1 -! - YWORK2(11,1) = 'INIF_' - YWORK2(11,2) = 'ENDF_' - YWORK2(11,3) = 'AVEF_' - IPROC=4 - YWORK2(11,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(11,IPROC)= 'SFR_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CMEL_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(11,IPROC)= 'SEDI_' -! - YEND_COMMENT(11) = 'BU_RRG' - NBUPROCNBR(11) = 3 -! - CBUACTION(11,1) = 'IG' - CBUACTION(11,2) = 'CC' - CBUACTION(11,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(11,JJ) = ADJUSTL( ADJUSTR( YWORK2(11,JJ) ) // & - ADJUSTL( YEND_COMMENT(11) ) ) - END DO -! -END IF -! -! Budget of RRH -IF (LBU_RRH) THEN - IPROC=4 - IPROACTV(12,IPROC) = NASSERH - IPROC=IPROC+1 - IF( NMODEL>1 ) THEN - IPROACTV(12,IPROC) = NNESTRH - ELSE - IPROACTV(12,IPROC) = 3 - END IF - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(12,IPROC) = NADVRH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12,IPROC) = NADVXRH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12,IPROC) = NADVYRH - IPROC=IPROC+1 - IF ( HMET_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12,IPROC) = NADVZRH - IPROC=IPROC+1 - IF( LFORCING ) THEN - IPROACTV(12,IPROC) = NFRCRH - ELSE - IPROACTV(12,IPROC) = 3 - END IF - IPROC=IPROC+1 - IF( ONUMDIFTH ) THEN - IPROACTV(12,IPROC) = NDIFRH - ELSE - IPROACTV(12,IPROC) = 3 - END IF - IPROC=IPROC+1 - IF ( OHORELAX_RH ) THEN - IPROACTV(12,IPROC) = NRELRH - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(12,IPROC) = 4 - ELSE - IPROACTV(12,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) THEN - IPROACTV(12,IPROC) = NNEGARH - ELSE - IPROACTV(12,IPROC) = 3 - END IF - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(12,IPROC) = NWETGRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(12,IPROC) = NWETHRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(12,IPROC) = NHMLTRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(12,IPROC) = NSEDIRH -! - YWORK2(12,1) = 'INIF_' - YWORK2(12,2) = 'ENDF_' - YWORK2(12,3) = 'AVEF_' - IPROC=4 - YWORK2(12,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'NEGA_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(12,IPROC) = 'SEDI_' -! - YEND_COMMENT(12) = 'BU_RRH' - NBUPROCNBR(12) = 3 -! - CBUACTION(12,1) = 'IG' - CBUACTION(12,2) = 'CC' - CBUACTION(12,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(12,JJ) = ADJUSTL( ADJUSTR( YWORK2(12,JJ) ) // & - ADJUSTL( YEND_COMMENT(12) ) ) - END DO -! - -END IF -! -! Budget of RSV -IF (LBU_RSV) THEN - IBUPROCNBR_SV_MAX = 0 ! initialize the Max nunmber of processes for the SVs - DO JSV = 1,KSV - IPROC=4 - IPROACTV(12+JSV,IPROC) = NASSESV - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(12+JSV,IPROC) = NNESTSV - IPROC=IPROC+1 - IF ( HSV_ADV_SCHEME(1:3) == 'PPM' ) & - IPROACTV(12+JSV,IPROC) = NADVSV - IPROC=IPROC+1 - IF ( HSV_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12+JSV,IPROC) = NADVXSV - IPROC=IPROC+1 - IF ( HSV_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12+JSV,IPROC) = NADVYSV - IPROC=IPROC+1 - IF ( HSV_ADV_SCHEME(1:3) /= 'PPM' ) & - IPROACTV(12+JSV,IPROC) = NADVZSV - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(12+JSV,IPROC) = NFRCSV - IPROC=IPROC+1 - IF ( ONUMDIFSV ) IPROACTV(12+JSV,IPROC) = NDIFSV - IPROC=IPROC+1 - IF ( OHORELAX_SV(JSV) ) THEN - IPROACTV(12+JSV,IPROC) = NRELSV - ELSE - IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & - OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & - OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(12+JSV,IPROC) = 4 - ELSE - IPROACTV(12+JSV,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( (HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') .AND. OCHTRANS ) & - IPROACTV(12+JSV,IPROC) = NDCONVSV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(12+JSV,IPROC) = NVTURBSV - IPROC=IPROC+1 - IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(12+JSV,IPROC) = NHTURBSV - ELSE - IF ( HTURB /= 'NONE' ) THEN - IPROACTV(12+JSV,IPROC) = 4 - ELSE - IPROACTV(12+JSV,IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,IPROC)= NMAFLSV - IPROC=IPROC+1 -! - YWORK2(12+JSV,1) = 'INIF_' - YWORK2(12+JSV,2) = 'ENDF_' - YWORK2(12+JSV,3) = 'AVEF_' - IPROC=4 - YWORK2(12+JSV,IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'ADVX_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'ADVY_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'ADVZ_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'MAFL_' -! -! complete with the budget of other processes -! - ILAST_PROC_NBR = IPROC - CALL BUDGET_OTHERPROC_SV -! - YEND_COMMENT(12+JSV) = 'BU_RSV' - IBUPROCNBR_SV_MAX = MAX( IBUPROCNBR_SV_MAX, ILAST_PROC_NBR ) - NBUPROCNBR(12+JSV) = 3 -! - CBUACTION(12+JSV,1) = 'IG' - CBUACTION(12+JSV,2) = 'CC' - CBUACTION(12+JSV,3) = 'ES' -! - DO JJ=1,3 - CBUCOMMENT(12+JSV,JJ) = ADJUSTL( ADJUSTR( YWORK2(12+JSV,JJ) ) // & - ADJUSTL( YEND_COMMENT(12+JSV) ) ) - END DO - END DO -! -END IF - -!------------------------------------------------------------------------------- -!* 4. COMPUTE THE INCREMENT BETWEEN TWO ACTIVE SOURCES -! ------------------------------------------------ -! -NBUINC(:,:) = 1 -DO JI = 1, JPBUMAX - DO JJ = 4, JPBUPROMAX-1 - DO JK = JJ+1,JPBUPROMAX - IF ( IPROACTV(JI,JK) /= 3 ) EXIT - NBUINC(JI,JJ) = NBUINC(JI,JJ) +1 - END DO - END DO -END DO -! -!------------------------------------------------------------------------------- -!* 5. COMPUTE PROCESSES ACTIONS AND NAMES OF BUDGET OUTPUT ARRAYS -! ----------------------------------------------------------- -! -DO JI=1,JPBUMAX ! loop on the allowed budgets - ! names of recording files for: - CBURECORD(JI,1) = ADJUSTL( CBUCOMMENT(JI,1) ) ! initial guess - CBURECORD(JI,2) = ADJUSTL( CBUCOMMENT(JI,2) ) ! source cumul - CBURECORD(JI,3) = ADJUSTL( CBUCOMMENT(JI,3) ) ! end step -! - IF (IPROACTV(JI,4) >= 2) THEN - WRITE(UNIT=KLUOUT,FMT= '("Error in budget specification of ",A7,/," & - & The first source either is the first element of a group of sources or & - & is not considered")') YEND_COMMENT(JI) - WRITE(UNIT=KLUOUT,FMT= '("change this namelist element ")') - GERROR = .TRUE. - END IF -! - DO JJ=4,JPBUPROMAX ! loop on the allowed processes - IF (IPROACTV(JI,JJ) == 0) THEN - IF(IPROACTV(JI,JJ+NBUINC(JI,JJ)) == 0) THEN - CBUACTION(JI,JJ)='OF' - ELSE IF (IPROACTV(JI,JJ+NBUINC(JI,JJ)) == 1) THEN - CBUACTION(JI,JJ)='CC' - ELSE IF (IPROACTV(JI,JJ+NBUINC(JI,JJ)) == 2) THEN - WRITE(UNIT=KLUOUT,FMT= '("Error in budget specification of ",A15)') & - ADJUSTL( ADJUSTR(YWORK2(JI,JJ+NBUINC(JI,JJ)))//ADJUSTL(YEND_COMMENT(JI))) - WRITE(UNIT=KLUOUT,FMT= '("change this namelist ")') - GERROR = .TRUE. - END IF - ELSE IF (IPROACTV(JI,JJ) <= 2) THEN - DO JJJ = JJ+NBUINC(JI,JJ), JPBUPROMAX - IF(IPROACTV(JI,JJJ) /= 3 .AND. IPROACTV(JI,JJJ) /= 4) EXIT - END DO -! - IF (IPROACTV(JI,JJJ) == 1) THEN - NBUPROCNBR(JI) = NBUPROCNBR(JI)+1 - CBUACTION(JI,JJ) = 'DC' - CBUCOMMENT(JI,NBUPROCNBR(JI)) = ADJUSTL( & - ADJUSTR( CBUCOMMENT(JI,NBUPROCNBR(JI)) ) // & - ADJUSTL( ADJUSTR( YWORK2(JI,JJ) ) // & - ADJUSTL( YEND_COMMENT(JI) ) ) ) - ITEN=INT(NBUPROCNBR(JI)/10) - CBURECORD(JI,NBUPROCNBR(JI)) = 'S' // CHAR( ITEN + 48 ) & - // CHAR( 48+ MODULO( NBUPROCNBR(JI),10*MAX(1,ITEN) ) ) & - // '_' // ADJUSTL( YEND_COMMENT(JI) ) - ELSE IF (IPROACTV(JI,JJJ) == 0) THEN - NBUPROCNBR(JI) = NBUPROCNBR(JI)+1 - CBUACTION(JI,JJ) = 'DD' - CBUCOMMENT(JI,NBUPROCNBR(JI)) = ADJUSTL( & - ADJUSTR( CBUCOMMENT(JI,NBUPROCNBR(JI)) ) // & - ADJUSTL( ADJUSTR( YWORK2(JI,JJ) ) // & - ADJUSTL( YEND_COMMENT(JI) ) ) ) - ITEN=INT(NBUPROCNBR(JI)/10) - CBURECORD(JI,NBUPROCNBR(JI)) = 'S' // CHAR( ITEN + 48 ) & - // CHAR( 48+ MODULO( NBUPROCNBR(JI),10*MAX(1,ITEN) ) ) & - // '_' // ADJUSTL( YEND_COMMENT(JI) ) - ELSE IF (IPROACTV(JI,JJJ) == 2) THEN - CBUACTION(JI,JJ) = 'NO' - CBUCOMMENT(JI,NBUPROCNBR(JI)+1) = ADJUSTL( & - ADJUSTR( CBUCOMMENT(JI,NBUPROCNBR(JI)+1)) // & - ADJUSTL( YWORK2(JI,JJ) ) ) - END IF - ELSEIF (IPROACTV(JI,JJ) == 3) THEN - CBUACTION(JI,JJ) = 'RM' - ELSEIF (IPROACTV(JI,JJ) == 4) THEN - CBUACTION(JI,JJ) = 'OF' - ELSE - WRITE(UNIT=KLUOUT,FMT= '("Error in budget specification of ",A7)') & - YEND_COMMENT(JI) - WRITE(UNIT=KLUOUT,FMT= '("change this namelist ")') - GERROR = .TRUE. - END IF - END DO -END DO -! writes on output the explicit chain of sources for all the budgets -DO JI=1,JPBUMAX ! loop over the allowed budgets - YSTRING = ADJUSTL( YEND_COMMENT(JI) ) - ILEN = LEN_TRIM(YSTRING) - IF( ILEN /= 0 ) THEN - IF( JI <= 12 ) THEN - WRITE (UNIT=KLUOUT,FMT='(/,"budget ",A7," with ",I2," vectors")') & - YSTRING(1:ILEN),NBUPROCNBR(JI) - DO JJ=1,3 - YSTRING = CBUCOMMENT(JI,JJ) - ILEN = LEN_TRIM(YSTRING) - WRITE (UNIT=KLUOUT,FMT='(12X,A40)') YSTRING(1:ILEN) - END DO - DO JJ=4,NBUPROCNBR(JI) ! loop over the allowed processes - YSTRING = CBUCOMMENT(JI,JJ) - ILEN = LEN_TRIM(YSTRING) - WRITE (UNIT=KLUOUT,FMT='(20X,A40)') YSTRING(1:ILEN) - END DO - ELSE - WRITE (UNIT=KLUOUT, & - FMT='(/,"budget ",A7," (number ",I3,") with ",I2," vectors")') & - YSTRING(1:ILEN),JI-12,NBUPROCNBR(JI) - DO JJ=1,3 - YSTRING = CBUCOMMENT(JI,JJ) - ILEN = LEN_TRIM(YSTRING) - WRITE (UNIT=KLUOUT,FMT='(12X,A40)') YSTRING(1:ILEN) - END DO - DO JJ=4,NBUPROCNBR(JI) ! loop over the allowed processes - YSTRING = CBUCOMMENT(JI,JJ) - ILEN = LEN_TRIM(YSTRING) - WRITE (UNIT=KLUOUT,FMT='(20X,A40)') YSTRING(1:ILEN) - END DO - END IF - END IF -END DO -! -IF (CBUTYPE=='CART') THEN - WRITE(UNIT=KLUOUT, FMT= '(2/,"DESCRIPTION OF THE BUDGET BOX")' ) - WRITE(UNIT=KLUOUT, FMT= '("BUIL = ",I4.4)' ) NBUIL - WRITE(UNIT=KLUOUT, FMT= '("BUIH = ",I4.4)' ) NBUIH - WRITE(UNIT=KLUOUT, FMT= '("BUJL = ",I4.4)' ) NBUJL - WRITE(UNIT=KLUOUT, FMT= '("BUJH = ",I4.4)' ) NBUJH - WRITE(UNIT=KLUOUT, FMT= '("BUKL = ",I4.4)' ) NBUKL - WRITE(UNIT=KLUOUT, FMT= '("BUKH = ",I4.4)' ) NBUKH - WRITE(UNIT=KLUOUT, FMT= '("BUIMAX = ",I4.4)' ) NBUIMAX - WRITE(UNIT=KLUOUT, FMT= '("BUJMAX = ",I4.4)' ) NBUJMAX - WRITE(UNIT=KLUOUT, FMT= '("BUKMAX = ",I4.4)' ) NBUKMAX -END IF -IF (CBUTYPE=='MASK') THEN - WRITE(UNIT=KLUOUT, FMT= '(2/,"DESCRIPTION OF THE BUDGET MASK")' ) - WRITE(UNIT=KLUOUT, FMT= '("BUIL = ",I4.4)' ) NBUIL - WRITE(UNIT=KLUOUT, FMT= '("BUIH = ",I4.4)' ) NBUIH - WRITE(UNIT=KLUOUT, FMT= '("BUJL = ",I4.4)' ) NBUJL - WRITE(UNIT=KLUOUT, FMT= '("BUJH = ",I4.4)' ) NBUJH - WRITE(UNIT=KLUOUT, FMT= '("BUKL = ",I4.4)' ) NBUKL - WRITE(UNIT=KLUOUT, FMT= '("BUKH = ",I4.4)' ) NBUKH - WRITE(UNIT=KLUOUT, FMT= '("BUKMAX = ",I4.4)' ) NBUKMAX - WRITE(UNIT=KLUOUT, FMT= '("BUWRNB = ",I4.4)' ) NBUWRNB - WRITE(UNIT=KLUOUT, FMT= '("BUMASK = ",I4.4)' ) NBUMASK -END IF -IF (GERROR) THEN - !callabortstop - !CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP) - CALL ABORT - STOP -ENDIF -!------------------------------------------------------------------------------- -!* 5. ALLOCATE MEMORY FOR BUDGET STORAGE ARRAYS -! ----------------------------------------- -IF (LBU_RU) THEN - ALLOCATE ( XBURU(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(1)) ) - XBURU(:,:,:,:)=0. - ALLOCATE ( XBURHODJU(IBUDIM1, IBUDIM2, IBUDIM3) ) - XBURHODJU(:,:,:)=0. -END IF -! -IF (LBU_RV) THEN - ALLOCATE ( XBURV(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(2)) ) - XBURV(:,:,:,:)=0. - ALLOCATE ( XBURHODJV(IBUDIM1, IBUDIM2, IBUDIM3) ) - XBURHODJV(:,:,:)=0. -END IF -! -IF (LBU_RW) THEN - ALLOCATE ( XBURW(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(3)) ) - XBURW(:,:,:,:)=0. - ALLOCATE ( XBURHODJW(IBUDIM1, IBUDIM2, IBUDIM3) ) - XBURHODJW(:,:,:)=0. -END IF -! -IF (LBU_RTH .OR. LBU_RTKE .OR. LBU_RRV .OR. LBU_RRC .OR. LBU_RRR .OR. & - LBU_RRI .OR. LBU_RRS .OR. LBU_RRG .OR. LBU_RRH .OR. LBU_RSV ) THEN - ALLOCATE ( XBURHODJ(IBUDIM1, IBUDIM2, IBUDIM3) ) - XBURHODJ(:,:,:)=0. -END IF -! -IF (LBU_RTH) THEN - ALLOCATE ( XBURTH(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(4)) ) - XBURTH(:,:,:,:)=0. -END IF -! -IF (LBU_RTKE) THEN - ALLOCATE ( XBURTKE(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(5)) ) - XBURTKE(:,:,:,:)=0. -END IF -! -IF (LBU_RRV) THEN - ALLOCATE ( XBURRV(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(6)) ) - XBURRV(:,:,:,:)=0. -END IF -! -IF (LBU_RRC) THEN - ALLOCATE ( XBURRC(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(7)) ) - XBURRC(:,:,:,:)=0. -END IF -! -IF (LBU_RRR) THEN - ALLOCATE ( XBURRR(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(8)) ) - XBURRR(:,:,:,:)=0. -END IF -! -IF (LBU_RRI) THEN - ALLOCATE ( XBURRI(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(9)) ) - XBURRI(:,:,:,:)=0. -END IF -! -IF (LBU_RRS) THEN - ALLOCATE ( XBURRS(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(10)) ) - XBURRS(:,:,:,:)=0. -END IF -! -IF (LBU_RRG) THEN - ALLOCATE ( XBURRG(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(11)) ) - XBURRG(:,:,:,:)=0. -END IF -! -IF (LBU_RRH) THEN - ALLOCATE ( XBURRH(IBUDIM1, IBUDIM2, IBUDIM3, NBUPROCNBR(12)) ) - XBURRH(:,:,:,:)=0. -END IF -! -IF (LBU_RSV) THEN - ALLOCATE ( XBURSV(IBUDIM1, IBUDIM2, IBUDIM3, IBUPROCNBR_SV_MAX, KSV) ) - XBURSV(:,:,:,:,:)=0. -END IF -! -IF (LHOOK) CALL DR_HOOK('INI_BUDGET',1,ZHOOK_HANDLE) -CONTAINS -! ############################## - SUBROUTINE BUDGET_OTHERPROC_SV -! ############################## -! -! -USE MODD_NSV, ONLY : NSV_USER, NSV_C2R2BEG, NSV_C2R2END, & - NSV_CHEMBEG, NSV_CHEMEND, & - NSV_ELECBEG, NSV_ELECEND -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INI_BUDGET:BUDGET_OTHERPROC_SV',0,ZHOOK_HANDLE) - IF (JSV <= NSV_USER) THEN - ! NSV_USER Case - SELECT CASE(JSV) - CASE (1) - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC1_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC2_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - CASE (2) - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC3_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC4_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - END SELECT - ! - ELSEIF (JSV >= NSV_C2R2BEG .AND. JSV <= NSV_C2R2END) THEN - ! C2R2 or KHKO Case - SELECT CASE(JSV-NSV_C2R2BEG+1) - CASE (1) ! Concentration of activated nuclei - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - CASE (2) ! Concentration of cloud droplets - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SELF_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - IF (LSEDC) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - CASE (3) ! Concentration of raindrops - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - IF (HCLOUD /= 'KHKO') THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SCBU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'BRKU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - END SELECT - ! - ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN - SELECT CASE(JSV-NSV_ELECBEG+1) - CASE(1) ! volumetric charge of water vapor - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQV - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPGQV - IF (LWARM) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NREVAQV - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQV - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQV - CASE(2) ! volumetric charge of cloud droplets - IF (LWARM) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTOQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCRQC - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NIMLTQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'BERFI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NBERFIQC - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQC - IF (LINDUCTIVE) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IND_' - END IF - IPROACTV(12+JSV,ILAST_PROC_NBR) = NINDQC - IF (LSEDIC) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQC - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQC - CASE(3) ! volumetric charge of rain drops - IF (LWARM) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTOQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCRQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NREVAQR - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'GMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NGMLTQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQR - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQR - CASE(4) ! volumetric charge of ice crystals - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AGGS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAGGSQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTSQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NIMLTQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'BERFI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NBERFIQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NIIS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNIISQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQI - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQI - CASE(5) ! volumetric charge of snow - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AGGS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAGGSQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTSQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CMEL_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCMELQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NIIS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNIISQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQS - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - CASE(6) ! volumetric charge of graupel - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPGQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CMEL_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCMELQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'GMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NGMLTQG - IF (LINDUCTIVE) THEN - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IND_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NINDQG - END IF - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQG - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQG - CASE(7) ! volumetric charge of hail -! add budget for hail volumetric charge - END SELECT -! - ELSEIF (JSV >= NSV_CHEMBEG .AND. JSV <= NSV_CHEMEND) THEN - ! Chemical Case - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CHEM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCHEMSV - - END IF - ! - IF (LHOOK) CALL DR_HOOK('INI_BUDGET:BUDGET_OTHERPROC_SV',1,ZHOOK_HANDLE) - END SUBROUTINE BUDGET_OTHERPROC_SV -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE INI_BUDGET diff --git a/src/arome/aux/modd_budget.F90 b/src/arome/aux/modd_budget.F90 index 1f033601270a4834d15609054afe5c6dd418449a..fa3b40458d5d557daa94f99d65e476fd916d6c89 100644 --- a/src/arome/aux/modd_budget.F90 +++ b/src/arome/aux/modd_budget.F90 @@ -33,11 +33,11 @@ !! V. Masson 27/11/02 add 2way nesting effect !! P. Jabouille 07/07/04 add budget terms for microphysics !! C. Barthe 19/11/09 add budget terms for electricity +!! S. Riette July 2022 simplification for PHYEX !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS ! ------------ -USE MODD_PARAMETERS, ONLY :JPBUMAX, JPBUPROMAX USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH USE YOMMDDH, ONLY : TMDDH @@ -71,592 +71,7 @@ ENDTYPE ! General variables LOGICAL :: LBU_ENABLE=.FALSE. ! -INTEGER, DIMENSION(JPBUMAX,JPBUPROMAX) & ! number of processes to be - :: NBUINC=0 ! avoided for every budget - ! between one active - ! source to the next one -INTEGER, DIMENSION(JPBUMAX) & ! counter for all the processes - :: NBUCTR_ACTV=0 ! activated or not -! -CHARACTER (LEN=4) :: CBUTYPE ! type of desired budget 'CART' - ! (cartesian box) or 'MASK' (budget - ! zone defined by a mask) or 'NONE' - ! (no budget) -INTEGER :: NBUMOD=0 ! model in which budget is - ! calculated -INTEGER, DIMENSION(:), & ! number of processes for each - ALLOCATABLE :: NBUPROCNBR ! budget -! -INTEGER, DIMENSION(:), & ! process counter linked to each - ALLOCATABLE :: NBUPROCCTR ! budget -! -CHARACTER(LEN=2), DIMENSION(:,:), & ! resulting string character of the - ALLOCATABLE :: CBUACTION ! transcription of the budget actions - ! (integer) read in namelists or - ! set by default -CHARACTER (LEN=16), DIMENSION(:,:),& ! names of records on the FM file - ALLOCATABLE :: CBURECORD ! for the budgets -! -CHARACTER (LEN=99), DIMENSION(:,:),& ! name of a process for a budget. It - ALLOCATABLE :: CBUCOMMENT ! will appear in the comment part of - ! the previous record -! -LOGICAL :: LBU_BEG=.FALSE. ! switch for budget beginning -! -REAL :: XBULEN=0. ! length in seconds of the budget - ! temporal average -! -INTEGER :: NBUSTEP=0 ! number of model timesteps required - ! for the budget time average -REAL :: XBUWRI=0. ! period in seconds of - ! budget writing on FM-files -INTEGER :: NBUWRNB=0 ! number of budget periods when storage - ! arrays are written on FM-files -INTEGER :: NBUTSHIFT=0 ! temporal shift for budgets writing -! -INTEGER :: NBUKH=0 ! lowest and highest K indice values -INTEGER :: NBUKL=0 ! lowest and highest K indice values - ! of the budget box -LOGICAL :: LBU_KCP=.FALSE. ! switch for compression in K - ! direction -! -! Variables used by the cartesian box case ('CART') only -! -INTEGER :: NBUIL=0 ! lowest and highest I indice values -INTEGER :: NBUIH=0 ! lowest and highest I indice values - ! of the cartesian box -INTEGER :: NBUJL=0 ! lowest and highest J indice values -INTEGER :: NBUJH=0 ! lowest and highest J indice values - ! of the cartesian box -LOGICAL :: LBU_ICP=.FALSE. ! switch for compression in I - ! direction -LOGICAL :: LBU_JCP=.FALSE. ! switch for comppression in J - ! direction -! -! Variables used by the mask case ('MASK') only -! -INTEGER :: NBUMASK=0 ! number of MASK zones for which - ! budgets are performed -LOGICAL, DIMENSION(:,:,:), & ! define the zone where the MASK - ALLOCATABLE :: LBU_MASK ! is True -! -REAL, DIMENSION(:,:,:,:), & ! surface for each mask at each - ALLOCATABLE :: XBUSURF ! budget step -! -INTEGER :: NBUTIME=0 ! number of budget time periods -! -! Variables for budget storage -! -! General variables -INTEGER :: NBUSIL=0 ! lowest and highest I indices of the intersection -INTEGER :: NBUSIH=0 ! lowest and highest I indices of the intersection - ! of the cartesian box with the sub-domain -INTEGER :: NBUSJL=0 ! lowest and highest J indices of the intersection -INTEGER :: NBUSJH=0 ! lowest and highest J indices of the intersection - ! of the global cartesian box -INTEGER :: NBUIMAX_ll=0 ! second dimension of the budget -INTEGER :: NBUJMAX_ll=0 ! second dimension of the budget - ! array in the global domain (in CART case) -! -INTEGER :: NBUIMAX=0 ! first dimension of the budget - ! tabular -INTEGER :: NBUJMAX=0 ! second dimension of the budget - ! tabular -INTEGER :: NBUKMAX=0 ! dimension along K of the budget - ! tabular -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RU, RV and - ALLOCATABLE :: XBURU, XBURV, XBURW ! RW (wind components) respectively -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RTH (potential - ALLOCATABLE :: XBURTH, XBURTKE ! temperature) and RTKE (kinetic - ! energy) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRV (water vapor) - ALLOCATABLE :: XBURRV, XBURRC ! and RRC (cloud water) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRR (rain water) - ALLOCATABLE :: XBURRR, XBURRI ! and RRI (ice) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRS (snow) - ALLOCATABLE :: XBURRS, XBURRG ! and RRG (graupel) -REAL, DIMENSION(:,:,:,:), & ! budget array for RRH (hail) - ALLOCATABLE :: XBURRH ! -REAL, DIMENSION(:,:,:,:,:), & - ALLOCATABLE :: XBURSV ! Budget of the SVx -REAL, DIMENSION(:,:,:), & ! budget arrays for RHODJ at - ALLOCATABLE :: XBURHODJ , & ! scalar localization - XBURHODJU, & ! U localization - XBURHODJV, & ! V localization - XBURHODJW ! and W localization -! -! Allowed processes for the budget of the x scalar variables -! (transport part only) -! -! For each budget, the switches values (from 0 to JPBUPROMAX) for budgets -! activation may be set by the user in a namelist. Their default value is 0. -! In the following declaration, the corresponding process names are given -! beside as comments. -! -! Allowed processes for the budget of RU (wind component along x) -! -! Courant namelist: NAM_BURU -! -LOGICAL :: LBU_RU=.FALSE. ! True when the budget of RU is performed -! -INTEGER :: NASSEU=0 ! time filter -INTEGER :: NNESTU=0 ! Efffect of 2way nesting on U -INTEGER :: NADVXU=0 ! advection along X -INTEGER :: NADVYU=0 ! advection along Y -INTEGER :: NADVZU=0 ! advection along Z -INTEGER :: NFRCU=0 ! forcing -INTEGER :: NNUDU=0 ! nudging -INTEGER :: NCURVU=0 ! curvature -INTEGER :: NCORU=0 ! Coriolis terms -INTEGER :: NDIFU=0 ! numerical diffusion -INTEGER :: NRELU=0 ! relaxation -INTEGER :: NHTURBU=0 ! horizontal TURBulence -INTEGER :: NVTURBU=0 ! vertical turbulence -INTEGER :: NDRAGU=0 ! vegetation drag -INTEGER :: NMAFLU=0 ! mass flux -INTEGER :: NPRESU=0 ! pressure term -! -! Allowed processes for the budget of RV (wind component along y) -! -! Courant namelist: NAM_BURV -! -LOGICAL :: LBU_RV=.FALSE. ! True when the budget of RV is performed -! -INTEGER :: NASSEV=0 ! time filter -INTEGER :: NNESTV=0 ! Efffect of 2way nesting on V -INTEGER :: NADVXV=0 ! advection along X -INTEGER :: NADVYV=0 ! advection along Y -INTEGER :: NADVZV=0 ! advection along Z -INTEGER :: NFRCV=0 ! forcing -INTEGER :: NNUDV=0 ! nudging -INTEGER :: NCURVV=0 ! curvature -INTEGER :: NCORV=0 ! Coriolis terms -INTEGER :: NDIFV=0 ! numerical diffusion -INTEGER :: NRELV=0 ! relaxation -INTEGER :: NHTURBV=0 ! horizontal turbulence -INTEGER :: NVTURBV=0 ! vertical turbulence -INTEGER :: NDRAGV=0 ! vegetation drag -INTEGER :: NMAFLV=0 ! mass flux -INTEGER :: NPRESV=0 ! pressure term -! -! Allowed processes for the budget of RW (wind vertical component) -! -! Courant namelist: NAM_BURW -! -LOGICAL :: LBU_RW=.FALSE. ! True when the budget of RW is performed -! -INTEGER :: NASSEW=0 ! time filter -INTEGER :: NNESTW=0 ! Efffect of 2way nesting on W -INTEGER :: NADVXW=0 ! advection along X -INTEGER :: NADVYW=0 ! advection along Y -INTEGER :: NADVZW=0 ! advection along Z -INTEGER :: NFRCW=0 ! forcing -INTEGER :: NNUDW=0 ! nudging -INTEGER :: NCURVW=0 ! curvature -INTEGER :: NCORW=0 ! Coriolis terms -INTEGER :: NGRAVW=0 ! gravity term -INTEGER :: NDIFW=0 ! numerical diffusion -INTEGER :: NRELW=0 ! relaxation -INTEGER :: NHTURBW=0 ! horizontal turbulence -INTEGER :: NVTURBW=0 ! vertical turbulence -INTEGER :: NPRESW=0 ! pressure term -! -! Allowed processes for the budget of RTH (potential temperature) -! -! Courant namelist: NAM_BURTH -! -LOGICAL :: LBU_RTH=.FALSE. ! True when the budget of RTH is performed -! -INTEGER :: NASSETH=0 ! time filter -INTEGER :: NNESTTH=0 ! Efffect of 2way nesting on Th -INTEGER :: NADVTH=0 ! Total advection for PPM -INTEGER :: NADVXTH=0 ! advection along X (all except PPM) -INTEGER :: NADVYTH=0 ! advection along Y (all except PPM) -INTEGER :: NADVZTH=0 ! advection along Z (all except PPM) -INTEGER :: NFRCTH=0 ! forcing -INTEGER :: N2DADVTH=0 ! 2d advecting forcing -INTEGER :: N2DRELTH=0 ! 2d relaxation forcing -INTEGER :: NNUDTH=0 ! nudging -INTEGER :: NPREFTH=0 ! theta source term due to the reference pressure - ! (Dyn. Sources) only present if KRR>0 -INTEGER :: NDIFTH=0 ! numerical diffusion -INTEGER :: NRELTH=0 ! relaxation -INTEGER :: NRADTH=0 ! RADiation -INTEGER :: NDCONVTH=0 ! KAFR CONVection -INTEGER :: NMAFLTH=0 ! Mass flux -INTEGER :: NHTURBTH=0 ! horizontal turbulence -INTEGER :: NVTURBTH=0 ! vertical turbulence -INTEGER :: NDISSHTH=0 ! dissipative heating -INTEGER :: NNEGATH=0 ! negative correction induced by hydrometeors -INTEGER :: NREVATH=0 ! rain evaporation -INTEGER :: NCONDTH=0 ! evaporation/condensation -INTEGER :: NHENUTH=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NHONTH=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NSFRTH=0 ! Spontaneous FReezing ICE3 -INTEGER :: NDEPSTH=0 ! DEPosition on Snow ICE3 -INTEGER :: NDEPGTH=0 ! DEPosition on Graupel ICE3 -INTEGER :: NRIMTH=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCTH=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCFRZTH=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGTH=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGTH=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTTH=0 ! Graupel MeLTing ICE3 -INTEGER :: NIMLTTH=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFITH=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPITH=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NWETHTH=0 ! wet growth of hail ICE4 -INTEGER :: NHMLTTH=0 ! melting of hail ICE4 -INTEGER :: NHINDTH=0 ! Heterogeneous Nucleation by Deposition C3R5 -INTEGER :: NHINCTH=0 ! Heterogeneous Nucleation by Contact C3R5 -INTEGER :: NHONHTH=0 ! Haze Homogeneous Nucleation C3R5 -INTEGER :: NHONCTH=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NHONRTH=0 ! drop homogeneous nucleation C3R5 -INTEGER :: NCEDSTH=0 ! adjustment C3R5 -! -! Allowed processes for the budget of RTKE (kinetic energy) -! -! Courant namelist: NAM_BURTKE -! -LOGICAL :: LBU_RTKE=.FALSE. ! True when the budget of RTKE is performed -! -INTEGER :: NASSETKE=0 ! time filter -INTEGER :: NADVTKE=0 ! Total advection for PPM -INTEGER :: NADVXTKE=0 ! advection along X (all except PPM) -INTEGER :: NADVYTKE=0 ! advection along Y (all except PPM) -INTEGER :: NADVZTKE=0 ! advection along Z (all except PPM) -INTEGER :: NFRCTKE=0 ! forcing -INTEGER :: NDIFTKE=0 ! numerical diffusion -INTEGER :: NRELTKE=0 ! relaxation -INTEGER :: NDPTKE=0 ! dynamic production of TKE -INTEGER :: NTPTKE=0 ! thermal production of TKE -INTEGER :: NDRAGTKE=0 ! vegetation drag -INTEGER :: NDISSTKE=0 ! dissipation of TKE -INTEGER :: NTRTKE=0 ! turbulent transport of TKE -! -! -! Allowed processes for the budget of moist variable RRV (water vapor) -! -! Courant namelist: NAM_BURRV -! -LOGICAL :: LBU_RRV=.FALSE. ! true when the budget of RRV is performed -! -INTEGER :: NASSERV=0 ! time filter -INTEGER :: NNESTRV=0 ! Effect of 2way nesting on Rv -INTEGER :: NADVRV=0 ! Total advection for PPM -INTEGER :: NADVXRV=0 ! advection along X (all except PPM) -INTEGER :: NADVYRV=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRV=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRV=0 ! forcing -INTEGER :: N2DADVRV=0 ! 2d advecting forcing -INTEGER :: N2DRELRV=0 ! 2d relaxation forcing -INTEGER :: NNUDRV=0 ! nudging -INTEGER :: NDIFRV=0 ! numerical diffusion -INTEGER :: NRELRV=0 ! relaxation -INTEGER :: NDCONVRV=0 ! KAFR CONVection -INTEGER :: NMAFLRV=0 ! Mass flux -INTEGER :: NHTURBRV=0 ! horizontal turbulence -INTEGER :: NVTURBRV=0 ! vertical turbulence -INTEGER :: NNEGARV=0 ! negative correction -INTEGER :: NREVARV=0 ! rain evaporation -INTEGER :: NCONDRV=0 ! evaporation/condensation -INTEGER :: NHENURV=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NDEPSRV=0 ! DEPosition on Snow ICE3 -INTEGER :: NDEPGRV=0 ! DEPosition on Graupel ICE3 -INTEGER :: NCDEPIRV=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NHINDRV=0 ! Heterogeneous Nucleation by Deposition C3R5 -INTEGER :: NHONHRV=0 ! Haze Homogeneous Nucleation C3R5 -INTEGER :: NCEDSRV=0 ! adjustement C3R5 -! -! Allowed processes for the budget of moist variable RRC (cloud water) -! -! Courant namelist: NAM_BURRC -! -LOGICAL :: LBU_RRC=.FALSE. ! True when the budget of RRC is performed -! -INTEGER :: NASSERC=0 ! time filter -INTEGER :: NNESTRC=0 ! Efffect of 2way nesting on Rc -INTEGER :: NADVRC=0 ! Total advection for PPM -INTEGER :: NADVXRC=0 ! advection along X (all except PPM) -INTEGER :: NADVYRC=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRC=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRC=0 ! forcing -INTEGER :: NDIFRC=0 ! numerical diffusion -INTEGER :: NRELRC=0 ! relaxation -INTEGER :: NDCONVRC=0 ! Deep CONVection -INTEGER :: NHTURBRC=0 ! horizontal turbulence -INTEGER :: NVTURBRC=0 ! vertical turbulence -INTEGER :: NNEGARC=0 ! negative correction -INTEGER :: NACCRRC=0 ! accretion -INTEGER :: NAUTORC=0 ! autoconversion -INTEGER :: NCONDRC=0 ! evaporation/condensation -INTEGER :: NHONRC=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NRIMRC=0 ! RIMing of cloudwater ICE3 -INTEGER :: NWETGRC=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRC=0 ! DRY Growth of graupel ICE3 -INTEGER :: NIMLTRC=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFIRC=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPIRC=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NHENURC=0 ! CCN Activation C2R2 -INTEGER :: NSEDIRC=0 ! sedimentation C2R2 -INTEGER :: NWETHRC=0 ! wet growth of hail -INTEGER :: NHINCRC=0 ! Heterogeneous Nucleation by Contact C3R5 -INTEGER :: NHONCRC=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NCEDSRC=0 ! adjustment C3R5 -INTEGER :: NREVARC=0 ! evaporation of rain drops -INTEGER :: NDEPORC=0 ! ground deposition -INTEGER :: NDEPOTRRC=0 ! deposition on tree -! -! Allowed processes for the budget of moist variable RRR (rain water) -! -! Courant namelist: NAM_BURRR -! -LOGICAL :: LBU_RRR=.FALSE. ! True when the budget of RRR is performed -! -INTEGER :: NASSERR=0 ! time filter -INTEGER :: NNESTRR=0 ! Efffect of 2way nesting on Rr -INTEGER :: NADVRR=0 ! Total advection for PPM -INTEGER :: NADVXRR=0 ! advection along X (all except PPM) -INTEGER :: NADVYRR=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRR=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRR=0 ! forcing -INTEGER :: NDIFRR=0 ! numerical diffusion -INTEGER :: NRELRR=0 ! relaxation -INTEGER :: NNEGARR=0 ! negative correction -INTEGER :: NACCRRR=0 ! accretion -INTEGER :: NAUTORR=0 ! autoconversion -INTEGER :: NREVARR=0 ! rain evaporation -INTEGER :: NSEDIRR=0 ! sedimentation -INTEGER :: NSFRRR=0 ! Spontaneous FReezing ICE3 -INTEGER :: NACCRR=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCFRZRR=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRR=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRR=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTRR=0 ! Graupel MeLTing ICE3 -INTEGER :: NWETHRR=0 ! wet growth of hail ICE4 -INTEGER :: NHMLTRR=0 ! melting of hail ICE4 -INTEGER :: NHONRRR=0 ! drop homogeneous nucleation C3R5 -! -! Allowed processes for the budget of moist variable RRI (ice) -! -! Courant namelist: NAM_BURRI -! -LOGICAL :: LBU_RRI=.FALSE. ! True when the budget of RRI is performed -! -INTEGER :: NASSERI=0 ! time filter -INTEGER :: NNESTRI=0 ! Efffect of 2way nesting on Ri -INTEGER :: NADVRI=0 ! Total advection for PPM -INTEGER :: NADVXRI=0 ! advection along X (all except PPM) -INTEGER :: NADVYRI=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRI=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRI=0 ! forcing -INTEGER :: NDIFRI=0 ! numerical diffusion -INTEGER :: NRELRI=0 ! relaxation -INTEGER :: NDCONVRI=0 ! Deep CONVection -INTEGER :: NHTURBRI=0 ! horizontal turbulence -INTEGER :: NVTURBRI=0 ! vertical turbulence -INTEGER :: NNEGARI=0 ! negative correction -INTEGER :: NSEDIRI=0 ! SEDImentation ICE3 -INTEGER :: NHENURI=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NHONRI=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NAGGSRI=0 ! AGGregation of snow ICE3 -INTEGER :: NAUTSRI=0 ! AUToconversion of ice ICE3 -INTEGER :: NCFRZRI=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRI=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRI=0 ! DRY Growth of graupel ICE3 -INTEGER :: NIMLTRI=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFIRI=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPIRI=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NWETHRI=0 ! wet growth of hail ICE4 -INTEGER :: NHINDRI=0 ! heterogeneous nucleation by deposition C3R5 -INTEGER :: NHINCRI=0 ! heterogeneous nucleation by contact C3R5 -INTEGER :: NHONHRI=0 ! haze homogeneous nucleation source C3R5 -INTEGER :: NHONCRI=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NCNVIRI=0 ! Conversion of snow to r_i C3R5 -INTEGER :: NCNVSRI=0 ! Conversion of pristine ice to r_s C3R5 -INTEGER :: NHMSRI=0 ! Hallett-Mossop ice multiplication process due to snow riming C3R5 -INTEGER :: NHMGRI=0 ! Hallett-Mossop ice multiplication process due to graupel riming C3R5 -INTEGER :: NCEDSRI=0 ! adjustement C3R5 -! -! Allowed processes for the budget of moist variable RRS (snow) -! -! Courant namelist: NAM_BURRS -! -LOGICAL :: LBU_RRS=.FALSE. ! True when the budget of RRS is performed -! -INTEGER :: NASSERS=0 ! time filter -INTEGER :: NNESTRS=0 ! Efffect of 2way nesting on Rs -INTEGER :: NADVRS=0 ! Total advection for PPM -INTEGER :: NADVXRS=0 ! advection along X (all except PPM) -INTEGER :: NADVYRS=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRS=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRS=0 ! forcing -INTEGER :: NDIFRS=0 ! numerical diffusion -INTEGER :: NRELRS=0 ! relaxation -INTEGER :: NNEGARS=0 ! negative correction -INTEGER :: NSEDIRS=0 ! SEDImentation ICE3 -INTEGER :: NDEPSRS=0 ! DEPosition on Snow ICE3 -INTEGER :: NAGGSRS=0 ! AGGregation of snow ICE3 -INTEGER :: NAUTSRS=0 ! AUToconversion of ice ICE3 -INTEGER :: NRIMRS=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCRS=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCMELRS=0 ! Conversion MeLTing ICE3 -INTEGER :: NWETGRS=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRS=0 ! DRY Growth of graupel ICE3 -INTEGER :: NWETHRS=0 ! wet growth of hail ICE4 -INTEGER :: NCNVIRS=0 ! Conversion of snow to r_i C3R5 -INTEGER :: NCNVSRS=0 ! Conversion of pristine ice to r_s C3R5 -INTEGER :: NHMSRS=0 ! Hallett-Mossop ice multiplication process due to snow riming C3R5 -! -! Allowed processes for the budget of moist variable RRG (graupel) -! -! Courant namelist: NAM_BURRG -! -LOGICAL :: LBU_RRG=.FALSE. ! True when the budget of RRG is performed -! -INTEGER :: NASSERG=0 ! time filter -INTEGER :: NNESTRG=0 ! Efffect of 2way nesting on Rg -INTEGER :: NADVRG=0 ! Total advection for PPM -INTEGER :: NADVXRG=0 ! advection along X (all except PPM) -INTEGER :: NADVYRG=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRG=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRG=0 ! forcing -INTEGER :: NDIFRG=0 ! numerical diffusion -INTEGER :: NRELRG=0 ! relaxation -INTEGER :: NNEGARG=0 ! negative correction -INTEGER :: NSEDIRG=0 ! SEDImentation ICE3 -INTEGER :: NSFRRG=0 ! Spontaneous FReezing ICE3 -INTEGER :: NDEPGRG=0 ! DEPosition on Snow ICE3 -INTEGER :: NRIMRG=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCRG=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCMELRG=0 ! Conversion MeLTing ICE3 -INTEGER :: NCFRZRG=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRG=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRG=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTRG=0 ! Graupel MeLTing ICE3 -INTEGER :: NWETHRG=0 ! wet growth of hail ICE4 -INTEGER :: NHONRRG=0 ! drop homogeneous nucleation C3R5 -INTEGER :: NHMGRG=0 ! Hallett-Mossop ice multiplication process due to graupel riming -INTEGER :: NCOHGRG=0 ! conversion of hail to graupel -! -! Allowed processes for the budget of moist variable RRH (hail) -! -! Courant namelist: NAM_BURRH -! -LOGICAL :: LBU_RRH=.FALSE. ! True when the budget of RRH is performed -! -INTEGER :: NASSERH=0 ! time filter -INTEGER :: NNESTRH=0 ! Efffect of 2way nesting on Rh -INTEGER :: NADVRH=0 ! Total advection for PPM -INTEGER :: NADVXRH=0 ! advection along X (all except PPM) -INTEGER :: NADVYRH=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRH=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRH=0 ! forcing -INTEGER :: NDIFRH=0 ! numerical diffusion -INTEGER :: NRELRH=0 ! relaxation -INTEGER :: NNEGARH=0 ! negative correction -INTEGER :: NSEDIRH=0 ! sedimentation -INTEGER :: NWETGRH=0 ! wet growth of graupel -INTEGER :: NWETHRH=0 ! wet growth of hail -INTEGER :: NHMLTRH=0 ! melting -INTEGER :: NCOHGRH=0 ! conversion of hail to graupel -! -! Courant namelist: NAM_BURSV -! -LOGICAL :: LBU_RSV=.FALSE. ! True when the budget of RSVx is performed -! -INTEGER :: NASSESV=0 ! Asselin-Robert time filter -INTEGER :: NNESTSV=0 ! Efffect of 2way nesting on Sv -INTEGER :: NADVSV=0 ! Total advection for PPM -INTEGER :: NADVXSV=0 ! advection along X (all except PPM) -INTEGER :: NADVYSV=0 ! advection along Y (all except PPM) -INTEGER :: NADVZSV=0 ! advection along Z (all except PPM) -INTEGER :: NFRCSV=0 ! forcing -INTEGER :: NDIFSV=0 ! numerical diffusion -INTEGER :: NRELSV=0 ! relaxation -INTEGER :: NDCONVSV=0 ! Deep CONVection -INTEGER :: NMAFLSV=0 ! mass flux -INTEGER :: NHTURBSV=0 ! horizontal turbulence -INTEGER :: NVTURBSV=0 ! vertical turbulence -INTEGER :: NCHEMSV=0 ! chemistry activity -! -INTEGER :: NNEGASV=0 -! -! Allowed processes for the budget of electric charge carried by water vapor -INTEGER :: NDEPSQV=0 -INTEGER :: NDEPGQV=0 -INTEGER :: NREVAQV=0 -INTEGER :: NDEPIQV=0 -INTEGER :: NNEUTQV=0 -! -! Allowed processes for the budget of electric charge carried by cloud droplets -INTEGER :: NAUTOQC=0 -INTEGER :: NACCRQC=0 -INTEGER :: NRIMQC=0 -INTEGER :: NWETGQC=0 -INTEGER :: NDRYGQC=0 -INTEGER :: NIMLTQC=0 -INTEGER :: NBERFIQC=0 -INTEGER :: NDEPIQC=0 -INTEGER :: NINDQC=0 ! inductive process -INTEGER :: NSEDIQC=0 -INTEGER :: NNEUTQC=0 -! -! Allowed processes for the budget of electric charge carried by rain drops -INTEGER :: NAUTOQR=0 -INTEGER :: NACCRQR=0 -INTEGER :: NREVAQR=0 -INTEGER :: NACCQR=0 -INTEGER :: NCFRZQR=0 -INTEGER :: NWETGQR=0 -INTEGER :: NDRYGQR=0 -INTEGER :: NGMLTQR=0 -INTEGER :: NSEDIQR=0 -INTEGER :: NNEUTQR=0 -! -! Allowed processes for the budget of electric charge carried by ice crystals -INTEGER :: NAGGSQI=0 -INTEGER :: NAUTSQI=0 -INTEGER :: NCFRZQI=0 -INTEGER :: NWETGQI=0 -INTEGER :: NDRYGQI=0 -INTEGER :: NIMLTQI=0 -INTEGER :: NBERFIQI=0 -INTEGER :: NDEPIQI=0 -INTEGER :: NNIISQI=0 ! non-inductive I-S -INTEGER :: NSEDIQI=0 -INTEGER :: NNEUTQI=0 -! -! Allowed processes for the budget of electric charge carried by snow -INTEGER :: NDEPSQS=0 -INTEGER :: NAGGSQS=0 -INTEGER :: NAUTSQS=0 -INTEGER :: NRIMQS=0 -INTEGER :: NACCQS=0 -INTEGER :: NCMELQS=0 -INTEGER :: NWETGQS=0 -INTEGER :: NDRYGQS=0 -INTEGER :: NNIISQS=0 ! non-inductive I-S -INTEGER :: NSEDIQS=0 -INTEGER :: NNEUTQS=0 -! -! Allowed processes for the budget of electric charge carried by graupel -INTEGER :: NDEPGQG=0 -INTEGER :: NRIMQG=0 -INTEGER :: NACCQG=0 -INTEGER :: NCMELQG=0 -INTEGER :: NCFRZQG=0 -INTEGER :: NWETGQG=0 -INTEGER :: NDRYGQG=0 -INTEGER :: NGMLTQG=0 -INTEGER :: NINDQG=0 ! inductive process -INTEGER :: NSEDIQG=0 -INTEGER :: NNEUTQG=0 -! -! must add processes for electric charge carried by hail -! -! -REAL :: XTIME_BU=0. ! budget time in this time-step -REAL :: XTIME_BU_PROCESS=0. ! budget time per process for this time-step +INTEGER :: NBUMOD=0 ! model in which budget is calculated ! LOGICAL :: LBUDGET_U=.FALSE. ! flag to compute budget of RhoJu and/or LES budgets with u LOGICAL :: LBUDGET_V=.FALSE. ! flag to compute budget of RhoJv and/or LES budgets with u diff --git a/src/arome/aux/modd_dyn.F90 b/src/arome/aux/modd_dyn.F90 deleted file mode 100644 index ce3750195f78fe7aafd5ee61fcd5a0b1f34c2bb9..0000000000000000000000000000000000000000 --- a/src/arome/aux/modd_dyn.F90 +++ /dev/null @@ -1,71 +0,0 @@ -! ######spl - MODULE MODD_DYN -! ################ -! -!!**** *MODD_DYN* - declaration of dynamic control variables -!! -!! PURPOSE -!! ------- -! The purpose of this declarative module is to declare the dynamic -! control variables for all models. -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_PARAMETERS : contains the maximum number of coupling files -!! -!! REFERENCE -!! --------- -!! Book2 of documentation of Meso-NH (module MODD_DYN) -!! Technical Specifications Report of the Meso-NH (chapters 2 and 3) -!! -!! AUTHOR -!! ------ -!! V. Ducrocq *Meteo France* -!! -!! MODIFICATIONS -!! ------------- -!! Original 06/05/94 -!! Modifications 17/10/94 (Stein) For LCORIO -!! Modifications 12/12/94 (Stein) remove LABSLAYER + add XALZBOT -!! and XALKBOT -!! Modifications 10/03/95 (I.Mallet) add coupling variables -!! 04/05/07 (C.Lac) Separation of num.diffusion -!! between variables -!--------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_PARAMETERS -! -IMPLICIT NONE -! -REAL ,SAVE :: XSEGLEN ! Duration of segment (in seconds) -REAL ,SAVE :: XASSELIN ! Asselin coefficient -REAL ,SAVE :: XASSELIN_SV! Asselin coefficient for tracer variables -LOGICAL,SAVE :: LCORIO ! Coriolis flag -LOGICAL,SAVE :: LNUMDIFU ! logical switch for the NUMerical DIFFusion: - ! .TRUE. active .FALSE. unactive - ! for momentum -LOGICAL,SAVE :: LNUMDIFTH ! For theta and mixing ratio -LOGICAL,SAVE :: LNUMDIFSV ! For scalar variables -LOGICAL,SAVE :: LSTEADYLS ! logical switch to remove all Larger Scale fields - ! evolution during the segment (the LS fields are - ! STEADY).TRUE. LS steady .FALSE. LS unsteady -REAL ,SAVE :: XALKTOP ! Damping coef. at the top of the absorbing - ! layer -REAL ,SAVE :: XALZBOT ! Height of the absorbing layer base -! -INTEGER,SAVE :: NCPL_NBR ! NumBeR of CouPLing files -INTEGER,SAVE :: NCPL_CUR ! Number of CURrent CouPLing file -! -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSERV_G, LUSERC_G, LUSERR_G, LUSERI_G -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSERS_G, LUSERH_G, LUSERG_G -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSETKE -LOGICAL, SAVE, DIMENSION(JPSVMAX,JPMODELMAX) :: LUSESV -REAL, SAVE, DIMENSION(JPCPLFILEMAX,JPMODELMAX) :: NCPL_TIMES ! array of - ! the number for the coupling instants of every nested model -REAL, SAVE :: XTSTEP_MODEL1 ! time step of the - ! outermost model -END MODULE MODD_DYN diff --git a/src/arome/aux/mode_budget.F90 b/src/arome/aux/mode_budget.F90 index bd59b9e97c988d013433b202c9428efdb58382ef..6bf3a341582e26e454ddb44ec6d96a7a5fe977b1 100644 --- a/src/arome/aux/mode_budget.F90 +++ b/src/arome/aux/mode_budget.F90 @@ -1,6 +1,5 @@ MODULE MODE_BUDGET USE MODD_BUDGET, ONLY : TBUDGETDATA -USE MODI_BUDGET_DDH, ONLY: BUDGET_DDH IMPLICIT NONE CONTAINS @@ -49,4 +48,221 @@ USE MODDB_INTBUDGET, ONLY:TVARSM &LDISDIFF=.TRUE.) #endif END SUBROUTINE BUDGET_STORE_ADD + + SUBROUTINE BUDGET_DDH(PVARS,KBUDN,HBUVAR,YDDDH, YDLDDH, YDMDDH, LDISDIFF) + USE PARKIND1, ONLY : JPRB + USE YOMHOOK , ONLY : LHOOK, DR_HOOK +! ##################################### +! +!! BUDGET - routine to call the BUDGET routine for AROME. +!! +!! BEWARE THIS ROUTINE iS DIFFERENT FROM THE MNH ROUTINE BUDGET +!! EVEN IF IT WEARS THE SAME NAME !!! +!! +!! PURPOSE +!! ------- +! This routine is an interface for the add_ddh subroutine. +! It converts the selected field into klev reversed vertical +! levels and attributes to the selected field are created. +! +!!** METHOD +!! ------ +!! +!! 1st step: substract previous step (sequential approach in MNH) +!! 2nd step: reverse levels +!! 3rd step: multiplication by conversion factor for r-> q +!! or Theta-> T +!! +!! 4rd step: call to add_ddh now that the field has an Aladin shape +!! +!! +!! EXTERNAL +!! -------- +!! ADD_FIELD_3D +!! INVERT_VLEV +!! +!! +!! IMPLICIT ARGUMENTS +!! ------------------ +!! Module MODD_INTBUDGET: +!! +!! PVARS_M(nlon,1,nlev,13) !13 different budgets +!! VARMULT(:,:,13) ! allows to convert variables +!! +!! REFERENCE +!! --------- +!! "New data flow for diagnostics in Arome/Arpege" +!! +!! AUTHOR +!! ------ +!! O.Riviere 17/07/08 * Meteo France * +!! +!! +!! MODIFICATIONS +!! ------------- +!! F.Voitus 16/05/17 : Introduction of new DDH superstructure for budget +!! S.Riette Jan 2022 : LDISDIFF case +!! +!------------------------------------------------------------------------------- + +! + +USE MODDB_INTBUDGET,ONLY:TAB_VARMULT,TVARSM,CVARNAME,NLON +USE DDH_MIX, ONLY:NFLEVGDDH,NPROMADDH,ADD_FIELD_3D, & + & TYP_DDH, NEW_ADD_FIELD_3D ! reference is Arpege +USE OML_MOD, ONLY : OML_MY_THREAD +USE YOMLDDH, ONLY : TLDDH +USE YOMMDDH, ONLY : TMDDH + + +IMPLICIT NONE +! +! +!* 0.1 Declarations of arguments : +! +REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARS ! source of the variable +INTEGER , INTENT(IN) :: KBUDN ! variable number + +CHARACTER (LEN=*) , INTENT(IN) :: HBUVAR ! Identifier of the Budget +TYPE(TYP_DDH) , INTENT(INOUT) :: YDDDH +TYPE(TLDDH) , INTENT(IN) :: YDLDDH +TYPE(TMDDH) , INTENT(IN) :: YDMDDH + +LOGICAL, OPTIONAL , INTENT(IN) :: LDISDIFF ! PVARS contains the increment (default is .FALSE.) + +!* 0.2 Declaration of local variables: +REAL,DIMENSION(NPROMADDH,NFLEVGDDH):: ZVARS +LOGICAL :: LINST,LDDH +INTEGER::IINCR,JLON,JLEV,IFDIA,IOFF +CHARACTER (LEN=4) :: CLPROC +CHARACTER (LEN=11) :: CLDDH +LOGICAL :: LISDIFF + +REAL(KIND=JPRB) :: ZHOOK_HANDLE +IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',0,ZHOOK_HANDLE) + +IF (PRESENT(LDISDIFF)) THEN + LISDIFF=LDISDIFF +ELSE + LISDIFF=.FALSE. +ENDIF + +IFDIA=SIZE(PVARS,1) +ZVARS(:,:)=0. +IF (SIZE(PVARS,3)==NFLEVGDDH+2) THEN + IOFF=1 +ELSE + IOFF=0 +ENDIF +!if length is less than 4, fill with budget old names +IF(LEN(HBUVAR)==1) THEN + CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_BU' +ELSE IF(LEN(HBUVAR)==2) THEN + CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_B' +ELSE IF(LEN(HBUVAR)==3) THEN + CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR)))//'_' +ELSE + CLPROC=HBUVAR(1:MIN(4, LEN(HBUVAR))) +END IF +! +IF (YDLDDH%LDDH_OMP) THEN + CLDDH='T'//YDDDH%YVARMULT(KBUDN)%CNAME//CLPROC +ELSE + CLDDH='T'//CVARNAME(KBUDN)//CLPROC +ENDIF + +! depi not stored through call to budget but add_field +IF ((CLPROC=='DEPI').OR.(CLPROC=='CEDS')) THEN + IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',1,ZHOOK_HANDLE) + RETURN +ENDIF + +!1. Substraction of value at previous process and updates PVARSM + +IF (YDLDDH%LDDH_OMP) THEN + IF (CLPROC=='INIF') THEN + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ELSE + IF (LISDIFF) THEN + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) + YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=YDDDH%RVARSM(JLON,1,JLEV,KBUDN)+PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ELSE + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF)-YDDDH%RVARSM(JLON,1,JLEV,KBUDN) + YDDDH%RVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ENDIF + ENDIF +ELSE + IF (CLPROC=='INIF') THEN + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + TVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ELSE + IF (LISDIFF) THEN + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF) + TVARSM(JLON,1,JLEV,KBUDN)=TVARSM(JLON,1,JLEV,KBUDN)+PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ELSE + DO JLEV=1,NFLEVGDDH + DO JLON=1,IFDIA + ZVARS(JLON,JLEV)=PVARS(JLON,1,JLEV+IOFF)-TVARSM(JLON,1,JLEV,KBUDN) + TVARSM(JLON,1,JLEV,KBUDN)=PVARS(JLON,1,JLEV+IOFF) + ENDDO + ENDDO + ENDIF + ENDIF +ENDIF + + + +!2. Reverse levels MNH-> ALD +!IINCR=-1 +!CALL INVERT_VLEV(1,NLON,NFLEVGDDH,IINCR,ZVARS,PVARS2) + +!3. CONVERSION +! converting to desired budget variables + +IF (YDLDDH%LDDH_OMP) THEN + ZVARS(:,:)=ZVARS(:,:)*YDDDH%YVARMULT(KBUDN)%RVAL(:,:) +ELSE + ZVARS(:,:)=ZVARS(:,:)*TAB_VARMULT(KBUDN)%VARMULT(:,:) +ENDIF + + +!4. CALL TO ADD_FIELD + + +LDDH=.TRUE. +LINST=.TRUE. +! saves ZVARS with NAME HBUVAR as a Tendency from AROME +! and it is an INSTantaneous field +IF (CLPROC/='INIF') THEN + IF (YDLDDH%LDDH_OMP) THEN + CALL NEW_ADD_FIELD_3D(YDMDDH,ZVARS,CLDDH,YDDDH) + ELSE + CALL ADD_FIELD_3D(YDLDDH,ZVARS,CLDDH,'T','AROME',LINST,LDDH) + ENDIF +ENDIF + +IF (LHOOK) CALL DR_HOOK('BUDGET_DDH',1,ZHOOK_HANDLE) +END SUBROUTINE BUDGET_DDH END MODULE MODE_BUDGET + diff --git a/src/arome/aux/modi_budget_DDH.F90 b/src/arome/aux/modi_budget_DDH.F90 deleted file mode 100644 index 888d53d8e920075753245d64b5e6406d4eabce6a..0000000000000000000000000000000000000000 --- a/src/arome/aux/modi_budget_DDH.F90 +++ /dev/null @@ -1,26 +0,0 @@ -! ######spl - MODULE MODI_BUDGET_DDH -!################## -! -INTERFACE -! -SUBROUTINE BUDGET_DDH(PVARS,KBUDN,HBUVAR,YDDDH, YDLDDH, YDMDDH, LDISDIFF) -! -USE DDH_MIX, ONLY : TYP_DDH -USE YOMLDDH, ONLY : TLDDH -USE YOMMDDH, ONLY : TMDDH -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARS ! Source -INTEGER , INTENT(IN) :: KBUDN ! variable number -CHARACTER (LEN=*) , INTENT(IN) :: HBUVAR ! Identifier of the Budget of the - ! variable that is considered -TYPE(TYP_DDH), INTENT(INOUT) :: YDDDH -TYPE(TLDDH), INTENT(IN) :: YDLDDH -TYPE(TMDDH), INTENT(IN) :: YDMDDH -LOGICAL, OPTIONAL, INTENT(IN) :: LDISDIFF ! PVARS contains the increment -! -END SUBROUTINE BUDGET_DDH -! -END INTERFACE -! -END MODULE MODI_BUDGET_DDH diff --git a/src/arome/aux/modi_ini_budget.F90 b/src/arome/aux/modi_ini_budget.F90 deleted file mode 100644 index 217bcea4be9ffba644b4dd4cdd7b57e4e8c1f48f..0000000000000000000000000000000000000000 --- a/src/arome/aux/modi_ini_budget.F90 +++ /dev/null @@ -1,64 +0,0 @@ -! ######spl - MODULE MODI_INI_BUDGET -! ###################### -INTERFACE - SUBROUTINE INI_BUDGET(KLUOUT, HLUOUT,PTSTEP,KSV,KRR, & - ONUMDIFU,ONUMDIFTH,ONUMDIFSV, & - OHORELAX_UVWTH,OHORELAX_RV,OHORELAX_RC,OHORELAX_RR, & - OHORELAX_RI,OHORELAX_RS, OHORELAX_RG, OHORELAX_RH,OHORELAX_TKE, & - OHORELAX_SV,OVE_RELAX,OCHTRANS,ONUDGING,ODRAGTREE, & - HRAD,HDCONV,HSCONV,HTURB,HTURBDIM,HCLOUD, & - HMET_ADV_SCHEME,HSV_ADV_SCHEME) -! -INTEGER, INTENT(IN) :: KLUOUT ! Logical unit number for prints -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name of output listing -REAL, INTENT(IN) :: PTSTEP ! time step -INTEGER, INTENT(IN) :: KSV ! number of scalar variables -INTEGER, INTENT(IN) :: KRR ! number of moist variables -LOGICAL, INTENT(IN) :: ONUMDIFU ! switch to activate the numerical - ! diffusion for momentum -LOGICAL, INTENT(IN) :: ONUMDIFTH ! for meteorological scalar variables -LOGICAL, INTENT(IN) :: ONUMDIFSV ! for tracer scalar variables -LOGICAL, INTENT(IN) :: OHORELAX_UVWTH ! switch for the - ! horizontal relaxation for U,V,W,TH -LOGICAL, INTENT(IN) :: OHORELAX_RV ! switch for the - ! horizontal relaxation for Rv -LOGICAL, INTENT(IN) :: OHORELAX_RC ! switch for the - ! horizontal relaxation for Rc -LOGICAL, INTENT(IN) :: OHORELAX_RR ! switch for the - ! horizontal relaxation for Rr -LOGICAL, INTENT(IN) :: OHORELAX_RI ! switch for the - ! horizontal relaxation for Ri -LOGICAL, INTENT(IN) :: OHORELAX_RS ! switch for the - ! horizontal relaxation for Rs -LOGICAL, INTENT(IN) :: OHORELAX_RG ! switch for the - ! horizontal relaxation for Rg -LOGICAL, INTENT(IN) :: OHORELAX_RH ! switch for the - ! horizontal relaxation for Rh -LOGICAL, INTENT(IN) :: OHORELAX_TKE ! switch for the - ! horizontal relaxation for tke -LOGICAL,DIMENSION(:),INTENT(IN):: OHORELAX_SV ! switch for the - ! horizontal relaxation for scalar variables -LOGICAL, INTENT(IN) :: OVE_RELAX ! switch to activate the vertical - ! relaxation -LOGICAL, INTENT(IN) :: OCHTRANS ! switch to activate convective - !transport for SV -LOGICAL, INTENT(IN) :: ONUDGING ! switch to activate nudging -LOGICAL, INTENT(IN) :: ODRAGTREE ! switch to activate vegetation drag -CHARACTER (LEN=*), INTENT(IN) :: HRAD ! type of the radiation scheme -CHARACTER (LEN=*), INTENT(IN) :: HDCONV ! type of the deep convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HSCONV ! type of the deep convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HTURB ! type of the turbulence scheme -CHARACTER (LEN=*), INTENT(IN) :: HTURBDIM! dimensionnality of the turbulence - ! scheme -CHARACTER (LEN=*), INTENT(IN) :: HCLOUD ! type of microphysical scheme -CHARACTER (LEN=*), INTENT(IN) :: HMET_ADV_SCHEME ! type of advection scheme - ! for meteorological scalar variables -CHARACTER (LEN=*), INTENT(IN) :: HSV_ADV_SCHEME ! type of advection scheme - ! for tracer scalar variables -! - END SUBROUTINE INI_BUDGET -! -END INTERFACE -! -END MODULE MODI_INI_BUDGET diff --git a/src/arome/chem/externals/aro_mnhc.F90 b/src/arome/chem/externals/aro_mnhc.F90 deleted file mode 100644 index cc2f67aabe8b4dd3ef31019148579ca7a1fb1a7d..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aro_mnhc.F90 +++ /dev/null @@ -1,694 +0,0 @@ -! ################################################### - SUBROUTINE ARO_MNHC(PRSVSIN, PRHODREF, PTSTEP, & - PTHT, PABST, & - PRT, PLAT, PLON, & - PALB_UV, PZS, PZENITH, PZZ, & - KYEAR, KMONTH, KDAY, PTIME, & - KLON,KLEV,NSV, KRR, & - KTCOUNT, KLUOUT,NDIAG,PPEZDIAG,PRSVS ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ################################################### -!! -!!*** *ARO_MNHC* monitor of the chemical module of MesoNH-C -!! -!! PURPOSE -!! ------- -!! The purpose of this subroutine is to control the chemical module -!! i.e. to pass the meteorological parameters from MesoNH to its chemical -!! part and to call the different subroutines (calculation of rate constants, -!! photolysis rates, stiff solver,..) -!! -!! METHOD -!! ------ -!! The calculation of the chemical terms is performed using a loop -!! over all spatial dimensions. -!! -!! For each single grid point, all necessary meteorological parameters are -!! passed into the chemical core system (variable TZM). This variable is -!! then passed on to the subroutines that calculate the reaction and -!! photolysis rates. Then the chemical solver is called. As the chemistry -!! part works with different units than MesoNH (MesoNH uses mixing ratio, -!! the chemisty part uses molec/cm3) some unit conversion is also performed. -!! -!! Temporal integration is performed over a double timestep 2*PTSTEP -!! (except in the case of a cold start). If the timestep of MesoNH -!! is too large for the chemical solver, several smaller steps can -!! be taken using the NCH_SUBSTEPS parameter. -!! "SPLIT" : from PRSVSIN the scalar variable at t+dt is calculated and -!! given as input to the solver; the result is written -!! into PRSVS; this corresponds to applying first only dynamics -!! and then only chemistry; this option assures positivity, but -!! degrades the order of the temporal integration. -!! In fact, an overhead of a factor two is produced here. -!! A future solution will be to calculate the dynamics -!! of the scalar variables not using leapfrog, but forward -!! temporal integration. -!! Vectorization Mask : Need ISVECMASK for photolysis (input(IN)) -!! ISVECNMASK = Nb of vector -!! IDT1 = Nb of points for the first dimension (for arome = size of vector) -!! IDT2 = Nb of points for the second dimension (for arome = 1) -!! IDT3 = Nb of points in vertical -!! -!! -!! -!! REFERENCE -!! --------- -!! Book 1, 2, 3 of MesoNH-chemistry -!! -!! AUTHOR -!! ------ -!! P. Tulet *CNRM / GMEI* and contributors of MesoNH-C (K. Shure, C. Mari, V. Crassier) -!! -!! MODIFICATIONS -!! ------------- -!! Original 10/11/04 -!! -!! EXTERNAL -!! -------- -USE MODI_CH_METEO_TRANS -USE MODI_CH_SET_RATES -USE MODI_CH_SET_PHOTO_RATES -USE MODI_CH_SOLVER_n -USE MODI_CH_AER_SEDIM_n -USE MODI_CH_ORILAM -USE MODI_CH_INI_ORILAM -USE MODI_CH_AER_EQM_CORMASS -!USE MODI_CH_AER_SURF -USE MODI_CH_AER_INIT -USE MODI_CH_UPDATE_JVALUES_n -! -! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -USE MODD_CH_M9_SCHEME, ONLY: JP_CO, JP_O3, JP_NO, JP_NO2, JP_SO2, JP_CH4 -USE MODD_CH_M9, ONLY: NEQ, &! number of prognostic chem. species - NMETEOVARS, &! number of meteorological variables - CNAMES, &! names of the chem. species - METEOTRANSTYPE ! type for meteo . transfer -!! -USE MODD_CH_INIT_JVALUES, ONLY: JPJVMAX ! number of photolysis reactions in TUVMAIN -USE MODD_CH_MNHC_n, ONLY: NCH_SUBSTEPS - ! ZDTSOLVER = PTSTEP/NCH_SUBSTEPS -USE MODD_CH_MNHC_n, ONLY: LCH_INIT_FIELD -USE MODD_CH_MNHC_n, ONLY: CCH_VEC_METHOD -USE MODD_CH_SOLVER_n -USE MODD_CH_MNHC_n, ONLY: LCH_TUV_ONLINE, CCH_TUV_LOOKUP, CCH_TUV_CLOUDS, & - XCH_TUV_ALBNEW, XCH_TUV_DOBNEW, XCH_TUV_TUPDATE -USE MODD_CH_MNHC_n, ONLY: CCH_SCHEME - -!! -USE MODD_CONF, ONLY: CCONF, & ! Configuration of models (START/RESTART) - NVERB ! Level of informations on output-listing - -!! -USE MODD_CST, ONLY: XAVOGADRO, &! Avogadro number - XMD,& ! Molar mass of dry air - XP00, XRD, XCPD, XPI -! -USE MODD_NSV, ONLY: NSV_CHEMBEG, NSV_CHEMEND, NSV_CHEM, & - NSV_AERBEG, NSV_AEREND, NSV_AER -USE MODD_GRID_AROME,ONLY: XLAT0, XLON0 -USE MODD_CH_AEROSOL -! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -INTEGER, INTENT(IN) :: KLON !NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV !Number of vertical levels -INTEGER, INTENT(IN) :: NSV ! Number of passive scalar -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, DIMENSION(KLON,1,KLEV,NSV),INTENT(IN) :: PRSVSIN ! source of scalar variable -REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRHODREF ! iteration count -REAL, INTENT(IN) :: PTSTEP ! time step of MesoNH -REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PTHT, PABST ! theta and pressure at t -REAL, DIMENSION(KLON,1,KLEV,KRR),INTENT(IN) :: PRT ! moist variables at t -REAL, DIMENSION(KLON,1), INTENT(IN) :: PLAT, PLON ! lat, lon of each points -REAL, DIMENSION(KLON,1), INTENT(IN) :: PALB_UV, PZS, PZENITH -REAL, DIMENSION(KLON,1,KLEV), INTENT(IN) :: PZZ -INTEGER, INTENT(IN) :: KYEAR ! Current Year -INTEGER, INTENT(IN) :: KMONTH ! Current Month -INTEGER, INTENT(IN) :: KDAY ! Current Day -REAL, INTENT(IN) :: PTIME ! Current time in second -INTEGER, INTENT(IN) :: KTCOUNT ! iteration count -INTEGER, INTENT(IN) :: KLUOUT ! unit for output listing count -INTEGER, INTENT(IN) :: NDIAG ! nb of diagnostics -REAL, DIMENSION(KLON,KLEV,NDIAG),INTENT(INOUT) :: PPEZDIAG !O [-] Diagnostics table -REAL, DIMENSION(KLON,1,KLEV,NSV),INTENT(OUT) :: PRSVS ! source of scalar variable - -! -! -!* 0.2 declarations of local variables -! -INTEGER :: JM,JI,JK,JL,JK1 ! loop counters -REAL :: ZDTSOLVER ! timestep for the solver -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZCHEM, ZOLDCHEM, ZNEWCHEM -REAL, DIMENSION(:,:), ALLOCATABLE :: ZAERO - ! arrays for parameter passage to solver -! -REAL :: ZDEN2MOL - ! ZDEN2MOL = 6.0221367E+23 * 1E-6 / 28.9644E-3 - ! conversion factor density to mol/cm3 - ! n_molec (moelc./cm3): M = 1E-6*RHO(kg/m3) * XAVOGADRO / XMD -! -TYPE(METEOTRANSTYPE), DIMENSION(:), ALLOCATABLE :: TZM - ! meteo variables to be transferred into CCS -! -INTEGER :: JN, JSV ! loop index for SV -INTEGER :: ILAT -! -!------------------------------------------------------------------------------- -! variables for the vectorization -! -INTEGER, SAVE :: ISVECNMASK -INTEGER, SAVE :: ISVECNPT = 0 -INTEGER, SAVE, DIMENSION(:,:), ALLOCATABLE :: ISVECMASK -! -INTEGER :: IDTI,IDTJ,IDTK -INTEGER :: IDT1,IDT2,IDT3 -INTEGER :: IIU ! Upper dimension in x direction -INTEGER :: IJU ! Upper dimension in y direction -INTEGER :: IKU ! Upper dimension in z direction -INTEGER :: IIB ! indice I Beginning in x direction -INTEGER :: IJB ! indice J Beginning in y direction -INTEGER :: IKB ! indice K Beginning in z direction -INTEGER :: IIE ! indice I End in x direction -INTEGER :: IJE ! indice J End in y direction -INTEGER :: IKE ! indice K End in z direction - -!------------------------------------------------------------------------------- -! -! variables for TUV -! -REAL, DIMENSION(KLON,1,KLEV,JPJVMAX) :: ZJVALUES -!--------------------------Arguments vs Local-------------------------------------------------- -INTEGER :: IDAY, IMONTH, IYEAR -REAL :: ZTIME, ZTIMERAD, ZUT, ZDATE, ZAD, ZTSIDER, ZA1, ZA2 -REAL, DIMENSION(KLON,1,KLEV) :: ZRHODREF, ZZZ, ZTHT, ZABST -REAL, DIMENSION(KLON,1) :: ZLAT, ZLON, ZTUT -REAL, DIMENSION(KLON,1,KLEV,KRR) :: ZRT -REAL, DIMENSION(KLON,1) :: ZZENITH, ZZS, ZALB_UV -REAL, DIMENSION(KLON,1) :: ZCOSZEN, ZSOLANG -REAL :: ZSINDEL, ZCOSDEL, ZDECSOL -INTEGER, DIMENSION(0:11) :: IBIS, INOBIS ! Cumulative number of days per month - ! for bissextile and regular years -!------------------------------------------------------------------------------- -! variables for the aerosol module -REAL, ALLOCATABLE, DIMENSION(:,:) :: ZM, ZSIG0, ZN0, ZSOLORG, ZMASS, & - ZRG0, ZCTOTG, ZSEDA, ZFRAC, ZMI ! work array for aerosols -REAL, ALLOCATABLE, DIMENSION(:,:,:) :: ZCTOTA, ZCCTOT - ! first dimension is vectorization, - ! second dim. are the modes*moments -REAL, ALLOCATABLE, DIMENSION(:) :: ZRV, ZDENAIR, ZPRESSURE, ZTEMP, ZRC -REAL, DIMENSION(:,:), ALLOCATABLE :: ZRHOP0, ZOM -REAL, DIMENSION(:), ALLOCATABLE :: ZLAMBDA, ZMU, ZSO4RAT - -REAL,DIMENSION(KLON,1,KLEV,NSV) :: ZSVT -REAL,DIMENSION(KLON,1,KLEV,JPIN) :: ZXSEDA -REAL,DIMENSION(KLON,1,JPIN) :: ZVDEPAERO -REAL,DIMENSION(KLON,KLEV,NDIAG) :: ZPEZDIAG -! -!------------------------------------------------------------------------------- -! -! -!* 1. PREPARE MONITOR -! --------------- -! Arome is vectorized upon horizontal (I,1,K) -! I = horizontal vector (not necessary equal to west/east nb of points) -! K = nb of points in vertical and physical domain upon vertical is 2=>KLEV+1 - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('ARO_MNHC',0,ZHOOK_HANDLE) -ZJVALUES(:,:,:,:) = 0. -ZVDEPAERO(:,:,:) = 0. - -ZZENITH(:,:) = PZENITH(:,:) -ZTIME = PTIME -ZRT(:,:,:,:) = PRT(:,:,:,:) -ZTHT(:,:,:) = PTHT(:,:,:) -ZABST(:,:,:) = PABST(:,:,:) -ZALB_UV(:,:) = PALB_UV(:,:) -ZZS(:,:) = PZS(:,:) -ZZZ(:,:,:) = PZZ(:,:,:) -ZRHODREF(:,:,:) = PRHODREF(:,:,:) -IDAY = KDAY -IMONTH = KMONTH -IYEAR = KYEAR - -IIU = KLON -IJU = 1 -IKU = KLEV -IIB=1 -IJB=1 -IKB=1 -IIE = IIU -IJE = 1 -IKE = IKU - -IDTI=(IIE-IIB+1) -IDTJ=(IJE-IJB+1) -IDTK=(IKE-IKB+1) - -ISVECNPT=IDTI*IDTJ*IDTK -ISVECNMASK=1 -IDT1=IDTI -IDT2=IDTJ -IDT3=IDTK - -! Possible to change the vector size only on NPROMA -! to do it uses: -! ISVECNPT=IDTI*IDTJ -! ISVECNMASK=IDTK -! IDT1=IDTI -! IDT2=IDTJ -! IDT3=1 - -IF (.NOT. ALLOCATED(ISVECMASK)) ALLOCATE(ISVECMASK(6,ISVECNMASK)) - -! -!********************************** -! Compute mask boundaries -!********************************** -! - ISVECMASK(1,1)=IIB - ISVECMASK(2,1)=IIB+IDT1-1 - ISVECMASK(3,1)=IJB - ISVECMASK(4,1)=IJB+IDT2-1 - ISVECMASK(5,1)=IKB - ISVECMASK(6,1)=IKB+IDT3-1 - - IF (ISVECNMASK .GE. 2) THEN - DO JI=2,ISVECNMASK - ISVECMASK(1,JI)=ISVECMASK(1,JI-1)+IDT1-IIB - ISVECMASK(3,JI)=ISVECMASK(3,JI-1) - ISVECMASK(5,JI)=ISVECMASK(5,JI-1) -! - ISVECMASK(3,JI)=ISVECMASK(3,JI)+(ISVECMASK(1,JI)/IDTI)*IDT2-IJB - ISVECMASK(5,JI)=ISVECMASK(5,JI)+(ISVECMASK(3,JI)/IDTJ)*IDT3-IKB -! - ISVECMASK(1,JI)=ISVECMASK(1,JI)-IDTI*(ISVECMASK(1,JI)/IDTI)+IIB - ISVECMASK(3,JI)=ISVECMASK(3,JI)-IDTJ*(ISVECMASK(3,JI)/IDTJ)+IJB - ISVECMASK(5,JI)=ISVECMASK(5,JI)-IDTK*(ISVECMASK(5,JI)/IDTK)+IKB -! - ISVECMASK(2,JI)=ISVECMASK(1,JI)+IDT1-1 - ISVECMASK(4,JI)=ISVECMASK(3,JI)+IDT2-1 - ISVECMASK(6,JI)=ISVECMASK(5,JI)+IDT3-1 - END DO - - END IF - -!* 1.1 calculate timestep variables -! -ZDTSOLVER = PTSTEP / NCH_SUBSTEPS -! -PRSVS(:,:,:,NSV_CHEMBEG:NSV_CHEMEND) = MAX(PRSVSIN(:,:,:,NSV_CHEMBEG:NSV_CHEMEND), 1.E-80) - -IF ((KTCOUNT == 1).AND.(LCH_INIT_FIELD)) THEN -! Bulk initialization; to be improve - PRSVS(:,:,:,:) = MAX(PRSVS(:,:,:,:),1E-20 / PTSTEP) - PRSVS(:,:,:,JP_CO) = 50E-9 / PTSTEP ! CO initialize to 50 ppb (low value) - PRSVS(:,:,:,JP_O3) = 30E-9 / PTSTEP ! O3 initialize to 30 ppb (low value) - PRSVS(:,:,:,JP_NO) = 1E-11 / PTSTEP ! NO initialize to 1E-3 ppb (low value) - PRSVS(:,:,:,JP_NO2) = 1E-11 / PTSTEP ! NO2 initialize to 1E-3 ppb (low value) - PRSVS(:,:,:,JP_SO2) = 1E-11 / PTSTEP ! SO2 initialize to 1E-3 ppb (low value) - PRSVS(:,:,:,JP_CH4) = 1700E-9 / PTSTEP ! CH4 mean value -! increase ozone over tropopause -PRSVS(:,:,11,JP_O3) = 5.*PRSVS(:,:,11,JP_O3) -PRSVS(:,:,9:10,JP_O3) = 15.*PRSVS(:,:,9:10,JP_O3) -PRSVS(:,:,1:8,JP_O3) = 40.*PRSVS(:,:,1:8,JP_O3) -! increase primary species in the BLM -PRSVS(:,:,IKE-8:IKE,JP_NO) = 10.*PRSVS(:,:,IKE-8:IKE,JP_NO) -PRSVS(:,:,IKE-8:IKE,JP_NO2) = 10.*PRSVS(:,:,IKE-8:IKE,JP_NO2) -PRSVS(:,:,IKE-8:IKE,JP_SO2) = 10.*PRSVS(:,:,IKE-8:IKE,JP_SO2) -END IF - -IF (LORILAM) THEN - IF (.NOT.ALLOCATED(XRHOI)) ALLOCATE(XRHOI(NSP+NCARB+NSOA)) - IF (.NOT.ALLOCATED(XFAC)) ALLOCATE(XFAC(NSP+NCARB+NSOA)) - ! Density: all to black carbon except water - XRHOI(:) = 1.8e3 - XRHOI(JP_AER_H2O) = 1.0e3 ! water - ! Moments index - NM0(1) = 1 - NM3(1) = 2 - NM6(1) = 3 - NM0(2) = 4 - NM3(2) = 5 - NM6(2) = 6 - - DO JN=1,NSP+NCARB+NSOA - XFAC(JN)=(4./3.)*3.14292654*XRHOI(JN)*1.e-9 - ENDDO - -ZSVT(:,:,:,:) = PRSVS(:,:,:,:) * PTSTEP -ZSVT(:,:,:,NSV_AERBEG:NSV_AEREND) = MAX(ZSVT(:,:,:,NSV_AERBEG:NSV_AEREND), 1.E-80) - - IF ((KTCOUNT == 1).AND.(LAERINIT)) THEN - CALL CH_AER_INIT(ZSVT(:,:,:,NSV_CHEMBEG:NSV_CHEMEND),& - ZSVT(:,:,:,NSV_AERBEG:NSV_AEREND), & - PRHODREF ) - ENDIF - -! -!* 2.5 sedimentation of aerosols tendency (ZXSEDA) -! - ZXSEDA(:,:,:,:)=0. - IF ((LSEDIMAERO).AND.(KTCOUNT .GT. 1)) THEN - CALL CH_AER_SEDIM_n(PTSTEP, ZSVT(IIB:IIE,IJB:IJE,IKB:IKE,NSV_AERBEG:NSV_AEREND),& - PTHT(IIB:IIE,IJB:IJE,IKB:IKE), PRHODREF(IIB:IIE,IJB:IJE,IKB:IKE),& - PABST(IIB:IIE,IJB:IJE,IKB:IKE), ZVDEPAERO(IIB:IIE,IJB:IJE,:), & - PZZ(IIB:IIE,IJB:IJE,IKB:IKE), ZXSEDA(IIB:IIE,IJB:IJE,IKB:IKE,:)) - END IF - -PRSVS(:,:,:,:) = ZSVT(:,:,:,:) / PTSTEP - -ENDIF -! -ALLOCATE(TZM(ISVECNPT)) -ALLOCATE(ZCHEM(ISVECNPT,NEQ)) -ALLOCATE(ZOLDCHEM(ISVECNPT,NEQ)) -ALLOCATE(ZNEWCHEM(ISVECNPT,NEQ)) -IF (LORILAM) THEN -ALLOCATE(ZAERO(ISVECNPT,NSV_AER)) -ALLOCATE(ZM(ISVECNPT,JPIN)) -ALLOCATE(ZSEDA(ISVECNPT,JPIN)) -ALLOCATE(ZRHOP0(ISVECNPT,JPMODE)) -ALLOCATE(ZSIG0(ISVECNPT,JPMODE)) -ALLOCATE(ZRG0(ISVECNPT,JPMODE)) -ALLOCATE(ZN0(ISVECNPT,JPMODE)) -ALLOCATE(ZCTOTA(ISVECNPT,NSP+NCARB+NSOA,JPMODE)) -ALLOCATE(ZMASS(ISVECNPT,JPMODE)) -ALLOCATE(ZCCTOT(ISVECNPT,NSP+NCARB+NSOA,JPMODE)) -ALLOCATE(ZCTOTG(ISVECNPT,NSP+NCARB+NSOA)) -ALLOCATE(ZMU(ISVECNPT)) -ALLOCATE(ZLAMBDA(ISVECNPT)) -ALLOCATE(ZOM(ISVECNPT,JPMODE)) -ALLOCATE(ZSO4RAT(ISVECNPT)) -ALLOCATE(ZRV(ISVECNPT)) -ALLOCATE(ZRC(ISVECNPT)) -ALLOCATE(ZPRESSURE(ISVECNPT)) -ALLOCATE(ZTEMP(ISVECNPT)) -ALLOCATE(ZDENAIR(ISVECNPT)) -ALLOCATE(ZFRAC(ISVECNPT,NEQ)) -ALLOCATE(ZMI(ISVECNPT,NSP+NCARB+NSOA)) -ALLOCATE(ZSOLORG(ISVECNPT,NSP+NCARB+NSOA)) -ZSEDA(:,:)=0. -ZSOLORG(:,:) = 0. -! initialisation of aerosol molecular weight -ZMI(:,:) = 250. -ZMI(:,JP_AER_SO4) = 98. -ZMI(:,JP_AER_NO3) = 63. -ZMI(:,JP_AER_NH3) = 17. -ZMI(:,JP_AER_H2O) = 18. -IF (NSOA .EQ. 10) THEN - ZMI(:,JP_AER_SOA1) = 88. - ZMI(:,JP_AER_SOA2) = 180. - ZMI(:,JP_AER_SOA3) = 1.5374857E3 - ZMI(:,JP_AER_SOA4) = 1.9586780E3 - ZMI(:,JP_AER_SOA5) = 195. - ZMI(:,JP_AER_SOA6) = 195. - ZMI(:,JP_AER_SOA7) = 165. - ZMI(:,JP_AER_SOA8) = 195. - ZMI(:,JP_AER_SOA9) = 270. - ZMI(:,JP_AER_SOA10) = 210. -END IF -END IF - - -! -!------------------------------------------------------------------------------- - -ZLAT(:,:) = PLAT(:,:)*(XPI/180.) -ZLON(:,:) = PLON(:,:)*(XPI/180.) -! -ZTIMERAD = ZTIME + 0.5* PTSTEP - -ZUT = MOD( 24.0+MOD(ZTIMERAD/3600.,24.0),24.0 ) - -INOBIS(:) = (/0,31,59,90,120,151,181,212,243,273,304,334/) -IBIS(0) = INOBIS(0) -DO JI=1,11 - IBIS(JI) = INOBIS(JI)+1 -END DO -IF( MOD(IYEAR,4).EQ.0 ) THEN - ZDATE = FLOAT(IDAY + IBIS(IMONTH-1)) - 1 - ZAD = 2.0*XPI*ZDATE/366.0 -ELSE - ZDATE = FLOAT(IDAY + INOBIS(IMONTH-1)) - 1 - ZAD = 2.0*XPI*ZDATE/365.0 -END IF -ZDECSOL = 0.006918-0.399912*COS(ZAD) +0.070257*SIN(ZAD) & - -0.006758*COS(2.*ZAD)+0.000907*SIN(2.*ZAD) & - -0.002697*COS(3.*ZAD)+0.00148 *SIN(3.*ZAD) -ZSINDEL = SIN(ZDECSOL) -ZCOSDEL = COS(ZDECSOL) - -ZA1 = (1.00554*ZDATE- 6.28306)*(XPI/180.0) -ZA2 = (1.93946*ZDATE+23.35089)*(XPI/180.0) -ZTSIDER = (7.67825*SIN(ZA1)+10.09176*SIN(ZA2)) / 60.0 - -ZTUT(:,:) = ZUT - ZTSIDER + ZLON(:,:)*((180./XPI)/15.0) -ZSOLANG(:,:) = (ZTUT(:,:)-12.0)*15.0*(XPI/180.) ! hour angle in radians -ZCOSZEN(:,:) = SIN(ZLAT(:,:))*ZSINDEL + &! Cosine of the zenithal - COS(ZLAT(:,:))*ZCOSDEL*COS(ZSOLANG(:,:)) ! solar angle -ZZENITH(:,:) = ACOS(ZCOSZEN(:,:)) -! -ILAT = 1 - - CALL CH_UPDATE_JVALUES_n(KLUOUT, ZZENITH, ZRT, & - & ZALB_UV, ZZS, ZZZ, XLAT0, XLON0, & - & KLON, ILAT, KLEV, KRR, & - & IDAY, IMONTH, IYEAR, ZTIME, & - & LCH_TUV_ONLINE, CCH_TUV_CLOUDS, & - & XCH_TUV_ALBNEW, XCH_TUV_DOBNEW, ZRHODREF, ZJVALUES,& - & IIB,IIE,IJB,IJE,IIU,IJU,10) - -! -!* 3. INTEGRATE OVER ALL GRID POINTS -! ------------------------------- -! -! -DO JL=1,ISVECNMASK - -! -!* 3.1 transfer chemical species for solver -! and convert from part/part to molec./cm3 - IDTI=ISVECMASK(2,JL)-ISVECMASK(1,JL)+1 - IDTJ=ISVECMASK(4,JL)-ISVECMASK(3,JL)+1 - IDTK=ISVECMASK(6,JL)-ISVECMASK(5,JL)+1 -! -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD - - -DO JN = 1, NSV_CHEM -!Vectorization: -!ocl novrec -!cdir nodep - DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) - ZCHEM(JM+1,JN) = PRSVS(JI,1,JK,NSV_CHEMBEG+JN-1) * PTSTEP * & - ZDEN2MOL * ZRHODREF(JI,1,JK) - END DO -END DO - - -ZCHEM(:,:) = MAX(ZCHEM(:,:), 0.) - -IF (LORILAM) THEN -ZRV(:) = 0. -ZRC(:) = 0. -!ocl novrec -!cdir nodep -DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) -! Sedimentation tendancy - ZSEDA(JM+1,:) = ZXSEDA(JI,1,JK,:) -! Pressure (Pa) - ZPRESSURE(JM+1) = PABST(JI,1,JK) -! Air density (kg/m3) - ZDENAIR(JM+1) = PRHODREF(JI,1,JK) -! Temperature (K) - ZTEMP(JM+1) = PTHT(JI,1,JK)*((PABST(JI,1,JK)/XP00)**(XRD/XCPD)) -! Water vapor (kg/kg) - ZRV(JM+1) = PRT(JI,1,JK,1) -! Cloud vapor (kg/kg) - ZRC(JM+1) = PRT(JI,1,JK,2) -! END DO -! -END DO -DO JN = 1, NSV_AER -!Vectorization: -!ocl novrec - DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) - ZAERO(JM+1,JN) = PRSVS(JI,1,JK,NSV_AERBEG+JN-1) * PTSTEP * & - ZDEN2MOL * ZRHODREF(JI,1,JK) - END DO -END DO - - IF (KTCOUNT == 1) THEN -!* 3.4 initialize aerosol parameters and moments of 0th, -! 6th, aerosol surface and aerosol diameter order - - CALL CH_INI_ORILAM(ZM, ZSIG0, ZRG0, ZN0, ZCTOTG, ZCTOTA, ZCCTOT,& - ZSEDA, ZOM, ZRHOP0, ZAERO, ZCHEM, ZRV, ZDENAIR, & - ZPRESSURE, ZTEMP, ZRC, ZFRAC, ZMI, CCH_SCHEME) -! - END IF -ZCHEM(:,JP_CH_H2SO4) = ZAERO(:,JP_CH_SO4i) + ZAERO(:,JP_CH_SO4j) -END IF - - -! -!* 3.2 transfer meteo data into chemical core system -! - CALL CH_METEO_TRANS(JL, ZRHODREF, ZRT, ZTHT, ZABST, & - & ISVECNPT, ISVECMASK, TZM, IDAY,& - & IMONTH, IYEAR, PLAT, PLON, XLAT0, XLON0,& - & .TRUE., .TRUE., KLUOUT) - -!* 3.3 calculate reaction and photolysis rates -! - ZCHEM(:,:) = MAX(ZCHEM(:,:), 1E-40) - CALL CH_SET_RATES (ZTIME, ZCHEM, TZM, 1, KLUOUT, NVERB, ISVECNPT, NEQ) - - CALL CH_SET_PHOTO_RATES & - (ZTIME, ZCHEM, JL, TZM, 1, KLUOUT, NVERB, ISVECNPT, ISVECMASK, NEQ, ZJVALUES) -! -! -!* 3.4 solve chemical system for the timestep of the monitor -! - ZNEWCHEM(:,:) = 0. - ZOLDCHEM(:,:) = ZCHEM(:,:) - - DO JM = 1, NCH_SUBSTEPS - CALL CH_SOLVER_n & - (ZTIME, ZDTSOLVER, ZCHEM, ZNEWCHEM, NEQ, ISVECNPT, 1) - ZCHEM(:,:) = MAX(ZNEWCHEM(:,:), 1E-40) - END DO - -IF (LORILAM) THEN -! - ZSO4RAT(:) = (ZNEWCHEM(:,JP_CH_H2SO4) - ZOLDCHEM(:,JP_CH_H2SO4) ) / PTSTEP -! -!* 3.6 solve aerosol system - CALL CH_ORILAM(ZAERO,ZCHEM, ZM, ZSIG0, ZRG0, ZN0, ZCTOTG, ZCTOTA, ZCCTOT, & - PTSTEP, ZSEDA, ZMU, ZLAMBDA, ZRHOP0, ZOM, ZSO4RAT, & - ZRV, ZDENAIR,ZPRESSURE, ZTEMP, ZRC, ZFRAC, ZMI, ZTIME, & - CCH_SCHEME,ZSOLORG) -! -!* 3.7 return result to MesoNH scalar variables -! -DO JN = 1, NSV_AER -!Vectorization: -!ocl novrec -!cdir nodep - DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) - PRSVS(JI,1,JK,NSV_AERBEG+JN-1) = ZAERO(JM+1,JN) / & - (PTSTEP * ZDEN2MOL * ZRHODREF(JI,1,JK)) - END DO - END DO -IF (NDIAG .GE. JPMODE*2) THEN -ZPEZDIAG(:,:,:) = 0. -ZMASS(:,:) = 0. -DO JN = 1, JPMODE - DO JSV=1,NSP+NCARB+NSOA - ZMASS(:,JN) = ZMASS(:,JN)+ZCTOTA(:,JSV,JN) - ENDDO -!Vectorization: -!ocl novrec -!cdir nodep - DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) - ZPEZDIAG(JI,JK,JN) = ZN0(JM+1,JN) - IF (NDIAG .GT. (JPMODE+1)) ZPEZDIAG(JI,JK,JPMODE+JN) = ZRG0(JM+1,JN) - IF (NDIAG .GT. (JPMODE*2+1)) ZPEZDIAG(JI,JK,JPMODE*2+JN) = ZMASS(JM+1,JN) - END DO -END DO -PPEZDIAG(:,:,:) = 0. -DO JN = 1, NDIAG - DO JK=1,KLEV -! JK1=KLEV-JK - PPEZDIAG(:,JK,JN) = ZPEZDIAG(:,JK,JN) - ENDDO -ENDDO -END IF -! -END IF -! - -!* 3.5 return result to Arome scalar variables -! -DO JN = 1, NSV_CHEM -!Vectorization: -!ocl novrec -!cdir nodep - DO JM=0,ISVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+ISVECMASK(1,JL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+ISVECMASK(5,JL) - PRSVS(JI,1,JK,NSV_CHEMBEG+JN-1) = ZCHEM(JM+1,JN) / & - (PTSTEP * ZDEN2MOL * ZRHODREF(JI,1,JK)) - END DO -END DO - -END DO -! -! -!* 4. REMOVE NEGATIVE VALUES -! ---------------------- -! -! no mass correction (mnh surcouche not included in arome) -PRSVS(:,:,:,NSV_CHEMBEG:NSV_CHEMEND) = MAX(0., PRSVS(:,:,:,NSV_CHEMBEG:NSV_CHEMEND)) -PRSVS(:,:,:,NSV_AERBEG:NSV_AEREND) = MAX(0., PRSVS(:,:,:,NSV_AERBEG:NSV_AEREND)) -! -!---------------------------------------------------------------------- -! -! -DEALLOCATE(TZM) -DEALLOCATE(ZCHEM) -DEALLOCATE(ZNEWCHEM) -DEALLOCATE(ZOLDCHEM) -IF (LORILAM) THEN - DEALLOCATE(ZAERO) - DEALLOCATE(ZM) - DEALLOCATE(ZSEDA) - DEALLOCATE(ZN0) - DEALLOCATE(ZRG0) - DEALLOCATE(ZSIG0) - DEALLOCATE(ZRHOP0) - DEALLOCATE(ZCTOTA) - DEALLOCATE(ZMASS) - DEALLOCATE(ZCCTOT) - DEALLOCATE(ZCTOTG) - DEALLOCATE(ZMU) - DEALLOCATE(ZLAMBDA) - DEALLOCATE(ZOM) - DEALLOCATE(ZSO4RAT) - DEALLOCATE(ZRV) - DEALLOCATE(ZRC) - DEALLOCATE(ZPRESSURE) - DEALLOCATE(ZTEMP) - DEALLOCATE(ZDENAIR) - DEALLOCATE(ZFRAC) - DEALLOCATE(ZMI) - DEALLOCATE(ZSOLORG) -END IF - -! -!------------------------------------------------------------------------------- -! -IF (LHOOK) CALL DR_HOOK('ARO_MNHC',1,ZHOOK_HANDLE) -END SUBROUTINE ARO_MNHC diff --git a/src/arome/chem/externals/aro_mnhdust.F90 b/src/arome/chem/externals/aro_mnhdust.F90 deleted file mode 100644 index 17aafc5b6248350761847ffebd0045a7baf6fdd4..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aro_mnhdust.F90 +++ /dev/null @@ -1,277 +0,0 @@ -SUBROUTINE ARO_MNHDUST(KKL,KLON,KLEV,KSV,PTSTEP & - ,PSVTIN & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PDZZ & !I [m] height of layers - ,PPABST & !I Pressure - ,PTHT & !I Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KSWB & !I [nbr] number of shortwave bands - ,KTCOUNT & !I number of time step - ,PSVT & !O [moments/molec_{air}] Transported moments of dust - ,PPIZA_WVL & !IO [-] single scattering albedo of dust layer for all SW wavelength - ,PCGA_WVL & !IO [-] assymetry factor for dust layer for all SW wavelength - ,PTAUREL_WVL & !IO [-] opt.depth/opt.depth(550) for dust layer for all SWwvl - ,PAER & !IO [-] ext coeff at 550 for dust layer - ,NDIAG & !I [-] nb of diagnostics - ,PPEZDIAG & !IO [-] diag Nb/m3,ug/m3,rg(nb;um),rg(m;um),SSA,assym,AOD/550,mode & wvl - ) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - -!*** *ARO_MNHDUST* -! -! PURPOSE -! ------- - -! Interface routine for initialisation of dust optical properties -! before radiation scheme call - -! AUTHOR. -! ------- -! Y. Seity (CNRM/GMAP) -! 10-10-05 - -! MODIFICATIONS -! ------------- -! P. Tulet 10/02/06 -! P. Tulet add scavenging 10/02/08 -! M. Mokhtari & A. Ambar 09/2016: inversion levels, call inv_levels.F90 -! -! EXTERNAL -! ------- - - - -USE MODE_DUSTOPT, ONLY: DUSTOPT_GET -USE MODE_DUST_PSD ! include PPP2DUST -USE MODI_INIT_DUST -USE MODI_SEDIM_DUST -USE MODD_DUST ! LDUST=.FALSE. ; NMODE_DST=3 -USE MODD_NSV, ONLY : NSV_DSTBEG, NSV_DSTEND -USE MODI_INV_LEVELS - IMPLICIT NONE - -!INPUT -INTEGER, INTENT(IN) :: KKL ! vertical levels ordering 1: MNH -1: ARPEGE -INTEGER, INTENT(IN) :: KLON ! NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -INTEGER, INTENT(IN) :: KSV ! Number of passive scalar -INTEGER, INTENT(IN) :: KSWB ! Number of shortwave wavelengths -INTEGER, INTENT(IN) :: KTCOUNT ! Number of time step -REAL, INTENT(IN) :: PTSTEP ! Time step in s -REAL, DIMENSION(KLON,1,KLEV,KSV),INTENT(IN) :: PSVTIN !I [moments/molec_{air}] transported moments of dust -INTEGER, INTENT(IN) :: NDIAG ! nb of diagnostics -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PZZ !I [m] height of layers -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PDZZ !I [m] layers thikness -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PRHODREF !I [kg/m3] density of air -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PTHT !I [K] potentiel temperature -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PPABST !I [Pa] pressure - -!OUTPUT -REAL, DIMENSION(KLON,1,KLEV,KSV),INTENT(OUT) :: PSVT !O [moments/molec_{air}] transported moments of dust -REAL, DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PPIZA_WVL !O [-] SSA of dust layer for all SW wvl -REAL, DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PCGA_WVL !O [-] assym factor for dust layer for all SW -REAL, DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PTAUREL_WVL !O [-] AOD/AOD(550) for dust layer for all SW -REAL, DIMENSION(KLON,KLEV,NDIAG),INTENT(INOUT) :: PPEZDIAG !O [-] Diagnostics table -REAL, DIMENSION(KLON,KLEV),INTENT(INOUT) :: PAER !O [-] AOD/AOD(550) for dust layer for all SW wvl -! -!* 0.2 Declarations of local variables : -INTEGER :: JLEV,JK,JK1,IMOD,INSWB,WVL_IDX -INTEGER :: IKE, JSV, JL -REAL :: ZSIGMIN -REAL, DIMENSION(KLON,1,KLEV+2,KSWB) :: ZPIZA_DST_TMP, ZCGA_DST_TMP, ZTAUREL_DST_TMP, & - & ZPIZAZ, ZCGAZ, ZTAUAZ -REAL, DIMENSION(KLON,1,KLEV+2,NMODE_DST) :: ZSIGDST, ZRGDST, ZNDST, & - & ZRGMDST, ZMDST -REAL, DIMENSION(KLON,1,KLEV+2) :: ZAER - -REAL, DIMENSION(KLON,KLEV,KSWB) :: ZPIZAZ_WVL -REAL, DIMENSION(KLON,KLEV,KSWB) :: ZCGAZ_WVL -REAL, DIMENSION(KLON,KLEV,KSWB) :: ZTAUAZ_WVL -REAL, DIMENSION(KLON,KLEV,NMODE_DST) :: ZRGDST_MOD -REAL, DIMENSION(KLON,KLEV,NMODE_DST) :: ZRGMDST_MOD -REAL, DIMENSION(KLON,KLEV,NMODE_DST) :: ZNDST_MOD -REAL, DIMENSION(KLON,KLEV,NMODE_DST) :: ZMDST_MOD -! -REAL,DIMENSION(KLON,1,KLEV+2) :: ZZZ ! Local value of PZZ -REAL,DIMENSION(KLON,1,KLEV+2) :: ZDZZ ! Local value of PDZZ -REAL,DIMENSION(KLON,1,KLEV+2) :: ZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV+2) :: ZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV+2) :: ZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV+2,KSV) :: ZSVT ! Local value of ZSVT -! -REAL,DIMENSION(KLON,1,KLEV) :: ZZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV) :: ZZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV) :: ZZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV,KSV) :: ZZSVT ! Local value of ZSVT -!-------------------------------------------------------------------- - - -! 1) Initialization of dust - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('ARO_MNHDUST',0,ZHOOK_HANDLE) -! -!* 1. PRELIMINARY COMPUTATIONS - !initialisation de ZZZ -DO JL = 1,KLON - DO JK = 2 , KLEV+1 - ZZZ(JL,1,JK)=PZZ(JL,1,KLEV+2-JK) - ENDDO - ZZZ(JL,1,1) = 2*ZZZ(JL,1,2)-ZZZ(JL,1,3) - ZZZ(JL,1,KLEV+2) = 2*ZZZ(JL,1,KLEV+1)-ZZZ(JL,1,KLEV) -ENDDO - !initialisation de ZDZZ -DO JL = 1,KLON - DO JK = 1 , KLEV+1 - ZDZZ(JL,1,JK)=ZZZ(JL,1,JK+1)-ZZZ(JL,1,JK) - ENDDO - ZDZZ(JL,1,KLEV+2)=ZZZ(JL,1,KLEV+2)-ZZZ(JL,1,KLEV+1) -ENDDO -! -ZZRHODREF(:,:,:) = PRHODREF(:,:,:) -ZZPABST(:,:,:) = PPABST(:,:,:) -ZZTHT(:,:,:) = PTHT(:,:,:) -ZZSVT(:,:,:,:) = PSVTIN(:,:,:,:) -! -CALL INV_LEVELS(1,KLON,KLEV,1,ZZRHODREF,ZRHODREF) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZPABST,ZPABST) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZTHT,ZTHT) -!initialisation de ZSVT -DO JSV=1,KSV -CALL INV_LEVELS(1,KLON,KLEV,1,ZZSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO -! -IF ((KTCOUNT == 1).AND.(LDSTINIT)) THEN - CALL INIT_DUST(ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), ZRHODREF) -END IF - -!Get dust optical properties from look up tables - - CALL DUSTOPT_GET( & - ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND) & !I [ppp] Dust scalar concentration - ,ZZZ(:,:,:) & !I [m] height of layers - ,ZRHODREF(:,:,:) & !I [kg/m3] density of air - ,ZPIZA_DST_TMP & !O [-] single scattering albedo of dust - ,ZCGA_DST_TMP & !O [-] assymetry factor for dust - ,ZTAUREL_DST_TMP & !O [-] opt.depth(wvl=lambda)/opt.depth(wvl=550nm) - ,ZAER(:,:,:) & !O [-] optical depth of dust at wvl=550nm - ,KSWB & !I |nbr] number of shortwave bands - ) - -! Compute SSA, AOD, assymetry factor for clear sky (dust aerosols) - -ZTAUAZ(:,:,:,:)=0. -ZPIZAZ(:,:,:,:)=0. -ZCGAZ(:,:,:,:)=0. -DO WVL_IDX=1,KSWB -! Ponderation of aerosol optical depht in case of explicit factor -! ti - ZTAUAZ(:,:,:,WVL_IDX) = ZTAUAZ(:,:,:,WVL_IDX) + & - ZAER(:,:,:) * & - ZTAUREL_DST_TMP(:,:,:,WVL_IDX) -! wi*ti - ZPIZAZ(:,:,:,WVL_IDX) = ZPIZAZ(:,:,:,WVL_IDX) + & - ZAER(:,:,:) * & - ZTAUREL_DST_TMP(:,:,:,WVL_IDX) * & - ZPIZA_DST_TMP(:,:,:,WVL_IDX) -! gi*wi*ti - ZCGAZ(:,:,:,WVL_IDX) = ZCGAZ(:,:,:,WVL_IDX) + & - ZAER(:,:,:) * & - ZTAUREL_DST_TMP(:,:,:,WVL_IDX) * & - ZPIZA_DST_TMP(:,:,:,WVL_IDX) * & - ZCGA_DST_TMP(:,:,:,WVL_IDX) -ENDDO -! Ponderation of assymetry factor -ZCGAZ(:,:,:,:) = ZCGAZ(:,:,:,:) / ZPIZAZ(:,:,:,:) -! Ponderation of SSA -ZPIZAZ(:,:,:,:) = ZPIZAZ(:,:,:,:) / ZTAUAZ(:,:,:,:) - -! Compute and store Standard deviation, median radius, concentration of dust from moments - - CALL PPP2DUST (ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), & - ZRHODREF(:,:,:), & - ZSIGDST(:,:,:,:), & - ZRGDST(:,:,:,:), & - ZNDST(:,:,:,:)) -ZRGMDST(:,:,:,:)=0. -ZMDST(:,:,:,:)=0. -! Compute mass median radius in um in all dust mode -ZRGMDST(:,:,:,:) = ZRGDST(:,:,:,:) / (exp(-3.*(log(ZSIGDST(:,:,:,:)))**2)) -! Compute integrated mass concentration ug/m3 in all dust mode -ZMDST(:,:,:,:) = ZNDST(:,:,:,:)*4./3.*3.14*2500.*1e9 *& !kg-->ug - (ZRGDST(:,:,:,:)**3)*1.d-18 *& !um-->m - exp(4.5*log(ZSIGDST(:,:,:,:))*log(ZSIGDST(:,:,:,:))) - -!Transform from vector of type #lon #lat #lev #wvl or #mod -!to vectors of type #points, #inverted levs, #wavelengths or #modes - -JLEV = KLEV -ZTAUAZ_WVL(:,:,:)= 0. -ZPIZAZ_WVL(:,:,:)= 0. -ZCGAZ_WVL(:,:,:) = 0. -ZRGDST_MOD(:,:,:)= 0. -ZRGMDST_MOD(:,:,:)=0. -ZNDST_MOD(:,:,:) = 0. -ZMDST_MOD(:,:,:) = 0. - - -DO JK=1,JLEV - JK1=JLEV+2-JK - PPIZA_WVL(:,JK,:) = ZPIZA_DST_TMP(:,1,JK1,:) - PCGA_WVL(:,JK,:) = ZCGA_DST_TMP(:,1,JK1,:) - PTAUREL_WVL(:,JK,:) = ZTAUREL_DST_TMP(:,1,JK1,:) - PAER(:,JK) = ZAER(:,1,JK1) - ZPIZAZ_WVL(:,JK,:) = ZPIZAZ(:,1,JK1,:) - ZCGAZ_WVL(:,JK,:) = ZCGAZ(:,1,JK1,:) - ZTAUAZ_WVL(:,JK,:) = ZTAUAZ(:,1,JK1,:) - ZRGDST_MOD(:,JK,:) = ZRGDST(:,1,JK1,:) - ZRGMDST_MOD(:,JK,:) = ZRGMDST(:,1,JK1,:) - ZNDST_MOD(:,JK,:) = ZNDST(:,1,JK1,:) - ZMDST_MOD(:,JK,:) = ZMDST(:,1,JK1,:) -ENDDO - -! somme on every mode (different dust diameter) - -IF (SIZE(PPEZDIAG, 3) .GE. 4) THEN -PPEZDIAG(:,:,1:4) = 0. -DO IMOD = 1,NMODE_DST ! NMODE_DST!=3 ! PPEZDIAG<25 - PPEZDIAG(:,:,1) = PPEZDIAG(:,:,1) + ZNDST_MOD(:,:,IMOD) ! Nb/m3 - PPEZDIAG(:,:,2) = PPEZDIAG(:,:,2) + ZMDST_MOD(:,:,IMOD) ! Mass(ug)/m3 - PPEZDIAG(:,:,3) = PPEZDIAG(:,:,3) + ZRGDST_MOD(:,:,IMOD) ! RG nb (um) - PPEZDIAG(:,:,4) = PPEZDIAG(:,:,4) + ZRGMDST_MOD(:,:,IMOD) ! RG m (um) -ENDDO -END IF -IF (SIZE(PPEZDIAG, 3) .GE. 7) THEN -! somme on every level (integreted value) -PPEZDIAG(:,:,5:7) = 0. -DO JK=1,JLEV -! to have lwv=550nm : NSWB = 3 !NSWB!=6 ! PPEZDIAG<25 - PPEZDIAG(:,1,5) = PPEZDIAG(:,1,5) + ZPIZAZ_WVL(:,JK,3) ! SSA(550) - PPEZDIAG(:,1,6) = PPEZDIAG(:,1,6) + ZCGAZ_WVL(:,JK,3) ! assymetry(550) - PPEZDIAG(:,1,7) = PPEZDIAG(:,1,7) + ZTAUAZ_WVL(:,JK,3) ! AOD/AOD(550) -ENDDO -DO JK=1,JLEV - PPEZDIAG(:,JK,5) = PPEZDIAG(:,1,5) - PPEZDIAG(:,JK,6) = PPEZDIAG(:,1,6) - PPEZDIAG(:,JK,7) = PPEZDIAG(:,1,7) -ENDDO -END IF - -IF (LSEDIMDUST) THEN - IKE = KLEV+2 - CALL SEDIM_DUST(ZTHT(:,:,1:IKE), PTSTEP, & - ZRHODREF(:,:,1:IKE), & - ZPABST(:,:,1:IKE), & - ZDZZ(:,:,1:IKE), & - ZSVT(:,:,1:IKE,NSV_DSTBEG:NSV_DSTEND)) -ENDIF -!return to aladin/arome ZSVT -DO JSV=1,KSV -CALL INV_LEVELS(1,KLON,KLEV,-1,PSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO -! -IF (LHOOK) CALL DR_HOOK('ARO_MNHDUST',1,ZHOOK_HANDLE) -END SUBROUTINE ARO_MNHDUST - diff --git a/src/arome/chem/externals/aro_rainaero.F90 b/src/arome/chem/externals/aro_rainaero.F90 deleted file mode 100644 index d111cdc1b29494fb1b73541932993adbee56aa84..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aro_rainaero.F90 +++ /dev/null @@ -1,233 +0,0 @@ - -SUBROUTINE ARO_RAINAERO(KLON,KLEV,NSV,KRR,PTSTEP & - ,PSVTIN & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PPABST & ! Pressure - ,PTHT & ! Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KTCOUNT & ! number of time step - ,PRT & ! moist field - ,PEVAP & ! evaporation profile - ,KSPLITR & ! rain sedimentation time splitting - ,PSVT & !O [moments/molec_{air}] Transported moments of dust - ) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - -! -!*** *ARO_RAINAERO* -! -! PURPOSE -! ------- - -! Interface routine for aerosol scavenging - -! AUTHOR. -! ------- -! P. Tulet -! 10-03-08 - -! MODIFICATIONS -! ------------- -! M. Mokhtari & A. Ambar 09/2016: inversion levels, call inv_levels.F90 -! -! EXTERNAL -! ------- - - - -USE MODI_AER_WET_DEP_KMT_WARM -USE MODD_DUST -USE MODD_CSTS_DUST -USE MODD_CST -USE MODD_NSV, ONLY : NSV_DSTBEG, NSV_DSTEND, & - NSV_DSTDEPBEG, NSV_DSTDEPEND -USE MODE_DUST_PSD -USE MODI_INV_LEVELS - IMPLICIT NONE - -!INPUT -INTEGER, INTENT(IN) :: KLON ! NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -INTEGER, INTENT(IN) :: NSV ! Number of passive scalar -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PTSTEP ! Time step - -REAL, DIMENSION(KLON,1,KLEV,NSV),INTENT(IN) :: PSVTIN -REAL, DIMENSION(KLON,1,KLEV,KRR), INTENT(IN) :: PRT ! Moist variables at time t - !I [moments/molec_{air}] transported moments of dust -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PZZ !I [m] height of layers -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PRHODREF !I [kg/m3] density of air -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PTHT !I [K] potentiel temperature -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PPABST !I [Pa] pressure -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PEVAP !I Evaporation -INTEGER, INTENT(IN) :: KTCOUNT ! Number of time step -INTEGER, INTENT(IN) :: KSPLITR ! Rain sedimentation time spliting -REAL, DIMENSION(KLON,1,KLEV,NSV),INTENT(OUT) :: PSVT - -INTEGER :: JLEV, JL, JK,JK1, IMODEIDX -INTEGER :: II, IKE, JSV, JRR -REAL :: ZSIGMIN -! local variable -REAL, DIMENSION(:), ALLOCATABLE :: ZMASSMIN, ZINIRADIUS -REAL,DIMENSION(KLON,1,KLEV+2) :: ZZZ ! Local value of PZZ -REAL,DIMENSION(KLON,1,KLEV+2) :: ZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV+2) :: ZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV+2) :: ZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV+2) :: ZEVAP ! Evaporation -REAL,DIMENSION(KLON,1,KLEV+2,KRR) :: ZRT ! Moist variables at time t -REAL,DIMENSION(KLON,1,KLEV+2,NSV) :: ZSVT ! Local value of ZSVT -! -REAL,DIMENSION(KLON,1,KLEV) :: ZZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV) :: ZZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV) :: ZZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV) :: ZZEVAP !I Evaporation -REAL,DIMENSION(KLON,1,KLEV,KRR) :: ZZRT ! Moist variables at time t -REAL,DIMENSION(KLON,1,KLEV,NSV) :: ZZSVT ! Local value of ZSVT -! -REAL, DIMENSION(KLON,1,KLEV+2,NMODE_DST) :: ZSIGDST, ZRGDST, ZNDST,ZVMASSMIN -REAL, DIMENSION(KLON,1,KLEV+2,NMODE_DST*3) :: ZSVDST -!-------------------------------------------------------------------- - - -! 1) Initialization of aerosols acqueous variables - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('ARO_RAINAERO',0,ZHOOK_HANDLE) -! -ALLOCATE(ZMASSMIN(NMODE_DST)) -ALLOCATE(ZINIRADIUS(NMODE_DST)) -! -!* 1. PRELIMINARY COMPUTATIONS -!* INVERS LEVEL FOR AROME - !initialisation de ZZZ -DO JL = 1,KLON - DO JK = 2 , KLEV+1 - ZZZ(JL,1,JK)=PZZ(JL,1,KLEV+2-JK) - ENDDO - ZZZ(JL,1,1) = 2*ZZZ(JL,1,2)-ZZZ(JL,1,3) - ZZZ(JL,1,KLEV+2) = 2*ZZZ(JL,1,KLEV+1)-ZZZ(JL,1,KLEV) -ENDDO -! -ZZRHODREF(:,:,:) = PRHODREF(:,:,:) -ZZPABST(:,:,:) = PPABST(:,:,:) -ZZTHT(:,:,:) = PTHT(:,:,:) -ZZEVAP(:,:,:) = PEVAP(:,:,:) -ZZRT(:,:,:,:) = PRT(:,:,:,:) -ZZSVT(:,:,:,:) = PSVTIN(:,:,:,:) -ZSVDST(:,:,:,:) = 0. -! -CALL INV_LEVELS(1,KLON,KLEV,1,ZZRHODREF,ZRHODREF) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZPABST,ZPABST) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZTHT,ZTHT) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZEVAP,ZEVAP) -! -DO JSV=1,NSV - CALL INV_LEVELS(1,KLON,KLEV,1,ZZSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO -! -DO JRR=1,KRR - CALL INV_LEVELS(1,KLON,KLEV,1,ZZRT(:,:,:,JRR),ZRT(:,:,:,JRR)) -ENDDO -!STEP 1 -IF (KTCOUNT == 1) THEN - ZSVT(:,:,:,NSV_DSTDEPBEG:NSV_DSTDEPEND) = 0. -END IF -! 3.1 Minimum mass to transfer between dry mass or in-cloud droplets - -DO JSV=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JSV) - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JSV) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JSV) = XINIRADIUS(IMODEIDX) - END IF - IF (LVARSIG) THEN - ZSIGMIN = XSIGMIN - ELSE - ZSIGMIN = XINISIG(IMODEIDX) - ENDIF - ZMASSMIN(JSV) = XN0MIN(IMODEIDX) * (ZINIRADIUS(JSV)**3)*EXP(4.5 * LOG(ZSIGMIN)**2) -! volume/um3 => #/molec_{air} - ZVMASSMIN(:,:,:,JSV)= ZMASSMIN(JSV) * XMD * XPI * 4./3. * XDENSITY_DUST / & - (XMOLARWEIGHT_DUST*XM3TOUM3*ZRHODREF(:,:,:)) -ENDDO - -! -! 3.3 Compute and store Standard deviation and mean radius -! from moments - CALL PPP2DUST(ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), & - ZRHODREF(:,:,:), & - ZSIGDST(:,:,:,:), & - ZRGDST(:,:,:,:), & - ZNDST(:,:,:,:)) - -! 3.4 Compute acquous aerosol mass vector from moment scalar vector -! - DO JSV= 1, NMODE_DST - IF (LVARSIG) THEN - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*3) - ELSE IF (LRGFIX_DST) THEN - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+JSV-1) - ELSE - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*2) - ENDIF - ENDDO - DO JSV=1,2*NMODE_DST - ZSVDST(:,:,:,NMODE_DST+JSV) = ZSVT(:,:,:,NSV_DSTDEPBEG-1+JSV) - ENDDO - -! One moment cloud scheme - CALL AER_WET_DEP_KMT_WARM (KSPLITR, & - PTSTEP, & - ZZZ(:,:,:), & - ZRHODREF(:,:,:), & - ZRT(:,:,:,2), & - ZRT(:,:,:,3), & - ZRT(:,:,:,2), & - ZRT(:,:,:,3), & - ZSVDST(:,:,:,:), & - ZTHT(:,:,:), & - ZPABST(:,:,:), & - ZRGDST(:,:,:,:), & - ZEVAP(:,:,:), & - NMODE_DST, & - XDENSITY_DUST, & - ZVMASSMIN ) - -! Compute return to moment vector - - DO JSV=1,NMODE_DST - IF (LVARSIG) THEN - ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*3) = ZSVDST(:,:,:,JSV) - ELSE IF (LRGFIX_DST) THEN - ZSVT(:,:,:,NSV_DSTBEG+JSV-1) = ZSVDST(:,:,:,JSV) - ELSE - ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*2) = ZSVDST(:,:,:,JSV) - ENDIF - ENDDO - -! Return to lognormal distribution (compute M0 and M6 using RG, SIG and -! new mass from M3) - - CALL DUST2PPP(ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), & - ZRHODREF(:,:,:), & - ZSIGDST(:,:,:,:), & - ZRGDST(:,:,:,:)) - - DO JSV=1,2*NMODE_DST - ZSVT(:,:,:,NSV_DSTDEPBEG-1+JSV) = ZSVDST(:,:,:,NMODE_DST+JSV) - ENDDO -! Return to aladin/arome -DO JSV=1,NSV - CALL INV_LEVELS(1,KLON,KLEV,-1,PSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO -! - DEALLOCATE(ZINIRADIUS) - DEALLOCATE(ZMASSMIN) -! -IF (LHOOK) CALL DR_HOOK('ARO_RAINAERO',1,ZHOOK_HANDLE) -END SUBROUTINE ARO_RAINAERO - diff --git a/src/arome/chem/externals/aro_wetdep.F90 b/src/arome/chem/externals/aro_wetdep.F90 deleted file mode 100644 index 486e20094fb0b7bf6a3027de2e4c5507f918a664..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aro_wetdep.F90 +++ /dev/null @@ -1,231 +0,0 @@ - -SUBROUTINE ARO_WETDEP(KLON,KLEV,NSV,KRR,PTSTEP & - ,PSVT & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PPABST & ! Pressure - ,PTHT & ! Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KTCOUNT & ! number of time step - ,PRT & ! moist field - ,PEVAP & ! evaporation profile - ,KSPLITR & ! rain sedimentation time splitting - ) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! -!*** *ARO_WETDEP* -! -! PURPOSE -! ------- - -! Interface routine for aerosol scavenging - -! AUTHOR. -! ------- -! P. Tulet -! 10-03-08 - -! MODIFICATIONS -! ------------- -! 01-02-2011 M. Mokhtari : Adaptation of ARO_RAINAERO under ARO_WETDEP for Aladin -! M. Mokhtari & A. Ambar 09/2016: inversion levels, call inv_levels.F90 -! -! EXTERNAL -! ------- - - - -USE MODI_AER_WET_DEP -USE MODD_DUST -USE MODD_CSTS_DUST -USE MODD_CST -USE MODD_NSV, ONLY : NSV_DSTBEG, NSV_DSTEND, & - NSV_DSTDEPBEG, NSV_DSTDEPEND -USE MODE_DUST_PSD -USE MODI_INV_LEVELS - - IMPLICIT NONE - -!INPUT -INTEGER, INTENT(IN) :: KLON ! NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -INTEGER, INTENT(IN) :: NSV ! Number of passive scalar -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PTSTEP ! Time step - -REAL, DIMENSION(KLON,1,KLEV,NSV),INTENT(INOUT) :: PSVT -REAL, DIMENSION(KLON,1,KLEV,KRR), INTENT(IN) :: PRT ! Moist variables at time t - !I [moments/molec_{air}] transported moments of dust -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PZZ !I [m] height of layers -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PRHODREF !I [kg/m3] density of air -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PTHT !I [K] potentiel temperature -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PPABST !I [Pa] pressure -REAL, DIMENSION(KLON,1,KLEV),INTENT(IN) :: PEVAP !I Evaporation -INTEGER, INTENT(IN) :: KTCOUNT ! Number of time step -INTEGER, INTENT(IN) :: KSPLITR ! Rain sedimentation time spliting - -INTEGER :: JLEV,JK, JL, JK1, IMODEIDX -INTEGER :: II, IKE, JSV, JRR -REAL :: ZSIGMIN -! local variable -REAL, DIMENSION(:), ALLOCATABLE :: ZMASSMIN, ZINIRADIUS -REAL,DIMENSION(KLON,1,KLEV+2) :: ZZZ ! Local value of PZZ -REAL,DIMENSION(KLON,1,KLEV+2) :: ZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV+2) :: ZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV+2) :: ZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV+2) :: ZEVAP ! Evaporation -REAL,DIMENSION(KLON,1,KLEV+2,KRR) :: ZRT ! Moist variables at time t -REAL,DIMENSION(KLON,1,KLEV+2,NSV) :: ZSVT ! Local value of ZSVT -! -REAL,DIMENSION(KLON,1,KLEV) :: ZZPABST ! Local value of ZPABST -REAL,DIMENSION(KLON,1,KLEV) :: ZZTHT ! Local value of ZTHT -REAL,DIMENSION(KLON,1,KLEV) :: ZZRHODREF ! Local value of ZRHODREF -REAL,DIMENSION(KLON,1,KLEV) :: ZZEVAP !I Evaporation -REAL,DIMENSION(KLON,1,KLEV,KRR) :: ZZRT ! Moist variables at time t -REAL,DIMENSION(KLON,1,KLEV,NSV) :: ZZSVT ! Local value of ZSVT -! -REAL, DIMENSION(KLON,1,KLEV+2,NMODE_DST) :: ZSIGDST, ZRGDST, ZNDST,ZVMASSMIN -REAL, DIMENSION(KLON,1,KLEV+2,NMODE_DST*3) :: ZSVDST -!-------------------------------------------------------------------- - -! 1) Initialization of aerosols acqueous variables -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('ARO_WETDEP',0,ZHOOK_HANDLE) - -ALLOCATE(ZMASSMIN(NMODE_DST)) -ALLOCATE(ZINIRADIUS(NMODE_DST)) - -! -!* 1. PRELIMINARY COMPUTATIONS -!* INVERS LEVEL FOR AROME - !initialisation de ZZZ -DO JL = 1,KLON - DO JK = 2 , KLEV+1 - ZZZ(JL,1,JK)=PZZ(JL,1,KLEV+2-JK) - ENDDO - ZZZ(JL,1,1) = 2*ZZZ(JL,1,2)-ZZZ(JL,1,3) - ZZZ(JL,1,KLEV+2) = 2*ZZZ(JL,1,KLEV+1)-ZZZ(JL,1,KLEV) -ENDDO -! -ZZRHODREF(:,:,:) = PRHODREF(:,:,:) -ZZPABST(:,:,:) = PPABST(:,:,:) -ZZTHT(:,:,:) = PTHT(:,:,:) -ZZEVAP(:,:,:) = PEVAP(:,:,:) -ZZRT(:,:,:,:) = PRT(:,:,:,:) -ZZSVT(:,:,:,:) = PSVT(:,:,:,:) -ZSVDST(:,:,:,:) = 0. -! -CALL INV_LEVELS(1,KLON,KLEV,1,ZZRHODREF,ZRHODREF) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZPABST,ZPABST) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZTHT,ZTHT) -CALL INV_LEVELS(1,KLON,KLEV,1,ZZEVAP,ZEVAP) -! -DO JSV=1,NSV - CALL INV_LEVELS(1,KLON,KLEV,1,ZZSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO -! -DO JRR=1,KRR - CALL INV_LEVELS(1,KLON,KLEV,1,ZZRT(:,:,:,JRR),ZRT(:,:,:,JRR)) -ENDDO - -IF (KTCOUNT == 1) THEN - ZSVT(:,:,:,NSV_DSTDEPBEG:NSV_DSTDEPEND) = 0. -END IF - -! 3.1 Minimum mass to transfer between dry mass or in-cloud droplets - -DO JSV=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JSV) - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JSV) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JSV) = XINIRADIUS(IMODEIDX) - END IF - IF (LVARSIG) THEN - ZSIGMIN = XSIGMIN - ELSE - ZSIGMIN = XINISIG(IMODEIDX) - ENDIF - ZMASSMIN(JSV) = XN0MIN(IMODEIDX) * (ZINIRADIUS(JSV)**3)*EXP(4.5 * LOG(ZSIGMIN)**2) -! volume/um3 => #/molec_{air} - ZVMASSMIN(:,:,:,JSV)= ZMASSMIN(JSV) * XMD * XPI * 4./3. * XDENSITY_DUST / & - (XMOLARWEIGHT_DUST*XM3TOUM3*ZRHODREF(:,:,:)) -ENDDO - -! -! 3.3 Compute and store Standard deviation and mean radius -! from moments - CALL PPP2DUST(ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), & - ZRHODREF(:,:,:), & - ZSIGDST(:,:,:,:), & - ZRGDST(:,:,:,:), & - ZNDST(:,:,:,:)) - -! 3.4 Compute acquous aerosol mass vector from moment scalar vector -! - DO JSV= 1, NMODE_DST - IF (LVARSIG) THEN - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*3) - ELSE IF (LRGFIX_DST) THEN - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+JSV-1) - ELSE - ZSVDST(:,:,:,JSV) = ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*2) - ENDIF - ENDDO - DO JSV=1,2*NMODE_DST - ZSVDST(:,:,:,NMODE_DST+JSV) = ZSVT(:,:,:,NSV_DSTDEPBEG-1+JSV) - ENDDO - -! One moment cloud scheme - CALL AER_WET_DEP (KSPLITR, & - PTSTEP, & - ZZZ(:,:,:), & - ZRHODREF(:,:,:), & - ZRT(:,:,:,2), & - ZRT(:,:,:,3), & - ZRT(:,:,:,2), & - ZRT(:,:,:,3), & - ZSVDST(:,:,:,:), & - ZTHT(:,:,:), & - ZPABST(:,:,:), & - ZRGDST(:,:,:,:), & - ZEVAP(:,:,:), & - NMODE_DST, & - XDENSITY_DUST, & - ZVMASSMIN ) - -! Compute return to moment vector - - DO JSV=1,NMODE_DST - IF (LVARSIG) THEN - ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*3) = ZSVDST(:,:,:,JSV) - ELSE IF (LRGFIX_DST) THEN - ZSVT(:,:,:,NSV_DSTBEG+JSV-1) = ZSVDST(:,:,:,JSV) - ELSE - ZSVT(:,:,:,NSV_DSTBEG+1+(JSV-1)*2) = ZSVDST(:,:,:,JSV) - ENDIF - ENDDO - -! Return to lognormal distribution (compute M0 and M6 using RG, SIG and -! new mass from M3) - - CALL DUST2PPP(ZSVT(:,:,:,NSV_DSTBEG:NSV_DSTEND), & - ZRHODREF(:,:,:), & - ZSIGDST(:,:,:,:), & - ZRGDST(:,:,:,:)) - - DO JSV=1,2*NMODE_DST - ZSVT(:,:,:,NSV_DSTDEPBEG-1+JSV) = ZSVDST(:,:,:,NMODE_DST+JSV) - ENDDO - -! Return to aladin/arome -DO JSV=1,NSV - CALL INV_LEVELS(1,KLON,KLEV,-1,PSVT(:,:,:,JSV),ZSVT(:,:,:,JSV)) -ENDDO - - DEALLOCATE(ZINIRADIUS) - DEALLOCATE(ZMASSMIN) - -IF (LHOOK) CALL DR_HOOK('ARO_WETDEP',1,ZHOOK_HANDLE) -END SUBROUTINE ARO_WETDEP - diff --git a/src/arome/chem/externals/aroini_mnhc.F90 b/src/arome/chem/externals/aroini_mnhc.F90 deleted file mode 100644 index 21e4554fc9ef631a672e205a23cda31efce9b9e5..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aroini_mnhc.F90 +++ /dev/null @@ -1,207 +0,0 @@ -!! ############################## - SUBROUTINE AROINI_MNHC(OUSECHEM, OORILAM, ODUST, ODEPOS,& - OINITCHEM, OINITDUST, OINITORILAM,& - KDAY, KMONTH, KYEAR,& - KLUOUT, KPROC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################## -!! -!!*** *AROINI_MNHC* -!! -!! PURPOSE -!! ------- -! initialize chemical variables -! initialize chemical core system -!! -!! -!! AUTHOR -!! ------ -!! P. Tulet *CNRM / GMEI* and contributors of MesoNH-C (K. Shure, C. Mari, V. Crassier) -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/04/05 -!! -!! EXTERNAL -!! -------- -USE MODI_CH_INIT_SCHEME -USE MODI_CH_INIT_CCS -USE MODI_CH_INIT_JVALUES -USE MODI_CH_AER_INIT_SOA -USE MODI_CH_AER_MOD_INIT -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CONF, ONLY: CCONF -USE MODD_CH_M9 -USE MODD_CH_MNHC_n -USE MODD_CH_SOLVER_n -USE MODD_CH_AERO_n -USE MODD_CH_AEROSOL -USE MODD_DUST -USE MODE_DUSTOPT - -!! -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -LOGICAL, INTENT(IN) :: OUSECHEM -LOGICAL, INTENT(IN) :: ODUST -LOGICAL, INTENT(IN) :: OORILAM -LOGICAL, INTENT(IN) :: OINITCHEM -LOGICAL, INTENT(IN) :: OINITDUST -LOGICAL, INTENT(IN) :: OINITORILAM -LOGICAL, INTENT(IN) :: ODEPOS -INTEGER, INTENT(IN) :: KLUOUT ! output listing channel -INTEGER, INTENT(IN) :: KYEAR ! year of initialization -INTEGER, INTENT(IN) :: KMONTH ! month of initialization -INTEGER, INTENT(IN) :: KDAY ! day of initialization -INTEGER, INTENT(IN) :: KPROC ! proc number - -! -!* 0.2 pointer to model 1 -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AROINI_MNHC',0,ZHOOK_HANDLE) -CALL CH_MNHC_GOTO_MODEL(1, 1) -CALL CH_SOLVER_GOTO_MODEL(1, 1) -CALL CH_AERO_GOTO_MODEL(1, 1) -!------------------------------------------------------------------------------- -! -! -!* 0. PROLOGUE (default chemical namelist ) -! -------- -! 0.1 MODD_CH_MNHC_n - -LUSECHEM = OUSECHEM -LCH_INIT_FIELD = OINITCHEM -LCH_SURFACE_FLUX = .TRUE. -LCH_CONV_SCAV = .FALSE. -CCH_EXPLICIT_SCAV = 'NONE' -CCHEM_INPUT_FILE = 'chimie.nam' -CCH_TDISCRETIZATION = 'SPLIT' ! not use in AROME -NCH_SUBSTEPS = 5 -LCH_TUV_ONLINE = .FALSE. -CCH_TUV_LOOKUP = 'PHOTO.TUV39' -CCH_TUV_CLOUDS = 'NONE' -XCH_TUV_ALBNEW = 0.02 -XCH_TUV_DOBNEW = 320. -XCH_TUV_TUPDATE = 1200. -CCH_VEC_METHOD = 'HOR' -NCH_VEC_LENGTH = 1000 ! not use in AROME -XCH_TS1D_TSTEP = 600. ! not use in AROME -CCH_TS1D_COMMENT = 'no comment' ! not use in AROME -CCH_TS1D_FILENAME = 'IO1D' ! not use in AROME -CCH_SCHEME = 'ReLACS' - -! 0.2 MODD_CH_SOLVER_n - -CSOLVER = 'EXQSSA' ! default values of each solver can be found/modified in MODD_CH_SOLVER_n -XSLOW = 100. -XFAST = 0.1 -XDTMIN = 10. -XDTMAX = 10. -XDTFIRST = 10. -XRTOL = 0.001 -XATOL = 1E2 - -! 0.3 MODD_CH_AEROSOL - -LORILAM = OORILAM -CRGUNIT = 'NUMB' ! type of log-normal geometric mean radius given -! ! in nameliste (mass on number) - -LVARSIGI = .FALSE. ! switch to active pronostic dispersion for I mode -LVARSIGJ = .FALSE. ! switch to active pronostic dispersion for J mode -LHETEROSO4 = .FALSE. ! switch to active sulfates heteronegeous production -LSEDIMAERO = .FALSE. ! switch to active aerosol sedimentation -LAERINIT = OINITORILAM ! switch to active thermodynamics - ! mineral equilibrium for each mode -XN0IMIN = 10. ! minimum particule number value for I mode -XN0JMIN = 1. ! minimum particule number value for J mode -XINIRADIUSI= 0.05 ! mean radius initialization for I mode (um) -XINIRADIUSJ= 0.2 ! mean radius initialization for J mode (um) -XINISIGI = 1.8 ! dispersion initialization for I mode -XINISIGJ = 2.0 ! dispersion initialization for J mode -XSIGIMIN = 1.20 ! minimum dispersion value for I mode -XSIGJMIN = 1.20 ! minimum dispersion value for J mode -XSIGIMAX = 3.60 ! maximum dispersion value for I mode -XSIGJMAX = 3.60 ! maximum dispersion value for J mode -XCOEFRADIMAX = 10. ! maximum increasement for Rg mode I -XCOEFRADIMIN = 0.1 ! maximum decreasement for Rg mode I -XCOEFRADJMAX = 10. ! maximum increasement for Rg mode J -XCOEFRADJMIN = 0.1 ! maximum decreasement for Rg mode J -CMINERAL = "EQSAM" ! mineral equilibrium scheme -CORGANIC = "NONE" ! organic equilibrium scheme -CNUCLEATION = "NONE" ! sulfates nucleation scheme - -! 0.4 MODD_DUST - -LDUST = ODUST -LDSTINIT = OINITDUST -LVARSIG = .FALSE. ! switch to active pronostic dispersion for all modes -LSEDIMDUST = .FALSE. ! switch to active aerosol sedimentation -XSIGMIN = 1.20 ! minimum dispersion value for dust mode -XSIGMAX = 3.60 ! maximum dispersion value for dust mode -XCOEFRADMAX = 10. ! maximum increasement for Rg mode dust -XCOEFRADMIN = 0.1 ! maximum decreasement for Rg mode dust - -LDEPOS_DST(:) = ODEPOS - -IF (LUSECHEM) THEN -!* 1.1 INITIALIZE CHEMICAL CORE SYSTEM -! ------------------------------- - -! - CALL CH_INIT_SCHEME(KLUOUT) - CALL CH_INIT_CCS(NEQ, KLUOUT, 5) - CCH_SCHEME = "NONE" - -! -! -! -!------------------------------------------------------------------------------- -! -!* 1.2 INITIALIZE JVALUES -! ------------------ - CALL CH_INIT_JVALUES(KDAY, KMONTH, KYEAR, KLUOUT) -! -END IF - -!------------------------------------------------------------------------------- -! -!* 2. INITIALIZE SOA -! --------------- -IF ((LUSECHEM).AND.(LORILAM)) THEN - CALL CH_AER_INIT_SOA(KLUOUT, 5) - CALL CH_AER_MOD_INIT -END IF - - -!* 3. Read in look up tables of dust optical properties -! ------------------------------------------------- -IF (LDUST) THEN - CALL DUST_OPT_LKT_SET1() - CALL DUST_OPT_LKT_SET2() - CALL DUST_OPT_LKT_SET3() - CALL DUST_OPT_LKT_SET4() - CALL DUST_OPT_LKT_SET5() - CALL DUST_OPT_LKT_SET6() - CALL DUST_OPT_LKT_SET7() - CALL DUST_OPT_LKT_SET8() - CALL DUST_OPT_LKT_SET9() - CALL DUST_OPT_LKT_SET10() -ENDIF - -!------------------------------------------------------------------------------- -! - -IF (LHOOK) CALL DR_HOOK('AROINI_MNHC',1,ZHOOK_HANDLE) -END SUBROUTINE AROINI_MNHC diff --git a/src/arome/chem/externals/aroini_nsv.F90 b/src/arome/chem/externals/aroini_nsv.F90 deleted file mode 100644 index 7381ea002ceeee7dc0de05a1ce4f5eff52532bc9..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aroini_nsv.F90 +++ /dev/null @@ -1,153 +0,0 @@ -!! ############################## - SUBROUTINE AROINI_NSV(KSV,KSV_CHEMBEG, KSV_CHEMEND, KSV_AERBEG, KSV_AEREND, & - KSV_DSTBEG, KSV_DSTEND,KSV_DSTDEPBEG, KSV_DSTDEPEND,& - KSV_CO2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################## -!! -!!*** *AROINI_MNHC* -!! -!! PURPOSE -!! ------- -! initialize nsv -!! -!! -!! AUTHOR -!! ------ -!! P. Tulet *CNRM / GMEI* -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/04/05 -!! -!! EXTERNAL -!! -------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_NSV -USE MODD_CH_AEROSOL, ONLY : LORILAM, CAERONAMES, LVARSIGI, LVARSIGJ, NM6_AER -USE MODD_CH_MNHC_n, ONLY : LUSECHEM -USE MODD_CH_M9, ONLY : CNAMES -USE MODD_DUST -IMPLICIT NONE -! -!* 0. Declarations of arguments -! -INTEGER, INTENT(IN) :: KSV,KSV_CHEMBEG, KSV_CHEMEND, KSV_AERBEG, KSV_AEREND, & - KSV_DSTBEG, KSV_DSTEND, KSV_CO2, & - KSV_DSTDEPBEG, KSV_DSTDEPEND - - -INTEGER :: JN, ICO2 -!------------------------------------------------------------------------------- -! -! Initialize NSV and CSV (names of chemical aerosols and dusts species) -! -! -! Initialize NSV -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AROINI_NSV',0,ZHOOK_HANDLE) -NSV=KSV ! for LIMA case -IF (LUSECHEM) THEN - NSV_CHEMBEG = KSV_CHEMBEG - NSV_CHEMEND = KSV_CHEMEND - NSV_CHEM = KSV_CHEMEND - KSV_CHEMBEG + 1 - NSV=NSV_CHEM -ELSE -! force First index to be superior to last index -! in order to create a null section - NSV_CHEMBEG = 1 - NSV_CHEMEND = 0 - NSV_CHEM = 0 -END IF - -IF (LORILAM) THEN - NSV_AERBEG = KSV_AERBEG - NSV_AEREND = KSV_AEREND - NSV_AER = KSV_AEREND - KSV_AERBEG + 1 - NM6_AER = 0 - NSV=NSV_CHEM+NSV_AER - IF (LVARSIGI) NM6_AER = 1 - IF (LVARSIGJ) NM6_AER = NM6_AER + 1 -ELSE -! force First index to be superior to last index -! in order to create a null section - NSV_AERBEG = 1 - NSV_AEREND = 0 - NSV_AER = 0 - NM6_AER = 0 -END IF - -IF (LDUST) THEN - NSV_DSTBEG = KSV_DSTBEG - NSV_DSTEND = KSV_DSTEND - NSV_DST = KSV_DSTEND - KSV_DSTBEG + 1 - NSV=NSV_CHEM+NSV_AER+NSV_DST -ELSE -! force First index to be superior to last index -! in order to create a null section - NSV_DSTBEG = 1 - NSV_DSTEND = 0 - NSV_DST = 0 -END IF - -IF ((LDUST).AND.(LDEPOS_DST(1))) THEN - NSV_DSTDEPBEG = KSV_DSTDEPBEG - NSV_DSTDEPEND = KSV_DSTDEPEND - NSV_DSTDEP = KSV_DSTDEPEND - KSV_DSTDEPBEG + 1 - NSV = NSV_DST + NSV_DSTDEP + NSV_CHEM + NSV_AER -ELSE -! force First index to be superior to last index -! in order to create a null section - NSV_DSTDEPBEG = 1 - NSV_DSTDEPEND = 0 - NSV_DSTDEP = 0 -ENDIF - -NSV_CO2 = KSV_CO2 -ICO2 = 0 -IF (NSV_CO2 > 0) THEN - ICO2 = 1 - NSV = NSV_DST + NSV_DSTDEP + NSV_CHEM + NSV_AER + ICO2 -ENDIF -! -! Initialize CSV -! -IF ((LUSECHEM).OR.(LORILAM).OR.(LDUST).OR.(LDEPOS_DST(1))) THEN - IF (.NOT.ALLOCATED(CSV)) THEN - ALLOCATE(CSV(NSV)) - ELSE - DEALLOCATE(CSV) - ALLOCATE(CSV(NSV)) - ENDIF - - DO JN=NSV_CHEMBEG,NSV_CHEMEND - CSV(JN)(1:6) = CNAMES(JN-NSV_CHEMBEG+1)(1:6) - END DO - - DO JN=NSV_AERBEG,NSV_AEREND - CSV(JN)(1:6) = CAERONAMES(JN-NSV_AERBEG+1)(1:6) - END DO - - DO JN=NSV_DSTBEG,NSV_DSTEND - CSV(JN)(1:6) = CDUSTNAMES(JN-NSV_DSTBEG+1)(1:6) - END DO - - DO JN=NSV_DSTDEPBEG,NSV_DSTDEPEND - CSV(JN)(1:6) = CDEDSTNAMES(JN-NSV_DSTDEPBEG+1)(1:6) - END DO -ELSE - IF (.NOT.ALLOCATED(CSV)) THEN - ALLOCATE(CSV(0)) - ELSE - DEALLOCATE(CSV) - ALLOCATE(CSV(0)) - ENDIF -ENDIF -!------------------------------------------------------------------------------- -! -IF (LHOOK) CALL DR_HOOK('AROINI_NSV',1,ZHOOK_HANDLE) -END SUBROUTINE AROINI_NSV diff --git a/src/arome/chem/externals/aroini_nsv0.F90 b/src/arome/chem/externals/aroini_nsv0.F90 deleted file mode 100644 index 32c2c6b01a830bdd7425f61fcbefded95ba54c50..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/aroini_nsv0.F90 +++ /dev/null @@ -1,291 +0,0 @@ -!! ############################## -SUBROUTINE AROINI_NSV0(OUSECHEM,OORILAM,ODUST,OCO2,ODEPOS,KGFL,KGFL_EXT,& - KSV_CHEMBEG, KSV_CHEMEND, KSV_DSTBEG, KSV_DSTEND, & - KSV_DSTDEPBEG, KSV_DSTDEPEND, & - KSV_AERBEG, KSV_AEREND, KSV_CO2, CLNAME) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################## - -! MesoNH-C modules -USE MODD_CH_M9 , ONLY : NEQ, CNAMES -USE MODD_CH_M9_SCHEME, ONLY : I_NEQ=>NEQ, I_CNAMES=>CNAMES -USE MODD_CH_AEROSOL -USE MODD_DUST, ONLY : LVARSIG, NMODE_DST, CDUSTNAMES, YPDUST_INI,& - JPDUSTORDER, LRGFIX_DST, CDEDSTNAMES, YPDEDST_INI -USE MODI_CH_INIT_CCS -USE MODI_CH_INIT_SCHEME - - -!**** *SUINI_NSV * - Setting up the boundaries of the scalar vector GFL_EXT - -! Purpose. -! -------- -! Initialization of YOMNSV variables -!** Interface. -! ---------- -! *CALL* *AROINI_NSV0* - -! Explicit arguments : -! -------------------- - -! Implicit arguments : -! -------------------- -! Common MODD_CH_M9 -! Common MODD_CH_AEROSOL - -! Method. -! ------- - -! Externals. -! ---------- - -! Reference. -! ---------- -! - -! Author. -! ------- -! P. Tulet *CNRM* - -! Modifications. -! -------------- - -IMPLICIT NONE - -LOGICAL,INTENT(IN):: OORILAM -LOGICAL,INTENT(IN):: ODUST -LOGICAL,INTENT(IN):: OCO2 -LOGICAL,INTENT(IN):: OUSECHEM -LOGICAL,INTENT(IN):: ODEPOS -INTEGER,INTENT(IN) ::KGFL -INTEGER,INTENT(INOUT) ::KGFL_EXT -INTEGER,INTENT(INOUT) ::KSV_CHEMBEG -INTEGER,INTENT(INOUT) ::KSV_CHEMEND -INTEGER,INTENT(INOUT) ::KSV_DSTBEG -INTEGER,INTENT(INOUT) ::KSV_DSTEND -INTEGER,INTENT(INOUT) ::KSV_DSTDEPBEG -INTEGER,INTENT(INOUT) ::KSV_DSTDEPEND -INTEGER,INTENT(INOUT) ::KSV_AERBEG -INTEGER,INTENT(INOUT) ::KSV_AEREND -INTEGER,INTENT(INOUT) ::KSV_CO2 -CHARACTER(LEN=15), DIMENSION(KGFL), INTENT(INOUT) :: CLNAME - -INTEGER :: ISV ! total number of scalar variables -INTEGER :: JN, JSV, JSV_NAME, JMOMENTS, JMODE, JMODEIDX, JMOM ! index -INTEGER :: I_NM6_AER ! number of M6 aerosol variables -INTEGER :: I_NM6_DST ! number of M6 dust variables -INTEGER :: IMODEIDX -CHARACTER(LEN=10) :: CL_SCHEME - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AROINI_NSV0',0,ZHOOK_HANDLE) -ISV = 0 - -IF (OUSECHEM) THEN - - NEQ = I_NEQ - CNAMES =>I_CNAMES - CALL CH_INIT_SCHEME(6) - CALL CH_INIT_CCS(NEQ,6,6) - - KSV_CHEMBEG = ISV+1 - KSV_CHEMEND = ISV + NEQ - ISV = KSV_CHEMEND - - CL_SCHEME = "NONE" ! definition of gaseous scheme - DO JN=1, SIZE(CNAMES) - IF (TRIM(CNAMES(JN)) .EQ. "ALKA") CL_SCHEME = "RELACS" - IF (TRIM(CNAMES(JN)) .EQ. "HC3") CL_SCHEME = "RACM" - IF (TRIM(CNAMES(JN)) .EQ. "URG1") CL_SCHEME = "RELACS2" - IF (TRIM(CNAMES(JN)) .EQ. "UR21") CL_SCHEME = "CACM" - ENDDO -DO JN=KSV_CHEMBEG,KSV_CHEMEND -CLNAME(JN) = TRIM(CNAMES(JN-KSV_CHEMBEG+1)) -ENDDO -END IF - - -IF ((OUSECHEM).AND.(OORILAM)) THEN - - IF (CL_SCHEME == "RELACS2" .OR. CL_SCHEME == "CACM") THEN - NSOA = 10 - ELSE - NSOA = 0 ! No SOA formation - END IF - - I_NM6_AER = 0 - IF (LVARSIGI) I_NM6_AER = 1 - IF (LVARSIGJ) I_NM6_AER = I_NM6_AER + 1 - KSV_AERBEG = ISV+1 - KSV_AEREND = ISV+(NSP+NCARB+NSOA+1)*JPMODE + I_NM6_AER - ISV = KSV_AEREND - - IF (ALLOCATED(CAERONAMES)) DEALLOCATE(CAERONAMES) - ALLOCATE(CAERONAMES((NSP+NSOA+NCARB+1)*JPMODE+I_NM6_AER)) - ! Index gas scheme <=> Index Orilam -JP_CH_SO4I = 1 -JP_CH_SO4J = 2 -JP_CH_NO3I = 3 -JP_CH_NO3J = 4 -JP_CH_NH3I = 5 -JP_CH_NH3J = 6 -JP_CH_H2OI = 7 -JP_CH_H2OJ = 8 -JP_CH_OCI = 9 -JP_CH_OCJ = 10 -JP_CH_BCI = 11 -JP_CH_BCJ = 12 - -JP_CH_M0I = (NCARB + NSP + NSOA)*JPMODE +1 -JP_CH_M0J = (NCARB + NSP + NSOA)*JPMODE +2 -JP_CH_M6I = 0 -JP_CH_M6J = 0 -IF (LVARSIGI) JP_CH_M6I = (NCARB + NSP + NSOA)*JPMODE + 3 -IF ((LVARSIGI).AND.(LVARSIGJ)) THEN - JP_CH_M6J = (NCARB + NSP + NSOA)*JPMODE + 4 -ELSE IF ((LVARSIGJ).AND. .NOT.(LVARSIGI)) THEN - JP_CH_M6J = (NCARB + NSP + NSOA)*JPMODE + 3 -END IF - - ! Name of aerosol component -CAERONAMES(JP_CH_SO4I) = "SO4I" -CAERONAMES(JP_CH_SO4J) = "SO4J" -CAERONAMES(JP_CH_NH3I) = "NH3I" -CAERONAMES(JP_CH_NH3J) = "NH3J" -CAERONAMES(JP_CH_H2OI) = "H2OI" -CAERONAMES(JP_CH_H2OJ) = "H2OJ" -CAERONAMES(JP_CH_NO3I) = "NO3I" -CAERONAMES(JP_CH_NO3J) = "NO3J" -CAERONAMES(JP_CH_BCI) = "BCI" -CAERONAMES(JP_CH_BCJ) = "BCJ" -CAERONAMES(JP_CH_OCI) = "OCI" -CAERONAMES(JP_CH_OCJ) = "OCJ" -CAERONAMES(JP_CH_M0I) = "M0I" -CAERONAMES(JP_CH_M0J) = "M0J" -IF (LVARSIGI) CAERONAMES(JP_CH_M6I) = "M6I" -IF (LVARSIGJ) CAERONAMES(JP_CH_M6J) = "M6J" - -IF (NSOA .EQ. 10) THEN -JP_CH_SOA1I = 13 -JP_CH_SOA1J = 14 -JP_CH_SOA2I = 15 -JP_CH_SOA2J = 16 -JP_CH_SOA3I = 17 -JP_CH_SOA3J = 18 -JP_CH_SOA4I = 19 -JP_CH_SOA4J = 20 -JP_CH_SOA5I = 21 -JP_CH_SOA5J = 22 -JP_CH_SOA6I = 23 -JP_CH_SOA6J = 24 -JP_CH_SOA7I = 25 -JP_CH_SOA7J = 26 -JP_CH_SOA8I = 27 -JP_CH_SOA8J = 28 -JP_CH_SOA9I = 29 -JP_CH_SOA9J = 30 -JP_CH_SOA10I = 31 -JP_CH_SOA10J = 32 -CAERONAMES(JP_CH_SOA1I) = "SOA1I" -CAERONAMES(JP_CH_SOA1J) = "SOA1J" -CAERONAMES(JP_CH_SOA2I) = "SOA2I" -CAERONAMES(JP_CH_SOA2J) = "SOA2J" -CAERONAMES(JP_CH_SOA3I) = "SOA3I" -CAERONAMES(JP_CH_SOA3J) = "SOA3J" -CAERONAMES(JP_CH_SOA4I) = "SOA4I" -CAERONAMES(JP_CH_SOA4J) = "SOA4J" -CAERONAMES(JP_CH_SOA5I) = "SOA5I" -CAERONAMES(JP_CH_SOA5J) = "SOA5J" -CAERONAMES(JP_CH_SOA6I) = "SOA6I" -CAERONAMES(JP_CH_SOA6J) = "SOA6J" -CAERONAMES(JP_CH_SOA7I) = "SOA7I" -CAERONAMES(JP_CH_SOA7J) = "SOA7J" -CAERONAMES(JP_CH_SOA8I) = "SOA8I" -CAERONAMES(JP_CH_SOA8J) = "SOA8J" -CAERONAMES(JP_CH_SOA9I) = "SOA9I" -CAERONAMES(JP_CH_SOA9J) = "SOA9J" -CAERONAMES(JP_CH_SOA10I) = "SOA10I" -CAERONAMES(JP_CH_SOA10J) = "SOA10J" -END IF - -DO JN=KSV_AERBEG,KSV_AEREND -CLNAME(JN) = TRIM(CAERONAMES(JN-KSV_AERBEG+1)) -ENDDO -END IF - -KSV_CO2 = 0 -IF (OCO2) THEN - KSV_CO2 = ISV+1 - ISV = KSV_CO2 - CLNAME(KSV_CO2) = "CO2INT" -END IF - - -IF (ODUST) THEN - I_NM6_DST = 0 - IF (ODEPOS) LRGFIX_DST = .TRUE. - IF (LRGFIX_DST) LVARSIG = .FALSE. - IF (LVARSIG) I_NM6_DST = 1 - KSV_DSTBEG = ISV+1 - IF (LRGFIX_DST) THEN - KSV_DSTEND = ISV+NMODE_DST - ELSE - KSV_DSTEND = ISV+NMODE_DST*(2+I_NM6_DST) - ENDIF - - ISV = KSV_DSTEND - - IF(.NOT.ALLOCATED(CDUSTNAMES)) THEN - JMOMENTS = (KSV_DSTEND - KSV_DSTBEG +1 )/NMODE_DST - ALLOCATE(CDUSTNAMES(JMOMENTS*NMODE_DST)) - !Loop on all dust modes - IF (JMOMENTS == 1) THEN - DO JMODE=1,NMODE_DST - IMODEIDX=JPDUSTORDER(JMODE) - JSV_NAME = (IMODEIDX - 1)*3 + 2 - CDUSTNAMES(JMODE) = YPDUST_INI(JSV_NAME) - END DO - ELSE - - DO JMODE=1,NMODE_DST - !Find which mode we are dealing with - JMODEIDX=JPDUSTORDER(JMODE) - DO JMOM=1,JMOMENTS - !Find which number this is of the list of scalars - JSV = (JMODE-1)*JMOMENTS + JMOM - !Find what name this corresponds to, always 3 moments assumed in YPDUST_INI - JSV_NAME = (JMODEIDX - 1)*3 + JMOM - !Get the right CDUSTNAMES which should follow the list of scalars transported in XSVM/XSVT - CDUSTNAMES(JSV) = YPDUST_INI(JSV_NAME) - ENDDO ! Loop on moments - ENDDO ! Loop on dust modes - END IF - END IF !Check on allocated CDUSTNAMES already - -DO JN=KSV_DSTBEG,KSV_DSTEND -CLNAME(JN) = TRIM(CDUSTNAMES(JN-KSV_DSTBEG+1)) -ENDDO - -IF ((ODUST).AND.(ODEPOS)) THEN - KSV_DSTDEPBEG = ISV+1 - KSV_DSTDEPEND = ISV+NMODE_DST*2 - IF(.NOT.ALLOCATED(CDEDSTNAMES)) THEN - ALLOCATE(CDEDSTNAMES(NMODE_DST*2)) - DO JN=1,NMODE_DST - JMODEIDX=JPDUSTORDER(JN) - CDEDSTNAMES(JN) = YPDEDST_INI(JMODEIDX) - CDEDSTNAMES(NMODE_DST+JN) = YPDEDST_INI(NMODE_DST+JMODEIDX) - ENDDO - ENDIF -DO JN=KSV_DSTDEPBEG,KSV_DSTDEPEND - CLNAME(JN) = TRIM(CDEDSTNAMES(JN-KSV_DSTDEPBEG+1)) -ENDDO -ENDIF - -END IF - -KGFL_EXT = ISV - -IF (LHOOK) CALL DR_HOOK('AROINI_NSV0',1,ZHOOK_HANDLE) -END SUBROUTINE AROINI_NSV0 diff --git a/src/arome/chem/externals/ch_aer_init.F90 b/src/arome/chem/externals/ch_aer_init.F90 deleted file mode 100644 index f12e09807469094339b7f934c4277bacf12c9c63..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/ch_aer_init.F90 +++ /dev/null @@ -1,316 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_INIT(PCHEM,PAERO, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Realise l'equilibre entre les moments via la masse contenue -!! dans les aerosols, les diametres moyens et la dispersion. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL -USE MODD_CH_AERO_n -USE MODD_CH_M9, ONLY : CNAMES -USE MODD_CH_MNHC_n, ONLY : LCH_INIT_FIELD -USE MODD_NSV -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -! -!* 0.2 declarations local variables -! -REAL,DIMENSION(SIZE(PCHEM,1),SIZE(PCHEM,2),SIZE(PCHEM,3),JPMODE) :: ZN, ZRG, ZSIG -REAL,DIMENSION(SIZE(PCHEM,1),SIZE(PCHEM,2),SIZE(PCHEM,3),NSP+NCARB+NSOA,JPMODE) :: ZCTOTA -REAL,DIMENSION(SIZE(PCHEM,1),SIZE(PCHEM,2),SIZE(PCHEM,3)) :: ZSIGMA -REAL,DIMENSION(SIZE(PCHEM,1),SIZE(PCHEM,2),SIZE(PCHEM,3)) :: ZBCMINI, ZBCMINJ, ZOCMINI, ZOCMINJ -REAL,DIMENSION(SIZE(PCHEM,1),SIZE(PCHEM,2),SIZE(PCHEM,3),JPMODE*3) :: ZM, ZPM -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZMI -INTEGER :: JN, JJ, JK ! loop counter -REAL :: ZDEN2MOL, ZRHODREFMIN, ZCOEFAEROBC, ZCOEFAEROOC -REAL :: ZVALBC, ZVALOC, ZMINRGI, ZMINRGJ -REAL :: ZINIRADIUSI, ZINIRADIUSJ -! -!------------------------------------------------------------------------------- -! - -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! 1.1 initialisation -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_INIT',0,ZHOOK_HANDLE) -DO JJ=1,SIZE(CNAMES) -IF (CNAMES(JJ) == "CO") JP_CH_CO = JJ -END DO - -IF (CRGUNIT=="MASS") THEN -ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) -ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE -ZINIRADIUSI = XINIRADIUSI -ZINIRADIUSJ = XINIRADIUSJ -END IF -ZMINRGI = ZINIRADIUSI * XCOEFRADIMIN -ZMINRGJ = ZINIRADIUSJ * XCOEFRADJMIN - -DO JK=1, size(PRHODREF,3) -WHERE (PRHODREF(:,:,JK) .GT. 0.) -ZPM(:,:,JK,1) = 100.* XN0IMIN*PRHODREF(:,:,JK)/PRHODREF(:,:,size(PRHODREF,3)) -ELSEWHERE -ZPM(:,:,JK,1) = XN0IMIN -ENDWHERE -END DO -ZPM(:,:,:,2) = ZPM(:,:,:,1) * (ZINIRADIUSI**3)*EXP(4.5 * LOG(XINISIGI)**2) - -DO JK=1, size(PRHODREF,3) -WHERE (PRHODREF(:,:,JK) .GT. 0.) -ZPM(:,:,JK,4) = 100.* XN0JMIN*PRHODREF(:,:,JK)/PRHODREF(:,:,size(PRHODREF,3)) -ELSEWHERE -ZPM(:,:,JK,4) = XN0JMIN -ENDWHERE -END DO -ZPM(:,:,:,5) = ZPM(:,:,:,4) * (ZINIRADIUSJ**3)*EXP(4.5 * LOG(XINISIGJ)**2) -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD - -! Default values of molar mass - -ZMI(:) = 250. -ZMI(JP_AER_SO4) = 98. -ZMI(JP_AER_NO3) = 63. -ZMI(JP_AER_NH3) = 17. -ZMI(JP_AER_H2O) = 18. - -IF (NSOA .EQ. 10) THEN -ZMI(JP_AER_SOA1) = 88. -ZMI(JP_AER_SOA2) = 180. -ZMI(JP_AER_SOA3) = 1.5374857E+02 -ZMI(JP_AER_SOA4) = 1.9586780E+02 -ZMI(JP_AER_SOA5) = 195. -ZMI(JP_AER_SOA6) = 195. -ZMI(JP_AER_SOA7) = 165. -ZMI(JP_AER_SOA8) = 195. -ZMI(JP_AER_SOA9) = 270. -ZMI(JP_AER_SOA10) = 210. -END IF - -! Aerosol Density -! Cf Ackermann (all to black carbon except water) - XRHOI(:) = 1.8e3 - XRHOI(JP_AER_H2O) = 1.0e3 ! water - -PCHEM(:,:,:,:) = MAX(PCHEM(:,:,:,:), 0.) -PAERO(:,:,:,:) = MAX(PAERO(:,:,:,:), 0.) -! -DO JJ=1,NSP+NCARB+NSOA - XFAC(JJ)=(4./3.)*3.14292654*XRHOI(JJ)*1.e-9 -ENDDO -! -! -!* 1.n transfer aerosol mass from gas to aerosol variables -! (and conversion of part/part --> microgram/m3) -! -DO JJ=1,NSV_AER - PAERO(:,:,:,JJ) = PAERO(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -ENDDO - -ZBCMINI(:,:,:) = 0.6 * 6.0221367E+11 * XFAC(JP_AER_BC) * ZPM(:,:,:,2) / ZMI(JP_AER_BC) -ZOCMINI(:,:,:) = 0.4 * 6.0221367E+11 * XFAC(JP_AER_OC) * ZPM(:,:,:,2) / ZMI(JP_AER_OC) -ZBCMINJ(:,:,:) = 0.6 * 6.0221367E+11 * XFAC(JP_AER_BC) * ZPM(:,:,:,5) / ZMI(JP_AER_BC) -ZOCMINJ(:,:,:) = 0.4 * 6.0221367E+11 * XFAC(JP_AER_OC) * ZPM(:,:,:,5) / ZMI(JP_AER_OC) - -PAERO(:,:,:,JP_CH_BCi)=MAX(PAERO(:,:,:,JP_CH_BCi), ZBCMINI(:,:,:)) -PAERO(:,:,:,JP_CH_BCj)=MAX(PAERO(:,:,:,JP_CH_BCj), ZBCMINJ(:,:,:)) - -PAERO(:,:,:,JP_CH_OCi)=MAX(PAERO(:,:,:,JP_CH_OCi), ZOCMINI(:,:,:)) -PAERO(:,:,:,JP_CH_OCj)=MAX(PAERO(:,:,:,JP_CH_OCj), ZOCMINJ(:,:,:)) - -! -! mineral phase - ZCTOTA(:,:,:,JP_AER_SO4,1) = PAERO(:,:,:,JP_CH_SO4i)*ZMI(JP_AER_SO4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SO4,2) = PAERO(:,:,:,JP_CH_SO4j)*ZMI(JP_AER_SO4)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_NO3,1) = PAERO(:,:,:,JP_CH_NO3i)*ZMI(JP_AER_NO3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NO3,2) = PAERO(:,:,:,JP_CH_NO3j)*ZMI(JP_AER_NO3)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_NH3,1) = PAERO(:,:,:,JP_CH_NH3i)*ZMI(JP_AER_NH3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NH3,2) = PAERO(:,:,:,JP_CH_NH3j)*ZMI(JP_AER_NH3)/6.0221367E+11 - -! water - ZCTOTA(:,:,:,JP_AER_H2O,1) = PAERO(:,:,:,JP_CH_H2Oi)*ZMI(JP_AER_H2O)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_H2O,2) = PAERO(:,:,:,JP_CH_H2Oj)*ZMI(JP_AER_H2O)/6.0221367E+11 - -! -! primary organic carbon - ZCTOTA(:,:,:,JP_AER_OC,1) = PAERO(:,:,:,JP_CH_OCi)*ZMI(JP_AER_OC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_OC,2) = PAERO(:,:,:,JP_CH_OCj)*ZMI(JP_AER_OC)/6.0221367E+11 - -! primary black carbon - ZCTOTA(:,:,:,JP_AER_BC,1) = PAERO(:,:,:,JP_CH_BCi)*ZMI(JP_AER_BC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_BC,2) = PAERO(:,:,:,JP_CH_BCj)*ZMI(JP_AER_BC)/6.0221367E+11 - -! -IF (NSOA .EQ. 10) THEN - ZCTOTA(:,:,:,JP_AER_SOA1,1) = PAERO(:,:,:,JP_CH_SOA1i)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA1,2) = PAERO(:,:,:,JP_CH_SOA1j)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,1) = PAERO(:,:,:,JP_CH_SOA2i)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,2) = PAERO(:,:,:,JP_CH_SOA2j)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,1) = PAERO(:,:,:,JP_CH_SOA3i)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,2) = PAERO(:,:,:,JP_CH_SOA3j)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,1) = PAERO(:,:,:,JP_CH_SOA4i)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,2) = PAERO(:,:,:,JP_CH_SOA4j)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,1) = PAERO(:,:,:,JP_CH_SOA5i)*ZMI(JP_AER_SOA5)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,2) = PAERO(:,:,:,JP_CH_SOA5j)*ZMI(JP_AER_SOA5)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_SOA6,1) = PAERO(:,:,:,JP_CH_SOA6i)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA6,2) = PAERO(:,:,:,JP_CH_SOA6j)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,1) = PAERO(:,:,:,JP_CH_SOA7i)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,2) = PAERO(:,:,:,JP_CH_SOA7j)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,1) = PAERO(:,:,:,JP_CH_SOA8i)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,2) = PAERO(:,:,:,JP_CH_SOA8j)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,1) = PAERO(:,:,:,JP_CH_SOA9i)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,2) = PAERO(:,:,:,JP_CH_SOA9j)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,1) = PAERO(:,:,:,JP_CH_SOA10i)*ZMI(JP_AER_SOA10)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,2) = PAERO(:,:,:,JP_CH_SOA10j)*ZMI(JP_AER_SOA10)/6.0221367E+11 -END IF - - -!* 1.1 calculate moment 3 from mass - - ZM(:,:,:,2) = 0. - ZM(:,:,:,5) = 0. - ZCTOTA(:,:,:,:,:) = MAX(ZCTOTA(:,:,:,:,:), 0.) - DO JJ = 1,NSP+NCARB+NSOA - ZM(:,:,:,2) = ZM(:,:,:,2)+ZCTOTA(:,:,:,JJ,1)/XFAC(JJ) - ZM(:,:,:,5) = ZM(:,:,:,5)+ZCTOTA(:,:,:,JJ,2)/XFAC(JJ) - ENDDO -! -! -!* 1.2 calculate moment 0 from dispersion and mean radius - ZM(:,:,:,1)= ZM(:,:,:,2) / & - ((ZINIRADIUSI**3)*EXP(4.5 * (LOG(XINISIGI))**2)) - - ZM(:,:,:,4)= ZM(:,:,:,5) / & - ((ZINIRADIUSJ**3)*EXP(4.5 * (LOG(XINISIGJ))**2)) - -!* 1.3 calculate moment 6 from dispersion and mean radius - ZM(:,:,:,3) = ZM(:,:,:,1) * (ZINIRADIUSI**6) *EXP(18 *(LOG(XINISIGI))**2) - ZM(:,:,:,6) = ZM(:,:,:,4) * (ZINIRADIUSJ**6) *EXP(18 *(LOG(XINISIGJ))**2) - -IF (LVARSIGI) THEN ! set M6 variable standard deviation - ZM(:,:,:,3) = MAX(PAERO(:,:,:,JP_CH_M6i), 1E-80) -ELSE ! fixed standard deviation - ZM(:,:,:,3) = ZM(:,:,:,1) & - * ( (ZM(:,:,:,2)/ZM(:,:,:,1))**(1./3.) & - * exp(-(3./2.)*log(XINISIGI)**2))**6 & - * exp(18.*log(XINISIGI)**2) -END IF - -IF (LVARSIGJ) THEN ! set M6 variable standard deviation - ZM(:,:,:,6) = MAX(PAERO(:,:,:,JP_CH_M6j), 1E-80) -ELSE ! fixed standard deviation - ZM(:,:,:,6) = ZM(:,:,:,4) & - * ( (ZM(:,:,:,5)/ZM(:,:,:,4))**(1./3.) & - * exp(-(3./2.)*log(XINISIGJ)**2))**6 & - * exp(18.*log(XINISIGJ)**2) -END IF - - -DO JN=1,JPMODE - IF (JN .EQ. 1) THEN - - IF (LVARSIGI) THEN ! variable dispersion for mode 1 - - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGIMAX) - ZSIGMA(:,:,:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGIMIN) - ZSIGMA(:,:,:) = XSIGIMIN - END WHERE - - ELSE ! fixed dispersion for mode 1 - ZSIGMA(:,:,:) = XINISIGI - END IF - END IF - -! - IF (JN .EQ. 2) THEN - - IF (LVARSIGJ) THEN ! variable dispersion for mode 2 - - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGJMAX) - ZSIGMA(:,:,:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGJMIN) - ZSIGMA(:,:,:) = XSIGJMIN - END WHERE - - ELSE ! fixed dispersion for mode 2 - ZSIGMA(:,:,:) = XINISIGJ - END IF - END IF -! - - -!* 1.4 calculate modal parameters from moments -ZSIG(:,:,:,JN) = ZSIGMA(:,:,:) -ZN(:,:,:,JN) = ZM(:,:,:,NM0(JN)) - -ZSIGMA(:,:,:)=LOG(ZSIG(:,:,:,JN))**2 - -ZRG(:,:,:,JN)=(ZM(:,:,:,NM3(JN))/ZN(:,:,:,JN))**(1./3.)*EXP(-1.5*ZSIGMA(:,:,:)) - -ZM(:,:,:,NM6(JN))=ZN(:,:,:,JN)*ZRG(:,:,:,JN)**6*EXP(18.*ZSIGMA(:,:,:)) - -! -ENDDO -! -! -PAERO(:,:,:,JP_CH_M0i) = ZM(:,:,:,1) * 1E-6 -PAERO(:,:,:,JP_CH_M0j) = ZM(:,:,:,4) * 1E-6 - -IF (LVARSIGI) PAERO(:,:,:,JP_CH_M6i) = ZM(:,:,:,3) -IF (LVARSIGJ) PAERO(:,:,:,JP_CH_M6j) = ZM(:,:,:,6) - -! - DO JJ=1,NSV_AER - PAERO(:,:,:,JJ) = PAERO(:,:,:,JJ) / (ZDEN2MOL * PRHODREF(:,:,:)) - ENDDO - -IF (LHOOK) CALL DR_HOOK('CH_AER_INIT',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_INIT diff --git a/src/arome/chem/externals/ch_aer_mod_init.F90 b/src/arome/chem/externals/ch_aer_mod_init.F90 deleted file mode 100644 index d48c6c119f0a8a1c3ca6f7601e519b8100c5e89c..0000000000000000000000000000000000000000 --- a/src/arome/chem/externals/ch_aer_mod_init.F90 +++ /dev/null @@ -1,192 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_MOD_INIT - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! #################################### -!! -!! PURPOSE -!! ------- -!! initialize the aerosol module (to be called only once) -!! -!! METHOD -!! ------ -!! -!! allocate all arrays and initialize the basic variables (i.e. densities -!! and molar weights) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! 20/03/03 P . Tulet (CNRM/GMEI) add initialization tabulation -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_AEROSOL -!! - -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* arguments -! -! -!* local variables -INTEGER, PARAMETER :: nc=22, nh=16, nt=11 ! inorganic interpolation -INTEGER :: JI ! loop counter -INTEGER :: i,j,k,l,m, JJ !loop -INTEGER :: NRESP ! return code in FM routines -INTEGER :: NLUOUT ! unit for output listing count -REAL :: ZPI -! -!--------------------------------------------------------------------------- -! -! -! -! 1.1 initialisation of tables - -! Initialize the mineral tablution -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_MOD_INIT',0,ZHOOK_HANDLE) -NLUOUT = 77 -IF (CMINERAL == 'NARES') THEN -! .. the file ares.w contains the weights of the model - OPEN(NLUOUT,FILE="ares1A.w",STATUS="OLD") - READ(NLUOUT,*) I1IA,J1JA,K1KA - DO I=1,I1IA - READ(NLUOUT,*) X1MAXA(1,I),X1MINA(1,I),X1MODA(1,I) - ENDDO - DO I=1,K1KA - READ(NLUOUT,*) X1MAXA(2,I),X1MINA(2,I),X1MODA(2,I) - ENDDO - DO I=1,I1IA+1 - READ(NLUOUT,*) (W1IJA(I,J),J=1,J1JA) - ENDDO - DO J=1,J1JA+1 - READ(NLUOUT,*) (W1JKA(J,K),K=1,K1KA) - ENDDO - CLOSE(NLUOUT) - - OPEN(NLUOUT,FILE="ares1C.w",STATUS="OLD") - READ(NLUOUT,*) I1IC,J1JC,K1KC - DO I=1,I1IC - READ(NLUOUT,*) X1MAXC(1,I),X1MINC(1,I),X1MODC(1,I) - ENDDO - DO I=1,K1KC - READ(NLUOUT,*) X1MAXC(2,I),X1MINC(2,I),X1MODC(2,I) - ENDDO - DO I=1,I1IC+1 - READ(NLUOUT,*) (W1IJC(I,J),J=1,J1JC) - ENDDO - DO J=1,J1JC+1 - READ(NLUOUT,*) (W1JKC(J,K),K=1,K1KC) - ENDDO - CLOSE(NLUOUT) - - OPEN(NLUOUT,FILE="ares2A.w",STATUS="OLD") - READ(NLUOUT,*) I2IA,J2JA,K2KA - DO I=1,I2IA - READ(NLUOUT,*) X2MAXA(1,I),X2MINA(1,I),X2MODA(1,I) - ENDDO - DO I=1,K2KA - READ(NLUOUT,*) X2MAXA(2,I),X2MINA(2,I),X2MODA(2,I) - ENDDO - DO I=1,I2IA+1 - READ(NLUOUT,*) (W2IJA(I,J),J=1,J2JA) - ENDDO - DO J=1,J2JA+1 - READ(NLUOUT,*) (W2JKA(J,K),K=1,K2KA) - ENDDO - CLOSE(NLUOUT) - - OPEN(NLUOUT,FILE="ares2B.w",STATUS="OLD") - READ(NLUOUT,*) I2IB,J2JB,K2KB - DO I=1,I2IB - READ(NLUOUT,*) X2MAXB(1,I),X2MINB(1,I),X2MODB(1,I) - ENDDO - DO I=1,K2KB - READ(NLUOUT,*) X2MAXB(2,I),X2MINB(2,I),X2MODB(2,I) - ENDDO - DO I=1,I2IB+1 - READ(NLUOUT,*) (W2IJB(I,J),J=1,J2JB) - ENDDO - DO J=1,J2JB+1 - READ(NLUOUT,*) (W2JKB(J,K),K=1,K2KB) - ENDDO - CLOSE(NLUOUT) - - OPEN(NLUOUT,FILE="ares2C.w",STATUS="OLD") - READ(NLUOUT,*) I2IC,J2JC,K2KC - DO I=1,I2IC - READ(NLUOUT,*) X2MAXC(1,I),X2MINC(1,I),X2MODC(1,I) - ENDDO - DO I=1,K2KC - READ(NLUOUT,*) X2MAXC(2,I),X2MINC(2,I),X2MODC(2,I) - ENDDO - DO I=1,I2IC+1 - READ(NLUOUT,*) (W2IJC(I,J),J=1,J2JC) - ENDDO - DO J=1,J2JC+1 - READ(NLUOUT,*) (W2JKC(J,K),K=1,K2KC) - ENDDO - CLOSE(NLUOUT) - - -END IF - -IF (CMINERAL == 'TABUL') THEN -IF(.NOT.ALLOCATED(rhi)) ALLOCATE(rhi(16)) -IF(.NOT.ALLOCATED(tempi)) ALLOCATE(tempi(11)) -IF(.NOT.ALLOCATED(zsu)) ALLOCATE(zsu(22)) -IF(.NOT.ALLOCATED(znh)) ALLOCATE(znh(22)) -IF(.NOT.ALLOCATED(zni)) ALLOCATE(zni(22)) -IF(.NOT.ALLOCATED(zf)) ALLOCATE(zf(16,11,22,22,22,3)) -OPEN(NLUOUT,FILE="AEROMIN_NEW",STATUS="OLD") - -WRITE(*,*) 'LOADING MINERAL AEROSOL DATA ...' -DO i=1,nh -READ(NLUOUT,*) rhi(i) -ENDDO -DO i=1,nt -READ(NLUOUT,*) tempi(i) -ENDDO -DO i=1,nc -READ(NLUOUT,*) zsu(i) -ENDDO -DO i=1,nc -READ(NLUOUT,*) znh(i) -ENDDO -DO i=1,nc -READ(NLUOUT,*) zni(i) -ENDDO -DO i=1,nh -DO j=1,nt -DO k=1,nc -DO l=1,nc -DO m=1,nc - READ (NLUOUT,*) zf(i,j,k,l,m,1:3) -ENDDO -ENDDO -ENDDO -ENDDO -ENDDO -CLOSE(NLUOUT) -WRITE(*,*) 'END LOADING' -ENDIF - - - -IF (LHOOK) CALL DR_HOOK('CH_AER_MOD_INIT',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_MOD_INIT diff --git a/src/arome/chem/include/isrpia.inc b/src/arome/chem/include/isrpia.inc deleted file mode 100644 index e684212616de8303ce1c6d3763d678ca67453e62..0000000000000000000000000000000000000000 --- a/src/arome/chem/include/isrpia.inc +++ /dev/null @@ -1,116 +0,0 @@ -!======================================================================= -! -! *** ISORROPIA CODE -! *** INCLUDE FILE 'ISRPIA.INC' -! *** THIS FILE CONTAINS THE DECLARATIONS OF THE GLOBAL CONSTANTS -! AND VARIABLES. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! -! IMPLICIT DOUBLE PRECISION (A-H,O-Z) -! - INTEGER :: NCOMP,NIONS,NGASAQ,NSLDS,NPAIR,NZSR,NERRMX - PARAMETER (NCOMP=5,NIONS=7,NGASAQ=3,NSLDS=9,NPAIR=13,NZSR=100, & - & NERRMX=25) -! -! *** INPUT VARIABLES ************************************************** -! - INTEGER :: IPROB,METSTBL - REAL(KIND=8) :: W,WAER,TEMP,RH - COMMON /INPT/ W(NCOMP), WAER(NCOMP), TEMP, RH, IPROB, METSTBL -! -! *** WATER ACTIVITIES OF PURE SALT SOLUTIONS ************************** -! - REAL(KIND=8) :: AWAS,AWSS,AWAC,AWSC,AWAN,AWSN,AWSB,AWAB,AWSA,AWLC - COMMON /ZSR / AWAS(NZSR), AWSS(NZSR), AWAC(NZSR), AWSC(NZSR), & - & AWAN(NZSR), AWSN(NZSR), AWSB(NZSR), AWAB(NZSR), & - & AWSA(NZSR), AWLC(NZSR) -! -! *** DELIQUESCENCE RELATIVE HUMIDITIES ******************************** -! - INTEGER :: WFTYP - REAL(KIND=8) :: DRH2SO4,DRNH42S4,DRNAHSO4,DRNACL,DRNANO3 - REAL(KIND=8) :: DRNA2SO4,DRNH4HS4,DRLC,DRNH4NO3,DRNH4CL - REAL(KIND=8) :: DRMLCAB,DRMLCAS,DRMASAN,DRMG1,DRMG2 - REAL(KIND=8) :: DRMG3,DRMH1,DRMH2,DRMI1,DRMI2 - REAL(KIND=8) :: DRMI3,DRMQ1,DRMR1,DRMR2,DRMR3 - REAL(KIND=8) :: DRMR4,DRMR5,DRMR6,DRMR7,DRMR8 - REAL(KIND=8) :: DRMR9,DRMR10,DRMR11,DRMR12,DRMR13 - COMMON /DRH / DRH2SO4, DRNH42S4, DRNAHSO4, DRNACL, DRNANO3, & - & DRNA2SO4, DRNH4HS4, DRLC, DRNH4NO3, DRNH4CL - COMMON /MDRH/ DRMLCAB, DRMLCAS, DRMASAN, DRMG1, DRMG2, & - & DRMG3, DRMH1, DRMH2, DRMI1, DRMI2, & - & DRMI3, DRMQ1, DRMR1, DRMR2, DRMR3, & - & DRMR4, DRMR5, DRMR6, DRMR7, DRMR8, & - & DRMR9, DRMR10, DRMR11, DRMR12, DRMR13, & - & WFTYP -! -! *** VARIABLES FOR LIQUID AEROSOL PHASE ******************************* -! - REAL(KIND=8) :: MOLAL, MOLALR, M0 - REAL :: IONIC - REAL(KIND=8) :: GAMA,ZZ,Z,GAMOU,GAMIN,GASAQ,EPSACT - REAL(KIND=8) :: COH,CHNO3,CHCL,WATER - INTEGER :: IACALC - LOGICAL :: CALAOU, CALAIN, FRST, DRYF - COMMON /IONS/ MOLAL(NIONS), MOLALR(NPAIR), GAMA(NPAIR), ZZ(NPAIR),& - & Z(NIONS), GAMOU(NPAIR), GAMIN(NPAIR),M0(NPAIR),& - & GASAQ(NGASAQ), & - & EPSACT, COH, CHNO3, CHCL, & - & WATER, IONIC, IACALC, & - & FRST, CALAIN, CALAOU, DRYF -! -! *** VARIABLES FOR SOLID AEROSOL PHASE ******************************** -! - REAL(KIND=8) :: CH2SO4,CNH42S4,CNH4HS4,CNACL,CNA2SO4 - REAL(KIND=8) :: CNANO3,CNH4NO3,CNH4CL,CNAHSO4,CLC - COMMON /SALT/ CH2SO4, CNH42S4, CNH4HS4, CNACL, CNA2SO4, & - & CNANO3, CNH4NO3, CNH4CL, CNAHSO4, CLC -! -! *** VARIABLES FOR GAS PHASE ****************************************** -! - REAL(KIND=8) :: GNH3,GHNO3,GHCL - COMMON /GAS / GNH3, GHNO3, GHCL -! -! *** EQUILIBRIUM CONSTANTS ******************************************** -! - REAL(KIND=8) :: XK1,XK2,XK3,XK4,XK5,XK6,XK7,XK8,XK9,XK10,XK42 - REAL(KIND=8) :: XK11,XK12,XK13,XK14,XKW, XK21,XK22,XK31,XK32,XK41 - COMMON /EQUK/ XK1, XK2, XK3, XK4, XK5, XK6, XK7, XK8, XK9, XK10, & - & XK11,XK12,XK13,XK14,XKW, XK21,XK22,XK31,XK32,XK41, & - & XK42 -! -! *** MOLECULAR WEIGHTS ************************************************ -! - REAL(KIND=8) :: IMW - REAL(KIND=8) :: R,WMW,SMW - COMMON /OTHR/ R, IMW(NIONS), WMW(NCOMP), SMW(NPAIR) -! -! *** SOLUTION/INFO VARIABLES ****************************************** -! - CHARACTER SCASE*15 - REAL(KIND=8) :: SULRATW,SULRAT,SODRAT - COMMON /CASE/ SULRATW, SULRAT, SODRAT, SCASE -! - REAL(KIND=8) :: EPS - INTEGER :: MAXIT,NSWEEP,NDIV,ICLACT - COMMON /SOLN/ EPS, MAXIT, NSWEEP, NDIV, ICLACT -! -! *** ERROR SYSTEM ***************************************************** -! - CHARACTER ERRMSG*40 - INTEGER ERRSTK, NOFER - LOGICAL STKOFL - COMMON /EROR/ STKOFL, NOFER, ERRSTK(NERRMX), ERRMSG(NERRMX) -! -! *** GENERIC VARIABLES ************************************************ -! - CHARACTER VERSION*14 - REAL(KIND=8) :: GREAT,TINY,TINY2,ZERO,ONE - COMMON /CGEN/ GREAT, TINY, TINY2, ZERO, ONE, VERSION -! -! *** END OF INCLUDE FILE ********************************************** -! diff --git a/src/arome/chem/include/parameter.h b/src/arome/chem/include/parameter.h deleted file mode 100644 index 90f2d0fbe001f8335ecbfa603d0d0b551e60dbc6..0000000000000000000000000000000000000000 --- a/src/arome/chem/include/parameter.h +++ /dev/null @@ -1,98 +0,0 @@ -C *** CIT AIRSHED MODEL *** -C INCLUDE FILE TO DEFINE MAXIMUM ARRAY SIZES -C WRITTEN BY ROBERT HARLEY (FEBRUARY 1991) -C -C CAUTIONARY NOTES: IF CHANGES ARE MADE TO THIS FILE, -C BE SURE TO CHECK THAT THE DEFINITION OF LBIGRC IS REVISED -C (IF NGMX OR NGMY IS CHANGED). ALSO, IF NEMAX OR NIMAX -C ARE CHANGED, VERIFY THE NEW DEFINITION OF LWORK. -C -C NSMAX - MAXIMUM NUMBER OF CHEMICAL SPECIES -C NIMAX - MAXIMUM NUMBER OF INITIAL CONDITION SPECIES -C NEMAX - MAXIMUM NUMBER OF EMITTED SPECIES -C NHCMAX - MAXIMUM NUMBER OF HYDROCARBON SPECIES -C NLUMAX - MAXIMUM NUMBER OF LAND USE TYPES -C NRMAX - MAXIMUM NUMBER OF CHEMICAL REACTIONS -C NPMAX - MAXIMUM NUMBER OF POINT SOURCES -C NCMAX - MAXIMUM NUMBER OF SPECIAL COEFFICIENTS -C LWORK - LENGTH OF THE WORK VECTOR -C -C AEROSOL PARAMETERS -C - PARAMETER (NASECT = 8) ! aerosol sections - PARAMETER (NASPEC = 37) ! aerosol species - PARAMETER (IAPART = 0) ! transport calculations -c PARAMETER (IAPART = 1) ! equilibrium calculations - PARAMETER (IAAPP = 0) ! 0:full rigorous calculation; 1:w/o solids - PARAMETER (IAOPT = 2) ! 1: Bromley; 2: Kusk and Meissner; 3: Pitzer - PARAMETER (IASEC = 1) ! (0/1): calculating or ignoring minor solids - PARAMETER (IATX = 20) ! number of maximum iterations - PARAMETER (AEPS1 = 0.001)! error tolerance for H+ and water convr. - PARAMETER (AEPS2 = 0.01) ! error tolerance for solids convergence - PARAMETER (DPUP = 10.) ! micrometer upper limit aerosol diameter - PARAMETER (DPLOW = 0.039) ! micrometer lower limit aerosol diameter - PARAMETER (DENSP = 1.2) ! aerosol density (g/cm3) - PARAMETER (ACOURANT = 0.1) ! courant number - PARAMETER (IWATCAL = 1) ! 0:only do water evap/cond 1:full evap/cond - PARAMETER (ISALTCAL = 0) ! Sea-salt emissions: 0:read from file 1:calculate - - PARAMETER (NGSPEC = 124) - PARAMETER (NAMAX = NASECT*NASPEC) - PARAMETER (NSMAX = NGSPEC + NAMAX, NIMAX = 84, NEMAX = 172) - PARAMETER (NHCMAX = 20, NLUMAX = 32, NRMAX = 361) - PARAMETER (NPMAX = 1200, NCMAX = 47) -C -C MAXIMUM NUMBER OF GRID SQUARES (DO NOT SET NGMZ LARGER THAN 10) -C NGMX - MAXIMUM NUMBER OF MASTER GRID CELLS IN X DIRECTION -C NGMY - MAXIMUM NUMBER OF MASTER GRID CELLS IN Y DIRECTION -C NGMZ - MAXIMUM NUMBER OF VERTICAL COMPUTATIONAL CELLS -C LBIGRC - SET TO LARGER OF NGMX AND NGMY -C - PARAMETER (NGMX = 1, NGMY = 1, NGMZ = 1) - PARAMETER (LBIGRC = NGMX) -C -C DEFINE LWORK USING THE LARGER OF NEMAX AND NIMAX -C - PARAMETER (LWORK = NGMX * NGMY * NEMAX) -C -C DERIVED PARAMETERS FOR SCALAR AND VECTOR ARRAY DIMENSIONS -C -C LSCAL - ELEMENTS IN A SCALAR (SURFACE LEVEL ONLY) ARRAY -C LWIND - ELEMENTS IN THE 3D WIND FIELD ARRAY -C LAREAS - ELEMENTS IN GROUND-LEVEL EMISSIONS ARRAY -C LC - ELEMENTS IN SPECIES CONCENTRATION ARRAY -C LIC - ELEMENTS IN INITIAL CONDITION CONCENTRATION ARRAY -C LAVG - ELEMENTS IN HOURLY AVERAGE GROUND-LEVEL CONC ARRAY -C - PARAMETER (LSCAL = NGMX * NGMY) - PARAMETER (LWIND = NGMX * NGMY * (NGMZ+1)) - PARAMETER (LAREAS = NGMX * NGMY * NEMAX) - PARAMETER (LC = NGMX * NGMY * NGMZ * NSMAX) - PARAMETER (LIC = NGMX * NGMY * NGMZ * NIMAX) - PARAMETER (LAVG = NGMX * NGMY * NSMAX) -C -C DERIVED PARAMETERS FOR BOUNDARY CONDITION ARRAYS -C - PARAMETER (LBR = NGMY * NGMZ * NSMAX) - PARAMETER (LBRIC = NGMY * NGMZ * NIMAX) - PARAMETER (LBC = NGMX * NGMZ * NSMAX) - PARAMETER (LBCIC = NGMX * NGMZ * NIMAX) -C -C TOTAL NUMBER OF STORAGE LOCATIONS REQUIRED FOR -C A VERTICAL COLUMN OF SPECIES CONCENTRATIONS -C - PARAMETER (LCOLSP = NSMAX * NGMZ) -C -C TOTAL NUMBER OF STORAGE LOCATIONS REQUIRED TO SPECIFY -C ALL CHEMICAL REACTION RATES IN A SINGLE VERTICAL COLUMN -C - PARAMETER (NRZ = NRMAX * NGMZ) - - - - - - - - - diff --git a/src/arome/chem/interface/aro_mnhc.h b/src/arome/chem/interface/aro_mnhc.h deleted file mode 100644 index 4562b1c1ef7382740d89bd05cd50e7f12a8bb238..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aro_mnhc.h +++ /dev/null @@ -1,100 +0,0 @@ -INTERFACE - SUBROUTINE ARO_MNHC(PRSVSIN, PRHODREF, PTSTEP, & - PTHT, PABST, & - PRT, PLAT, PLON, & - PALB_UV, PZS, PZENITH, PZZ, & - KYEAR, KMONTH, KDAY, PTIME, & - KLON,KLEV,NSV, KRR, & - KTCOUNT, KLUOUT,NDIAG,PPEZDIAG,PRSVS) -!! -!!*** *ARO_MNHC* monitor of the chemical module of MesoNH-C -!! -!! PURPOSE -!! ------- -!! The purpose of this subroutine is to control the chemical module -!! i.e. to pass the meteorological parameters from MesoNH to its chemical -!! part and to call the different subroutines (calculation of rate constants, -!! photolysis rates, stiff solver,..) -!! -!! METHOD -!! ------ -!! The calculation of the chemical terms is performed using a loop -!! over all spatial dimensions. -!! -!! For each single grid point, all necessary meteorological parameters are -!! passed into the chemical core system (variable TZM). This variable is -!! then passed on to the subroutines that calculate the reaction and -!! photolysis rates. Then the chemical solver is called. As the chemistry -!! part works with different units than MesoNH (MesoNH uses mixing ratio, -!! the chemisty part uses molec/cm3) some unit conversion is also performed. -!! -!! Temporal integration is performed over a double timestep 2*PTSTEP -!! (except in the case of a cold start). If the timestep of MesoNH -!! is too large for the chemical solver, several smaller steps can -!! be taken using the NCH_SUBSTEPS parameter. -!! "SPLIT" : from PRSVS the scalar variable at t+dt is calculated and -!! given as input to the solver; the result is rewritten -!! into PRSVS; this corresponds to applying first only dynamics -!! and then only chemistry; this option assures positivity, but -!! degrades the order of the temporal integration. -!! In fact, an overhead of a factor two is produced here. -!! A future solution will be to calculate the dynamics -!! of the scalar variables not using leapfrog, but forward -!! temporal integration. -!! Vectorization Mask : Need ISVECMASK for photolysis (input(IN)) -!! ISVECNMASK = Nb of vector -!! IDT1 = Nb of points for the first dimension (for arome = size of vector) -!! IDT2 = Nb of points for the second dimension (for arome = 1) -!! IDT3 = Nb of points in vertical -!! -!! -!! -!! REFERENCE -!! --------- -!! Book 1, 2, 3 of MesoNH-chemistry -!! -!! AUTHOR -!! ------ -!! P. Tulet *CNRM / GMEI* and contributors of MesoNH-C (K. Shure, C. Mari, V. Crassier) -!! -!! MODIFICATIONS -!! ------------- -!! Original 10/11/04 -!! -!! EXTERNAL -!! -------- -USE PARKIND1 ,ONLY : JPIM, JPRB -! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -INTEGER(KIND=JPIM), INTENT(IN) :: KLON !NPROMA under CPG -INTEGER(KIND=JPIM), INTENT(IN) :: KLEV !Number of vertical levels -INTEGER(KIND=JPIM), INTENT(IN) :: NSV ! Number of passive scalar -INTEGER(KIND=JPIM), INTENT(IN) :: KRR ! Number of moist variables -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,NSV), INTENT(IN) :: PRSVSIN ! Input source of scalar variable -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PRHODREF ! iteration count -REAL(KIND=JPRB), INTENT(IN) :: PTSTEP ! time step of MesoNH -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PTHT, PABST ! theta and pressure at t -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KRR), INTENT(IN) :: PRT ! moist variables at t -REAL(KIND=JPRB), DIMENSION(KLON,1), INTENT(IN) :: PLAT, PLON ! lat, lon of each points -REAL(KIND=JPRB), DIMENSION(KLON,1), INTENT(IN) :: PALB_UV, PZS, PZENITH -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV), INTENT(IN) :: PZZ -INTEGER(KIND=JPIM), INTENT(IN) :: KYEAR ! Current Year -INTEGER(KIND=JPIM), INTENT(IN) :: KMONTH ! Current Month -INTEGER(KIND=JPIM), INTENT(IN) :: KDAY ! Current Day -REAL(KIND=JPRB), INTENT(IN) :: PTIME ! Current time in second -INTEGER(KIND=JPIM), INTENT(IN) :: KTCOUNT ! iteration count -INTEGER(KIND=JPIM), INTENT(IN) :: KLUOUT ! unit for output listing count -INTEGER(KIND=JPIM), INTENT(IN) :: NDIAG ! nb of diagnostics -REAL(KIND=JPRB), DIMENSION(KLON,KLEV,NDIAG),INTENT(INOUT) :: PPEZDIAG -REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,NSV), INTENT(OUT) :: PRSVS ! output source of scalar variable - -! -! -END SUBROUTINE ARO_MNHC -END INTERFACE diff --git a/src/arome/chem/interface/aro_mnhdust.h b/src/arome/chem/interface/aro_mnhdust.h deleted file mode 100644 index c0e1c96202ca02356007b6dfdd2db053703deca6..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aro_mnhdust.h +++ /dev/null @@ -1,71 +0,0 @@ -INTERFACE -SUBROUTINE ARO_MNHDUST(KKL,KLON,KLEV,KSV,PTSTEP & - ,PSVTIN & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PDZZ & !I [m] layers thikness - ,PPABST & !I Pressure - ,PTHT & !I Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KSWB & !I [nbr] number of shortwave bands - ,KTCOUNT & !I number of time step - ,PSVT & !O [moments/molec_{air}] Transported moments of dust - ,PPIZA_WVL & !O [-] single scattering albedo of dust - ,PCGA_WVL & !O [-] assymetry factor for dust layer - ,PTAUREL_WVL & !O [-] opt.depth/opt.depth(550) for dust - ,PAER & !O [-] ext coeff at 550 for dust - ,NDIAG & !I [-] nb of diagnostics - ,PPEZDIAG & !IO [-] diag Nb/m3,ug/m3,rg(nb;um),rg(m;um),SSA,assym,AOD/550,mode & wvl - ) - -! -!*** *ARO_MNHDUST* -! -! PURPOSE -! ------- - -! Interface routine for initialisation of dust optical properties -! before radiation scheme call - -! AUTHOR. -! ------- -! Y. Seity (CNRM/GMAP) -! 10-10-05 - -! MODIFICATIONS -! ------------- -! Original 10/10/05 -! -! EXTERNAL -! ------- - -USE PARKIND1 ,ONLY : JPIM,JPRB - - - IMPLICIT NONE - - !INPUT - INTEGER(KIND=JPIM), INTENT(IN) :: KKL ! IKL under apl_arome - INTEGER(KIND=JPIM), INTENT(IN) :: KLON ! NPROMA under CPG - INTEGER(KIND=JPIM), INTENT(IN) :: KLEV ! Number of vertical levels - INTEGER(KIND=JPIM), INTENT(IN) :: KSV ! Number of passive scalar - INTEGER(KIND=JPIM), INTENT(IN) :: KSWB !I number of shortwave wavelengths - INTEGER(KIND=JPIM), INTENT(IN) :: KTCOUNT !I number of time step - REAL(KIND=JPRB), INTENT(IN) :: PTSTEP ! Time step - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KSV),INTENT(IN) :: PSVTIN !I [moments/molec{air}] transported moments of dust - INTEGER(KIND=JPIM), INTENT(IN) :: NDIAG ! nb of diagnostics - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PZZ !I [m] height of layers - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PDZZ !I [m] layers thikness - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PRHODREF !I [kg/m3] density of air - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PTHT !I [K] potentiel temperature - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PPABST !I [Pa] pressure - - !OUTPUT - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KSV),INTENT(OUT) :: PSVT !O [moments/molec{air}] transported moments of dust - REAL(KIND=JPRB), DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PPIZA_WVL !O [-] SSA of dust layer for all SW wavelengths - REAL(KIND=JPRB), DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PCGA_WVL !O [-] assymetry for dust layer for all SW wvl - REAL(KIND=JPRB), DIMENSION(KLON,KLEV,KSWB),INTENT(INOUT) :: PTAUREL_WVL !O [-] AOD/550 for dust layer for all SW wvl - REAL(KIND=JPRB), DIMENSION(KLON,KLEV,NDIAG),INTENT(INOUT) :: PPEZDIAG - REAL(KIND=JPRB), DIMENSION(KLON,KLEV), INTENT(INOUT) :: PAER - -END SUBROUTINE ARO_MNHDUST -END INTERFACE diff --git a/src/arome/chem/interface/aro_rainaero.h b/src/arome/chem/interface/aro_rainaero.h deleted file mode 100644 index cda239ce122f71f8d77831dac4e65fd474304c74..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aro_rainaero.h +++ /dev/null @@ -1,62 +0,0 @@ -INTERFACE -SUBROUTINE ARO_RAINAERO(KLON,KLEV,NSV,KRR, PTSTEP & - ,PSVTIN & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PPABST & ! Pressure - ,PTHT & ! Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KTCOUNT & ! number of time step - ,PRT & ! moist field - ,PEVAP & ! evaporation profile - ,KSPLITR & ! rain sedimentation time splitting - ,PSVT & !O [moments/molec_{air}] Transported moments of dust - ) - -! -!*** *ARO_RAINAERO* -! -! PURPOSE -! ------- - -! Interface routine for initialisation of dust optical properties -! before radiation scheme call - -! AUTHOR. -! ------- -! P. Tulet - -! MODIFICATIONS -! ------------- -! Original 10/10/05 -! -! EXTERNAL -! ------- - - - -USE PARKIND1 ,ONLY : JPIM,JPRB - - - IMPLICIT NONE - - !INPUT - INTEGER(KIND=JPIM), INTENT(IN) :: KLON !NPROMA under CPG - INTEGER(KIND=JPIM), INTENT(IN) :: KLEV !Number of vertical levels - INTEGER(KIND=JPIM), INTENT(IN) :: NSV ! Number of passive scalar - INTEGER(KIND=JPIM), INTENT(IN) :: KRR ! Number of moist variables - REAL(KIND=JPRB), INTENT(IN) :: PTSTEP ! Time step - - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,NSV),INTENT(IN) :: PSVTIN !I [moments/molec_{air}] transported moments of dust - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,KRR),INTENT(IN) :: PRT ! Moist variables at time t - - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PZZ !I [m] height of layers - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PRHODREF !I [kg/m3] density of air - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PTHT !I [K] potentiel temperature - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PPABST !I [Pa] pressure - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV),INTENT(IN) :: PEVAP !I Evaporation - INTEGER(KIND=JPIM), INTENT(IN) :: KTCOUNT !I number of time step - INTEGER(KIND=JPIM), INTENT(IN) :: KSPLITR ! Number of small time step - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV,NSV),INTENT(OUT) :: PSVT !O [moments/molec_{air}] transported moments of dust - -END SUBROUTINE ARO_RAINAERO -END INTERFACE diff --git a/src/arome/chem/interface/aro_wetdep.h b/src/arome/chem/interface/aro_wetdep.h deleted file mode 100644 index da72bfd1419dbfdb3d4b670f89e0e256c2aa59b7..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aro_wetdep.h +++ /dev/null @@ -1,61 +0,0 @@ -INTERFACE -SUBROUTINE ARO_WETDEP(KLON,KLEV,NSV,KRR, PTSTEP & - ,PSVT & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PPABST & ! Pressure - ,PTHT & ! Potential temperature - ,PRHODREF & !I [kg/m3] density of air - ,KTCOUNT & ! number of time step - ,PRT & ! moist field - ,PEVAP & ! evaporation profile - ,KSPLITR & ! rain sedimentation time splitting - ) - -! -!*** *ARO_RAINAERO* -! -! PURPOSE -! ------- - -! Interface routine for initialisation of dust optical properties -! before radiation scheme call - -! AUTHOR. -! ------- -! P. Tulet - -! MODIFICATIONS -! ------------- -! Original 10/10/05 -! 01-02-2011 M. Mokhtari: Adaptation of ARO_RAINAERO under ARO_WETDEP for Aladin -! -! EXTERNAL -! ------- - - - -USE PARKIND1 ,ONLY : JPIM,JPRB - - - IMPLICIT NONE - - !INPUT - INTEGER(KIND=JPIM), INTENT(IN) :: KLON !NPROMA under CPG - INTEGER(KIND=JPIM), INTENT(IN) :: KLEV !Number of vertical levels - INTEGER(KIND=JPIM), INTENT(IN) :: NSV ! Number of passive scalar - INTEGER(KIND=JPIM), INTENT(IN) :: KRR ! Number of moist variables - REAL(KIND=JPRB), INTENT(IN) :: PTSTEP ! Time step - - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2,NSV),INTENT(INOUT) :: PSVT !I [moments/molec_{air}] transported moments of dust - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2,KRR),INTENT(IN) :: PRT ! Moist variables at time t - - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2),INTENT(IN) :: PZZ !I [m] height of layers - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2),INTENT(IN) :: PRHODREF !I [kg/m3] density of air - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2),INTENT(IN) :: PTHT !I [K] potentiel temperature - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2),INTENT(IN) :: PPABST !I [Pa] pressure - REAL(KIND=JPRB), DIMENSION(KLON,1,KLEV+2),INTENT(IN) :: PEVAP !I Evaporation - INTEGER(KIND=JPIM), INTENT(IN) :: KTCOUNT !I number of time step - INTEGER(KIND=JPIM), INTENT(IN) :: KSPLITR ! Number of small time step - -END SUBROUTINE ARO_WETDEP -END INTERFACE diff --git a/src/arome/chem/interface/aroini_mnhc.h b/src/arome/chem/interface/aroini_mnhc.h deleted file mode 100644 index 15e1103f7e5aa4c76fbf505b5b105fa4aad78724..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aroini_mnhc.h +++ /dev/null @@ -1,54 +0,0 @@ -INTERFACE -SUBROUTINE AROINI_MNHC(OUSECHEM, OORILAM, ODUST, ODEPOS, & - OINITCHEM, OINITDUST, OINITORILAM,& - KDAY,KMONTH, KYEAR, KLUOUT, KPROC) - -!! -!!*** *AROINI_MNHC* -!! -!! PURPOSE -!! ------- -! initialize chemical variables -! initialize chemical core system -!! -!! -!! AUTHOR -!! ------ -!! P. Tulet *CNRM / GMEI* and contributors of MesoNH-C (K. Shure, C. Mari, V. Crassier) -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/04/05 -!! -!! EXTERNAL -!! -------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE PARKIND1 ,ONLY : JPIM - -!! -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -LOGICAL, INTENT(IN) :: OUSECHEM -LOGICAL, INTENT(IN) :: ODUST -LOGICAL, INTENT(IN) :: OORILAM -LOGICAL, INTENT(IN) :: ODEPOS -LOGICAL, INTENT(IN) :: OINITCHEM -LOGICAL, INTENT(IN) :: OINITDUST -LOGICAL, INTENT(IN) :: OINITORILAM -INTEGER(KIND=JPIM), INTENT(IN) :: KLUOUT ! output listing channel -INTEGER(KIND=JPIM), INTENT(IN) :: KYEAR ! year of initialization -INTEGER(KIND=JPIM), INTENT(IN) :: KMONTH ! month of initialization -INTEGER(KIND=JPIM), INTENT(IN) :: KDAY ! day of initialization -INTEGER(KIND=JPIM), INTENT(IN) :: KPROC ! proc number -! -END SUBROUTINE AROINI_MNHC -END INTERFACE diff --git a/src/arome/chem/interface/aroini_nsv.h b/src/arome/chem/interface/aroini_nsv.h deleted file mode 100644 index 8f2f6049e4cf1d43ce352ac022bebb81741b52e9..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aroini_nsv.h +++ /dev/null @@ -1,12 +0,0 @@ -INTERFACE -SUBROUTINE AROINI_NSV(KSV,KSV_CHEMBEG, KSV_CHEMEND, KSV_AERBEG, KSV_AEREND, & - KSV_DSTBEG, KSV_DSTEND, KSV_DSTDEPBEG, KSV_DSTDEPEND,& - KSV_CO2) -USE PARKIND1 ,ONLY : JPIM - -INTEGER(KIND=JPIM), INTENT(IN)::KSV,KSV_CHEMBEG, KSV_CHEMEND, KSV_AERBEG,& - & KSV_AEREND , KSV_DSTBEG , KSV_DSTEND,& - & KSV_DSTDEPBEG, KSV_DSTDEPEND, KSV_CO2 - -END SUBROUTINE AROINI_NSV -END INTERFACE diff --git a/src/arome/chem/interface/aroini_nsv0.h b/src/arome/chem/interface/aroini_nsv0.h deleted file mode 100644 index 1dd2668bf5c07e515421d5ee5caff381dd759482..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/aroini_nsv0.h +++ /dev/null @@ -1,64 +0,0 @@ -INTERFACE -SUBROUTINE AROINI_NSV0(OUSECHEM,OORILAM,ODUST,OCO2, ODEPOS, KGFL,KGFL_EXT, & - KSV_CHEMBEG, KSV_CHEMEND, KSV_DSTBEG, KSV_DSTEND, & - KSV_DSTDEPBEG, KSV_DSTDEPEND, KSV_AERBEG, KSV_AEREND,& - KSV_CO2, CLNAME) - -USE PARKIND1 ,ONLY : JPIM - -!**** *SUINI_NSV * - Setting up the boundaries of the scalar vector GFL_EXT - -! Purpose. -! -------- -! Initialization of YOMNSV variables -!** Interface. -! ---------- -! *CALL* *AROINI_NSV0* - -! Explicit arguments : -! -------------------- - -! Implicit arguments : -! -------------------- -! Common MODD_CH_M9 -! Common MODD_CH_AEROSOL - -! Method. -! ------- - -! Externals. -! ---------- - -! Reference. -! ---------- -! - -! Author. -! ------- -! P. Tulet *CNRM* - -! Modifications. -! -------------- - -IMPLICIT NONE - -LOGICAL,INTENT(IN):: OORILAM -LOGICAL,INTENT(IN):: ODUST -LOGICAL,INTENT(IN):: OCO2 -LOGICAL,INTENT(IN):: OUSECHEM -LOGICAL,INTENT(IN):: ODEPOS -INTEGER(KIND=JPIM),INTENT(IN) ::KGFL -INTEGER(KIND=JPIM),INTENT(INOUT) ::KGFL_EXT -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_CHEMBEG -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_CHEMEND -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_DSTBEG -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_DSTEND -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_DSTDEPBEG -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_DSTDEPEND -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_AERBEG -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_AEREND -INTEGER(KIND=JPIM),INTENT(INOUT) ::KSV_CO2 -CHARACTER(LEN=15), DIMENSION(KGFL), INTENT(INOUT) :: CLNAME - -END SUBROUTINE AROINI_NSV0 -END INTERFACE diff --git a/src/arome/chem/interface/ch_aer_init.h b/src/arome/chem/interface/ch_aer_init.h deleted file mode 100644 index 96648fc874ac869945fa9821b546c3a97952c6bd..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/ch_aer_init.h +++ /dev/null @@ -1,25 +0,0 @@ -INTERFACE - SUBROUTINE CH_AER_INIT(PCHEM,PAERO, PRHODREF) -!! ############################################################ -!! -!! -!! EXTERNAL -!! -------- -!! None -!! -USE PARKIND1 ,ONLY : JPIM ,JPRB -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL(KIND=JPRB), DIMENSION(:,:,:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL(KIND=JPRB), DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -END SUBROUTINE CH_AER_INIT -END INTERFACE diff --git a/src/arome/chem/interface/ch_aer_mod_init.h b/src/arome/chem/interface/ch_aer_mod_init.h deleted file mode 100644 index d600775f3b82dfc5b5e9edf46f1b87128e56ae8b..0000000000000000000000000000000000000000 --- a/src/arome/chem/interface/ch_aer_mod_init.h +++ /dev/null @@ -1,20 +0,0 @@ -INTERFACE - SUBROUTINE CH_AER_MOD_INIT -!! #################################### -!! -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! - -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -END SUBROUTINE CH_AER_MOD_INIT -END INTERFACE diff --git a/src/arome/chem/internals/addpnt.F b/src/arome/chem/internals/addpnt.F deleted file mode 100644 index 45657f8ac48a3393267486a0343f6e7c739d5cbe..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/addpnt.F +++ /dev/null @@ -1,85 +0,0 @@ -! ######spl - SUBROUTINE addpnt ( x, y, ld, n, xnew, ynew ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! calling parameters - - INTEGER ld, n - REAL x(ld), y(ld) - REAL xnew, ynew - INTEGER ierr - -! local variables - - INTEGER insert - INTEGER i - - -! initialize error flag - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ADDPNT',0,ZHOOK_HANDLE) - ierr = 0 - -! check n<ld to make sure x will hold another point - - IF (n .GE. ld) THEN - WRITE(0,*) '>>> ERROR (ADDPNT) <<< Cannot expand array ' - WRITE(0,*) ' All elements used.' - STOP - ENDIF - - insert = 1 - i = 2 - -! check, whether x is already sorted. -! also, use this loop to find the point at which xnew needs to be inserted -! into vector x, if x is sorted. - - 10 CONTINUE - IF (i .LT. n) THEN - IF (x(i) .LT. x(i-1)) THEN - WRITE(0,*) '>>> ERROR (ADDPNT) <<< x-data must be '// & - & 'in ascending order!' - STOP - ELSE - IF (xnew .GT. x(i)) insert = i + 1 - ENDIF - i = i+1 - GOTO 10 - ENDIF - -! if <xnew,ynew> needs to be appended at the end, just do so, -! otherwise, insert <xnew,ynew> at position INSERT - - IF ( xnew .GT. x(n) ) THEN - - x(n+1) = xnew - y(n+1) = ynew - - ELSE - -! shift all existing points one index up - - DO i = n, insert, -1 - x(i+1) = x(i) - y(i+1) = y(i) - ENDDO - -! insert new point - - x(insert) = xnew - y(insert) = ynew - - ENDIF - -! increase total number of elements in x, y - - n = n+1 - - IF (LHOOK) CALL DR_HOOK('ADDPNT',1,ZHOOK_HANDLE) - ENDSUBROUTINE ADDPNT diff --git a/src/arome/chem/internals/aer_effic.F90 b/src/arome/chem/internals/aer_effic.F90 deleted file mode 100644 index bd35a1a78c280ec70c37d9865a632dd1bfcdb63e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/aer_effic.F90 +++ /dev/null @@ -1,178 +0,0 @@ -! ######spl -SUBROUTINE AER_EFFIC(PRG,PVGG, & !aerosol radius/fall speed (m/s) - PRHODREF, & !Air density - PMUW, PMU, & !mu water/air - PDPG, PEFC, & !diffusivity, efficiency - PRRS, & ! Rain water m.r. at time t - KMODE, & ! Number of aerosol modes - PTEMP, PCOR, & ! air temp, cunningham corr factor - PDENSITY_AER ) ! aerosol density -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!!**********AER_EFFIC********** -!! PURPOSE -!! ------- -!! Calculate the collection efficiency of -! a falling drop interacting with a dust aerosol -! for use with aer_wet_dep_kmt_warm.f90 -!! -!!** METHOD -!! ------ -!! Using basic theory, and the one dimensional variables sent -!! from aer_wet_dep_kmt_warm.f90, calculation of the average -!! fall speed calculations, chapter 17.3.4, MESONH Handbook -!! droplet number based on the Marshall_Palmer distribution -!! and Stokes number, Reynolds number, etc. based on theory -!! (S&P, p.1019) -!! -!! REFERENCE -!! --------- -!! Seinfeld and Pandis p.1019 -!! MESONH Handbook chapter 17.3.4 -!! -!! AUTHOR -!! ------ -!! K. Crahan Kaku / P. Tulet (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!----------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_RAIN_ICE_PARAM -USE MODD_RAIN_ICE_DESCR -USE MODD_CST, ONLY : XPI, XRHOLW, XP00, XRD -USE MODD_PARAMETERS , ONLY : JPVEXT -USE MODD_REF, ONLY : XTHVREFZ -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -REAL, DIMENSION(:,:), INTENT(IN) :: PRG, PVGG -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF -REAL, DIMENSION(:,:), INTENT(IN) :: PDPG -REAL, DIMENSION(:), INTENT(IN) :: PMU, PMUW -REAL, DIMENSION(:,:), INTENT(INOUT) :: PEFC -REAL, DIMENSION(:), INTENT(IN) :: PRRS -REAL, DIMENSION(:), INTENT(IN) :: PTEMP -REAL, DIMENSION(:,:), INTENT(IN) :: PCOR -INTEGER, INTENT(IN) :: KMODE -REAL, INTENT(IN) :: PDENSITY_AER -! -! -!* 0.2 declaration of local variables -! -INTEGER :: IKB ! Coordinates of the first physical - ! points along z -REAL :: ZRHO00 ! Surface reference air density -!viscosity ratio, Reynolds number -REAL, DIMENSION(SIZE(PRG,1)) :: ZOMG, ZREY -!rain radius, m, and rain fall speed, m/s; aerosol radius (m), -REAL, DIMENSION(SIZE(PRG,1)) :: ZRR, ZVR -!lambda, number concentration according to marshall palmer, -REAL, DIMENSION(SIZE(PRG,1)) :: ZNT, ZLBDA -! Rain water m.r. source -REAL, DIMENSION(SIZE(PRG,1)) :: ZRRS -!RHO_dref*r_r, Rain LWC -REAL, DIMENSION(SIZE(PRG,1)) :: RLWC -! schmidts number -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZSCH -! -!Stokes number, ratio of diameters,aerosol radius -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZSTO, ZPHI, ZRG -! S Star Term -REAL, DIMENSION(SIZE(PRG,1)) :: ZSTA, ZDIFF, ZTAU -! -!Term 1, Term 2, Term 3, Term 4 such that -! E = Term1 * Term 2 + Term 3 + Term 4 -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZT1, ZT2 -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZT3, ZT4 -! -INTEGER :: JI,JK -! -!----------------------------------------------------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_EFFIC',0,ZHOOK_HANDLE) -ZRRS(:)=PRRS(:) -IKB = 1 + JPVEXT -ZRHO00 = XP00/(XRD*XTHVREFZ(IKB)) -ZRG(:,:)=PRG(:,:)*1.E-6 !change units to meters -! -!Fall Speed calculations -!similar to rain_ice.f90, chapter 17.3.4, MESONH Handbook -! -ZVR (:)= XFSEDR * ZRRS(:)**(XEXSEDR-1) * & - PRHODREF(:)**(XEXSEDR-XCEXVT-1) -! Drop Radius calculation in m -!lbda = pi*No*rho(lwc)/(rho(dref)*rain rate) p.212 MESONH Handbook -! compute the slope parameter Lbda_r -ZLBDA(:) = XLBR*( PRHODREF(:)* ZRRS(:) )**XLBEXR -!Number concentration NT=No/lbda p. 415 Jacobson -ZNT (:) = XCCR/ZLBDA (:) -!rain lwc (kg/m3) = rain m.r.(kg/kg) * rho_air(kg/m3) -RLWC(:)=ZRRS(:)*PRHODREF(:) -!4/3 *pi *r³*NT*rho_eau(kg/m3) =rho(lwc)=rho(air)* qc(kg/kg) -ZRR(:) = (RLWC(:)/(XRHOLW*ZNT(:)*4./3.*XPI))**(1./3.) -! -!Fall speed cannot be faster than 7 m/s -ZVR (:)=MIN(ZVR (:),7.) - -!Ref SEINFELD AND PANDIS p.1019 -! Viscosity Ratio -ZOMG(:)=PMUW(:)/PMU(:) -!!Reynolds number -ZREY(:)=ZRR(:)*ZVR(:)*PRHODREF(:)/PMU(:) -ZREY(:)= MAX(ZREY(:), 1E-2) - -!S Star -ZSTA(:)=(1.2+1/12*LOG(1+ZREY(:)))/(1+LOG(1+ZREY(:))) -PEFC(:,:)=0.0 -DO JI=1,KMODE -! -!Scmidts number - ZSCH(:,JI)=PMU(:)/PRHODREF(:)/PDPG(:,JI) -! Rain-Aerosol relative velocity - ZDIFF(:) = MAX(ZVR(:)-PVGG(:,JI),0.) -! Relaxation time - ZTAU(:) = (ZRG(:,JI)*2.)**2. * PDENSITY_AER * PCOR(:,JI) / (18.*PMU(:)) -! Stockes number - ZSTO(:,JI)= ZTAU(:) * ZDIFF(:) / ZRR(:) -!Ratio of diameters - ZPHI(:,JI)=ZRG(:,JI)/ZRR(:) - ZPHI(:,JI)=MIN(ZPHI(:,JI), 1.) -!Term 1 - ZT1(:,JI)=4.0/ZREY(:)/ZSCH(:,JI) -!Term 2 - ZT2(:,JI)=1.0+0.4*ZREY(:)**(0.5)*ZSCH(:,JI)**(1./3.)+ & - 0.16*ZREY(:)**(0.5)*ZSCH(:,JI)**(0.5) - -!Brownian diffusion - ZT1(:,JI)= ZT1(:,JI)*ZT2(:,JI) -!Term 3 - interception - ZT3(:,JI)=4.*ZPHI(:,JI)*(1./ZOMG(:)+ & - (1.0+2.0*ZREY(:)**0.5)*ZPHI(:,JI)) - - ZT4(:,JI)=0.0 - WHERE(ZSTO(:,JI).GT.ZSTA(:)) -!Term 4 - impaction - ZT4(:,JI)=((ZSTO(:,JI)-ZSTA(:))/ & - (ZSTO(:,JI)-ZSTA(:)+2./3.))**(3./2.) & - *(XRHOLW/PDENSITY_AER)**(1./2.) - - END WHERE -!Collision Efficiancy - PEFC(:,JI)=ZT1(:,JI)+ ZT3(:,JI)+ZT4(:,JI) -! Physical radius of a rain collector droplet up than 20 um -WHERE (ZRR(:) .LE. 20.E-6) - PEFC(:,JI)= 0. -END WHERE -ENDDO -PEFC(:,:)=MIN(PEFC(:,:),1.0) -PEFC(:,:)=MAX(PEFC(:,:),0.0) - -IF (LHOOK) CALL DR_HOOK('AER_EFFIC',1,ZHOOK_HANDLE) -END SUBROUTINE AER_EFFIC diff --git a/src/arome/chem/internals/aer_effic_dep.F90 b/src/arome/chem/internals/aer_effic_dep.F90 deleted file mode 100644 index 91b36592c02ea89b6e247e5b3461266083be084e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/aer_effic_dep.F90 +++ /dev/null @@ -1,173 +0,0 @@ -! ######spl -SUBROUTINE AER_EFFIC_DEP(PRG,PVGG, & !aerosol radius/fall speed (m/s) - PRHODREF, & !Air density - PMUW, PMU, & !mu water/air - PDPG, PEFC, & !diffusivity, efficiency - PRRS, & ! Rain water m.r. at time t - KMODE, & ! Number of aerosol modes - PTEMP, PCOR, & ! air temp, cunningham corr factor - PDENSITY_AER ) ! aerosol density -!! ####################################### -!!**********AER_EFFIC********** -!! PURPOSE -!! ------- -!! Calculate the collection efficiency of -! a falling drop interacting with a dust aerosol -! for use with aer_wet_dep_kmt_warm.f90 -!! -!!** METHOD -!! ------ -!! Using basic theory, and the one dimensional variables sent -!! from aer_wet_dep_kmt_warm.f90, calculation of the average -!! fall speed calculations, chapter 17.3.4, MESONH Handbook -!! droplet number based on the Marshall_Palmer distribution -!! and Stokes number, Reynolds number, etc. based on theory -!! (S&P, p.1019) -!! -!! REFERENCE -!! --------- -!! Seinfeld and Pandis p.1019 -!! MESONH Handbook chapter 17.3.4 -!! -!! AUTHOR -!! ------ -!! K. Crahan Kaku / P. Tulet (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! 01-02-2011 M. Mokhtari: Adaptation of AER_EFFIC under AER_EFFIC_DEP for Aladin -!----------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_WET_DEP_PARAM -USE MODD_WET_DEP_DESCR -USE MODD_CST, ONLY : XPI, XRHOLW, XP00, XRD -USE MODD_PARAMETERS_DEP , ONLY : JPVEXT -USE MODD_REF, ONLY : XTHVREFZ -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -REAL, DIMENSION(:,:), INTENT(IN) :: PRG, PVGG -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF -REAL, DIMENSION(:,:), INTENT(IN) :: PDPG -REAL, DIMENSION(:), INTENT(IN) :: PMU, PMUW -REAL, DIMENSION(:,:), INTENT(INOUT) :: PEFC -REAL, DIMENSION(:), INTENT(IN) :: PRRS -REAL, DIMENSION(:), INTENT(IN) :: PTEMP -REAL, DIMENSION(:,:), INTENT(IN) :: PCOR -INTEGER, INTENT(IN) :: KMODE -REAL, INTENT(IN) :: PDENSITY_AER -! -! -!* 0.2 declaration of local variables -! -INTEGER :: IKB ! Coordinates of the first physical - ! points along z -REAL :: ZRHO00 ! Surface reference air density -!viscosity ratio, Reynolds number -REAL, DIMENSION(SIZE(PRG,1)) :: ZOMG, ZREY -!rain radius, m, and rain fall speed, m/s; aerosol radius (m), -REAL, DIMENSION(SIZE(PRG,1)) :: ZRR, ZVR -!lambda, number concentration according to marshall palmer, -REAL, DIMENSION(SIZE(PRG,1)) :: ZNT, ZLBDA -! Rain water m.r. source -REAL, DIMENSION(SIZE(PRG,1)) :: ZRRS -!RHO_dref*r_r, Rain LWC -REAL, DIMENSION(SIZE(PRG,1)) :: RLWC -! schmidts number -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZSCH -! -!Stokes number, ratio of diameters,aerosol radius -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZSTO, ZPHI, ZRG -! S Star Term -REAL, DIMENSION(SIZE(PRG,1)) :: ZSTA, ZDIFF, ZTAU -! -!Term 1, Term 2, Term 3, Term 4 such that -! E = Term1 * Term 2 + Term 3 + Term 4 -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZT1, ZT2 -REAL, DIMENSION(SIZE(PRG,1),KMODE) :: ZT3, ZT4 -! -INTEGER :: JI,JK -! -!----------------------------------------------------------------- -ZRRS(:)=PRRS(:) -IKB = 1 + JPVEXT -ZRHO00 = XP00/(XRD*XTHVREFZ(IKB)) -ZRG(:,:)=PRG(:,:)*1.E-6 !change units to meters -! -!Fall Speed calculations -!similar to rain_ice.f90, chapter 17.3.4, MESONH Handbook -! -ZVR (:)= XFSEDR * ZRRS(:)**(XEXSEDR-1) * & - PRHODREF(:)**(XEXSEDR-XCEXVT-1) -! Drop Radius calculation in m -!lbda = pi*No*rho(lwc)/(rho(dref)*rain rate) p.212 MESONH Handbook -! compute the slope parameter Lbda_r -ZLBDA(:) = XLBR*( PRHODREF(:)* ZRRS(:) )**XLBEXR -!Number concentration NT=No/lbda p. 415 Jacobson -ZNT (:) = XCCR/ZLBDA (:) -!rain lwc (kg/m3) = rain m.r.(kg/kg) * rho_air(kg/m3) -RLWC(:)=ZRRS(:)*PRHODREF(:) -!4/3 *pi *r�*NT*rho_eau(kg/m3) =rho(lwc)=rho(air)* qc(kg/kg) -ZRR(:) = (RLWC(:)/(XRHOLW*ZNT(:)*4./3.*XPI))**(1./3.) -! -!Fall speed cannot be faster than 7 m/s -ZVR (:)=MIN(ZVR (:),7.) - -!Ref SEINFELD AND PANDIS p.1019 -! Viscosity Ratio -ZOMG(:)=PMUW(:)/PMU(:) -!!Reynolds number -ZREY(:)=ZRR(:)*ZVR(:)*PRHODREF(:)/PMU(:) -ZREY(:)= MAX(ZREY(:), 1E-2) - -!S Star -ZSTA(:)=(1.2+1/12*LOG(1+ZREY(:)))/(1+LOG(1+ZREY(:))) -PEFC(:,:)=0.0 -DO JI=1,KMODE -! -!Scmidts number - ZSCH(:,JI)=PMU(:)/PRHODREF(:)/PDPG(:,JI) -! Rain-Aerosol relative velocity - ZDIFF(:) = MAX(ZVR(:)-PVGG(:,JI),0.) -! Relaxation time - ZTAU(:) = (ZRG(:,JI)*2.)**2. * PDENSITY_AER * PCOR(:,JI) / (18.*PMU(:)) -! Stockes number - ZSTO(:,JI)= ZTAU(:) * ZDIFF(:) / ZRR(:) -!Ratio of diameters - ZPHI(:,JI)=ZRG(:,JI)/ZRR(:) - ZPHI(:,JI)=MIN(ZPHI(:,JI), 1.) -!Term 1 - ZT1(:,JI)=4.0/ZREY(:)/ZSCH(:,JI) -!Term 2 - ZT2(:,JI)=1.0+0.4*ZREY(:)**(0.5)*ZSCH(:,JI)**(1./3.)+ & - 0.16*ZREY(:)**(0.5)*ZSCH(:,JI)**(0.5) - -!Brownian diffusion - ZT1(:,JI)= ZT1(:,JI)*ZT2(:,JI) -!Term 3 - interception - ZT3(:,JI)=4.*ZPHI(:,JI)*(1./ZOMG(:)+ & - (1.0+2.0*ZREY(:)**0.5)*ZPHI(:,JI)) - - ZT4(:,JI)=0.0 - WHERE(ZSTO(:,JI).GT.ZSTA(:)) -!Term 4 - impaction - ZT4(:,JI)=((ZSTO(:,JI)-ZSTA(:))/ & - (ZSTO(:,JI)-ZSTA(:)+2./3.))**(3./2.) & - *(XRHOLW/PDENSITY_AER)**(1./2.) - - END WHERE -!Collision Efficiancy - PEFC(:,JI)=ZT1(:,JI)+ ZT3(:,JI)+ZT4(:,JI) -! Physical radius of a rain collector droplet up than 20 um -WHERE (ZRR(:) .LE. 20.E-6) - PEFC(:,JI)= 0. -END WHERE -ENDDO -PEFC(:,:)=MIN(PEFC(:,:),1.0) -PEFC(:,:)=MAX(PEFC(:,:),0.0) - -END SUBROUTINE AER_EFFIC_DEP diff --git a/src/arome/chem/internals/aer_velgrav.F90 b/src/arome/chem/internals/aer_velgrav.F90 deleted file mode 100644 index dee9793ebc5cb4fddb4dc5d1bede70b694ae93fb..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/aer_velgrav.F90 +++ /dev/null @@ -1,108 +0,0 @@ -! ######spl - SUBROUTINE AER_VELGRAV(PRG, PABST, KMODE, PMU, & - PVGG, PDPG,PTEMP, PCOR, PDENSITY_AER) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ################################################### -!! -!! PURPOSE -!! ------- -!! Calculate the fall speed of an aerosol -!! -!! REFERENCE -!! --------- -!! Seinfeld and Pandis p455 -!! -!! AUTHOR -!! ------ -!! P. Tulet (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! K. Kaku 09/01/07 (CNRM/GMEI) adapted for one -!! dimensional calculations -!! and explicit Cunningham's correction factor -!! -! Entry variables: -! -! PM(IN) -Array of moments -! -!************************************************************* -! Exit variables: -! -! PFSED(IN) -Array of moment variation due to dry deposition -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! PDPG -Polydisperse diffusivity (m2/s) -! PVGG -Polydisperse settling velocity (m/s) -!************************************************************ -!! -!----------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CST -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(IN) :: PRG ! aerosol radius [µm] -REAL, DIMENSION(:), INTENT(IN) :: PTEMP ! air tempurature [K] -REAL, DIMENSION(:), INTENT(IN) :: PABST ! Pressure (Pa) -INTEGER, INTENT(IN) :: KMODE ! Nb aerosols modes -REAL, INTENT(IN) :: PDENSITY_AER -REAL, DIMENSION(:), INTENT(OUT) :: PMU ! air viscosity -REAL, DIMENSION(:,:), INTENT(OUT) :: PVGG ! Gravitation velovity (m/s) -REAL, DIMENSION(:,:), INTENT(OUT) :: PDPG ! Diffusion coeff (m2/s) -REAL, DIMENSION(:,:), INTENT(OUT) :: PCOR ! Cunningham factor [unitless] - -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(SIZE(PRG,1)) :: ZLAMBDA -! -REAL, DIMENSION(SIZE(PRG,1)) :: ZRG !radius in meters - -! -REAL, PARAMETER :: gasmw=28.9644E-3 -REAL, PARAMETER :: gasr=8.3143 - -REAL :: ZK -INTEGER :: JI -! -!----------------------------------------------------------------- -! -! Sutherland's equation for viscosity -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_VELGRAV',0,ZHOOK_HANDLE) -PMU(:)=1.8325d-5*416.16/(PTEMP(:)+120)*(PTEMP(:)/296.16)*SQRT(PTEMP(:)/296.16) -PMU(:)=MAX(PMU(:),1.e-12) -! -! Mean free path of air (Seinfeld and Pandis p455) -ZLAMBDA(:)=2*PMU(:)/(PABST(:)*SQRT(8*gasmw/(XPI*gasr*PTEMP(:)))) - -! -DO JI=1,KMODE -! -!put radius into meters - ZRG(:)=PRG(:,JI) * 1E-6 - ! -!Slip Correction Factor - PCOR(:,JI)=1+ZLAMBDA(:)/ZRG(:)*(1.257+ & - 0.4*exp(-1.1*ZRG(:)/ZLAMBDA(:))) - PCOR(:,JI)=MAX(PCOR(:,JI),1.0) - - ! - PVGG(:,JI)= 2.*XG*PDENSITY_AER*ZRG(:)**2 /(9.*PMU(:))*PCOR(:,JI) - PDPG(:,JI)=XBOLTZ*PTEMP(:)*PCOR(:,JI) & - / (6.*XPI* ZRG(:)*PMU(:)) - ! -ENDDO -! -!! -IF (LHOOK) CALL DR_HOOK('AER_VELGRAV',1,ZHOOK_HANDLE) -END SUBROUTINE AER_VELGRAV diff --git a/src/arome/chem/internals/aer_wet_dep.F90 b/src/arome/chem/internals/aer_wet_dep.F90 deleted file mode 100644 index b21fd16b07e7445d3f657b57d35ad8f5dad1682b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/aer_wet_dep.F90 +++ /dev/null @@ -1,822 +0,0 @@ -! ######spl - SUBROUTINE AER_WET_DEP (KSPLITR, PTSTEP, PZZ, & - PRHODREF, PRCT, PRRT, & - PRCS, PRRS, PSVT, PTHT, & - PPABST, PRGAER, PEVAP3D, KMODE, & - PDENSITY_AER, PMASSMIN, PSEA, PTOWN, & - PCCT, PCRT ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################### -! -!!**** * - compute the explicit microphysical processes involved in the -!!*** * - wet deposition of aerosols species in mixed clouds -!! -!! PURPOSE -!! ------- -!! -!! The purpose of this subroutine is to calculate the mass transfer -!! of aerosol species between cloud hydrometeors. -!! -!! -!! -!!** METHOD -!! ------ -!! Aerosols mass are dissolved into the cloud water and rain -!! drops, it is subject to transfer through the microphysical processes -!! that affect the parent hydrometeor [Rutledge et al., 1986]. -!! Aerosol mass transfer has been computed using scavenging coefficient -!! and brownian nucleation scavenging coefficient (Seinfeld and Pandis, -!! 1998; Tost et al, 2006). -!! -!! The sedimentation rate is computed with a time spliting technique and -!! an upstream scheme, written as a difference of non-advective fluxes. -!! -!! KMODE: Number of aerosol modes (lognormal, bin..) -!! PSVT : 1 => KMODE : dry aerosol mass -!! PSVT : KMODE+1 => 2*KMODE : aerosol mass in cloud -!! PSVT : 2*KMODE+1 => 3*KMODE: aerosol mass in rain - -!! -!! EXTERNAL -!! -------- -!! None -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_CST -!! XP00 ! Reference pressure -!! XRD,XRV ! Gaz constant for dry air, vapor -!! XMD,XMV ! Molecular weight for dry air, vapor -!! XCPD ! Cpd (dry air) -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! P. Tulet & K. Crahan-Kaku * CNRM * -!! -!! Based on rain_ice.f90 and ch_wet_dep_kmt_warm.f90 -!! from C. Mari & J.P. Pinty * LA* -!! -!! -!! MODIFICATIONS -!! ------------- -!! Original 09/05/07 -!! 01-02-2011 M. Mokhtari: Adaptation of aer_wet_dep_kmt_warm.f90 under aer_wet_dep for Aladin -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CST -USE MODD_WET_DEP_PARAM -USE MODD_WET_DEP_DESCR -USE MODI_AER_VELGRAV -USE MODI_AER_EFFIC_DEP -USE MODI_GAMMA -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step - ! integration for rain sedimendation -REAL, INTENT(IN) :: PTSTEP ! Time step -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference [kg/m3] air density -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCT ! Cloud water m.r. at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRT ! Rain water m.r. at t -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT ! Tracer m.r. at t -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCS ! Cloud water m.r. from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRS ! Rain water m.r. from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PEVAP3D ! Instantaneous 3D Rain Evaporation flux (KG/KG/S) -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT ! Potential temp -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST ! [Pa] pressure -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRGAER ! Aerosols radius (um) -INTEGER, INTENT(IN) :: KMODE ! Nb aerosols mode -REAL, INTENT(IN) :: PDENSITY_AER ! Begin Index for aerosol in cloud -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PMASSMIN ! Aerosol mass minimum value -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PSEA ! Sea mask -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PTOWN ! Town mask -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCCT ! Cloud water concentration -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCRT ! Rain water concentration - -! -!* 0.2 Declarations of local variables : -! -INTEGER :: JK ! Vertical loop index for the rain sedimentation -INTEGER :: JN ! Temporal loop index for the rain sedimentation -INTEGER :: JJ, JI ! Loop index for the interpolation -! -REAL :: ZTSPLITR ! Small time step for rain sedimentation -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZEFC !efficiency factor [unitless] -! -!Declaration of Dust Variables -! -INTEGER :: ICLOUD, IRAIN -! Case number of sedimentation, T>0 (for HEN) - ! and r_x>0 locations -LOGICAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: GRAIN, GCLOUD ! Test where to compute all processes - ! Test where to compute the SED/EVAP processes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZW, ZZW1, ZZW2, ZZW4 ! work array -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZWEVAP ! sedimentation fluxes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZWSED ! sedimentation fluxes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZWSEDW1, ZWSEDW2 ! sedimentation speed -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZLBDAR -! Slope parameter of the raindrop distribution -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZZRCT, ZZEVAP, ZMASK -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZRAY, & ! Mean radius - ZNRT, & ! Number of rain droplets - ZLBC , & ! XLBC weighted by sea fraction - ZFSEDC -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2)) :: ZCONC_TMP -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZCONC -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZRRS -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSVT ! Tracer m.r. concentration -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZVGG, ZDPG !aerosol velocity [m/s], diffusivity [m2/s] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZRG !Dust R[�m] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZCOR !Cunningham correction factor [unitless] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZMASSMIN ! Aerosol mass minimum value -! -REAL, DIMENSION(:), ALLOCATABLE & - :: ZRHODREF, & ! RHO Dry REFerence - ZTHT, & ! Potential temp - ZPABST, & ! Pressure [Pa] - ZZW, & ! Work array - ZTEMP, & ! Air Temp [K] - ZRC, & ! Cloud radius [m] - ZRCT, & ! Cloud water - ZRR, & ! Rain radius [m] - ZNT, & ! Rain droplets number - ZRRT, & ! Rain water - ZMU,ZMUW, & ! viscosity aerosol, water [Pa s] - ZFLUX, & ! Effective precipitation flux (kg.m-2.s-1) - ZCONC1D, & ! Weighted droplets concentration - ZWLBDC, & ! Slope parameter of the droplet distribution - ZGAMMA ! scavenging coefficient -REAL, DIMENSION(:), ALLOCATABLE :: ZW1 ! Work arrays -REAL, DIMENSION(SIZE(XRTMIN)) :: ZRTMIN - -INTEGER :: JL ! and PACK intrinsics -! -INTEGER :: JKAQ, JSV -! -REAL :: A0, A1, A2, A3 ! Constants for computing viscocity -INTEGER :: IKE, IJE, IIE, IKB - -! -!------------------------------------------------------------------------------- -! -!* 0. Initialize work array -! --------------------- -! -! Compute Effective cloud radius -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP',0,ZHOOK_HANDLE) - -ZRAY(:,:,:) = 0. -ZLBC(:,:,:) = XLBC(1) -ZFSEDC(:,:,:) = XFSEDC(1) -ZCONC_TMP(:,:)= XCONC_LAND -ZCONC(:,:,:) = XCONC_LAND -! -IF (PRESENT(PCCT)) THEN ! case KHKO, C2R2, C3R5 (two moments schemes) - ZRAY(:,:,:) = 3.* PRCT(:,:,:) / (4.*XPI*XRHOLW*PCCT(:,:,:)) - ZRAY(:,:,:) = ZRAY(:,:,:)**(1./3.) ! Cloud mean radius in m -ELSE IF (PRESENT(PSEA)) THEN ! Case ICE3, RAVE, KESS, .. -ZCONC_TMP(:,:)=PSEA(:,:)*XCONC_SEA+(1.-PSEA(:,:))*XCONC_LAND -DO JK=1,SIZE(PRHODREF,3) - ZLBC(:,:,JK) = PSEA(:,:)*XLBC(2)+(1.-PSEA(:,:))*XLBC(1) - ZFSEDC(:,:,JK) = (PSEA(:,:)*XFSEDC(2)+(1.-PSEA(:,:))*XFSEDC(1)) - ZFSEDC(:,:,JK) = MAX(MIN(XFSEDC(1),XFSEDC(2)),ZFSEDC(:,:,JK)) - ZCONC(:,:,JK) = (1.-PTOWN(:,:))*ZCONC_TMP(:,:)+PTOWN(:,:)*XCONC_URBAN - ZRAY(:,:,JK) = 0.5*((1.-PSEA(:,:))*GAMMA(XNUC+1.0/XALPHAC)/(GAMMA(XNUC)) + & - PSEA(:,:)*GAMMA(XNUC2+1.0/XALPHAC2)/(GAMMA(XNUC2))) -END DO -ZRAY(:,:,:) = MAX(1.,ZRAY(:,:,:)) -ZLBC(:,:,:) = MAX(MIN(XLBC(1),XLBC(2)),ZLBC(:,:,:)) -ELSE -ZRAY(:,:,:) = 30. ! default value for cloud radius -END IF -! -!ZNRT(:,:,:) = 0. -!IF (PRESENT(PCRT)) THEN ! case KHKO, C2R2, C3R5 -! Transfert Number of rain droplets - ZNRT(:,:,:) = PRRT(:,:,:) -!END IF - -!------------------------------------------------------------------------------- -! -!* 1. COMPUTE THE AEROSOL/CLOUD-RAIN MASS TRANSFER -! ---------------------------------------------- -CALL AER_WET_MASS_TRANSFER_DEP -!------------------------------------------------------------------------------- -! -!* 2. COMPUTE THE SEDIMENTATION (RS) SOURCE -! ------------------------------------- -! -CALL AER_WET_SEDIMENT_DEP -! -!------------------------------------------------------------------------------- -!! -!!* 3. COMPUTES THE SLOW WARM PROCESS SOURCES -!! -------------------------------------- -!! -CALL AER_WET_WARM_DEP - -! -!------------------------------------------------------------------------------- -!!* 4. COMPUTES EVAPORATION PROCESS -!! ---------------------------- -!! -CALL AER_WET_EVAP_DEP -! - -!------------------------------------------------------------------------------- -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP',1,ZHOOK_HANDLE) -! -CONTAINS -! -! -!------------------------------------------------------------------------------- -! -SUBROUTINE AER_WET_MASS_TRANSFER_DEP -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* 0.2 declaration of local variables -! -! -INTEGER , DIMENSION(SIZE(GCLOUD)) :: I1C,I2C,I3C! Used to replace the COUNT -INTEGER , DIMENSION(SIZE(GRAIN)) :: I1R,I2R,I3R ! Used to replace the COUNT -INTEGER :: JL ! and PACK intrinsics -INTEGER :: JKAQ ! counter for chemistry -! -! -! 1 Mass transfer Aerosol to cloud (Tost et al., 2006) -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_MASS_TRANSFER_DEP',0,ZHOOK_HANDLE) -! -GCLOUD(:,:,:) = .FALSE. -GCLOUD(:,:,:) = PRCS(:,:,:)>XRTMIN(2) -ICLOUD = COUNTJV( GCLOUD(:,:,:),I1C(:),I2C(:),I3C(:)) -IF( ICLOUD >= 1 ) THEN -ALLOCATE(ZSVT(ICLOUD,KMODE*3)) -ALLOCATE(ZRHODREF(ICLOUD)) -ALLOCATE(ZTHT(ICLOUD)) -ALLOCATE(ZRC(ICLOUD)) -ALLOCATE(ZPABST(ICLOUD)) -ALLOCATE(ZRG(ICLOUD,KMODE)) -ALLOCATE(ZTEMP(ICLOUD)) -ALLOCATE(ZMU(ICLOUD)) -ALLOCATE(ZRCT(ICLOUD)) -ALLOCATE(ZVGG(ICLOUD,KMODE)) -ALLOCATE(ZDPG(ICLOUD,KMODE)) -ALLOCATE(ZGAMMA(ICLOUD)) -ALLOCATE(ZW1(ICLOUD)) -ALLOCATE(ZCOR(ICLOUD,KMODE)) -ALLOCATE(ZMASSMIN(ICLOUD,KMODE)) -ALLOCATE(ZWLBDC(ICLOUD)) -ALLOCATE(ZCONC1D(ICLOUD)) -ZSVT(:,:) = 0. -DO JL=1,ICLOUD - DO JKAQ = 1, KMODE - ZRG(JL,JKAQ) = PRGAER(I1C(JL),I2C(JL),I3C(JL),JKAQ) - ZSVT(JL,JKAQ) = PSVT(I1C(JL),I2C(JL),I3C(JL),JKAQ) - ZSVT(JL,KMODE+JKAQ) = PSVT(I1C(JL),I2C(JL),I3C(JL),KMODE+JKAQ) - ZMASSMIN(JL,JKAQ) = PMASSMIN(I1C(JL),I2C(JL),I3C(JL),JKAQ) - ! - ZTHT(JL) = PTHT(I1C(JL),I2C(JL),I3C(JL)) - ZRC(JL) = ZRAY(I1C(JL),I2C(JL),I3C(JL)) - ZPABST(JL) = PPABST(I1C(JL),I2C(JL),I3C(JL)) - ZRCT(JL) = PRCS(I1C(JL),I2C(JL),I3C(JL)) - ZRHODREF(JL) = PRHODREF(I1C(JL),I2C(JL),I3C(JL)) - ZWLBDC(JL) = ZLBC(I1C(JL),I2C(JL),I3C(JL)) - ZCONC1D(JL) = ZCONC(I1C(JL),I2C(JL),I3C(JL)) - ENDDO -END DO - -IF (ANY(ZWLBDC(:)/=0.)) THEN ! case one moments - ! On calcule Rc a partir de M(3) car c'est le seul moment indt de alpha et nu - ! Rho_air * Rc / (Pi/6 * Rho_eau * Nc) = M(3) = 1/ (Lambda**3 * rapport des - ! gamma) - ZWLBDC(:) = ZWLBDC(:) * ZCONC1D(:) / (ZRHODREF(:) * ZRCT(:)) - ZWLBDC(:) = ZWLBDC(:)**XLBEXC - ZRC(:) = ZRC(:) / ZWLBDC(:) -END IF - -! -! initialize temperature - ZTEMP(:)=ZTHT(:)*(ZPABST(:)/XP00)**(XRD/XCPD) - -! compute diffusion and gravitation velocity - - CALL AER_VELGRAV(ZRG(:,:), ZPABST, & - KMODE, ZMU(:), ZVGG(:,:), & - ZDPG(:,:),ZTEMP(:),ZCOR(:,:), & - PDENSITY_AER) -DO JL = 1, ICLOUD -DO JKAQ = 1, KMODE -! Browninan nucleation scavenging (Pruppacher and Klett, 2000, p723) - ZGAMMA(JL) = 1.35 * ZRCT(JL)*ZRHODREF(JL)*1.E-3 * ZDPG(JL,JKAQ) /& - (ZRC(JL)*ZRC(JL)) - ZW1(JL) = ZSVT(JL,JKAQ) * EXP(-ZGAMMA(JL) * PTSTEP) - ZW1(JL) = MAX(ZW1(JL), ZMASSMIN(JL,JKAQ)) - ZW1(JL) = MIN(ZW1(JL),ZSVT(JL,JKAQ)) -! Aerosol mass in cloud - ZSVT(JL,KMODE+JKAQ) = ZSVT(JL,KMODE+JKAQ) + ZSVT(JL,JKAQ) - ZW1(JL) -! New aerosol mass - ZSVT(JL,JKAQ) = ZW1(JL) -ENDDO -ENDDO -DO JKAQ = 1, KMODE -! Return in 3D - PSVT(:,:,:,JKAQ) = & - UNPACK(ZSVT(:,JKAQ),MASK=GCLOUD(:,:,:),FIELD=PSVT(:,:,:,JKAQ)) - PSVT(:,:,:,KMODE+JKAQ) = & - UNPACK(ZSVT(:,KMODE+JKAQ),MASK=GCLOUD(:,:,:),FIELD=PSVT(:,:,:,KMODE+JKAQ)) -ENDDO - -DEALLOCATE(ZSVT) -DEALLOCATE(ZRHODREF) -DEALLOCATE(ZTHT) -DEALLOCATE(ZRC) -DEALLOCATE(ZPABST) -DEALLOCATE(ZRG) -DEALLOCATE(ZTEMP) -DEALLOCATE(ZMU) -DEALLOCATE(ZRCT) -DEALLOCATE(ZVGG) -DEALLOCATE(ZDPG) -DEALLOCATE(ZGAMMA) -DEALLOCATE(ZW1) -DEALLOCATE(ZCOR) -DEALLOCATE(ZMASSMIN) -DEALLOCATE(ZWLBDC) -DEALLOCATE(ZCONC1D) -END IF -! -! 2 Mass transfer Aerosol to Rain (Seinfeld and Pandis, 1998, Tost et al., 2006) -! -GRAIN(:,:,:) = .FALSE. -GRAIN(:,:,:) = PRRS(:,:,:)>XRTMIN(3) -IRAIN = COUNTJV( GRAIN(:,:,:),I1R(:),I2R(:),I3R(:)) -IF( IRAIN >= 1 ) THEN -! - ALLOCATE(ZRRT(IRAIN)) - ALLOCATE(ZSVT(IRAIN,3*KMODE)) - ALLOCATE(ZRHODREF(IRAIN)) - ALLOCATE(ZTHT(IRAIN)) - ALLOCATE(ZRR(IRAIN)) - ALLOCATE(ZNT(IRAIN)) - ALLOCATE(ZPABST(IRAIN)) - ALLOCATE(ZRG(IRAIN,KMODE)) - ALLOCATE(ZCOR(IRAIN,KMODE)) - ALLOCATE(ZTEMP(IRAIN)) - ALLOCATE(ZMU(IRAIN)) - ALLOCATE(ZVGG(IRAIN,KMODE)) - ALLOCATE(ZDPG(IRAIN,KMODE)) - ALLOCATE(ZMUW(IRAIN)) - ALLOCATE(ZEFC(IRAIN,KMODE)) - ALLOCATE(ZW1(IRAIN)) - ALLOCATE(ZFLUX(IRAIN)) - ALLOCATE(ZGAMMA(IRAIN)) - ALLOCATE(ZMASSMIN(IRAIN,KMODE)) - - ZSVT(:,:) = 0. - DO JL=1,IRAIN - DO JKAQ = 1, KMODE - ZRG(JL,JKAQ) = PRGAER(I1R(JL),I2R(JL),I3R(JL),JKAQ ) - ZSVT(JL,JKAQ) = PSVT(I1R(JL),I2R(JL),I3R(JL),JKAQ) - ZSVT(JL,KMODE*2+JKAQ) = PSVT(I1R(JL),I2R(JL),I3R(JL),KMODE*2+JKAQ) - ZMASSMIN(JL,JKAQ) = PMASSMIN(I1R(JL),I2R(JL),I3R(JL),JKAQ) - ! - ZTHT(JL) = PTHT(I1R(JL),I2R(JL),I3R(JL)) - ZPABST(JL) = PPABST(I1R(JL),I2R(JL),I3R(JL)) - ZRRT(JL) = PRRS(I1R(JL),I2R(JL),I3R(JL)) - ZRHODREF(JL) = PRHODREF(I1R(JL),I2R(JL),I3R(JL)) - ZNT(JL) = ZNRT(I1R(JL),I2R(JL),I3R(JL)) - ENDDO - ENDDO - -! -CALL AER_WET_EFFIC_DEP - -! Compute scavenging coefficient -ZFLUX(:) = 0. -ZRRT(:) = MAX(ZRRT(:), 0.) -! Effective precipitation flux (kg.m-2.s-1) -ZFLUX(:) = XFSEDR * ZRRT(:)**(XEXSEDR ) & - * ZRHODREF(:)**(XEXSEDR-XCEXVT) -ZFLUX(:) = MAX(ZFLUX(:), 0.) - -!IF (ALL(ZNT(:) == 0.)) THEN ! case one moments -!Number concentration NT=No/lbda p. 415 Jacobson -!4/3 *pi *r�*NT*rho_eau(kg/m3) =rho(lwc)=rho(air)* qc(kg/kg) -ZNT (:) = XCCR/(XLBR*( ZRHODREF(:)* ZRRT(:) )**XLBEXR) -!END IF - -ZRR(:) = (ZRRT(:)*ZRHODREF(:)/(XRHOLW*ZNT(:)*4./3.*XPI))**(1./3.) - -DO JL=1,IRAIN -DO JKAQ = 1, KMODE - ! Tost et al, 2006 - ZGAMMA(JL) = 0.75 * ZEFC(JL,JKAQ) * ZFLUX(JL) / (ZRR(JL)*1E3) - ZW1(JL) = ZSVT(JL,JKAQ) * EXP(-ZGAMMA(JL) * PTSTEP) - ZW1(JL) = MAX(ZW1(JL), ZMASSMIN(JL,JKAQ)) - ZW1(JL) = MIN(ZW1(JL),ZSVT(JL,JKAQ)) - ! Aerosol mass in rain - ZSVT(JL,KMODE*2+JKAQ) = ZSVT(JL,KMODE*2+JKAQ) + ZSVT(JL,JKAQ) - ZW1(JL) - ! New aerosol mass - ZSVT(JL,JKAQ) = ZW1(JL) -ENDDO -ENDDO - -DO JKAQ = 1, KMODE - ! Return to 3D - PSVT(:,:,:,JKAQ) = & - UNPACK(ZSVT(:,JKAQ),MASK=GRAIN(:,:,:),FIELD=PSVT(:,:,:,JKAQ)) - PSVT(:,:,:,KMODE*2+JKAQ) = & - UNPACK(ZSVT(:,KMODE*2+JKAQ),MASK=GRAIN(:,:,:),FIELD=PSVT(:,:,:,KMODE*2+JKAQ)) -ENDDO - - DEALLOCATE(ZRRT) - DEALLOCATE(ZSVT) - DEALLOCATE(ZRHODREF) - DEALLOCATE(ZTHT) - DEALLOCATE(ZRR) - DEALLOCATE(ZNT) - DEALLOCATE(ZPABST) - DEALLOCATE(ZRG) - DEALLOCATE(ZCOR) - DEALLOCATE(ZTEMP) - DEALLOCATE(ZMU) - DEALLOCATE(ZVGG) - DEALLOCATE(ZDPG) - DEALLOCATE(ZMUW) - DEALLOCATE(ZEFC) - DEALLOCATE(ZW1) - DEALLOCATE(ZFLUX) - DEALLOCATE(ZGAMMA) - DEALLOCATE(ZMASSMIN) - END IF -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_MASS_TRANSFER_DEP',1,ZHOOK_HANDLE) -END SUBROUTINE AER_WET_MASS_TRANSFER_DEP -! -SUBROUTINE AER_WET_SEDIMENT_DEP -! -!* Sedimentation of aerosol in rain droplets -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* declaration of local variables -! -! -REAL :: P1,P2,ZQP,ZH -INTEGER :: JL ! and PACK intrinsics -INTEGER :: JKAQ ! counter for acquous aerosols -! -!------------------------------------------------------------------------------- -! -!* Time splitting initialization -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_SEDIMENT_DEP',0,ZHOOK_HANDLE) -ZTSPLITR = PTSTEP / FLOAT(KSPLITR) -! -ZWSEDW1(:,:,:)=0. -ZWSEDW2(:,:,:)=0. -ZWSED(:,:,:) = 0. -ZW(:,:,:)=0. -ZRRS(:,:,:) = MAX(PTSTEP*PRRS(:,:,:), 1E-80) -IKE = SIZE(PRRS,3)-1 -IJE = SIZE(PRRS,2) -IIE = SIZE(PRRS,1) -IKB = 2 -! -DO JK = 1 , SIZE(PZZ,3)-1 - ZW(:,:,JK) =ZTSPLITR/(( PZZ(:,:,JK+1)-PZZ(:,:,JK) )) -END DO -!WHERE (ZRRS(:,:,:)<=XRTMIN(3)) -! ZW(:,:,:)=0. -!END WHERE -! -! Flux mass aerosol in rain droplets = -! Flux mass rain water * Mass aerosol in rain / Mass rain water -!print*,'XEXSEDR=',XEXSEDR,'*****','XCEXVT=',XCEXVT,'***','KSPLITR=',KSPLITR - -DO JKAQ = 1,KMODE - DO JK = IKE,IKB, -1 - DO JJ = 1, IJE - DO JI = 1, IIE - !estimation of q' taking into account incomming ZWSED - ZQP=ZWSED(JI,JJ,JK+1)*ZW(JI,JJ,JK) - !calculation of w - IF ( PRRS(JI,JJ,JK) > ZRTMIN(3) ) THEN - ZWSEDW1 (JI,JJ,JK)= XFSEDR *PRRS(JI,JJ,JK)**(XEXSEDR-1)* & - PRHODREF(JI,JJ,JK)**(XEXSEDR-XCEXVT-1) - ENDIF - IF ( ZQP > ZRTMIN(3) ) THEN - ZWSEDW2 (JI,JJ,JK)= XFSEDR *(ZQP)**(XEXSEDR-1)* & - PRHODREF(JI,JJ,JK)**(XEXSEDR-XCEXVT-1) - ENDIF - ENDDO - DO JI = 1, IIE - ZH=PZZ(JI,JJ,JK+1) - PZZ(JI,JJ,JK) - P1 = MIN(1., ZWSEDW1(JI,JJ,JK) * PTSTEP / ZH ) - IF (ZWSEDW2(JI,JJ,JK) /= 0.) THEN - P2 = MAX(0.,1 - ZH & - & / (PTSTEP*ZWSEDW2(JI,JJ,JK)) ) - ELSE - P2 = 0. - ENDIF - ZWSED (JI,JJ,JK)=P1*PRHODREF(JI,JJ,JK)*& - &ZH*PRRS(JI,JJ,JK)& - &/PTSTEP+ P2 * ZWSED (JI,JJ,JK+1) -! - ZWSED (JI,JJ,JK)=ZWSED (JI,JJ,JK)*PSVT(JI,JJ,JK,KMODE*2+JKAQ) -! - ENDDO - ENDDO - ENDDO -ENDDO -! -DO JKAQ = 1,KMODE - DO JK = IKB, IKE - PSVT(:,:,JK,KMODE*2+JKAQ)= PSVT(:,:,JK,KMODE*2+JKAQ) + & - ZW(:,:,JK)*(ZWSED(:,:,JK+1)-ZWSED(:,:,JK)) - ! Aerosol mass in rain droplets need to be positive - PSVT(:,:,JK,KMODE*2+JKAQ)= MAX(PSVT(:,:,JK,KMODE*2+JKAQ), 0.) - END DO -END DO - - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_SEDIMENT_DEP',1,ZHOOK_HANDLE) -! - END SUBROUTINE AER_WET_SEDIMENT_DEP -! -!------------------------------------------------------------------------------- -! - SUBROUTINE AER_WET_WARM_DEP -! -!* 0. DECLARATIONS -! -IMPLICIT NONE -!------------------------------------------------------------------------------- -! -!* 1. compute the autoconversion of r_c for r_r production: RCAUTR -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_WARM_DEP',0,ZHOOK_HANDLE) -ZZW4(:,:,:)=0.0 -! to be sure no division by zero in case of ZZRCT = 0. -ZZRCT(:,:,:) = PRCT(:,:,:) -ZZRCT(:,:,:) = MAX(ZZRCT(:,:,:), XRTMIN(2)/2.) - -WHERE( (ZZRCT(:,:,:)>XRTMIN(2)) .AND. (PRCS(:,:,:)>0.0 ) ) - ZZW4(:,:,:) = MIN( PRCS(:,:,:),XTIMAUTC* & - MAX((ZZRCT(:,:,:)-XCRIAUTC/ PRHODREF(:,:,:)),0.0)) -END WHERE - -DO JKAQ = 1,KMODE - ZZW2(:,:,:) =0.0 - ZZW2(:,:,:)=ZZW4(:,:,:) * PSVT(:,:,:,KMODE+JKAQ)/ZZRCT(:,:,:) * PTSTEP - ZZW2(:,:,:) = MAX(MIN( ZZW2(:,:,:), PSVT(:,:,:,KMODE+JKAQ)),0.0) - -! For rain - Increase the aerosol conc in rain - PSVT(:,:,:,KMODE*2+JKAQ) = & - PSVT(:,:,:,KMODE*2+JKAQ) + ZZW2(:,:,:) -! For Cloud Decrease the aerosol conc in cloud - PSVT(:,:,:,KMODE+JKAQ) = & - PSVT(:,:,:,KMODE+JKAQ) - ZZW2(:,:,:) -ENDDO -! -!* 2. compute the accretion of r_c for r_r production: RCACCR -! -ZZW4(:,:,:)=0.0 -ZLBDAR(:,:,:)=0.0 -WHERE ( (ZZRCT(:,:,:)>XRTMIN(2)) .AND. (PRRT(:,:,:)>XRTMIN(3)) & - .AND. (PRCS(:,:,:)> 0.0 ) ) - ZLBDAR(:,:,:) = XLBR*( PRHODREF(:,:,:)* PRRT(:,:,:) )**XLBEXR - ZZW4(:,:,:) = MIN( PRCS(:,:,:),XFCACCR * ZZRCT(:,:,:) & - * ZLBDAR(:,:,:)**XEXCACCR & - * PRHODREF(:,:,:)**(-XCEXVT) ) -END WHERE -! -DO JKAQ = 1,KMODE - ZZW2(:,:,:)=0.0 - ZZW2(:,:,:)=ZZW4(:,:,:) * PSVT(:,:,:,KMODE+JKAQ)/ZZRCT(:,:,:) * PTSTEP - ZZW2(:,:,:) = MAX(MIN(ZZW2(:,:,:),PSVT(:,:,:,KMODE+JKAQ)), 0.0) - -!* 3. compute the new acquous aerosol mass -! -! For rain - Increase the aerosol conc in rain - PSVT(:,:,:,KMODE*2+JKAQ) = PSVT(:,:,:,KMODE*2+JKAQ) + ZZW2(:,:,:) -! For Cloud Decrease the aerosol conc in cloud - PSVT(:,:,:,KMODE+JKAQ) = PSVT(:,:,:,KMODE+JKAQ) - ZZW2(:,:,:) -ENDDO - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_WARM_DEP',1,ZHOOK_HANDLE) - END SUBROUTINE AER_WET_WARM_DEP -!--------------------------------------------------------------------------------------- - SUBROUTINE AER_WET_EVAP_DEP -! -!* COMPUTES THE EVAPORATION OF CLOUD-RAIN FOR THE -!* RE-RELEASE OF AER INTO THE ENVIRONMENT -! -------------------------------------- -! - -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -!* declaration of local variables -! -INTEGER :: JKAQ ! counter for aerosols - -!* 1. compute the evaporation of r_r: RREVAV -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_EVAP_DEP',0,ZHOOK_HANDLE) -!When partial reevaporation of precip takes place, the fraction of -!tracer precipitating form above is reevaporated is equal to -!half of the evaporation rate of water -! -! Rain water evaporated during PTSTEP in kg/kg -ZZEVAP(:,:,:) = PEVAP3D(:,:,:) * PTSTEP -! Fraction of rain water evaporated -! at this stage (bulk), we consider that the flux of evaporated aerosol -! is a ratio of the evaporated rain water. -! It will interested to calculate with a two moment scheme (C2R2 or C3R5) -! the complete evaporation of rain droplet to use it for the compuation -! of the evaporated aerosol flux. -ZWEVAP(:,:,:)=0.0 -WHERE( PRRT(:,:,:) .GT. XRTMIN(3) ) - ZWEVAP(:,:,:) = ZZEVAP(:,:,:)/(PRRT(:,:,:)) -END WHERE -ZWEVAP(:,:,:)=MIN(ZWEVAP(:,:,:),1.0) -ZWEVAP(:,:,:)=MAX(ZWEVAP(:,:,:),0.0) - -!* 2. compute the mask of r_c evaporation : all cloud is evaporated -! no partial cloud evaporation at this stage -ZMASK(:,:,:) = 0. -WHERE( PRCS(:,:,:) .LT. XRTMIN(2) ) - ZMASK(:,:,:) = 1. -END WHERE -! -! -DO JKAQ = 1,KMODE - ZZW1(:,:,:) = ZMASK(:,:,:)*PSVT(:,:,:,KMODE+JKAQ) - - ZZW2(:,:,:) = ZWEVAP(:,:,:)*PSVT(:,:,:,KMODE*2+JKAQ) - -! 3. New dry aerosol mass -! - PSVT(:,:,:,JKAQ) = PSVT(:,:,:,JKAQ) + ZZW2(:,:,:) + ZZW1(:,:,:) -! 4. New cloud aerosol mass -! - PSVT(:,:,:,KMODE+JKAQ) = PSVT(:,:,:,KMODE+JKAQ) - ZZW1(:,:,:) - -! 5. New rain aerosol mass -! - PSVT(:,:,:,KMODE*2+JKAQ) = PSVT(:,:,:,KMODE*2+JKAQ) - ZZW2(:,:,:) -END DO -! - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_EVAP_DEP',1,ZHOOK_HANDLE) - END SUBROUTINE AER_WET_EVAP_DEP -!--------------------------------------------------------------------------------------- - SUBROUTINE AER_WET_EFFIC_DEP -! -!* COMPUTES THE EFFICIENCY FACTOR -! ------------------------------ -! -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -! -!* 1. COMPUTES THE EFFICIENCY FACTOR -! -------------------------------------- -! -!* 1.1 compute gravitational velocities -! -!initialize - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_EFFIC_DEP',0,ZHOOK_HANDLE) - - ZTEMP(:)=ZTHT(:)*(ZPABST(:)/XP00)**(XRD/XCPD) - ZTEMP(:)=MAX(ZTEMP(:),1.e-12) - - CALL AER_VELGRAV(ZRG(:,:), ZPABST, KMODE, & - ZMU(:), ZVGG(:,:), & - ZDPG(:,:),ZTEMP(:), & - ZCOR(:,:), PDENSITY_AER) - -! Above gives mu (ZMU), v(aerosol)(PVGG, m/s), diffusion (ZDPG, m2/s) -! -!* 1.2 Compute Water Viscocity in kg/m/s Prup. & Klett, p.95 -! -! - A0=1.76 - A1=-5.5721e-2 - A2=-1.3943e-3 - A3=-4.3015e-5 - ZMUW(:)=A0*EXP(A1*(ZTEMP(:)-273.15) & - +A2*(ZTEMP(:)-273.15) + A3*(ZTEMP(:)-273.15))*1.e-3 - - A1=-3.5254e-2 - A2=4.7163e-4 - A3=-6.0667e-6 - - WHERE (ZTEMP(:)>273.15) - ZMUW(:)=A0*EXP(A1*(ZTEMP(:)-273.15) & - +A2*(ZTEMP(:)-273.15) + A3*(ZTEMP(:)-273.15))*1.e-3 - END WHERE - ZMUW(:)=MAX(ZMUW(:),1.e-12) - -! -!* 1.3 compute efficiency factor -! -! This gives aerosol collection efficiency by calculating Reynolds number -! schmidt number, stokes number, etc - CALL AER_EFFIC_DEP(ZRG(:,:), ZVGG(:,:), & !aerosol radius/velocity - ZRHODREF(:), & !Air density - ZMUW(:), ZMU(:), & !mu water/air - ZDPG(:,:), ZEFC(:,:), & !diffusivity, efficiency - ZRRT(:), KMODE, & !Rain water, nb aerosols modes - ZTEMP(:),ZCOR(:,:), & ! Temperature, Cunnimgham coeff - PDENSITY_AER ) ! aerosol density -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:AER_WET_EFFIC_DEP',1,ZHOOK_HANDLE) -END SUBROUTINE AER_WET_EFFIC_DEP - -! -!------------------------------------------------------------------------------- -! -! - FUNCTION COUNTJV(LTAB,I1,I2,I3) RESULT(IC) -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* declaration of local variables -! -! -LOGICAL, DIMENSION(:,:,:) :: LTAB ! Mask -INTEGER, DIMENSION(:) :: I1,I2,I3 ! Used to replace the COUNT and PACK -INTEGER :: JI,JJ,JK,IC -! -!------------------------------------------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:COUNTJV',0,ZHOOK_HANDLE) -I1(:)=0 -I2(:)=0 -I3(:)=0 -!ktk -IC = 0 -DO JK = 1,SIZE(LTAB,3) - DO JJ = 1,SIZE(LTAB,2) - DO JI = 1,SIZE(LTAB,1) - IF( LTAB(JI,JJ,JK) ) THEN - IC = IC +1 - I1(IC) = JI - I2(IC) = JJ - I3(IC) = JK - END IF - END DO - END DO -END DO -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP:COUNTJV',1,ZHOOK_HANDLE) -END FUNCTION COUNTJV -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE AER_WET_DEP diff --git a/src/arome/chem/internals/aer_wet_dep_kmt_warm.F90 b/src/arome/chem/internals/aer_wet_dep_kmt_warm.F90 deleted file mode 100644 index 6639c27dc83c8fba51eddd0c9db1aad1280fc564..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/aer_wet_dep_kmt_warm.F90 +++ /dev/null @@ -1,814 +0,0 @@ -! ######spl - SUBROUTINE AER_WET_DEP_KMT_WARM (KSPLITR, PTSTEP, PZZ, & - PRHODREF, PRCT, PRRT, & - PRCS, PRRS, PSVT, PTHT, & - PPABST, PRGAER, PEVAP3D, KMODE, & - PDENSITY_AER, PMASSMIN, PSEA, PTOWN, & - PCCT, PCRT ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################### -! -!!**** * - compute the explicit microphysical processes involved in the -!!*** * - wet deposition of aerosols species in mixed clouds -!! -!! PURPOSE -!! ------- -!! -!! The purpose of this subroutine is to calculate the mass transfer -!! of aerosol species between cloud hydrometeors. -!! -!! -!! -!!** METHOD -!! ------ -!! Aerosols mass are dissolved into the cloud water and rain -!! drops, it is subject to transfer through the microphysical processes -!! that affect the parent hydrometeor [Rutledge et al., 1986]. -!! Aerosol mass transfer has been computed using scavenging coefficient -!! and brownian nucleation scavenging coefficient (Seinfeld and Pandis, -!! 1998; Tost et al, 2006). -!! -!! The sedimentation rate is computed with a time spliting technique and -!! an upstream scheme, written as a difference of non-advective fluxes. -!! -!! KMODE: Number of aerosol modes (lognormal, bin..) -!! PSVT : 1 => KMODE : dry aerosol mass -!! PSVT : KMODE+1 => 2*KMODE : aerosol mass in cloud -!! PSVT : 2*KMODE+1 => 3*KMODE: aerosol mass in rain - -!! -!! EXTERNAL -!! -------- -!! None -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_CST -!! XP00 ! Reference pressure -!! XRD,XRV ! Gaz constant for dry air, vapor -!! XMD,XMV ! Molecular weight for dry air, vapor -!! XCPD ! Cpd (dry air) -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! P. Tulet & K. Crahan-Kaku * CNRM * -!! -!! Based on rain_ice.f90 and ch_wet_dep_kmt_warm.f90 -!! from C. Mari & J.P. Pinty * LA* -!! -!! -!! MODIFICATIONS -!! ------------- -!! Original 09/05/07 -!! M. Mokhtari & A. Ambar 09/2016: correction of the bug in -!! AER_WET_DEP_KMT_WARM_SEDIMENT -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CST -USE MODD_RAIN_ICE_PARAM -USE MODD_RAIN_ICE_DESCR -USE MODI_AER_VELGRAV -USE MODI_AER_EFFIC -USE MODI_GAMMA -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step - ! integration for rain sedimendation -REAL, INTENT(IN) :: PTSTEP ! Time step -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference [kg/m3] air density -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCT ! Cloud water m.r. at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRT ! Rain water m.r. at t -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT ! Tracer m.r. at t -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCS ! Cloud water m.r. from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRS ! Rain water m.r. from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PEVAP3D ! Instantaneous 3D Rain Evaporation flux (KG/KG/S) -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT ! Potential temp -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST ! [Pa] pressure -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRGAER ! Aerosols radius (um) -INTEGER, INTENT(IN) :: KMODE ! Nb aerosols mode -REAL, INTENT(IN) :: PDENSITY_AER ! Begin Index for aerosol in cloud -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PMASSMIN ! Aerosol mass minimum value -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PSEA ! Sea mask -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PTOWN ! Town mask -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCCT ! Cloud water concentration -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCRT ! Rain water concentration - -! -!* 0.2 Declarations of local variables : -! -INTEGER :: JK ! Vertical loop index for the rain sedimentation -INTEGER :: JN ! Temporal loop index for the rain sedimentation -INTEGER :: JJ, JI ! Loop index for the interpolation -! -REAL :: ZTSPLITR ! Small time step for rain sedimentation -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZEFC !efficiency factor [unitless] -! -!Declaration of Dust Variables -! -INTEGER :: ICLOUD, IRAIN -! Case number of sedimentation, T>0 (for HEN) - ! and r_x>0 locations -LOGICAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: GRAIN, GCLOUD ! Test where to compute all processes - ! Test where to compute the SED/EVAP processes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZW, ZZW1, ZZW2, ZZW4 ! work array -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZWEVAP ! sedimentation fluxes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)+1) & - :: ZWSED ! sedimentation fluxes -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZWSEDW1, ZWSEDW2 ! -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZLBDAR -! Slope parameter of the raindrop distribution -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZZRCT, ZZEVAP, ZMASK -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) & - :: ZRAY, & ! Mean radius - ZNRT, & ! Number of rain droplets - ZLBC , & ! XLBC weighted by sea fraction - ZFSEDC -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2)) :: ZCONC_TMP -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZCONC -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZRRS -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSVT ! Tracer m.r. concentration -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZVGG, ZDPG !aerosol velocity [m/s], diffusivity [m2/s] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZRG !Dust R[µm] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZCOR !Cunningham correction factor [unitless] -REAL, DIMENSION(:,:), ALLOCATABLE :: ZMASSMIN ! Aerosol mass minimum value -! -REAL, DIMENSION(:), ALLOCATABLE & - :: ZRHODREF, & ! RHO Dry REFerence - ZTHT, & ! Potential temp - ZPABST, & ! Pressure [Pa] - ZZW, & ! Work array - ZTEMP, & ! Air Temp [K] - ZRC, & ! Cloud radius [m] - ZRCT, & ! Cloud water - ZRR, & ! Rain radius [m] - ZNT, & ! Rain droplets number - ZRRT, & ! Rain water - ZMU,ZMUW, & ! viscosity aerosol, water [Pa s] - ZFLUX, & ! Effective precipitation flux (kg.m-2.s-1) - ZCONC1D, & ! Weighted droplets concentration - ZWLBDC, & ! Slope parameter of the droplet distribution - ZGAMMA ! scavenging coefficient -REAL, DIMENSION(:), ALLOCATABLE :: ZW1 ! Work arrays -REAL, DIMENSION(SIZE(XRTMIN)) :: ZRTMIN - -INTEGER :: JL ! and PACK intrinsics -! -INTEGER :: JKAQ, JSV -! -REAL :: A0, A1, A2, A3 ! Constants for computing viscocity -INTEGER :: IKE, IJE, IIE, IKB -! -!------------------------------------------------------------------------------- -! -!* 0. Initialize work array -! --------------------- -! -! Compute Effective cloud radius -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM',0,ZHOOK_HANDLE) -ZRAY(:,:,:) = 0. -ZLBC(:,:,:) = 0. -IF (PRESENT(PCCT)) THEN ! case KHKO, C2R2, C3R5 (two moments schemes) - ZRAY(:,:,:) = 3.* PRCT(:,:,:) / (4.*XPI*XRHOLW*PCCT(:,:,:)) - ZRAY(:,:,:) = ZRAY(:,:,:)**(1./3.) ! Cloud mean radius in m -ELSE IF (PRESENT(PSEA)) THEN ! Case ICE3, RAVE, KESS, .. -ZLBC(:,:,:) = XLBC(1) -ZFSEDC(:,:,:) = XFSEDC(1) -ZCONC(:,:,:) = XCONC_LAND -ZCONC_TMP(:,:)=PSEA(:,:)*XCONC_SEA+(1.-PSEA(:,:))*XCONC_LAND -DO JK=1,SIZE(PRHODREF,3) - ZLBC(:,:,JK) = PSEA(:,:)*XLBC(2)+(1.-PSEA(:,:))*XLBC(1) - ZFSEDC(:,:,JK) = (PSEA(:,:)*XFSEDC(2)+(1.-PSEA(:,:))*XFSEDC(1)) - ZFSEDC(:,:,JK) = MAX(MIN(XFSEDC(1),XFSEDC(2)),ZFSEDC(:,:,JK)) - ZCONC(:,:,JK) = (1.-PTOWN(:,:))*ZCONC_TMP(:,:)+PTOWN(:,:)*XCONC_URBAN - ZRAY(:,:,JK) = 0.5*((1.-PSEA(:,:))*GAMMA(XNUC+1.0/XALPHAC)/(GAMMA(XNUC)) + & - PSEA(:,:)*GAMMA(XNUC2+1.0/XALPHAC2)/(GAMMA(XNUC2))) -END DO -ZRAY(:,:,:) = MAX(1.,ZRAY(:,:,:)) -ZLBC(:,:,:) = MAX(MIN(XLBC(1),XLBC(2)),ZLBC(:,:,:)) -ELSE -ZRAY(:,:,:) = 30. ! default value for cloud radius -END IF -! -ZNRT(:,:,:) = 0. -IF (PRESENT(PCRT)) THEN ! case KHKO, C2R2, C3R5 -! Transfert Number of rain droplets - ZNRT(:,:,:) = PCRT(:,:,:) -! ZNRT(:,:,:) = PRRT(:,:,:) -END IF -!------------------------------------------------------------------------------- -! -!* 1. COMPUTE THE AEROSOL/CLOUD-RAIN MASS TRANSFER -! ---------------------------------------------- -CALL AER_WET_MASS_TRANSFER -!------------------------------------------------------------------------------- -! -!* 2. COMPUTE THE SEDIMENTATION (RS) SOURCE -! ------------------------------------- -! -CALL AER_WET_DEP_KMT_WARM_SEDIMENT -! -!------------------------------------------------------------------------------- -!! -!!* 3. COMPUTES THE SLOW WARM PROCESS SOURCES -!! -------------------------------------- -!! -CALL AER_WET_DEP_KMT_ICE_WARM - -! -!------------------------------------------------------------------------------- -!!* 4. COMPUTES EVAPORATION PROCESS -!! ---------------------------- -!! -CALL AER_WET_DEP_KMT_EVAP -! - -!------------------------------------------------------------------------------- -! -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM',1,ZHOOK_HANDLE) -CONTAINS -! -! -!------------------------------------------------------------------------------- -! -SUBROUTINE AER_WET_MASS_TRANSFER -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* 0.2 declaration of local variables -! -! -INTEGER , DIMENSION(SIZE(GCLOUD)) :: I1C,I2C,I3C! Used to replace the COUNT -INTEGER , DIMENSION(SIZE(GRAIN)) :: I1R,I2R,I3R ! Used to replace the COUNT -INTEGER :: JL ! and PACK intrinsics -INTEGER :: JKAQ ! counter for chemistry -! -! -! 1 Mass transfer Aerosol to cloud (Tost et al., 2006) -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_MASS_TRANSFER',0,ZHOOK_HANDLE) -GCLOUD(:,:,:) = .FALSE. -GCLOUD(:,:,:) = PRCS(:,:,:)>XRTMIN(2) -ICLOUD = COUNTJV( GCLOUD(:,:,:),I1C(:),I2C(:),I3C(:)) -IF( ICLOUD >= 1 ) THEN -ALLOCATE(ZSVT(ICLOUD,KMODE*3)) -ALLOCATE(ZRHODREF(ICLOUD)) -ALLOCATE(ZTHT(ICLOUD)) -ALLOCATE(ZRC(ICLOUD)) -ALLOCATE(ZPABST(ICLOUD)) -ALLOCATE(ZRG(ICLOUD,KMODE)) -ALLOCATE(ZTEMP(ICLOUD)) -ALLOCATE(ZMU(ICLOUD)) -ALLOCATE(ZRCT(ICLOUD)) -ALLOCATE(ZVGG(ICLOUD,KMODE)) -ALLOCATE(ZDPG(ICLOUD,KMODE)) -ALLOCATE(ZGAMMA(ICLOUD)) -ALLOCATE(ZW1(ICLOUD)) -ALLOCATE(ZCOR(ICLOUD,KMODE)) -ALLOCATE(ZMASSMIN(ICLOUD,KMODE)) -ALLOCATE(ZWLBDC(ICLOUD)) -ALLOCATE(ZCONC1D(ICLOUD)) -ZSVT(:,:) = 0. -DO JL=1,ICLOUD - DO JKAQ = 1, KMODE - ZRG(JL,JKAQ) = PRGAER(I1C(JL),I2C(JL),I3C(JL),JKAQ) - ENDDO - DO JKAQ = 1, KMODE*3 - ZSVT(JL,JKAQ) = PSVT(I1C(JL),I2C(JL),I3C(JL),JKAQ) - END DO - ! - ZTHT(JL) = PTHT(I1C(JL),I2C(JL),I3C(JL)) - ZRC(JL) = ZRAY(I1C(JL),I2C(JL),I3C(JL)) - ZPABST(JL) = PPABST(I1C(JL),I2C(JL),I3C(JL)) - ZRCT(JL) = PRCS(I1C(JL),I2C(JL),I3C(JL)) - ZRHODREF(JL) = PRHODREF(I1C(JL),I2C(JL),I3C(JL)) - ZMASSMIN(JL,:) = PMASSMIN(I1C(JL),I2C(JL),I3C(JL),:) - ZWLBDC(JL) = ZLBC(I1C(JL),I2C(JL),I3C(JL)) - ZCONC1D(JL) = ZCONC(I1C(JL),I2C(JL),I3C(JL)) -END DO -IF (ANY(ZWLBDC(:)/=0.)) THEN ! case one moments - ! On calcule Rc a partir de M(3) car c'est le seul moment indt de alpha et nu - ! Rho_air * Rc / (Pi/6 * Rho_eau * Nc) = M(3) = 1/ (Lambda**3 * rapport des - ! gamma) - ZWLBDC(:) = ZWLBDC(:) * ZCONC1D(:) / (ZRHODREF(:) * ZRCT(:)) - ZWLBDC(:) = ZWLBDC(:)**XLBEXC - ZRC(:) = ZRC(:) / ZWLBDC(:) -END IF - -! -! initialize temperature - ZTEMP(:)=ZTHT(:)*(ZPABST(:)/XP00)**(XRD/XCPD) - -! compute diffusion and gravitation velocity - - CALL AER_VELGRAV(ZRG(:,:), ZPABST, & - KMODE, ZMU(:), ZVGG(:,:), & - ZDPG(:,:),ZTEMP(:),ZCOR(:,:), & - PDENSITY_AER) - -DO JKAQ = 1, KMODE -! Browninan nucleation scavenging (Pruppacher and Klett, 2000, p723) - ZGAMMA(:) = 1.35 * ZRCT(:)*ZRHODREF(:)*1.E-3 * ZDPG(:,JKAQ) /& - (ZRC(:)*ZRC(:)) - - ZW1(:) = ZSVT(:,JKAQ) * EXP(-ZGAMMA(:) * PTSTEP) - ZW1(:) = MAX(ZW1(:), ZMASSMIN(:,JKAQ)) - ZW1(:) = MIN(ZW1(:),ZSVT(:,JKAQ)) -! Aerosol mass in cloud - ZSVT(:,KMODE+JKAQ) = ZSVT(:,KMODE+JKAQ) + ZSVT(:,JKAQ) - ZW1(:) -! New aerosol mass - ZSVT(:,JKAQ) = ZW1(:) -! Return in 3D - PSVT(:,:,:,JKAQ) = & - UNPACK(ZSVT(:,JKAQ),MASK=GCLOUD(:,:,:),FIELD=PSVT(:,:,:,JKAQ)) - PSVT(:,:,:,KMODE+JKAQ) = & - UNPACK(ZSVT(:,KMODE+JKAQ),MASK=GCLOUD(:,:,:),FIELD=PSVT(:,:,:,KMODE+JKAQ)) -ENDDO -DEALLOCATE(ZSVT) -DEALLOCATE(ZRHODREF) -DEALLOCATE(ZTHT) -DEALLOCATE(ZRC) -DEALLOCATE(ZPABST) -DEALLOCATE(ZRG) -DEALLOCATE(ZTEMP) -DEALLOCATE(ZMU) -DEALLOCATE(ZRCT) -DEALLOCATE(ZVGG) -DEALLOCATE(ZDPG) -DEALLOCATE(ZGAMMA) -DEALLOCATE(ZW1) -DEALLOCATE(ZCOR) -DEALLOCATE(ZMASSMIN) -DEALLOCATE(ZWLBDC) -DEALLOCATE(ZCONC1D) -END IF -! -! 2 Mass transfer Aerosol to Rain (Seinfeld and Pandis, 1998, Tost et al., 2006) -! -GRAIN(:,:,:) = .FALSE. -GRAIN(:,:,:) = PRRS(:,:,:)>XRTMIN(3) -IRAIN = COUNTJV( GRAIN(:,:,:),I1R(:),I2R(:),I3R(:)) -IF( IRAIN >= 1 ) THEN -! - ALLOCATE(ZRRT(IRAIN)) - ALLOCATE(ZSVT(IRAIN,3*KMODE)) - ALLOCATE(ZRHODREF(IRAIN)) - ALLOCATE(ZTHT(IRAIN)) - ALLOCATE(ZRR(IRAIN)) - ALLOCATE(ZNT(IRAIN)) - ALLOCATE(ZPABST(IRAIN)) - ALLOCATE(ZRG(IRAIN,KMODE)) - ALLOCATE(ZCOR(IRAIN,KMODE)) - ALLOCATE(ZTEMP(IRAIN)) - ALLOCATE(ZMU(IRAIN)) - ALLOCATE(ZVGG(IRAIN,KMODE)) - ALLOCATE(ZDPG(IRAIN,KMODE)) - ALLOCATE(ZMUW(IRAIN)) - ALLOCATE(ZEFC(IRAIN,KMODE)) - ALLOCATE(ZW1(IRAIN)) - ALLOCATE(ZFLUX(IRAIN)) - ALLOCATE(ZGAMMA(IRAIN)) - ALLOCATE(ZMASSMIN(IRAIN,KMODE)) - - ZSVT(:,:) = 0. - DO JL=1,IRAIN - DO JKAQ = 1, KMODE - ZRG(JL,JKAQ) = PRGAER(I1R(JL),I2R(JL),I3R(JL),JKAQ ) - ZSVT(JL,JKAQ) = PSVT(I1R(JL),I2R(JL),I3R(JL),JKAQ) - ZSVT(JL,KMODE*2+JKAQ) = PSVT(I1R(JL),I2R(JL),I3R(JL),KMODE*2+JKAQ) - END DO - ! - ZTHT(JL) = PTHT(I1R(JL),I2R(JL),I3R(JL)) - ZPABST(JL) = PPABST(I1R(JL),I2R(JL),I3R(JL)) - ZRRT(JL) = PRRS(I1R(JL),I2R(JL),I3R(JL)) - ZRHODREF(JL) = PRHODREF(I1R(JL),I2R(JL),I3R(JL)) - ZMASSMIN(JL,:) = PMASSMIN(I1R(JL),I2R(JL),I3R(JL),:) - ZNT(JL) = ZNRT(I1R(JL),I2R(JL),I3R(JL)) - ENDDO -! -CALL AER_WET_DEP_KMT_EFFIC - -! Compute scavenging coefficient -ZFLUX(:) = 0. -ZRRT(:) = MAX(ZRRT(:), 0.) -! Effective precipitation flux (kg.m-2.s-1) -ZFLUX(:) = XFSEDR * ZRRT(:)**(XEXSEDR ) & - * ZRHODREF(:)**(XEXSEDR-XCEXVT) -ZFLUX(:) = MAX(ZFLUX(:), 0.) - -IF (ALL(ZNT(:) == 0.)) THEN ! case one moments -!Number concentration NT=No/lbda p. 415 Jacobson -!4/3 *pi *r³*NT*rho_eau(kg/m3) =rho(lwc)=rho(air)* qc(kg/kg) -ZNT (:) = XCCR/(XLBR*( ZRHODREF(:)* ZRRT(:) )**XLBEXR) -END IF - -ZRR(:) = (ZRRT(:)*ZRHODREF(:)/(XRHOLW*ZNT(:)*4./3.*XPI))**(1./3.) - -DO JKAQ = 1, KMODE - ! Tost et al, 2006 - ZGAMMA(:) = 0.75 * ZEFC(:,JKAQ) * ZFLUX(:) / (ZRR(:)*1E3) - ZW1(:) = ZSVT(:,JKAQ) * EXP(-ZGAMMA(:) * PTSTEP) - ZW1(:) = MAX(ZW1(:), ZMASSMIN(:,JKAQ)) - ZW1(:) = MIN(ZW1(:),ZSVT(:,JKAQ)) - - ! Aerosol mass in rain - ZSVT(:,KMODE*2+JKAQ) = ZSVT(:,KMODE*2+JKAQ) + ZSVT(:,JKAQ) - ZW1(:) - ! New aerosol mass - ZSVT(:,JKAQ) = ZW1(:) - - ! Return to 3D - PSVT(:,:,:,JKAQ) = & - UNPACK(ZSVT(:,JKAQ),MASK=GRAIN(:,:,:),FIELD=PSVT(:,:,:,JKAQ)) - PSVT(:,:,:,KMODE*2+JKAQ) = & - UNPACK(ZSVT(:,KMODE*2+JKAQ),MASK=GRAIN(:,:,:),FIELD=PSVT(:,:,:,KMODE*2+JKAQ)) -ENDDO - DEALLOCATE(ZRRT) - DEALLOCATE(ZSVT) - DEALLOCATE(ZRHODREF) - DEALLOCATE(ZTHT) - DEALLOCATE(ZRR) - DEALLOCATE(ZNT) - DEALLOCATE(ZPABST) - DEALLOCATE(ZRG) - DEALLOCATE(ZCOR) - DEALLOCATE(ZTEMP) - DEALLOCATE(ZMU) - DEALLOCATE(ZVGG) - DEALLOCATE(ZDPG) - DEALLOCATE(ZMUW) - DEALLOCATE(ZEFC) - DEALLOCATE(ZW1) - DEALLOCATE(ZFLUX) - DEALLOCATE(ZGAMMA) - DEALLOCATE(ZMASSMIN) - END IF -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_MASS_TRANSFER',1,ZHOOK_HANDLE) -END SUBROUTINE AER_WET_MASS_TRANSFER -! -SUBROUTINE AER_WET_DEP_KMT_WARM_SEDIMENT -! -!* Sedimentation of aerosol in rain droplets -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* declaration of local variables -! -! -REAL :: P1,P2,ZQP,ZH -INTEGER :: JL ! and PACK intrinsics -INTEGER :: JKAQ ! counter for acquous aerosols -! -!------------------------------------------------------------------------------- -! -!* Time splitting initialization -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_WARM_SEDIMENT',0,ZHOOK_HANDLE) -ZTSPLITR = PTSTEP / FLOAT(KSPLITR) -! -ZWSEDW1(:,:,:)=0. -ZWSEDW2(:,:,:)=0. -ZWSED(:,:,:) = 0. -ZW(:,:,:)=0. -ZRRS(:,:,:) = MAX(PTSTEP*PRRS(:,:,:), 1E-80) -IKE = SIZE(PRRS,3)-1 -IJE = SIZE(PRRS,2) -IIE = SIZE(PRRS,1) -IKB = 2 - -DO JK = 1 , SIZE(PZZ,3)-1 - ZW(:,:,JK) =ZTSPLITR/(( PZZ(:,:,JK+1)-PZZ(:,:,JK) )) -END DO -WHERE (ZRRS(:,:,:)<=XRTMIN(3)) - ZW(:,:,:)=0. -END WHERE -! -ZWSED(:,:,IKE+1) = 0. - -! Flux mass aerosol in rain droplets = -! Flux mass rain water * Mass aerosol in rain / Mass rain water -DO JKAQ = 1,KMODE - DO JK = IKE,IKB, -1 - DO JJ = 1, IJE - DO JI = 1, IIE - !estimation of q' taking into account incomming ZWSED - ZQP=ZWSED(JI,JJ,JK+1)*ZW(JI,JJ,JK) - !calculation of w - IF ( PRRS(JI,JJ,JK) > ZRTMIN(3) ) THEN - ZWSEDW1 (JI,JJ,JK)= XFSEDR *PRRS(JI,JJ,JK)**(XEXSEDR-1)* & - PRHODREF(JI,JJ,JK)**(XEXSEDR-XCEXVT-1) - ENDIF - IF ( ZQP > ZRTMIN(3) ) THEN - ZWSEDW2 (JI,JJ,JK)= XFSEDR *(ZQP)**(XEXSEDR-1)* & - PRHODREF(JI,JJ,JK)**(XEXSEDR-XCEXVT-1) - ENDIF - ENDDO - DO JI = 1, IIE - ZH=PZZ(JI,JJ,JK+1) - PZZ(JI,JJ,JK) - P1 = MIN(1., ZWSEDW1(JI,JJ,JK) * PTSTEP / ZH ) - IF (ZWSEDW2(JI,JJ,JK) /= 0.) THEN - P2 = MAX(0.,1 - ZH & - & / (PTSTEP*ZWSEDW2(JI,JJ,JK)) ) - ELSE - P2 = 0. - ENDIF - ZWSED (JI,JJ,JK)=P1*PRHODREF(JI,JJ,JK)*& - &ZH*PRRS(JI,JJ,JK)& - &/PTSTEP+ P2 * ZWSED (JI,JJ,JK+1) -! - ZWSED (JI,JJ,JK)=ZWSED (JI,JJ,JK)*PSVT(JI,JJ,JK,KMODE*2+JKAQ) -! - ENDDO - ENDDO - ENDDO -ENDDO -! -DO JKAQ = 1,KMODE - DO JK = IKB, IKE - PSVT(:,:,JK,KMODE*2+JKAQ)= PSVT(:,:,JK,KMODE*2+JKAQ) + & - ZW(:,:,JK)*(ZWSED(:,:,JK+1)-ZWSED(:,:,JK)) - ! Aerosol mass in rain droplets need to be positive - PSVT(:,:,JK,KMODE*2+JKAQ)= MAX(PSVT(:,:,JK,KMODE*2+JKAQ), 0.) - END DO -END DO -! - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_WARM_SEDIMENT',1,ZHOOK_HANDLE) - END SUBROUTINE AER_WET_DEP_KMT_WARM_SEDIMENT -! -!------------------------------------------------------------------------------- -! - SUBROUTINE AER_WET_DEP_KMT_ICE_WARM -! -!* 0. DECLARATIONS -! -IMPLICIT NONE -!------------------------------------------------------------------------------- -! -!* 1. compute the autoconversion of r_c for r_r production: RCAUTR -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_ICE_WARM',0,ZHOOK_HANDLE) -ZZW4(:,:,:)=0.0 -! to be sure no division by zero in case of ZZRCT = 0. -ZZRCT(:,:,:) = PRCT(:,:,:) -ZZRCT(:,:,:) = MAX(ZZRCT(:,:,:), XRTMIN(2)/2.) - -WHERE( (ZZRCT(:,:,:)>XRTMIN(2)) .AND. (PRCS(:,:,:)>0.0 ) ) - ZZW4(:,:,:) = MIN( PRCS(:,:,:),XTIMAUTC* & - MAX((ZZRCT(:,:,:)-XCRIAUTC/ PRHODREF(:,:,:)),0.0)) -END WHERE - -DO JKAQ = 1,KMODE - ZZW2(:,:,:) =0.0 - ZZW2(:,:,:)=ZZW4(:,:,:) * PSVT(:,:,:,KMODE+JKAQ)/ZZRCT(:,:,:) * PTSTEP - ZZW2(:,:,:) = MAX(MIN( ZZW2(:,:,:), PSVT(:,:,:,KMODE+JKAQ)),0.0) - -! For rain - Increase the aerosol conc in rain - PSVT(:,:,:,KMODE*2+JKAQ) = & - PSVT(:,:,:,KMODE*2+JKAQ) + ZZW2(:,:,:) -! For Cloud Decrease the aerosol conc in cloud - PSVT(:,:,:,KMODE+JKAQ) = & - PSVT(:,:,:,KMODE+JKAQ) - ZZW2(:,:,:) -ENDDO - - -! -!* 2. compute the accretion of r_c for r_r production: RCACCR -! -ZZW4(:,:,:)=0.0 -ZLBDAR(:,:,:)=0.0 -WHERE ( (ZZRCT(:,:,:)>XRTMIN(2)) .AND. (PRRT(:,:,:)>XRTMIN(3)) & - .AND. (PRCS(:,:,:)> 0.0 ) ) - ZLBDAR(:,:,:) = XLBR*( PRHODREF(:,:,:)* PRRT(:,:,:) )**XLBEXR - ZZW4(:,:,:) = MIN( PRCS(:,:,:),XFCACCR * ZZRCT(:,:,:) & - * ZLBDAR(:,:,:)**XEXCACCR & - * PRHODREF(:,:,:)**(-XCEXVT) ) -END WHERE -! -DO JKAQ = 1,KMODE - ZZW2(:,:,:)=0.0 - ZZW2(:,:,:)=ZZW4(:,:,:) * PSVT(:,:,:,KMODE+JKAQ)/ZZRCT(:,:,:) * PTSTEP - ZZW2(:,:,:) = MAX(MIN(ZZW2(:,:,:),PSVT(:,:,:,KMODE+JKAQ)), 0.0) - -!* 3. compute the new acquous aerosol mass -! -! For rain - Increase the aerosol conc in rain - PSVT(:,:,:,KMODE*2+JKAQ) = PSVT(:,:,:,KMODE*2+JKAQ) + ZZW2(:,:,:) -! For Cloud Decrease the aerosol conc in cloud - PSVT(:,:,:,KMODE+JKAQ) = PSVT(:,:,:,KMODE+JKAQ) - ZZW2(:,:,:) -ENDDO - - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_ICE_WARM',1,ZHOOK_HANDLE) - END SUBROUTINE AER_WET_DEP_KMT_ICE_WARM -!--------------------------------------------------------------------------------------- - SUBROUTINE AER_WET_DEP_KMT_EVAP -! -!* COMPUTES THE EVAPORATION OF CLOUD-RAIN FOR THE -!* RE-RELEASE OF AER INTO THE ENVIRONMENT -! -------------------------------------- -! - -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -!* declaration of local variables -! -INTEGER :: JKAQ ! counter for aerosols - -!* 1. compute the evaporation of r_r: RREVAV - -!When partial reevaporation of precip takes place, the fraction of -!tracer precipitating form above is reevaporated is equal to -!half of the evaporation rate of water -! -! Rain water evaporated during PTSTEP in kg/kg -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_EVAP',0,ZHOOK_HANDLE) -ZZEVAP(:,:,:) = PEVAP3D(:,:,:) * PTSTEP -! Fraction of rain water evaporated -! at this stage (bulk), we consider that the flux of evaporated aerosol -! is a ratio of the evaporated rain water. -! It will interested to calculate with a two moment scheme (C2R2 or C3R5) -! the complete evaporation of rain droplet to use it for the compuation -! of the evaporated aerosol flux. -ZWEVAP(:,:,:)=0.0 -WHERE( PRRT(:,:,:) .GT. XRTMIN(3) ) - ZWEVAP(:,:,:) = ZZEVAP(:,:,:)/(PRRT(:,:,:)) -END WHERE -ZWEVAP(:,:,:)=MIN(ZWEVAP(:,:,:),1.0) -ZWEVAP(:,:,:)=MAX(ZWEVAP(:,:,:),0.0) - -!* 2. compute the mask of r_c evaporation : all cloud is evaporated -! no partial cloud evaporation at this stage -ZMASK(:,:,:) = 0. -WHERE( PRCS(:,:,:) .LT. XRTMIN(2) ) - ZMASK(:,:,:) = 1. -END WHERE -! -! -DO JKAQ = 1,KMODE - ZZW1(:,:,:) = ZMASK(:,:,:)*PSVT(:,:,:,KMODE+JKAQ) - - ZZW2(:,:,:) = ZWEVAP(:,:,:)*PSVT(:,:,:,KMODE*2+JKAQ) - -! 3. New dry aerosol mass -! - PSVT(:,:,:,JKAQ) = PSVT(:,:,:,JKAQ) + ZZW2(:,:,:) + ZZW1(:,:,:) -! 4. New cloud aerosol mass -! - PSVT(:,:,:,KMODE+JKAQ) = PSVT(:,:,:,KMODE+JKAQ) - ZZW1(:,:,:) - -! 5. New rain aerosol mass -! - PSVT(:,:,:,KMODE*2+JKAQ) = PSVT(:,:,:,KMODE*2+JKAQ) - ZZW2(:,:,:) -END DO -! -! - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_EVAP',1,ZHOOK_HANDLE) - END SUBROUTINE AER_WET_DEP_KMT_EVAP -!--------------------------------------------------------------------------------------- - SUBROUTINE AER_WET_DEP_KMT_EFFIC -! -!* COMPUTES THE EFFICIENCY FACTOR -! ------------------------------ -! -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -! -!* 1. COMPUTES THE EFFICIENCY FACTOR -! -------------------------------------- -! -!* 1.1 compute gravitational velocities -! -!initialize - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_EFFIC',0,ZHOOK_HANDLE) - ZTEMP(:)=ZTHT(:)*(ZPABST(:)/XP00)**(XRD/XCPD) - ZTEMP(:)=MAX(ZTEMP(:),1.e-12) - - CALL AER_VELGRAV(ZRG(:,:), ZPABST, KMODE, & - ZMU(:), ZVGG(:,:), & - ZDPG(:,:),ZTEMP(:), & - ZCOR(:,:), PDENSITY_AER) - -! Above gives mu (ZMU), v(aerosol)(PVGG, m/s), diffusion (ZDPG, m2/s) -! -!* 1.2 Compute Water Viscocity in kg/m/s Prup. & Klett, p.95 -! -! - A0=1.76 - A1=-5.5721e-2 - A2=-1.3943e-3 - A3=-4.3015e-5 - ZMUW(:)=A0*EXP(A1*(ZTEMP(:)-273.15) & - +A2*(ZTEMP(:)-273.15) + A3*(ZTEMP(:)-273.15))*1.e-3 - - A1=-3.5254e-2 - A2=4.7163e-4 - A3=-6.0667e-6 - - WHERE (ZTEMP(:)>273.15) - ZMUW(:)=A0*EXP(A1*(ZTEMP(:)-273.15) & - +A2*(ZTEMP(:)-273.15) + A3*(ZTEMP(:)-273.15))*1.e-3 - END WHERE - ZMUW(:)=MAX(ZMUW(:),1.e-12) - -! -!* 1.3 compute efficiency factor -! -! This gives aerosol collection efficiency by calculating Reynolds number -! schmidt number, stokes number, etc - CALL AER_EFFIC(ZRG(:,:), ZVGG(:,:), & !aerosol radius/velocity - ZRHODREF(:), & !Air density - ZMUW(:), ZMU(:), & !mu water/air - ZDPG(:,:), ZEFC(:,:), & !diffusivity, efficiency - ZRRT(:), KMODE, & !Rain water, nb aerosols modes - ZTEMP(:),ZCOR(:,:), & ! Temperature, Cunnimgham coeff - PDENSITY_AER ) ! aerosol density -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:AER_WET_DEP_KMT_EFFIC',1,ZHOOK_HANDLE) -END SUBROUTINE AER_WET_DEP_KMT_EFFIC - -! -!------------------------------------------------------------------------------- -! -! - FUNCTION COUNTJV(LTAB,I1,I2,I3) RESULT(IC) -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* declaration of local variables -! -! -LOGICAL, DIMENSION(:,:,:) :: LTAB ! Mask -INTEGER, DIMENSION(:) :: I1,I2,I3 ! Used to replace the COUNT and PACK -INTEGER :: JI,JJ,JK,IC -! -!------------------------------------------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:COUNTJV',0,ZHOOK_HANDLE) -I1(:)=0 -I2(:)=0 -I3(:)=0 -!ktk -IC = 0 -DO JK = 1,SIZE(LTAB,3) - DO JJ = 1,SIZE(LTAB,2) - DO JI = 1,SIZE(LTAB,1) - IF( LTAB(JI,JJ,JK) ) THEN - IC = IC +1 - I1(IC) = JI - I2(IC) = JJ - I3(IC) = JK - END IF - END DO - END DO -END DO -! -IF (LHOOK) CALL DR_HOOK('AER_WET_DEP_KMT_WARM:COUNTJV',1,ZHOOK_HANDLE) -END FUNCTION COUNTJV -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE AER_WET_DEP_KMT_WARM diff --git a/src/arome/chem/internals/ares.F b/src/arome/chem/internals/ares.F deleted file mode 100644 index 7a76ea35eaf6980483bdd6a8da12b7a4613fe707..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ares.F +++ /dev/null @@ -1,1427 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/ares.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:29 $ -!----------------------------------------------------------------- -!----------------------------------------------------------------- -!///////////////////////////////////////////////////////////////////////////// - -! Calculate the aerosol chemical speciation and water content. - - SUBROUTINE RPMARES ( SO4, HNO3, NO3, NH3, NH4, RH, TEMP, & - & ASO4, ANO3, AH2O, ANH4, GNH3, GNO3) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - -!----------------------------------------------------------------------- -! -! Description: -! -! ARES calculates the chemical composition of a sulfate/nitrate/ -! ammonium/water aerosol based on equilibrium thermodynamics. -! -! 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, HPLUS, 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 activity coefficients is s used -! in this version - -! 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 Ceience 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 -! -! Parameters: -! -! SO4 : Total sulfate in MICROGRAMS/M**3 as sulfate (IN) -! HNO3 : Nitric Acid in MICROGRAMS/M**3 as nitric acid (IN) -! NO3 : Total nitrate in MICROGRAMS/M**3 as nitric acid (IN) -! NH3 : Total ammonia in MICROGRAMS/M**3 as ammonia (IN) -! NH4 : Ammonium in MICROGRAMS/M**3 as ammonium (IN) -! RH : Fractional relative humidity (IN) -! TEMP : Temperature in Kelvin (IN) -! GNO3 : Gas phase nitric acid in MICROGRAMS/M**3 (OUT) -! GNH3 : Gas phase ammonia in MICROGRAMS/M**3 (OUT) -! ASO4 : Aerosol phase sulfate in MICROGRAMS/M**3 (OUT) -! ANO3 : Aerosol phase nitrate in MICROGRAMS/M**3 (OUT) -! ANH4 : Aerosol phase ammonium in MICROGRAMS/M**3 (OUT) -! AH2O : Aerosol phase water in MICROGRAMS/M**3 (OUT) -! NITR : Number of iterations for obtaining activity coefficients (OUT) -! NR : Number of real roots to the cubic in the low ammonia case (OUT) -! -! 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 HPLUS 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 Chenged minimum sulfate from 0.0 to 1.0e-6 i.e. -! 1 picogram per cubic meter -! -!----------------------------------------------------------------------- -! K. Suhre 6/6/98 -! -! note different values of the following constants, -! the latter ones are used in subroutine awater .. -! -! MWSO4 = 96.0576 -! mwso4 = 96.0636 -! -! MWNH4 = 18.03858 -! mwnh4 = 18.0985 -! -! MWNO3 = 62.0049 -! mwno3 = 62.0649 -! -! -- -! -! increased precision by -! changing TOLER2 = 0.001 to TOLER2 = 0.00001 -! -!----------------------------------------------------------------------- - - IMPLICIT NONE - -!...........INCLUDES and their descriptions - -!cc INCLUDE SUBST_CONST ! constants - -!...........PARAMETERS and their descriptions: - - REAL MWNACL ! molecular weight for NaCl - PARAMETER ( MWNACL = 58.44277 ) - - REAL MWNO3 ! molecular weight for NO3 - PARAMETER ( MWNO3 = 62.0049 ) - - REAL MWHNO3 ! molecular weight for HNO3 - PARAMETER ( MWHNO3 = 63.01287 ) - - REAL MWSO4 ! molecular weight for SO4 - PARAMETER ( MWSO4 = 96.0576 ) - - REAL MWHSO4 ! molecular weight for HSO4 - PARAMETER ( MWHSO4 = MWSO4 + 1.0080 ) - - REAL MH2SO4 ! molecular weight for H2SO4 - PARAMETER ( MH2SO4 = 98.07354 ) - - REAL MWNH3 ! molecular weight for NH3 - PARAMETER ( MWNH3 = 17.03061 ) - - REAL MWNH4 ! molecular weight for NH4 - PARAMETER ( MWNH4 = 18.03858 ) - - REAL MWORG ! molecular weight for Organic Species - PARAMETER ( MWORG = 16.0 ) - - REAL MWCL ! molecular weight for Chloride - PARAMETER ( MWCL = 35.453 ) - - REAL MWAIR ! molecular weight for AIR - PARAMETER ( MWAIR = 28.964 ) - - REAL MWLCT ! molecular weight for Letovicite - PARAMETER ( MWLCT = 3.0 * MWNH4 + 2.0 * MWSO4 + 1.0080 ) - - REAL MWAS ! molecular weight for Ammonium Sulfate - PARAMETER ( MWAS = 2.0 * MWNH4 + MWSO4 ) - - REAL MWABS ! molecular weight for Ammonium Bisulfate - PARAMETER ( MWABS = MWNH4 + MWSO4 + 1.0080 ) - -!...........ARGUMENTS and their descriptions - - REAL SO4 ! Total sulfate in micrograms / m**3 -!iamodels3 - REAL HNO3 ! Total nitric acid in micrograms / m**3 - REAL NO3 ! Total nitrate in micrograms / m**3 - REAL NH3 ! Total ammonia in micrograms / m**3 - REAL NH4 ! Total ammonium in micrograms / m**3 - REAL RH ! Fractional relative humidity - REAL TEMP ! Temperature in Kelvin - REAL ASO4 ! Aerosol sulfate in micrograms / m**3 - REAL ANO3 ! Aerosol nitrate in micrograms / m**3 - REAL AH2O ! Aerosol liquid water content water in micrograms / m**3 - REAL ANH4 ! Aerosol ammonium in micrograms / m**3 - REAL GNO3 ! Gas-phase nitric acid in micrograms / m**3 - REAL GNH3 ! Gas-phase ammonia in micrograms / m**3 - -!...........SCRATCH LOCAL VARIABLES and their descriptions: - - 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 HPLUS - - REAL A0 ! Coefficients and roots of - REAL A1 ! Coefficients and roots of - REAL A2 ! Coefficients and roots of - REAL AA ! Coefficients and discriminant for quadratic equation for ammonium nitrate - REAL BAL ! internal variables ( high ammonia case) - REAL BB ! Coefficients and discriminant for quadratic equation for ammonium nitrate - REAL BHAT ! Variables used for ammonia solubility - REAL CC ! Coefficients and discriminant for quadratic equation for ammonium nitrate - REAL CONVT ! Factor for conversion of units - REAL DD ! Coefficients and discriminant for quadratic equation for ammonium nitrate - REAL DISC ! Coefficients and discriminant for quadratic equation for ammonium nitrate - REAL EROR ! Relative error used for convergence test - REAL FNH3 ! "Free ammonia concentration", that which exceeds TWOSO4 - REAL GAMAAB ! Activity Coefficient for (NH4+, HSO4-)GAMS( 2,3 ) - REAL GAMAAN ! Activity coefficient for (NH4+, NO3-) GAMS( 2,2 ) - REAL GAMAHAT ! Variables used for ammonia solubility - REAL GAMANA ! Activity coefficient for (H+ ,NO3-) GAMS( 1,2 ) - REAL GAMAS1 ! Activity coefficient for (2H+, SO4--) GAMS( 1,1 ) - REAL GAMAS2 ! Activity coefficient for (H+, HSO4-) GAMS( 1,3 ) - REAL GAMOLD ! used for convergence of iteration - REAL GASQD ! internal variables ( high ammonia case) - REAL HPLUS ! Hydrogen ion (low ammonia case) (moles / kg water) - REAL K1A ! Equilibrium constant for ammoniua to ammonium - REAL K2SA ! Equilibrium constant for sulfate-bisulfate (aqueous) - REAL K3 ! Dissociation constant for ammonium nitrate - REAL KAN ! Equilibrium constant for ammonium nitrate (aqueous) - REAL KHAT ! Variables used for ammonia solubility - REAL KNA ! Equilibrium constant for nitric acid (aqueous) - REAL KPH ! Henry's Law Constant for ammonia - REAL KW ! Equilibrium constant for water dissociation - REAL KW2 ! Internal variable using KAN - REAL MAN ! Nitrate (high ammonia case) (moles / kg water) - REAL MAS ! Sulfate (high ammonia case) (moles / kg water) - REAL MHSO4 ! Bisulfate (low ammonia case) (moles / kg water) - REAL MNA ! Nitrate (low ammonia case) (moles / kg water) - REAL MNH4 ! Ammonium (moles / kg water) - REAL MOLNU ! Total number of moles of all ions - REAL MSO4 ! Sulfate (low ammonia case) (moles / kg water) - REAL PHIBAR ! Practical osmotic coefficient - REAL PHIOLD ! Previous value of practical osmotic coefficient used for convergence of iteration - REAL RATIO ! Molar ratio of ammonium to sulfate - REAL RK2SA ! Internal variable using K2SA - REAL RKNA ! Internal variables using KNA - REAL RKNWET ! Internal variables using KNA - REAL RR1 - REAL RR2 - REAL STION ! Ionic strength - REAL T1 ! Internal variables for temperature corrections - REAL T2 ! Internal variables for temperature corrections - REAL T21 ! Internal variables of convenience (low ammonia case) - REAL T221 ! Internal variables of convenience (low ammonia case) - REAL T3 ! Internal variables for temperature corrections - REAL T4 ! Internal variables for temperature corrections - REAL T6 ! Internal variables for temperature corrections - REAL TNH4 ! Total ammonia and ammonium in micromoles / meter ** 3 - REAL TNO3 ! Total nitrate in micromoles / meter ** 3 - REAL TOLER1 ! Tolerances for convergence test - REAL TOLER2 ! Tolerances for convergence test - REAL TSO4 ! Total sulfate in micromoles / meter ** 3 - REAL TWOSO4 ! 2.0 * TSO4 (high ammonia case) (moles / kg water) - REAL WFRAC ! Water mass fraction - REAL 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 WSQD ! internal variables ( high ammonia case) - REAL XNO3 ! Nitrate aerosol concentration in micromoles / meter ** 3 - REAL XXQ ! Variable used in quadratic solution - REAL YNH4 ! Ammonium aerosol concentration in micromoles / meter** 3 - REAL ZH2O ! Water variable saved in case ionic strength too high. - REAL ZSO4 ! Total sulfate molality - mso4 + mhso4 (low ammonia case) (moles / kg water) - - REAL CAT( 2 ) ! Array for cations (1, H+); (2, NH4+) (moles / kg water) - REAL AN ( 3 ) ! Array for anions (1, SO4--); (2, NO3-); (3, HSO4-) (moles / kg water) - REAL CRUTES( 3 ) ! Coefficients and roots of - REAL GAMS( 2, 3 ) ! Array of activity coefficients - REAL MINSO4 ! Minimum value of sulfate laerosol concentration - PARAMETER( MINSO4 = 1.0E-6 / MWSO4 ) - REAL FLOOR - PARAMETER( FLOOR = 1.0E-30) ! minimum concentration - -!----------------------------------------------------------------------- -! begin body of subroutine RPMARES - -!...convert into micromoles/m**3 - -!cc WRITE( 10, * ) 'SO4, NO3, NH3 ', SO4, NO3, NH3 -!iamodels3 merge NH3/NH4 , HNO3,NO3 here - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RPMARES',0,ZHOOK_HANDLE) - TSO4 = MAX( 0.0, SO4 / MWSO4 ) - TNO3 = MAX( 0.0, (NO3 / MWNO3 + HNO3 / MWHNO3) ) - TNH4 = MAX( 0.0, (NH3 / MWNH3 + NH4 / MWNH4) ) -!cc WRITE( 10, * ) 'TSO4, TNO3, TNH3, RH ', TSO4, TNO3, TNH3, RH - -!...now set humidity index IRH as a percent - - IRH = NINT( 100.0 * RH ) - -!...Check for valid IRH - - IRH = MAX( 1, IRH ) - IRH = MIN( 99, IRH ) -!cc WRITE(10,*)'RH,IRH ',RH,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. - - CONVT = 1.0 / ( 0.082 * TEMP ) - T6 = 0.082E-9 * TEMP - T1 = 298.0 / TEMP - T2 = LOG( T1 ) - T3 = T1 - 1.0 - T4 = 1.0 + T2 - T1 - KNA = 2.511E+06 * EXP( 29.17 * T3 + 16.83 * T4 ) * T6 - K1A = 1.805E-05 * EXP( -1.50 * T3 + 26.92 * T4 ) - K2SA = 1.015E-02 * EXP( 8.85 * T3 + 25.14 * T4 ) - KW = 1.010E-14 * EXP( -22.52 * T3 + 26.92 * T4 ) - KPH = 57.639 * EXP( 13.79 * T3 - 5.39 * T4 ) * T6 -!cc 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.87 - 24084.0 / TEMP - 6.025 * LOG( TEMP ) ) - -!...Convert to (micromoles/m**3) **2 - - K3 = K3 * CONVT * CONVT - - WH2O = 0.0 - STION = 0.0 - AH2O = 0.0 - MAS = 0.0 - MAN = 0.0 - HPLUS = 0.0 - TOLER1 = 0.00001 - TOLER2 = 0.00001 - NITR = 0 - NR = 0 - RATIO = 0.0 - GAMAAN = 1.0 - GAMOLD = 1.0 - -!...set the ratio according to the amount of sulfate and nitrate - - IF ( TSO4 .GT. MINSO4 ) THEN - RATIO = TNH4 / TSO4 - -!...If there is no sulfate and no nitrate, there can be no ammonium -!... under the current paradigm. Organics are ignored in this version. - - ELSE - - IF ( TNO3 .EQ. 0.0 ) THEN - -! *** If there is very little sulfate and no nitrate set concentrations -! to a very small value and return. - ASO4 = MAX(FLOOR, ASO4) - ANO3 = MAX(FLOOR, ANO3 ) - WH2O = 0.0 - AH2O = 0.0 - GNH3 = MAX(FLOOR,GNH3) - GNO3 = MAX(FLOOR,GNO3) - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - -!...For the case of no sulfate and nonzero nitrate, set ratio to 5 -!... to send the code to the high ammonia case - - RATIO = 5.0 - END IF - - -!.................................... -!......... High Ammonia Case ........ -!.................................... - - IF ( RATIO .GT. 2.0 ) THEN - - GAMAAN = 0.1 - -!...Set up twice the sulfate for future use. - - TWOSO4 = 2.0 * TSO4 - XNO3 = 0.0 - 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.0E-3 * AH2O - ASO4 = TSO4 * MWSO4 - ANO3 = 0.0 - ANH4 = YNH4 * MWNH4 - WFRAC = AH2O / ( ASO4 + ANH4 + AH2O ) -!cc IF ( WFRAC .EQ. 0.0 ) RETURN ! No water - IF ( WFRAC .LT. 0.2 ) 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.0 ) THEN - XNO3 = 0.0 - ELSE - AA = 1.0 - BB = -( TNO3 + FNH3 ) - DISC = BB * BB - 4.0 * CC - -!...Check for complex roots of the quadratic -!... set nitrate to zero and RETURN if complex roots are found - - IF ( DISC .LT. 0.0 ) THEN - XNO3 = 0.0 - AH2O = 1000.0 * WH2O - YNH4 = TWOSO4 - GNO3 = TNO3 * MWHNO3 - GNH3 = ( TNH4 - YNH4 ) * MWNH3 - ASO4 = TSO4 * MWSO4 - ANO3 = 0.0 - ANH4 = YNH4 * MWNH4 - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - -!...to get here, BB .lt. 0.0, CC .gt. 0.0 always - - DD = SQRT( DISC ) - XXQ = -0.5 * ( BB + SIGN ( 1.0, BB ) * DD ) - -!...Since both roots are positive, select smaller root. - - XNO3 = MIN( XXQ / AA, CC / XXQ ) - - END IF - AH2O = 1000.0 * WH2O - YNH4 = 2.0 * TSO4 + XNO3 - GNO3 = ( TNO3 - XNO3 ) * MWHNO3 - GNH3 = ( TNH4 - YNH4 ) * MWNH3 - ASO4 = TSO4 * MWSO4 - ANO3 = XNO3 * MWNO3 - ANH4 = YNH4 * MWNH4 - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - - END IF - -!...liquid phase containing completely neutralized sulfate and -!... some nitrate. Solve for composition and quantity. - - MAS = TSO4 / WH2O - MAN = 0.0 - XNO3 = 0.0 - YNH4 = TWOSO4 - PHIOLD = 1.0 - -!...Start loop for iteration - -!...The assumption here is that all sulfate is ammonium sulfate, -!... and is supersaturated at lower relative humidities. - - DO 1501 NNN = 1, 150 - 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.0 * AA * CC - -!...Check for complex roots, if so set nitrate to zero and RETURN - - IF ( DISC .LT. 0.0 ) THEN - XNO3 = 0.0 - AH2O = 1000.0 * WH2O - YNH4 = TWOSO4 - GNO3 = TNO3 * MWHNO3 - GNH3 = ( TNH4 - YNH4 ) * MWNH3 - ASO4 = TSO4 * MWSO4 - ANO3 = 0.0 - ANH4 = YNH4 * MWNH4 -!cc WRITE( 10, * ) ' COMPLEX ROOTS ' - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - - DD = SQRT( DISC ) - XXQ = -0.5 * ( BB + SIGN ( 1.0, BB ) * DD ) - RR1 = XXQ / AA - RR2 = CC / XXQ - -!...choose minimum positve root - - IF ( ( RR1 * RR2 ) .LT. 0.0 ) THEN - XNO3 = MAX( RR1, RR2 ) - ELSE - XNO3 = MIN( RR1, RR2 ) - END IF - - 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 * AH2O - -!...Ionic balance determines the ammonium in solution. - - MAN = XNO3 / WH2O - MAS = TSO4 / WH2O - MNH4 = 2.0 * 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.0 * MAS + MAN - CAT( 1 ) = 0.0 - CAT( 2 ) = MNH4 - AN ( 1 ) = MAS - AN ( 2 ) = MAN - AN ( 3 ) = 0.0 - 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 -!cc WRITE( 11, * ) RH, STION, GAMS( 1, 1 ),GAMS( 1, 2 ), GAMS( 1, 3 ), -!cc & GAMS( 2, 1 ), GAMS( 2, 2 ), GAMS( 2, 3 ), PHIBAR - - ASO4 = TSO4 * MWSO4 - ANO3 = XNO3 * MWNO3 - ANH4 = YNH4 * MWNH4 - GNO3 = ( TNO3 - XNO3 ) * MWHNO3 - GNH3 = ( TNH4 - YNH4 ) * MWNH3 - AH2O = 1000.0 * WH2O - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - -1501 CONTINUE - -!...If after NITR iterations no solution is found, then: - - ASO4 = TSO4 * MWSO4 - ANO3 = 0.0 - YNH4 = TWOSO4 - ANH4 = YNH4 * MWNH4 - CALL AWATER ( IRH, TSO4, YNH4, XNO3, AH2O ) - GNO3 = TNO3 * MWHNO3 - GNH3 = ( TNH4 - YNH4 ) * MWNH3 - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - - ELSE - -!...................................... -!......... Low Ammonia Case ........... -!...................................... - -!...coded by Dr. Francis S. Binkowski 12/8/91.(4/26/95) - -!...All cases covered by this logic - - WH2O = 0.0 - CALL AWATER ( IRH, TSO4, TNH4, TNO3, AH2O ) - WH2O = 1.0E-3 * 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) - - ASO4 = TSO4 * MWSO4 - ANH4 = TNH4 * MWNH4 - ANO3 = 0.0 - GNO3 = TNO3 * MWHNO3 - GNH3 = 0.0 - -!...Check for zero water. - - IF ( WH2O .EQ. 0.0 ) THEN - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - ENDIF - ZSO4 = TSO4 / WH2O - -!...ZSO4 is the molality of total sulfate i.e. MSO4 + MHSO4 - -!cc IF ( ZSO4 .GT. 11.0 ) THEN - -!...do not solve for aerosol nitrate for total sulfate molality -!... greater than 11.0 because the model parameters break down -!... greater than 9.0 because the model parameters break down - - IF ( ZSO4 .GT. 9.0 ) THEN ! 18 June 97 - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - -!...First solve with activity coeffs of 1.0, then iterate. - - PHIOLD = 1.0 - GAMANA = 1.0 - GAMAS1 = 1.0 - GAMAS2 = 1.0 - GAMAAB = 1.0 - GAMOLD = 1.0 - -!...All ammonia is considered to be aerosol ammonium. - - MNH4 = TNH4 / WH2O - -!...MNH4 is the molality of ammonium ion. - - YNH4 = TNH4 - -!...loop for iteration - - DO 1601 NNN = 1, 150 - NITR = NNN - -!...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) - - HPLUS = CRUTES( 1 ) - BAL = HPLUS **3 + A2 * HPLUS**2 + A1 * HPLUS + A0 - MSO4 = RK2SA * ZSO4 / ( HPLUS + RK2SA ) ! molality of sulfate ion - MHSO4 = ZSO4 - MSO4 ! molality of bisulfate ion - MNA = RKNA * TNO3 / ( HPLUS + RKNWET ) ! molality of nitrate ion - MNA = MAX( 0.0, MNA ) - MNA = MIN( MNA, TNO3 / WH2O ) - XNO3 = MNA * WH2O - ANO3 = MNA * WH2O * MWNO3 - GNO3 = ( TNO3 - XNO3 ) * MWHNO3 - -!...Calculate ionic strength - - STION = 0.5 * ( HPLUS + MNA + MNH4 + MHSO4 + 4.0 * 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 * 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 ) - - GAMAHAT = ( GAMAS2 * GAMAS2 / ( GAMAAB * GAMAAB ) ) - BHAT = KHAT * GAMAHAT -!cc EROR = ABS ( ( PHIOLD - PHIBAR ) / PHIOLD ) -!cc PHIOLD = PHIBAR - EROR = ABS ( GAMOLD - GAMAHAT ) / GAMOLD - GAMOLD = GAMAHAT - -!...write out molalities and activity coefficient -!... and return with good solution - - IF ( EROR .LE. TOLER2 ) THEN -!cc WRITE(12,*) RH, STION,HPLUS,ZSO4,MSO4,MHSO4,MNH4,MNA -!cc WRITE(11,*) RH, STION, GAMS(1,1),GAMS(1,2),GAMS(1,3), -!cc & GAMS(2,1),GAMS(2,2),GAMS(2,3), PHIBAR - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - END IF - -1601 CONTINUE - -!...after NITR iterations, failure to solve the system, no ANO3 - - GNO3 = TNO3 * MWHNO3 - ANO3 = 0.0 - CALL AWATER ( IRH, TSO4, TNH4, TNO3, AH2O ) - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - RETURN - - END IF ! ratio .gt. 2.0 - - IF (LHOOK) CALL DR_HOOK('RPMARES',1,ZHOOK_HANDLE) - ENDSUBROUTINE RPMARES ! end RPMares -! /////////////////////////////////////////////////// -! /////////////////////////////////////////////////// - SUBROUTINE ACTCOF ( CAT, AN, GAMA, MOLNU, PHIMULT ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - -!----------------------------------------------------------------------- -! -! 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. -! -! 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. -! - - -! -! ARGUMENT DESCRIPTION: -! -! 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 -! -!----------------------------------------------------------------------- - - IMPLICIT NONE - -!...........INCLUDES and their descriptions - -! INCLUDE SUBST_XSTAT ! M3EXIT status codes -!.................................................................... - - INTEGER XSTAT0 ! Normal, successful completion - PARAMETER (XSTAT0 = 0) - INTEGER XSTAT1 ! File I/O error - PARAMETER (XSTAT1 = 1) - INTEGER XSTAT2 ! Execution error - PARAMETER (XSTAT2 = 2) - INTEGER XSTAT3 ! Special error - PARAMETER (XSTAT3 = 3) - - CHARACTER*120 XMSG - -!...........PARAMETERS and their descriptions: - - INTEGER NCAT ! number of cations - PARAMETER ( NCAT = 2 ) - - INTEGER NAN ! number of anions - PARAMETER ( NAN = 3 ) - -!...........ARGUMENTS and their descriptions - - REAL MOLNU ! tot # moles of all ions - REAL PHIMULT ! multicomponent paractical osmotic coef - REAL CAT( NCAT ) ! cation conc in moles/kg (input) - REAL AN ( NAN ) ! anion conc in moles/kg (input) - REAL GAMA( NCAT, NAN ) ! mean molal ionic activity coefs - -!...........SCRATCH LOCAL VARIABLES and their descriptions: - - CHARACTER*16 PNAME ! driver program name - SAVE PNAME - - INTEGER IAN ! anion indX - INTEGER ICAT ! cation indX - - REAL FGAMA ! - REAL I ! ionic strength - REAL R ! - REAL S ! - REAL TA ! - REAL TB ! - REAL TC ! - REAL TEXPV ! - REAL TRM ! - REAL TWOI ! 2*ionic strength - REAL TWOSRI ! 2*sqrt of ionic strength - REAL ZBAR ! - REAL ZBAR2 ! - REAL ZOT1 ! - REAL SRI ! square root of ionic strength - REAL F2( NCAT ) ! - REAL F1( NAN ) ! - REAL ZP( NCAT ) ! absolute value of charges of cation - REAL ZM( NAN ) ! absolute value of charges of anion - REAL BGAMA ( NCAT, NAN ) ! - REAL X ( NCAT, NAN ) ! - REAL M ( NCAT, NAN ) ! molality of each electrolyte - REAL LGAMA0( NCAT, NAN ) ! binary activity coefficients - REAL Y ( NAN, NCAT ) ! - REAL BETA0 ( NCAT, NAN ) ! binary activity coefficient parameter - REAL BETA1 ( NCAT, NAN ) ! binary activity coefficient parameter - REAL CGAMA ( NCAT, NAN ) ! binary activity coefficient parameter - REAL V1 ( NCAT, NAN ) ! number of cations in electrolyte formula - REAL V2 ( NCAT, NAN ) ! number of anions in electrolyte formula - - DATA ZP / 1.0, 1.0 / - DATA ZM / 2.0, 1.0, 1.0 / - DATA XMSG / ' ' / - DATA PNAME / 'ACTCOF' / - -! *** 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/, BETA1(1,1) / 0.0/, & - & CGAMA(1,1) / 4.38E-2/ ! 2H+SO4- - - DATA BETA0(1,2) / 1.2556E-1/, BETA1(1,2) / 2.8778E-1/, & - & CGAMA(1,2) / -5.59E-3/ ! HNO3 - - DATA BETA0(1,3) / 2.0651E-1/, BETA1(1,3) / 5.556E-1/, & - & CGAMA(1,3) /0.0/ ! H+HSO4- - - DATA BETA0(2,1) /4.6465E-2/, BETA1(2,1) /-0.54196/, & - & CGAMA(2,1) /-1.2683E-3/ ! (NH4)2SO4 - - DATA BETA0(2,2) /-7.26224E-3/, BETA1(2,2) /-1.168858/, & - & CGAMA(2,2) /3.51217E-5/ ! NH4NO3 - - DATA BETA0(2,3) / 4.494E-2/, BETA1(2,3) / 2.3594E-1/, & - & CGAMA(2,3) /-2.962E-3/ ! NH4HSO4 - - DATA V1(1,1), V2(1,1) / 2.0, 1.0 / ! 2H+SO4- - DATA V1(2,1), V2(2,1) / 2.0, 1.0 / ! (NH4)2SO4 - DATA V1(1,2), V2(1,2) / 1.0, 1.0 / ! HNO3 - DATA V1(2,2), V2(2,2) / 1.0, 1.0 / ! NH4NO3 - DATA V1(1,3), V2(1,3) / 1.0, 1.0 / ! H+HSO4- - DATA V1(2,3), V2(2,3) / 1.0, 1.0 / ! NH4HSO4 - -!----------------------------------------------------------------------- -! begin body of subroutine ACTCOF - -!...compute ionic strength - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ACTCOF',0,ZHOOK_HANDLE) - I = 0.0 - - DO ICAT = 1, NCAT - I = I + CAT( ICAT ) * ZP( ICAT ) * ZP( ICAT ) - END DO - - DO IAN = 1, NAN - I = I + AN( IAN ) * ZM( IAN ) * ZM( IAN ) - END DO - - I = 0.5 * I - -!...check for problems in the ionic strength - - IF ( I .EQ. 0.0 ) THEN - - DO IAN = 1, NAN - DO ICAT = 1, NCAT - GAMA( ICAT, IAN ) = 0.0 - END DO - END DO - -! XMSG = 'Ionic strength is zero...returning zero activities' -! CALL M3WARN ( PNAME, 0, 0, XMSG ) - write(*,*) 'Ionic strength is zero...returning zero activities' - IF (LHOOK) CALL DR_HOOK('ACTCOF',1,ZHOOK_HANDLE) - RETURN - - ELSE IF ( I .LT. 0.0 ) THEN -! XMSG = 'Ionic strength below zero...negative concentrations' -! CALL M3EXIT ( PNAME, 0, 0, XMSG, XSTAT1 ) - STOP 'Ionic strength below zero...negative concentrations' - END IF - -!...compute some essential expressions - - SRI = SQRT( I ) - TWOSRI = 2.0 * SRI - TWOI = 2.0 * I - TEXPV = 1.0 - EXP( -TWOSRI ) * ( 1.0 + TWOSRI - TWOI ) - R = 1.0 + 0.75 * I - S = 1.0 + 1.5 * I - ZOT1 = 0.511 * SRI / ( 1.0 + SRI ) - -!...Compute binary activity coeffs - - FGAMA = -0.392 * ( ( SRI / ( 1.0 + 1.2 * SRI ) & - & + ( 2.0 / 1.2 ) * LOG( 1.0 + 1.2 * SRI ) ) ) - - DO ICAT = 1, NCAT - DO IAN = 1, NAN - - BGAMA( ICAT, IAN ) = 2.0 * BETA0( ICAT, IAN ) & - & + ( 2.0 * BETA1( ICAT, IAN ) / ( 4.0 * 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.0 & - & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) ) - -!...calculate the binary activity coefficients - - LGAMA0( ICAT, IAN ) = ( ZP( ICAT ) * ZM( IAN ) * FGAMA & - & + M( ICAT, IAN ) & - & * ( 2.0 * V1( ICAT, IAN ) * V2( ICAT, IAN ) & - & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) & - & * BGAMA( ICAT, IAN ) ) & - & + M( ICAT, IAN ) * M( ICAT, IAN ) & - & * ( 2.0 * ( V1( ICAT, IAN ) & - & * V2( ICAT, IAN ) )**1.5 & - & / ( V1( ICAT, IAN ) + V2( ICAT, IAN ) ) & - & * CGAMA( ICAT, IAN ) ) ) / 2.302585093 - - END DO - END DO - -!...prepare variables for computing the multicomponent activity coeffs - - DO IAN = 1, NAN - DO ICAT = 1, NCAT - ZBAR = ( ZP( ICAT ) + ZM( IAN ) ) * 0.5 - ZBAR2 = ZBAR * ZBAR - Y( IAN, ICAT ) = ZBAR2 * AN( IAN ) / I - X( ICAT, IAN ) = ZBAR2 * CAT( ICAT ) / I - END DO - END DO - - DO IAN = 1, NAN - F1( IAN ) = 0.0 - DO ICAT = 1, NCAT - F1( IAN ) = F1( IAN ) + X( ICAT, IAN ) * LGAMA0( ICAT, IAN ) & - & + ZOT1 * ZP( ICAT ) * ZM( IAN ) * X( ICAT, IAN ) - END DO - END DO - - DO ICAT = 1, NCAT - F2( ICAT ) = 0.0 - DO IAN = 1, NAN - F2( ICAT ) = F2( ICAT ) + Y( IAN, ICAT ) * LGAMA0( ICAT, IAN )& - & + ZOT1 * ZP( ICAT ) * ZM( IAN ) * Y( IAN, ICAT ) - END DO - END DO - -!...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.0 ) THEN - GAMA( ICAT, IAN ) = 1.0E+30 -! XMSG = 'Multicomponent activity coefficient is extremely large' -! CALL M3WARN ( PNAME, 0, 0, XMSG ) - STOP 'Multicomponent activity coefficient is extremely large' - ELSE - GAMA( ICAT, IAN ) = 10.0**TRM - END IF - - END DO - END DO - - IF (LHOOK) CALL DR_HOOK('ACTCOF',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE ACTCOF ! actcof - -! /////////////////////////////////// - - -!------------------------------------------------------------------ -! subroutine to find the roots of a cubic equation / 3rd order polynomial -! formulae can be found in numer. recip. on page 145 -! kiran developed this version on 25/4/1990 -! dr. francis binkowski modified the routine on 6/24/91, 8/7/97 -! *** -!234567 - subroutine cubic(a2,a1,a0,nr,crutes) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - implicit none - integer nr - real a2,a1,a0,crutes(3) - real*8 qq,rr,a2sq,theta, sqrt3, one3rd - real*8 dum1,dum2,part1,part2,part3,rrsq,phi,yy1,yy2,yy3 - real*8 costh, sinth - data sqrt3/1.732050808/, one3rd/0.333333333/ - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CUBIC',0,ZHOOK_HANDLE) - a2sq=a2*a2 - qq=(a2sq-3.*a1)/9. - rr=( a2*(2.*a2sq - 9.*a1) + 27.*a0 )/54. -! 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.) then -! NOW WE HAVE THREE REAL ROOTS - phi=sqrt(dum1) - if(abs(phi).lt.1.e-20) then -! write(10,*) ' cubic phi small, phi = ',phi - crutes(1) = 0.0 - crutes(2) = 0.0 - crutes(3) = 0.0 - nr = 0 - stop - end if - theta=acos(rr/phi)/3.0 - 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.0 - yy3=sqrt3*part1*sinth - crutes(3) = -2.0*yy1 - a2/3.0 - crutes(2) = yy2 + yy3 - crutes(1) = yy2 - yy3 -! *** SET NEGATIVE ROOTS TO A LARGE POSITIVE VALUE - if(crutes(1) .lt. 0.0) crutes(1) = 1.0e9 - if(crutes(2) .lt. 0.0) crutes(2) =1.0e9 - if(crutes(3) .lt. 0.0) crutes(3) = 1.0e9 -! *** put smallest positive root in crutes(1) - crutes(1)=min( crutes(1),crutes(2),crutes(3)) - nr=3 - else ! dum IS NEGATIVE -! NOW HERE WE HAVE ONLY ONE REAL ROOT - part1=sqrt(rrsq-dum1) - part2=abs(rr) - part3=(part1+part2)**one3rd - crutes(1) = & - & -sign(1._8,rr) * ( part3 + (qq/part3) ) - a2/3. - crutes(2)=0. - crutes(3)=0. - nr=1 - end if - IF (LHOOK) CALL DR_HOOK('CUBIC',1,ZHOOK_HANDLE) - return - endsubroutine cubic ! cubic -! ////////////////////////// - - -! -! -!############################################################################## - subroutine awater(irhx,mso4,mnh4,mno3, wh2o) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! 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. -! -! -!oded by Dr. Francis S. Binkowski, 4/8/96. -! - implicit none - integer irhx, irh - real mso4,mnh4,mno3 - real tso4,tnh4,tno3, wh2o, x - real aw, awc - real poly4, poly6 - real mfs0,mfs1,mfs15, mfs2 - real c0(4), c1(4), c15(4), c2(4) - real y, y0,y1,y15,y2,y3, y40, y140, y1540, yc - real kSO4(6),kNO3(6), mfsSO4,mfsNO3 - -! -! - real mwso4, mwnh4, mwno3, mw2, mwano3 - -! *** molecular weights: - parameter( & - & mwso4 = 96.0636, & - & mwnh4 = 18.0985, & - & mwno3 = 62.0649, & - & mw2 = mwso4 + 2.0 * mwnh4, & - & mwano3 = mwno3 + mwnh4 ) - -! 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. - - data c1/0.9995178, -0.7952896, 0.99683673, -1.143874/ - data c15/1.697092,-4.045936, 5.833688, -3.463783/ - data c2/2.085067, -6.024139, 8.967967, -5.002934/ - -! *** 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 - data c0/ 0.798079, -1.574367, 2.536686, -1.735297 / - - -! *** polynomials for ammonium nitrate and ammonium sulfate are from: -! Chan et al.1992, Atmospheric Environment (26A): 1661-1673. - - data kNO3/0.2906, 6.83665, -26.9093, & - & 46.6983, -38.803, 11.8837/ - data kSO4/ 2.27515, -11.147, 36.3369, & - & -64.2134, 56.8341, -20.0953/ - - -! *** check range of per cent relative humidity - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('AWATER',0,ZHOOK_HANDLE) - irh = irhx - irh = max(1,irh) - irh = min(irh,100) - aw = float(irh) / 100.0 ! water activity = fractional relative humidity - tso4 = max( mso4 , 0.0 ) - tnh4 = max( mnh4 , 0.0 ) - tno3 = max( mno3 , 0.0 ) - x = 0.0 -! *** if there is non-zero sulfate calculate the molar ratio - if (tso4 .gt. 0.0 ) then - x = tnh4 / tso4 - else -! *** otherwise check for non-zero nitrate and ammonium - if ( tno3 .gt. 0.0 .and. tnh4 .gt. 0.0 ) x = 10.0 - end if -! -! - -! *** begin screen on x for calculating wh2o - if ( x .lt. 1.0 ) then -! - mfs0 = poly4(c0,aw) - mfs1 = poly4(c1,aw) - y0 = (1.0 - mfs0 ) / mfs0 - y1 = (1.0 - mfs1 ) / mfs1 - y = (1.0 - x) * y0 + x * y1 - -! - else if ( x .lt. 1.5) then -! - if ( irh .ge. 40 ) then - mfs1 = poly4(c1,aw) - mfs15 = poly4(c15,aw) - y1 = (1.0 - mfs1 ) / mfs1 - y15 = (1.0 - mfs15) / mfs15 - y = 2.0 * ( y1 * (1.5 - x) + y15 *( x - 1.0) ) - else -! *** 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 -! -! - - awc = 0.80 * (x - 1.0) ! rh along the crystallization curve. - y = 0.0 - if ( aw .ge. awc ) then ! interpolate using crystalization curve - mfs1 = poly4(c1,0.40) - mfs15 = poly4(c15,0.40) - y140 = (1.0 - mfs1 ) / mfs1 - y1540 = (1.0 - mfs15) / mfs15 - y40 = 2.0 * ( y140 * (1.5 - x) + y1540 *( x - 1.0) ) - yc = 2.0 * y1540 * (x -1.0) ! y along crystallization curve - y = y40 - (y40 - yc) * (0.40-aw) / (0.40 - awc) - end if ! end of checking for aw - end if ! end of checking on irh - - else if( x .lt. 1.9999) then -! - y= 0.0 - if( irh .ge. 40) then - mfs15 = poly4(c15,aw) - mfs2 = poly4(c2,aw) - y15 = (1.0 - mfs15) / mfs15 - y2 = (1.0 - mfs2) / mfs2 - y = 2.0 * (y15 * (2.0 - x) + y2 * (x - 1.5) ) - end if ! end of check for crystallization -! -! -! -! - else ! 1.9999 < x - -! 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.0 - y3 = 0.0 - if ( irh .ge. 40) then - mfsSO4 = poly6(kSO4,aw) - mfsNO3 = poly6(kNO3,aw) - y2 = (1.0 - mfsSO4) / mfsSO4 - y3 = (1.0 - mfsNO3) / mfsNO3 - - end if -! - end if ! end of checking on x -! -! *** now set up output of wh2o - -! wh2o units are micrograms (liquid water) / cubic meter of air -! - if ( x .lt. 1.9999) then - - 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 - - end if -! - IF (LHOOK) CALL DR_HOOK('AWATER',1,ZHOOK_HANDLE) - return - endsubroutine awater - -!23456789012345678901234567890123456789012345678901234567890123456789012 - - function poly4(A,X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - real poly4 - real A(4), X - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('POLY4',0,ZHOOK_HANDLE) - poly4 = A(1) + X * ( A(2) + X * ( A(3) + X * ( A(4) ))) - IF (LHOOK) CALL DR_HOOK('POLY4',1,ZHOOK_HANDLE) - return - endfunction poly4 - - function poly6(A,X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - real poly6 - real A(6), X - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('POLY6',0,ZHOOK_HANDLE) - poly6 = A(1) + X * ( A(2) + X * ( A(3) + X * ( A(4) + & - & X * ( A(5) + X * (A(6) ))))) - IF (LHOOK) CALL DR_HOOK('POLY6',1,ZHOOK_HANDLE) - return - endfunction poly6 ! awater -! ////////////////////////////////////////////////////////////////// diff --git a/src/arome/chem/internals/ch_aer_coag.F90 b/src/arome/chem/internals/ch_aer_coag.F90 deleted file mode 100644 index db1ecae3f74af7b92b0b8e0a2ce742de91ab112e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_coag.F90 +++ /dev/null @@ -1,396 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_COAG(PM, PSIG0, PRG0, PN0,PDMINTRA,PDMINTER,PTGAS,PMU,& - PLAMBDA,PRHOP0) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################# -!! -!! PURPOSE -!! ------- -!! -!! compute the terms due to Brownian, turbulent and Gravitational -!! coagulation: -!! a set of arrays are used to evaluate the double integral -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!***************************************************************** -! * Arrays of numerical evaluation of coagulation terms -! in the free-molecule regime (computed from the ESMAP code) -! -! ZINTRA - Intamodal coagulation, mode i,j 0th and 6th Moment -! -! ZINTER0I - Intermodal coagulation, mode i, 0th Moment -! ZINTER3I - Intermodal coagulation, mode i, 3rd Moment -! ZINTER6I - Intermodal coagulation, mode i, 6th Moment -! ZINTER6J - Intermodal coagulation, mode j, 6th Moment -! -! * Variables used during the coefficients evaluation -! ZXI(i) - Variables values at the array nodes -! ZXINT(i) - Variables values where the interpolation -! is to be made -! -! intramodal coagulation -! -! ZXINTRAMIN - Minimal value of ln(sigma) -! ZXINTRAMAX - Maximal value of ln(sigma) -! ZDXINTRA - Step of ln(sigma) in the array -! -! intermodal coagulation -! -! ZXINTERMIN(i) - Minimal value of the variable i -! ZXINTERMAX(i) - Maximal value of the variable i -! ZDXINTER(i) - Step of the variable i in the arrays -! -! i=1 - ln(sigmaj) -! i=2 - ln(sigmai) -! i=3 - ln((ZR=Rgj/Rgi)**2) -! -!*************************************************************** -!! -!! EXTERNAL -!! ------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -USE MODD_CH_AEROSOL -!! -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM,PRHOP0 -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTRA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTER -REAL, DIMENSION(:),INTENT(IN) :: PTGAS -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG0, PRG0, PN0 -! -!* 0.2 Declarations of local variables -! -INTEGER :: JI,JJ -! -REAL :: ZTURBDS ! Rate of dissipation of kinetic energy per unit mass (m2/s3) -! -REAL, DIMENSION(SIZE(PM,1)) :: ZKFM,ZKNC -!REAL, DIMENSION(SIZE(PM,1)) :: ZKTURB,ZKGRAV,ZR3,ZRM4 -REAL, DIMENSION(SIZE(PM,1)) :: ZR,ZR2,ZR4 -REAL, DIMENSION(SIZE(PM,1)) :: ZRM,ZRM2,ZRM3 -REAL, DIMENSION(SIZE(PM,1)) :: ZKNG -REAL, DIMENSION(SIZE(PM,1)) :: ZAI,ZKNGI,ZAJ,ZKNGJ -REAL, DIMENSION(SIZE(PM,1)) :: ZINTRA0NC,ZINTRA0FM,ZINTRA0 -REAL, DIMENSION(SIZE(PM,1)) :: ZINTRA3NC,ZINTRA3FM,ZINTRA3 -REAL, DIMENSION(SIZE(PM,1)) :: ZINTRA6NC,ZINTRA6FM,ZINTRA6 -REAL, DIMENSION(SIZE(PM,1)) :: ZINTERNC,ZINTERFM,ZINTER -REAL, DIMENSION(SIZE(PM,1)) :: ZAPPROX -! -REAL, DIMENSION(SIZE(PM,1)) :: ZA,ZB,ZC,ZD -REAL, DIMENSION(SIZE(PM,1)) :: ZRGJ, ZRGI, ZRG -! -REAL, DIMENSION(SIZE(PM,1)) :: ZERF0,ZPHI0,ZXi,ZSOL -REAL, DIMENSION(SIZE(PM,1)) :: ZERF3,ZPHI3 -REAL, DIMENSION(SIZE(PM,1)) :: ZERF6,ZPHI6 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZINVSIG,ZLNDG -! -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG01,ZESG04,ZESG05,ZESG08,ZESG09 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG12,ZESG16 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG20,ZESG24,ZESG25,ZESG28 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG32,ZESG36 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG49 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG52 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG64 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG81,ZESG85 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG100,ZESG121,ZESG144,ZESG169,ZESG196 -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZESG256 -REAL, DIMENSION(SIZE(PM,1)) :: ZRB0,ZRB6 -REAL, DIMENSION(SIZE(PM,1)) :: ZRES -!-------------------------------------------------------------------------------! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_COAG',0,ZHOOK_HANDLE) -ZTURBDS=0.001 -ZKNC(:)=2.*XBOLTZ*PTGAS(:)/(3.*PMU(:)) -! -PDMINTRA(:,:)=0. -PDMINTER(:,:)=0. -! -!**************************************************************** -! Initialisation des variables utilisees dans le calcul des -! coefficients de coagulation -!**************************************************************** - -ZESG01(:,:) = exp(0.125*PSIG0(:,1:JPMODE)**2) -ZESG04(:,:) = ZESG01(:,:) ** 4 -ZESG05(:,:) = ZESG04(:,:) * ZESG01(:,:) -ZESG08(:,:) = ZESG04(:,:) * ZESG04(:,:) -ZESG09(:,:) = ZESG04(:,:) * ZESG05(:,:) -ZESG12(:,:) = ZESG04(:,:) * ZESG04(:,:) * ZESG04(:,:) -ZESG16(:,:) = ZESG08(:,:) * ZESG08(:,:) -ZESG20(:,:) = ZESG16(:,:) * ZESG04(:,:) -ZESG24(:,:) = ZESG12(:,:) * ZESG12(:,:) -ZESG25(:,:) = ZESG16(:,:) * ZESG09(:,:) -ZESG28(:,:) = ZESG20(:,:) * ZESG08(:,:) -ZESG32(:,:) = ZESG16(:,:) * ZESG16(:,:) -ZESG36(:,:) = ZESG16(:,:) * ZESG20(:,:) -ZESG49(:,:) = ZESG25(:,:) * ZESG20(:,:) * ZESG04(:,:) -ZESG52(:,:) = ZESG16(:,:) * ZESG36(:,:) -ZESG64(:,:) = ZESG32(:,:) * ZESG32(:,:) -ZESG81(:,:) = ZESG49(:,:) * ZESG32(:,:) -ZESG85(:,:) = ZESG64(:,:) * ZESG20(:,:) * ZESG01(:,:) -ZESG100(:,:) = ZESG36(:,:) * ZESG64(:,:) -ZESG121(:,:) = ZESG85(:,:) * ZESG36(:,:) -ZESG144(:,:) = ZESG100(:,:) * ZESG36(:,:) * ZESG08(:,:) -ZESG169(:,:) = ZESG144(:,:) * ZESG25(:,:) -ZESG196(:,:) = ZESG144(:,:) * ZESG52(:,:) -ZESG256(:,:) = ZESG144(:,:) * ZESG100(:,:) * ZESG12(:,:) - -!*************************************************************** -! Transfert de moments entre les modes i et j -!*************************************************************** - -ZINVSIG(:,:)=1./PSIG0(:,1:JPMODE)**2 -ZLNDG(:,:)=log(2.*PRG0(:,1:JPMODE)) - -ZA(:)=0.5*(ZINVSIG(:,1)-ZINVSIG(:,2)) -ZD(:) = 0. -ZXi(:)= 0. - -WHERE (ABS(ZA(:)) > 1E-4) - ZB(:)=ZINVSIG(:,2)*ZLNDG(:,2)-ZINVSIG(:,1)*ZLNDG(:,1) - ZC(:)=0.5*(ZINVSIG(:,1)*ZLNDG(:,1)**2-ZINVSIG(:,2)*ZLNDG(:,2)**2) - & - &log((PN0(:,1)*PSIG0(:,2))/(PN0(:,2)*PSIG0(:,1))) - - ZD(:)=ZB(:)**2-4.*ZA(:)*ZC(:) - - ZSOL(:)=(-ZB(:)+sqrt(ABS(ZD(:))))/(2.*ZA(:)) - WHERE (ZSOL(:) < 5.E+2) - ZSOL(:)=exp(ZSOL(:))/2. - ZXi(:)=log(ZSOL(:)/PRG0(:,1))/(sqrt(2.)*PSIG0(:,1)) - ENDWHERE -ENDWHERE - -!********************************************************************* -! calculate the intramodal moment coefficients (log-normal model) -!********************************************************************* - -do JI=1,JPMODE - - ZKFM(:)=sqrt(3.*XBOLTZ*PTGAS(:)/PRHOP0(:,JI))*1.e-3 - !ZKTURB(:)=sqrt(XPI*ZTURBDS*PMU(:)/(120.*PRHOP0(:,JI)))*1.e-18 - !ZKGRAV(:)=1.5/4.*0.544*XPI*PRHOP0(:,JI)/PMU(:)*1.e-24 -!************************************************************* -! calculate ZVG,ln2(sigma) and sigma -! (log-normal model) -!************************************************************* - - ZRG(:)=PRG0(:,JI) - ZKNG(:)=PLAMBDA(:)/ZRG(:) - ZAI(:)=1.392*ZKNG(:)**0.0783 - -!*********************** -! Brownian Coagulation -!*********************** - - ZRB0(:)=0.8 - ZRB6(:)=ZRB0 - - ZINTRA0FM(:)=ZKFM(:)*ZRB0(:)*sqrt(2.*ZRG(:))*(ZESG01(:,JI)+ZESG25(:,JI)+2.*ZESG05(:,JI)) - ZINTRA3FM(:)=ZKFM(:)*ZRB0(:)*sqrt(ZRG(:))**7*sqrt(2.)*(ZESG49(:,JI)+ZESG36(:,JI)*ZESG01(:,JI)+& - &2.*ZESG25(:,JI)*ZESG04(:,JI)+ZESG09(:,JI)*ZESG16(:,JI)+ZESG100(:,JI)*ZESG09(:,JI)+& - &2.*ZESG64(:,JI)*ZESG01(:,JI)) - ZINTRA6FM(:)=ZKFM(:)*ZRB6(:)*sqrt(ZRG(:))**13*sqrt(2.)*ZESG85(:,JI)*& - (1.+2.*ZESG04(:,JI)+ZESG24(:,JI)) - ZINTRA0NC(:)=ZKNC(:)*(1.+ZESG08(:,JI)+ZAI(:)*ZKNG(:)*(ZESG20(:,JI)+ZESG04(:,JI))) - ZINTRA3NC(:)=ZKNC(:)*ZRG(:)**3*(2.*ZESG36(:,JI)+ZAI(:)*ZKNG(:)*(ZESG16(:,JI)+ZESG04(:,JI)*ZESG04(:,JI)+& - &ZESG36(:,JI)*ZESG04(:,JI)+ZESG64(:,JI)*ZESG16(:,JI))+ZESG16(:,JI)*ZESG04(:,JI)+& - &ZESG64(:,JI)*ZESG04(:,JI)) - ZINTRA6NC(:)=2.*ZKNC(:)*(ZRG(:))**6*ZESG52(:,JI)*(ZESG20(:,JI)+ZESG28(:,JI)+ZAI(:)*ZKNG(:)*(1.+ZESG16(:,JI))) - ZINTRA0(:)=ZINTRA0FM(:)*(ZINTRA0NC(:)/(ZINTRA0FM(:)+ZINTRA0NC(:))) - ZINTRA3(:)=ZINTRA3FM(:)*(ZINTRA3NC(:)/(ZINTRA3FM(:)+ZINTRA3NC(:))) - ZINTRA6(:)=ZINTRA6FM(:)*(ZINTRA6NC(:)/(ZINTRA6FM(:)+ZINTRA6NC(:))) - - PDMINTRA(:,NM0(JI))=ZINTRA0(:) - PDMINTRA(:,NM3(JI))=ZINTRA3(:) - PDMINTRA(:,NM6(JI))=ZINTRA6(:) - !print*,'PDMINTRA(:,NM0(',JI,') =',MINVAL(PDMINTRA(:,NM0(JI))), MAXVAL(PDMINTRA(:,NM0(JI))) - !print*,'PDMINTRA(:,NM3(',JI,') =',MINVAL(PDMINTRA(:,NM3(JI))), MAXVAL(PDMINTRA(:,NM3(JI))) - !print*,'PDMINTRA(:,NM6(',JI,') =',MINVAL(PDMINTRA(:,NM6(JI))), MAXVAL(PDMINTRA(:,NM6(JI))) - -enddo -!print*,'==============================' -!print*,'==============================' - -WHERE (ZD(:) > 0. .AND. ZXi(:) > (6.*PSIG0(:,1)/sqrt(2.))) - -! transfert du moment d'ordre 0 (nombre) -!************************************** - - ZERF0(:)=sqrt(1.-exp(-4.*(ZXi(:))**2/XPI)) - ZPHI0(:)=0.5*(1.+ZERF0(:)) - -! transfert du moment d'ordre 3 (masse) -!************************************** - - ZERF3(:)=sqrt(1.-exp(-4.*(ZXi(:)-3.*PSIG0(:,1)/sqrt(2.))**2/XPI)) - ZPHI3(:)=0.5*(1.+ZERF3(:)) - -! transfert du moment d'ordre 6 (dispersion) -!************************************** - - ZERF6(:)=sqrt(1.-exp(-4.*(ZXi(:)-6.*PSIG0(:,1)/sqrt(2.))**2/XPI)) - ZPHI6(:)=0.5*(1.+ZERF6(:)) - - PDMINTRA(:,NM0(2))=PDMINTRA(:,NM0(2))-(1.-ZPHI0(:)**2)*PDMINTRA(:,NM0(1))*(PM(:,NM0(1))/PM(:,NM0(2)))**2 - PDMINTRA(:,NM0(1))=(2.-ZPHI0(:)**2)*PDMINTRA(:,NM0(1)) - - PDMINTRA(:,NM3(2))=PDMINTRA(:,NM3(1))*(1.-ZPHI0(:)*ZPHI3(:))*PM(:,NM0(1))**2 - PDMINTRA(:,NM3(1))=PDMINTRA(:,NM3(1))*(ZPHI0(:)*ZPHI3(:)-1.)*PM(:,NM0(1))**2 - - ZKFM(:)=sqrt(3.*XBOLTZ*PTGAS(:)/PRHOP0(:,1))*1.e-3 - ZRG(:)=PRG0(:,1) - ZKNG(:)=PLAMBDA(:)/ZRG(:) - ZAI(:)=1.392*ZKNG(:)**0.0783 - - ZINTRA6FM(:)=ZKFM(:)*sqrt(2.)*sqrt(ZRG(:))**13*(ZESG169(:,1)+ZESG144(:,1)*ZESG01(:,1)+& - 2.*ZESG121(:,1)*ZESG04(:,1)+ZESG81(:,1)*ZESG16(:,1)+& - ZESG256(:,1)*ZESG09(:,1)+ZESG196(:,1)*ZESG01(:,1)) - - ZINTRA6NC(:)=ZKNC(:)*(ZRG(:))**6*(2.*ZESG144(:,1)+ZAI(:)*ZKNG(:)*(ZESG100(:,1)+& - ZESG64(:,1)*ZESG04(:,1))+ZAI(:)*ZKNG(:)*(ZESG144(:,1)*ZESG04(:,1)+& - ZESG196(:,1)*ZESG16(:,1))+ZESG100(:,1)*ZESG04(:,1)+& - ZESG196(:,1)*ZESG04(:,1)) - - ZINTRA6(:)=ZINTRA6FM(:)*(ZINTRA6NC(:)/(ZINTRA6FM(:)+ZINTRA6NC(:))) - - PDMINTRA(:,NM6(2))=PDMINTRA(:,NM6(2))+(PDMINTRA(:,NM6(1))*(1.-ZPHI3(:)**2)+ZINTRA6(:)*(1.-ZPHI0(:)*ZPHI6(:)))& - &*(PM(:,NM0(1))/PM(:,NM0(2)))**2 - - PDMINTRA(:,NM6(1))=PDMINTRA(:,NM6(1))*(ZPHI3(:)**2)+ZINTRA6(:)*(ZPHI0(:)*ZPHI6(:)-1.) - -ELSEWHERE - - PDMINTRA(:,NM3(1))=0. - PDMINTRA(:,NM3(2))=0. - - -ENDWHERE - -do JI=1,JPMODE -!print*,'2.-ZPHI0(:)**2 =',MINVAL(2.-ZPHI0(:)**2), MAXVAL(2.-ZPHI0(:)**2) -! print*,'apres corr PDMINTRA(:,NM0(',JI,') =',MINVAL(PDMINTRA(:,NM0(JI))), MAXVAL(PDMINTRA(:,NM0(JI))) -! print*,'apres corr PDMINTRA(:,NM3(',JI,') =',MINVAL(PDMINTRA(:,NM3(JI))), MAXVAL(PDMINTRA(:,NM3(JI))) -! print*,'apres corr PDMINTRA(:,NM6(',JI,') =',MINVAL(PDMINTRA(:,NM6(JI))), MAXVAL(PDMINTRA(:,NM6(JI))) - enddo - -!********************************************************************* -! calculate the intermodal moment coefficients (log-normal model) -!********************************************************************* - -do JI=1,(JPMODE-1) - do JJ=(JI+1),JPMODE - - ZRGI(:)=PRG0(:,JI) - ZKNGI(:)=PLAMBDA(:)/ZRGI(:) - ZAI(:)=1.392*ZKNGI(:)**0.0783 - - ZRGJ(:)=PRG0(:,JJ) - ZKNGJ(:)=PLAMBDA(:)/ZRGJ(:) - ZAJ(:)=1.392*ZKNGJ(:)**0.0783 - - ZR(:)=sqrt(ZRGJ(:)/ZRGI(:)) - ZR2(:)=ZR(:)*ZR(:) - !ZR3(:)=ZR(:)*ZR2(:) - ZR4(:)=ZR2(:)*ZR2(:) - ZRM(:)=1./ZR(:) - ZRM2(:)=ZRM(:)*ZRM(:) - ZRM3(:)=ZRM(:)*ZRM2(:) - !ZRM4(:)=ZRM2(:)*ZRM2(:) - -!********************** -! Brownian Coagulation -!********************** - - ZRES(:)=0.9 - - ZAPPROX(:)=sqrt(2.*ZRGI(:))*(ZESG01(:,JI)+ZR(:)*ZESG01(:,JJ)+2.*ZR2(:)*ZESG01(:,JI)*ZESG04(:,JJ)& - +ZR4(:)*ZESG09(:,JI)*ZESG16(:,JJ)+ZRM3(:)*ZESG16(:,JI)*ZESG09(:,JJ)+& - 2.*ZRM(:)*ZESG04(:,JI)*ZESG01(:,JJ)) - - ZINTERFM(:)=ZKFM(:)*ZRES(:)*ZAPPROX(:) - - ZAPPROX(:)=2.+ZAI(:)*ZKNGI(:)*(ZESG04(:,JI)+ZR2(:)*ZESG16(:,JI)*ZESG04(:,JJ))+& - ZAJ(:)*ZKNGJ(:)*(ZESG04(:,JJ)+ZRM2(:)*ZESG16(:,JJ)*ZESG04(:,JI))+& - (ZR2(:)+ZRM2(:))*(ZESG04(:,JI)*ZESG04(:,JJ)) - - ZINTERNC(:)=ZKNC(:)*ZAPPROX(:) - - ZINTER(:)=ZINTERNC(:)*(ZINTERFM(:)/(ZINTERNC(:)+ZINTERFM(:))) - - PDMINTER(:,NM0(JI))=PM(:,NM0(JJ))*ZINTER(:) - PDMINTER(:,NM0(JJ))=-PM(:,NM0(JJ))*ZINTER(:) - - ZAPPROX(:)=sqrt(2.)*sqrt(ZRGI(:))**7*(ZESG49(:,JI)+ZR(:)*ZESG36(:,JI)*ZESG01(:,JJ)+2.*ZR2(:)*& - ZESG25(:,JI)*ZESG04(:,JJ)+ZR4(:)*ZESG09(:,JI)*ZESG16(:,JJ)+ZRM3(:)*& - ZESG100(:,JI)*ZESG09(:,JJ)+2.*ZRM(:)*ZESG64(:,JI)*ZESG01(:,JJ)) - - ZINTERFM(:)=ZKFM(:)*ZRES(:)*ZAPPROX(:) - - ZAPPROX(:)=(2.*ZESG36(:,JI)+ZAI(:)*ZKNGI(:)*(ZESG16(:,JI)+ZR2(:)*ZESG04(:,JI)*ZESG04(:,JJ))+& - ZAJ(:)*ZKNGJ(:)*(ZESG36(:,JI)*ZESG04(:,JJ)+ZRM2(:)*ZESG16(:,JJ)*ZESG64(:,JI))+& - ZR2(:)*ZESG16(:,JI)*ZESG04(:,JJ)+ZRM2(:)*ZESG64(:,JI)*ZESG04(:,JJ))*(ZRGI(:))**3 - - ZINTERNC(:)=ZKNC(:)*ZAPPROX(:) - - ZINTER(:)=ZINTERNC(:)*(ZINTERFM(:)/(ZINTERNC(:)+ZINTERFM(:))) - - PDMINTER(:,NM3(JI))=-PM(:,NM0(JI))*PM(:,NM0(JJ))*ZINTER(:) - PDMINTER(:,NM3(JJ))=PM(:,NM0(JI))*PM(:,NM0(JJ))*ZINTER(:) - - ZAPPROX(:)=sqrt(2.)*sqrt(ZRGI(:))**13*(ZESG169(:,JI)+ZR(:)*ZESG144(:,JI)*ZESG01(:,JJ)+& - 2.*ZR2(:)*ZESG121(:,JI)*ZESG04(:,JJ)+ZR4(:)*ZESG81(:,JI)*ZESG16(:,JJ)+& - ZRM3(:)*ZESG256(:,JI)*ZESG09(:,JJ)+2*ZRM(:)*ZESG196(:,JI)*ZESG01(:,JJ)) - - ZINTERFM(:)=ZKFM(:)*ZRES(:)*ZAPPROX(:) - - ZAPPROX(:)=(ZRGI(:))**6*(2.*ZESG144(:,JI)+ZAI(:)*ZKNGI(:)*(ZESG100(:,JI)+& - ZR2(:)*ZESG64(:,JI)*ZESG04(:,JJ))+ZAJ(:)*ZKNGJ(:)*(ZESG144(:,JI)*ZESG04(:,JJ)+& - ZRM2(:)*ZESG196(:,JI)*ZESG16(:,JJ))+ZR2(:)*ZESG100(:,JI)*ZESG04(:,JJ)+& - ZRM2(:)*ZESG196(:,JI)*ZESG04(:,JJ)) - - ZINTERNC(:)=ZKNC(:)*ZAPPROX(:) - - ZINTER(:)=ZINTERNC(:)*(ZINTERFM(:)/(ZINTERNC(:)+ZINTERFM(:))) - - PDMINTER(:,NM6(JI))=-PM(:,NM0(JI))*PM(:,NM0(JJ))*ZINTER(:) - PDMINTER(:,NM6(JJ))=PM(:,NM0(JI))*PM(:,NM0(JJ))*ZINTER(:) - - ZAPPROX(:)=sqrt(2.)*sqrt(ZRGI(:))**7*sqrt(ZRGJ(:))**6*(ZESG49(:,JI)*& - ZESG36(:,JJ)+ZR(:)*ZESG36(:,JI)*ZESG49(:,JJ)+2.*ZR2(:)*ZESG25(:,JI)*& - ZESG64(:,JJ)+ZR4(:)*ZESG09(:,JI)*ZESG100(:,JJ)+ZRM3(:)*ZESG100(:,JI)*& - ZESG09(:,JJ)+2.*ZRM(:)*ZESG64(:,JI)*ZESG25(:,JJ)) - - ZINTERFM(:)=ZKFM(:)*ZRES(:)*ZAPPROX(:) - - ZAPPROX(:)=(ZRGI(:))**3*(ZRGJ(:))**3*(2.*ZESG36(:,JI)*ZESG36(:,JJ)+& - ZAI(:)*ZKNGI(:)*(ZESG16(:,JI)*ZESG16(:,JJ)+ZR2(:)*ZESG04(:,JI)*ZESG64(:,JJ))+& - ZAJ(:)*ZKNGJ(:)*(ZESG36(:,JI)*ZESG16(:,JJ)+ZRM2(:)*ZESG64(:,JI)*ZESG04(:,JJ))+& - ZR2(:)*ZESG16(:,JI)*ZESG64(:,JJ)+ZRM2(:)*ZESG64(:,JI)*ZESG16(:,JJ)) - - ZINTERNC(:)=ZKNC(:)*ZAPPROX(:) - - ZINTER(:)=ZINTERNC(:)*(ZINTERFM(:)/(ZINTERNC(:)+ZINTERFM(:))) - - PDMINTER(:,NM6(JJ))=PDMINTER(:,NM6(JJ))+2.*PM(:,NM0(JI))*PM(:,NM0(JJ))*ZINTER(:) - - enddo -enddo - -IF (LHOOK) CALL DR_HOOK('CH_AER_COAG',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_COAG diff --git a/src/arome/chem/internals/ch_aer_driver.F90 b/src/arome/chem/internals/ch_aer_driver.F90 deleted file mode 100644 index 132499ae063c148380b030ec6f8c674d82ed2eae..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_driver.F90 +++ /dev/null @@ -1,130 +0,0 @@ -! ######spl -SUBROUTINE CH_AER_DRIVER(PM, PSIG0, PRG0, PN0, PCTOTG, PCTOTA,& - PCCTOT, PDTACT, PSEDA,& - PMU, PLAMBDA, PRHOP0, POM, PSO4RAT, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PMASK,& - PTIME, PSOLORG) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!##################################################################################### -!! -!! PURPOSE -!! ------- -!! -!! compute the right hand side of the moment equations -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!! EXTERNAL -!! -------- -USE MODI_CH_AER_COAG -USE MODI_CH_AER_GROWTH -USE MODI_CH_AER_SOLV -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -USE MODD_CH_AEROSOL -! -! -IMPLICIT NONE -! Declaration arguments -REAL, INTENT(IN) :: PDTACT, PTIME -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0, POM -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMASK -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -! -! Declarations variables internes -! -INTEGER :: II - -! Variables utilisees pour le tranfert de moment de chaque espece -! pour la condensation -!---------------------------------------------------------------- - -REAL, DIMENSION(SIZE(PM,1),(JPMODE)*3) :: ZDMINTRA,ZDMINTER,ZDMCOND - -REAL :: ZGASMW ! Molecular weight of background - ! gas (g/mol) -REAL, DIMENSION(SIZE(PM,1)) :: ZPGAS ! background gas pressure (Pa) -REAL, DIMENSION(SIZE(PM,1)) :: ZRH,PSAT ! Relative humidity -REAL :: ZDT ! Pas de temps -REAL, DIMENSION(SIZE(PM,1)) :: ZPKM, ZPKH2O - -!----------------------------------------------------------------------------- - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_DRIVER',0,ZHOOK_HANDLE) -ZDT=PDTACT - -!****************************************************** -! Thermodynamic variables initialization -! from Meso-NHC -!****************************************************** - -ZPKM(:) = 1E-3*PDENAIR(:) * 6.0221367E+23 / 28.9644 -ZPKH2O(:) = ZPKM(:)*1.6077*PRV(:) -PSAT(:)=0.611*EXP(17.2694*(PTEMP(:)-273.16)/(PTEMP(:)-35.86)) -PSAT(:)=PSAT(:)*1000. -ZRH(:)=(ZPKH2O(:)/(ZPKM(:)*1.6077))*PPRESSURE(:)/& - &(0.622+(ZPKH2O(:)/(ZPKM(:)*1.6077)))/PSAT(:) - -ZPGAS(:)=PPRESSURE(:) -ZGASMW=29. - -!****************************************************** -! calculate gas viscosity and mean free path -!****************************************************** -PMU(:)=0.003661*PTEMP(:) -PMU(:)=.0066164*PMU(:)*sqrt(PMU(:))/(PTEMP(:)+114.d0) - -PLAMBDA(:)=PMU(:)/PDENAIR(:)*sqrt(1.89d-4*ZGASMW/PTEMP(:))*1.e6 - -CALL CH_AER_COAG(PM, PSIG0, PRG0, PN0,ZDMINTRA,ZDMINTER,& - PTEMP,PMU,PLAMBDA,PRHOP0) - - -CALL CH_AER_GROWTH(PM, PSIG0, PRG0, ZDMCOND,PDENAIR,ZGASMW,& - ZPGAS,PTEMP,ZRH,POM,PSO4RAT,PDTACT) - -DO II=1,JPMODE -ZDMINTRA(:,NM0(II)) = ZDMINTRA(:,NM0(II)) * PMASK(:,II) -ZDMINTRA(:,NM3(II)) = ZDMINTRA(:,NM3(II)) * PMASK(:,II) -ZDMINTRA(:,NM6(II)) = ZDMINTRA(:,NM6(II)) * PMASK(:,II) -ZDMINTER(:,NM0(II)) = ZDMINTER(:,NM0(II)) * PMASK(:,II) -ZDMINTER(:,NM3(II)) = ZDMINTER(:,NM3(II)) * PMASK(:,II) -ZDMINTER(:,NM6(II)) = ZDMINTER(:,NM6(II)) * PMASK(:,II) -ZDMCOND(:,NM0(II)) = ZDMCOND(:,NM0(II)) * PMASK(:,II) -ZDMCOND(:,NM3(II)) = ZDMCOND(:,NM3(II)) * PMASK(:,II) -ZDMCOND(:,NM6(II)) = ZDMCOND(:,NM6(II)) * PMASK(:,II) -POM(:,II) = POM(:,II) * PMASK(:,II) -PSEDA(:,NM0(II)) = PSEDA(:,NM0(II)) * PMASK(:,II) -PSEDA(:,NM3(II)) = PSEDA(:,NM3(II)) * PMASK(:,II) -PSEDA(:,NM6(II)) = PSEDA(:,NM6(II)) * PMASK(:,II) -END DO - - -CALL CH_AER_SOLV(PM, PSIG0, PRG0, PN0,PCTOTG, PCTOTA, PCCTOT, & - ZDMINTRA,ZDMINTER,ZDMCOND,PSEDA,ZDT,POM,& - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PTIME, PSOLORG) - - -IF (LHOOK) CALL DR_HOOK('CH_AER_DRIVER',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_DRIVER diff --git a/src/arome/chem/internals/ch_aer_eqm_cormass.F90 b/src/arome/chem/internals/ch_aer_eqm_cormass.F90 deleted file mode 100644 index 94912fc7601c2ae5b88ca00d20b9b4ddd1d284b4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_eqm_cormass.F90 +++ /dev/null @@ -1,55 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_EQM_CORMASS(PSVT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Realise la conservation de la masse -!! Filtre les valeurs des moments 0 et 6 inferieures aux valeurs -!! minimales (Rg et SIG) introduites en nameliste -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -!! -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -! -!* 0.2 declarations local variables -! -!------------------------------------------------------------------------------- - -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_AER_EQM_CORMASS',0,ZHOOK_HANDLE) - PSVT(:,:,:,:) = MAX(PSVT(:,:,:,:),1.E-80) - -! -IF (LHOOK) CALL DR_HOOK('CH_AER_EQM_CORMASS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_EQM_CORMASS diff --git a/src/arome/chem/internals/ch_aer_eqm_init0d.F90 b/src/arome/chem/internals/ch_aer_eqm_init0d.F90 deleted file mode 100644 index b213b841458db74f0a1b3cc122e88c6cbf297c81..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_eqm_init0d.F90 +++ /dev/null @@ -1,292 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_EQM_INIT0d(PMI, PAERO, PM3D, PRHOP3D, PSIG3D, PRG3D, & - PN3D, PCTOTA) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Realise l'equilibre entre les moments via la masse contenue -!! dans les aerosols, les diametres moyens et la dispersion. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL -USE MODD_CH_M9, ONLY : CNAMES -USE MODD_CH_AERO_n -USE MODD_CH_MNHC_n - -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO, PMI -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM3D, PRHOP3D, PSIG3D, PRG3D, PN3D -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA - - -! -! -!* 0.2 declarations local variables -! -REAL,DIMENSION(1,NSP+NCARB+NSOA,JPMODE) :: ZCCTOT -REAL,DIMENSION(1) :: ZSUM -REAL,DIMENSION(1) :: ZSIGMA -INTEGER :: JN, JJ ! loop counter -! -!------------------------------------------------------------------------------- -! - -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! 1.1 initialisation -! Index gas scheme <=> Index Orilam - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_EQM_INIT0D',0,ZHOOK_HANDLE) -DO JJ=1,SIZE(CNAMES) -IF (CNAMES(JJ) == "CO") JP_CH_CO = JJ -END DO - - -IF (CORGANIC == TRIM("MPMPO") .OR. CORGANIC == TRIM("PUN") .OR. CORGANIC == TRIM("EQSAM2")) THEN - IF ((CCH_SCHEME .NE. TRIM("CACM")) .AND. (CCH_SCHEME .NE. TRIM("RELACS2"))) THEN - print*, '**********************************************' - print*, 'WARNING : NO SOA !!!!' - print*, 'YOU WANT TO USE SOA GAS PARTICLE BALANCE' - print*, 'BUT THE SCHEME NEED TO BE CACM or RELACS 2' - print*, 'CORGANIC HAS BEEN SET TO NONE' - print*, 'OTHERWISE COMPILE THE CORRECT SCHEME BEFORE' - print*, '**********************************************' - CORGANIC = "NONE" - END IF -END IF - -IF (.NOT.(ALLOCATED(XRHOI))) ALLOCATE(XRHOI(NSP+NSOA+NCARB)) -IF (.NOT.(ALLOCATED(XFAC))) ALLOCATE(XFAC(NSP+NSOA+NCARB)) - - -! Moments index - NM0(1) = 1 - NM3(1) = 2 - NM6(1) = 3 - NM0(2) = 4 - NM3(2) = 5 - NM6(2) = 6 - -! Aerosol Density -! Cf Ackermann (all to black carbon except water) - - XRHOI(:) = 1.8e3 - XRHOI(JP_AER_H2O) = 1.0e3 ! water - -! -DO JJ=1,NSP+NCARB+NSOA - XFAC(JJ)=(4./3.)*3.14292654*XRHOI(JJ)*1.e-9 -ENDDO - -! -! -!* 1.n transfer aerosol mass from gas to aerosol variables -! (and conversion of part/part --> microgram/m3) -! - -! -! mineral phase - PCTOTA(:,JP_AER_SO4,1) = PAERO(:,JP_CH_SO4i)*PMI(:,JP_AER_SO4)/6.0221367E+11 - PCTOTA(:,JP_AER_SO4,2) = PAERO(:,JP_CH_SO4j)*PMI(:,JP_AER_SO4)/6.0221367E+11 - - PCTOTA(:,JP_AER_NO3,1) = PAERO(:,JP_CH_NO3i)*PMI(:,JP_AER_NO3)/6.0221367E+11 - PCTOTA(:,JP_AER_NO3,2) = PAERO(:,JP_CH_NO3j)*PMI(:,JP_AER_NO3)/6.0221367E+11 - - PCTOTA(:,JP_AER_NH3,1) = PAERO(:,JP_CH_NH3i)*PMI(:,JP_AER_NH3)/6.0221367E+11 - PCTOTA(:,JP_AER_NH3,2) = PAERO(:,JP_CH_NH3j)*PMI(:,JP_AER_NH3)/6.0221367E+11 - -! water - PCTOTA(:,JP_AER_H2O,1) = PAERO(:,JP_CH_H2Oi)*PMI(:,JP_AER_H2O)/6.0221367E+11 - PCTOTA(:,JP_AER_H2O,2) = PAERO(:,JP_CH_H2Oj)*PMI(:,JP_AER_H2O)/6.0221367E+11 - -! -! primary organic carbon - PCTOTA(:,JP_AER_OC,1) = PAERO(:,JP_CH_OCi)*PMI(:,JP_AER_OC)/6.0221367E+11 - PCTOTA(:,JP_AER_OC,2) = PAERO(:,JP_CH_OCj)*PMI(:,JP_AER_OC)/6.0221367E+11 - -! primary black carbon - PCTOTA(:,JP_AER_BC,1) = PAERO(:,JP_CH_BCi)*PMI(:,JP_AER_BC)/6.0221367E+11 - PCTOTA(:,JP_AER_BC,2) = PAERO(:,JP_CH_BCj)*PMI(:,JP_AER_BC)/6.0221367E+11 - -! - PCTOTA(:,JP_AER_SOA1,1) = PAERO(:,JP_CH_SOA1i)*PMI(:,JP_AER_SOA1)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA1,2) = PAERO(:,JP_CH_SOA1j)*PMI(:,JP_AER_SOA1)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA2,1) = PAERO(:,JP_CH_SOA2i)*PMI(:,JP_AER_SOA2)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA2,2) = PAERO(:,JP_CH_SOA2j)*PMI(:,JP_AER_SOA2)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA3,1) = PAERO(:,JP_CH_SOA3i)*PMI(:,JP_AER_SOA3)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA3,2) = PAERO(:,JP_CH_SOA3j)*PMI(:,JP_AER_SOA3)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA4,1) = PAERO(:,JP_CH_SOA4i)*PMI(:,JP_AER_SOA4)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA4,2) = PAERO(:,JP_CH_SOA4j)*PMI(:,JP_AER_SOA4)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA5,1) = PAERO(:,JP_CH_SOA5i)*PMI(:,JP_AER_SOA5)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA5,2) = PAERO(:,JP_CH_SOA5j)*PMI(:,JP_AER_SOA5)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA6,1) = PAERO(:,JP_CH_SOA6i)*PMI(:,JP_AER_SOA6)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA6,2) = PAERO(:,JP_CH_SOA6j)*PMI(:,JP_AER_SOA6)/6.0221367E+11 - - PCTOTA(:,JP_AER_SOA6,1) = PAERO(:,JP_CH_SOA6i)*PMI(:,JP_AER_SOA6)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA6,2) = PAERO(:,JP_CH_SOA6j)*PMI(:,JP_AER_SOA6)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA7,1) = PAERO(:,JP_CH_SOA7i)*PMI(:,JP_AER_SOA7)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA7,2) = PAERO(:,JP_CH_SOA7j)*PMI(:,JP_AER_SOA7)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA8,1) = PAERO(:,JP_CH_SOA8i)*PMI(:,JP_AER_SOA8)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA8,2) = PAERO(:,JP_CH_SOA8j)*PMI(:,JP_AER_SOA8)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA9,1) = PAERO(:,JP_CH_SOA9i)*PMI(:,JP_AER_SOA9)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA9,2) = PAERO(:,JP_CH_SOA9j)*PMI(:,JP_AER_SOA9)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA10,1) = PAERO(:,JP_CH_SOA10i)*PMI(:,JP_AER_SOA10)/6.0221367E+11 - PCTOTA(:,JP_AER_SOA10,2) = PAERO(:,JP_CH_SOA10j)*PMI(:,JP_AER_SOA10)/6.0221367E+11 - - -! -!* 1.1 calculate moment 3 from mass - - PM3D(:,2) = 0. - PM3D(:,5) = 0. - PCTOTA(:,:,:) = MAX(PCTOTA(:,:,:), 0.) - DO JJ = 1,NSP+NCARB+NSOA - PM3D(:,2) = PM3D(:,2)+PCTOTA(:,JJ,1)/XFAC(JJ) - PM3D(:,5) = PM3D(:,5)+PCTOTA(:,JJ,2)/XFAC(JJ) - ENDDO -! -! -!* 1.2 calculate moment 0 from dispersion and mean radius - PM3D(:,1)= PM3D(:,2) / & - ((XINIRADIUSI**3)*EXP(4.5 * (LOG(XINISIGI))**2)) - -IF (ANY(PM3D(:,1) < XN0IMIN)) THEN - -print*, 'FATAL ERROR ' -print*, 'COMPATIBILITY ERROR: Initialization of particle number mode I < XN0IMIN ' -print*, ' MINIMAL NUMBER PARTICLE BY m3 is ', MINVAL(PM3D(:,1)),& -'located at ',MINLOC(PM3D(:,1)) -print*, 'PLEASE CHANGE MASS OR XN0IMIN INITIALIZATION ' -STOP -END IF - PM3D(:,4)= PM3D(:,5) / & - ((XINIRADIUSJ**3)*EXP(4.5 * (LOG(XINISIGJ))**2)) - -IF (ANY(PM3D(:,4) < XN0JMIN)) THEN -print*, 'FATAL ERROR ' -print*, 'COMPATIBILITY ERROR: Initialization of particle number mode J < XN0JMIN ' -print*, ' MINIMAL NUMBER PARTICLE BY m3 is ',MINVAL(PM3D(:,4)),& -'located at ',MINLOC(PM3D(:,4)) -print*, 'PLEASE CHANGE MASS OR XN0JMIN INITIALIZATION ' -STOP -END IF - -!* 1.3 calculate moment 6 from dispersion and mean radius - PM3D(:,3) = PM3D(:,1) * (XINIRADIUSI**6) *EXP(18 *(LOG(XINISIGI))**2) - PM3D(:,6) = PM3D(:,4) * (XINIRADIUSJ**6) *EXP(18 *(LOG(XINISIGJ))**2) - - - -! -!********************************************** -! Calcul de XRHOP3D -!********************************************** - -PRHOP3D(:,:)=0. -DO JN=1,JPMODE - ZSUM(:)=0. - DO JJ=1,NSP+NCARB+NSOA - ZSUM(:)=ZSUM(:)+PCTOTA(:,JJ,JN)/XRHOI(JJ) - ENDDO - DO JJ=1,NSP+NCARB+NSOA - ZCCTOT(:,JJ,JN)=PCTOTA(:,JJ,JN)/XRHOI(JJ)/ZSUM(:) - PRHOP3D(:,JN)=PRHOP3D(:,JN)+ZCCTOT(:,JJ,JN)*XRHOI(JJ) - ENDDO -ENDDO - -DO JN=1,JPMODE - - IF (JN .EQ. 1) THEN - - IF (LVARSIGI) THEN ! variable dispersion for mode 1 - - ZSIGMA(:)=PM3D(:,NM3(JN))**2/(PM3D(:,NM0(JN))*PM3D(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGIMAX) - ZSIGMA(:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGIMIN) - ZSIGMA(:) = XSIGIMIN - END WHERE - - ELSE ! fixed dispersion for mode 1 - ZSIGMA(:) = XINISIGI - END IF - END IF - -! - IF (JN .EQ. 2) THEN - - IF (LVARSIGJ) THEN ! variable dispersion for mode 2 - - ZSIGMA(:)=PM3D(:,NM3(JN))**2/(PM3D(:,NM0(JN))*PM3D(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGJMAX) - ZSIGMA(:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGJMIN) - ZSIGMA(:) = XSIGJMIN - END WHERE - - ELSE ! fixed dispersion for mode 2 - ZSIGMA(:) = XINISIGJ - END IF - END IF -! -!* 1.4 calculate modal parameters from moments -PSIG3D(:,JN) = ZSIGMA(:) -PN3D(:,JN) = PM3D(:,NM0(JN)) - -ZSIGMA(:)=LOG(PSIG3D(:,JN))**2 - -PRG3D(:,JN)=(PM3D(:,NM3(JN))/PN3D(:,JN))**(1./3.)*EXP(-1.5*ZSIGMA(:)) - -PM3D(:,NM6(JN))=PN3D(:,JN)*PRG3D(:,JN)**6*EXP(18.*ZSIGMA(:)) -! -PSIG3D(:,JN)=LOG(PSIG3D(:,JN)) -ENDDO -! -! -PAERO(:,JP_CH_M0i) = PM3D(:,1) * 1E-6 -PAERO(:,JP_CH_M0j) = PM3D(:,4) * 1E-6 -IF (LVARSIGI) PAERO(:,JP_CH_M6i) = PM3D(:,3) -IF (LVARSIGJ) PAERO(:,JP_CH_M6j) = PM3D(:,6) - -! -! -IF (LHOOK) CALL DR_HOOK('CH_AER_EQM_INIT0D',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_EQM_INIT0d diff --git a/src/arome/chem/internals/ch_aer_eqsam.F90 b/src/arome/chem/internals/ch_aer_eqsam.F90 deleted file mode 100644 index 2c478ba3b033c8f91d9d7703f3a0804bbb9e36e1..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_eqsam.F90 +++ /dev/null @@ -1,140 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_EQSAM(PAER,PRH, PPRESSURE, PTEMP ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################################## -!! -!! PURPOSE -!! ------- -!! -!! Interface between ORILAM and EQSAM for calculate the aerosol chemical speciation and water content. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet ( Meteo France / GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! interface -! --------- -! call eqsam_v03d(yi,yo,nca,nco,iopt,loop,imax,ipunit,in) -! -! yi = input array (imax, nca) -! yo = output array (imax, nco) -! imax = max loop (e.g. time steps) -! nca >= 11 -! nc0 >= 35 -! iopt = 1 metastable -! iopt = 2 solids -! iopt = 3 hysteresis (metastable/solids) for online calculations -! iopt = 31 hysteresis lower branch -! iopt = 32 hysteresis upper branch -! ipunit = I/O unit (can be skipped) -! in = array (can be skipped) -! -! method -! ------ -! equilibrium / internal mixture assumption / aw=rh -! System: NH3,NH4+/H2SO4+,HSO4-,SO4--/HNO3,NO3-, HCl,Cl-/Na+, H2O -! (K+,Ca++,Mg++) -! external -! -------- -! program eqmd.f90 (driver only needed for the box model version) -! subroutine gribio.f90 (provides diagnostics output in grib/binary/ascii format) -! -! references -! --------- -! Swen Metzger Ph.D Thesis, University Utrecht, 2000. -! http://www.library.uu.nl/digiarchief/dip/diss/1930853/inhoud.htm -! -! Metzger, S. M., F. J. Dentener, J. Lelieveld, and S. N. Pandis, -! GAS/AEROSOL PARTITIONING I: A COMPUTATIONALLY EFFICIENT MODEL, -! J Geophys. Res., 107, D16, 10.1029/2001JD001102, 2002 -! http://www.agu.org/journals/jd/jd0216/2001JD001102/index.html -! Metzger, S. M., F. J. Dentener, A. Jeuken, and M. Krol, J. Lelieveld, -! GAS/AEROSOL PARTITIONING II: GLOBAL MODELING RESULTS, -! J Geophys. Res., 107, D16, 10.1029/2001JD001103, 2002. -! http://www.agu.org/journals/jd/jd0216/2001JD001103/index.html -!_________________________________________________________________________________________________ -! -!*************************************************************** -!! -!! EXTERNAL -!! ------- -!! -USE MODI_eqsam_v03d_sub -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -!!...........ARGUMENTS and their descriptions -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PPRESSURE, PTEMP -! -! PAER(:,1) :: H2SO4 in micrograms / m**3 -! PAER(:,2) :: NH3(g) in micrograms / m**3 -! PAER(:,3) :: HNO3(g) in micrograms / m**3 -! PAER(:,4) :: H2O(a) in micrograms / m**3 -! PAER(:,5) :: NO3(a) in micrograms / m**3 -! PAER(:,6) :: NH4(a) in micrograms / m**3 -! -!...........PARAMETERS and their descriptions: - -REAL, PARAMETER :: ZMWH2O = 18.0 ! molecular weight for water -REAL, PARAMETER :: ZMWNO3 = 62.0049 ! molecular weight for NO3 -REAL, PARAMETER :: ZMWHNO3 = 63.01287 ! molecular weight for HNO3 -REAL, PARAMETER :: ZMWSO4 = 96.0576 ! molecular weight for SO4 -REAL, PARAMETER :: ZMH2SO4 = 98.07354 ! molecular weight for H2SO4 -REAL, PARAMETER :: ZMWNH3 = 17.03061 ! molecular weight for NH3 -REAL, PARAMETER :: ZMWNH4 = 18.03858 ! molecular weight for NH4 -REAL, PARAMETER :: ZMWAIR = 28.964 ! molecular weight for AIR - -INTEGER :: NCA,NCO,IOPT - -REAL, ALLOCATABLE, DIMENSION(:,:) :: ZYI, ZYO -! -!----------------------------------------------------------------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_EQSAM',0,ZHOOK_HANDLE) -NCA=11 ! Number of INPUT -NCO=35 ! Number of OUTPUT -IOPT=1 ! Options for metastable, solids, hysteresis (metastable/solids) -! -ALLOCATE(ZYI(SIZE(PAER,1), NCA)) -ALLOCATE(ZYO(SIZE(PAER,1), NCO)) -ZYI(:,:) =0. -ZYO(:,:) =0. - - ZYI(:,1)=PTEMP(:) ! T [K] - ZYI(:,2)=PRH(:) ! RH [0-1] - ZYI(:,3)=PAER(:,2) / ZMWNH3 + PAER(:,6) / ZMWNH4 ! NH3 (g) + NH4+ (p) [umol/m^3 air] - ZYI(:,4)=PAER(:,1) / ZMH2SO4 ! H2SO4 + SO4-- (p) [umol/m^3 air] - ZYI(:,5)=PAER(:,5) / ZMWNO3 + PAER(:,3) / ZMWHNO3 ! HNO3 (g) + NO3- (p) [umol/m^3 air] - ZYI(:,6)= 0. ! Na+ (ss + xsod) (a) [umol/m^3 air] - ZYI(:,7)= 0. ! HCl (g) + Cl- (p) [umol/m^3 air] - ZYI(:,8)= 0. ! K+ (p) from Dust [umol/m^3 air] - ZYI(:,9)= 0. ! Ca++ (p) from Dust [umol/m^3 air] - ZYI(:,10)=0. ! Mg++ (p) from Dust [umol/m^3 air] - ZYI(:,11)= PPRESSURE(:)*1E-2 ! p [hPa] - - CALL eqsam_v03d_sub(ZYI,ZYO, NCA, NCO, IOPT, SIZE(PAER,1), SIZE(PAER,1)) - !PAER(:,1) = ZYO(:,21) * ZMH2SO4 - PAER(:,2) = ZYO(:,10) * ZMWNH3 - PAER(:,3) = ZYO(:,9) * ZMWHNO3 - PAER(:,4) = ZYO(:,12) ! * ZMWH2O note H2O is in micro-g/m3 - PAER(:,5) = ZYO(:,20) * ZMWNO3 - PAER(:,6) = ZYO(:,19) * ZMWNH4 - -DEALLOCATE(ZYO) -DEALLOCATE(ZYI) -! -IF (LHOOK) CALL DR_HOOK('CH_AER_EQSAM',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_EQSAM diff --git a/src/arome/chem/internals/ch_aer_growth.F90 b/src/arome/chem/internals/ch_aer_growth.F90 deleted file mode 100644 index 1cbbf535ebb653f856a40fb03b3267f6ef90ef08..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_growth.F90 +++ /dev/null @@ -1,247 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_GROWTH(PM,PSIG0, PRG0, PDMCOND,PDENAIR,& - PGASMW,PPGAS,PTGAS,PRH, POM,& - PSO4RAT, PDT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################## -!! -!! PURPOSE -!! ------- -!! -!! This routine computes the rate of change due to condensation -!! and homogene nucleation -!! -!!************************************************************* -!! -!! Sans test pour savoir si toute la vapeur est utilisee -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Tulet P. ajout nucleation Kulmala, 1998 -!! -!************************************************************* -! Entry variables: -! -! PM(JPIN) -Array of moments -! ZT -Present time in the scheme -! -!************************************************************* -! Exit variables: -! -! ZCOEFM(JPIN) -Array of moment variation due to condensation -! and homogeneous nucleation -! -!************************************************************* -! Variables used during the condensation calculation -! -! ZALPHA - accomodation coefficient -! ZCBAR - kinetic velocity of vapor molecules (m/s) -! ZDV - vapor diffusivity (m2/s) -! ZPSIT - size-independant component of the growth law -! ZSATUR - saturation ratio of condensed species -!************************************************************* -! Variables used during nucleation calculation -! -! ZCCRIT -Critical concentration for production of new -! particles (kg/m3) -! ZC0 -Initial monomer concentration (kg/m3) -! ZG0 -Critical cluster number -! ZP -Rate of gas phase production of sulfuric acid -! concentration C (kg/m3) -! ZSURTEN -Surface tension (N/m) -! ZTHETA -Dimensionless surface energy -! ZW0 -Dimensionless energy barrier to nucleation -! ************************************************************ -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -USE MODD_CH_AEROSOL -USE MODI_CH_AER_NUCL -!! -IMPLICIT NONE -! -! -!* 0.1 Declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMCOND, POM -REAL, DIMENSION(:), INTENT(IN) :: PDENAIR,PPGAS,PTGAS -REAL, DIMENSION(:), INTENT(INOUT) :: PRH, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0 -REAL, INTENT(INOUT) :: PGASMW -REAL, INTENT(IN) :: PDT -! -!* 0.2 Declarations of local variables -! -INTEGER :: JI,JJ - -REAL, DIMENSION(SIZE(PM,1),JPMODE,2) :: ZRIK -REAL, DIMENSION(SIZE(PM,1)) :: ZRG,ZLN2S - -REAL, DIMENSION(SIZE(PM,1)) :: ZRIKNC,ZRIKFM -REAL, DIMENSION(SIZE(PM,1)) :: ZSIGGAS,ZSIGAIR -REAL, DIMENSION(SIZE(PM,1)) :: ZSIG -REAL, DIMENSION(SIZE(PM,1)) :: ZCBAR -REAL, DIMENSION(SIZE(PM,1),(JPMODE)*3) :: ZMOM -REAL, DIMENSION(SIZE(PM,1)) :: ZCCRIT -REAL, DIMENSION(SIZE(PM,1)) :: ZDTD,ZTINF,ZCSO4SS -REAL, DIMENSION(SIZE(PM,1)) :: ZDMDT,ZDNDT,ZDM3DT,ZDM6DT -REAL, DIMENSION(SIZE(PM,1)) :: ZAL, ZJA, ZSULF - -REAL :: ZDV,ZALPHA - -REAL :: ZMSO4 - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_GROWTH',0,ZHOOK_HANDLE) -ZALPHA=0.05 -ZMSO4 = 98. -PDMCOND(:,:)=0.d0 -! -!------------------------------------------------------------------------------- -! -! Pour l'instant seul H2SO4 peut nucleer, d'une part -! de facon homogene (creation de nouvelles particules) -! d'autre part de facon heterogene (sur les particules -! d'aerosol deja existante) - -!******************************************************* -! Compute the binary diffusivity of the gaseous species -!******************************************************* -ZSIGAIR(:)=(PGASMW/1000.*3./(6.023e23*4.*XPI*PDENAIR(:)))**(1./3.) - -ZSIGGAS(:)=(ZMSO4/1000.*3./(6.023e23*4.*XPI*XRHOI(2)))**(1./3.) -ZSIG(:)=(ZSIGGAS(:)+ZSIGAIR(:))/2. -ZCBAR(:)=SQRT(8.*PTGAS(:)*8.31441/(XPI*ZMSO4*1.e-3)) -ZDV=0.08e-4 - -!************************* -! Compute the Omega terms -!************************* - -DO JI=1,JPMODE - - ZRG(:)=PRG0(:,JI)*1.e-6 - ZLN2S(:)=PSIG0(:,JI)**2 - - DO JJ=1,6 - - ZMOM(:,JJ)=PM(:,NM0(JI))*ZRG(:)**JJ*exp(real(JJ)**2*ZLN2S(:)/2.) - - ENDDO - - - ZRIKFM(:)=XPI*ZALPHA*ZCBAR(:)/8.*ZMOM(:,2) - ZRIKNC(:)=XPI*ZDV/2.*ZMOM(:,1) - - ZRIK(:,JI,1)=ZRIKFM(:)*(ZRIKNC(:)/(ZRIKFM(:)+ZRIKNC(:))) - - ZRIKFM(:)=XPI*ZALPHA*ZCBAR(:)/8.*ZMOM(:,5) - ZRIKNC(:)=XPI*ZDV/2.*ZMOM(:,4) - - ZRIK(:,JI,2)=ZRIKFM(:)*(ZRIKNC(:)/(ZRIKFM(:)+ZRIKNC(:))) - -ENDDO -POM(:,1)=(ZRIK(:,1,1)/(ZRIK(:,1,1)+ZRIK(:,2,1))) -POM(:,2)=(ZRIK(:,2,1)/(ZRIK(:,1,1)+ZRIK(:,2,1))) -! -IF (CNUCLEATION=='KERMINEN') THEN -!****************************************************************** -! Debut de la partie nucleation homogene en utilisant l'approche de -! Kerminen et Wexler (1994) -!****************************************************************** - - ZCCRIT(:)=0.16*exp(0.1*PTGAS(:)-3.5*PRH(:)-27.7) -!KS: suppress nucleation -! ZCCRIT(:)=1E20 - -! ZTINF, the time constant for particles to condense onto -! existing particles is given by Tinf=1/(dM3i/dt+dm3j/dt) -! where M3i and M3j are in third moment par CM3 - - ZDTD(:)=8.*(ZRIK(:,1,1)+ZRIK(:,2,1)) - ZTINF(:)=1./ZDTD(:) - - ZCSO4SS(:)=PSO4RAT(:)*(ZMSO4/6.0221367E+11)*ZTINF(:) - - DO JI = 1,SIZE(PM,1) - - IF (ZCSO4SS(JI) <= ZCCRIT(JI)) THEN !No nucleation - ZDNDT(JI)=0. - ZDMDT(JI)=0. - ZDM6DT(JI)=0. - ELSE !Calculate nucleation - -! Nucleation of particles from excess mass concentration of sulfuric acid -! above critical mass concentration of sulfuric acid -! and condensation of the remaining mass - - ZDMDT(JI)=ZDTD(JI)*(ZCSO4SS(JI)-ZCCRIT(JI)) -! Les nouvelles particules fraichement crees sont inclues dans le mode -! d'aitken avec les parametres d'initialisation au niveau de la distribution - ZDNDT(JI)=ZDMDT(JI)*1.e-18/XFAC(JP_AER_SO4)/((0.0025e-6)**3*exp(9./2.*log(1.5)**2)) - ZDM6DT(JI)=ZDNDT(JI)*(0.0025)**6*exp(18.*log(1.5)**2) -! write(*,*) 'Nucleation: ','DNDT= ',ZDNDT,' DM6DT= ',ZDM6DT - - ENDIF - - ENDDO -ELSE - ZDNDT(:)=0. - ZDMDT(:)=0. - ZDM6DT(:)=0. -ENDIF -! -IF (CNUCLEATION=='KULMALA') THEN -! compute nucleation rate -! - ZSULF(:) = PSO4RAT(:) * PDT -! - CALL CH_AER_NUCL(PRH,PTGAS,ZSULF,ZJA,ZAL,SIZE(PSO4RAT,1)) -! -! new mass in molec.cm-3.s-1 - ZDMDT(:)= ZAL(:)*ZJA(:) -! convert into microgram.m-3.s-1 - ZDMDT(:)= ZDMDT(:) * ZMSO4/6.0221367E+11 -! -! Les nouvelles particules fraichement crees sont inclues dans le mode -! d'aitken avec les parametres d'initialisation au niveau de la distribution -! - ZDNDT(:) = ZDMDT(:)/(XFAC(JP_AER_SO4)*(PRG0(:,1)**3)*EXP(4.5 * PSIG0(:,1)**2)) - ZDM6DT(:) = ZDNDT(:)*(PRG0(:,1)**6*EXP(18.*PSIG0(:,1)**2)) - -ELSE - ZDNDT(:)=0. - ZDMDT(:)=0. - ZDM6DT(:)=0. -ENDIF -! -! condensation des sulfates -ZDM3DT(:)=PSO4RAT(:)*(ZMSO4/6.0221367E+11)/XFAC(JP_AER_SO4)*1.e-18 -! -! Enlever la quantite de 3e moment deja consommee pour la nucleation homogene -ZDM3DT(:)=ZDM3DT(:)-ZDMDT(:)/XFAC(JP_AER_SO4)*1.e-18 -! -! -PDMCOND(:,1)=ZDNDT(:) -PDMCOND(:,2)=ZDMDT(:)/XFAC(JP_AER_SO4) -PDMCOND(:,3)=ZDM6DT(:) -! -DO JI=1,JPMODE - PDMCOND(:,NM3(JI))=PDMCOND(:,NM3(JI))+ZDM3DT(:)*POM(:,JI)*1.e18 - PDMCOND(:,NM6(JI))=PDMCOND(:,NM6(JI))+ZDM3DT(:)*POM(:,JI)*ZRIK(:,JI,2)/ZRIK(:,JI,1)*1.e36 - -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_AER_GROWTH',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_GROWTH diff --git a/src/arome/chem/internals/ch_aer_init_soa.F90 b/src/arome/chem/internals/ch_aer_init_soa.F90 deleted file mode 100644 index 40e14466bcfafcee4bf7b8307c06c8b85783fd7c..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_init_soa.F90 +++ /dev/null @@ -1,177 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_INIT_SOA(KOUT,KVERB) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Realise l'equilibre entre les moments via la masse contenue -!! dans les aerosols, les diametres moyens et la dispersion. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL -USE MODD_CH_M9, ONLY : CNAMES, NEQ -USE MODD_CH_MNHC_n, ONLY : CCH_SCHEME -USE MODD_NSV, ONLY : NSV_CHEM -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -INTEGER, INTENT(IN) :: KOUT, KVERB ! stdout output, verbosity level -! -!* 0.2 declarations local variables -! -INTEGER :: JN -!------------------------------------------------------------------------------- -! -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! 1.1 initialisation -! -! Definition of gas chemical scheme -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_INIT_SOA',0,ZHOOK_HANDLE) -CCH_SCHEME = "NONE" -DO JN=1, SIZE(CNAMES) - IF (TRIM(CNAMES(JN)) .EQ. "CO") JP_CH_CO = JN - IF (TRIM(CNAMES(JN)) .EQ. "ALKA") CCH_SCHEME = "RELACS" - IF (TRIM(CNAMES(JN)) .EQ. "HC3") CCH_SCHEME = "RACM" - IF (TRIM(CNAMES(JN)) .EQ. "URG1") CCH_SCHEME = "RELACS2" - IF (TRIM(CNAMES(JN)) .EQ. "UR21") CCH_SCHEME = "CACM" -ENDDO -IF (((TRIM(CORGANIC)=="MPMPO").OR.(TRIM(CORGANIC)=="PUN")).AND.& - ((CCH_SCHEME == "RELACS2" .OR. CCH_SCHEME == "CACM"))) THEN - NSOA = 10 -ELSE - NSOA = 0 ! No SOA formation -END IF -! -IF (ALLOCATED(CAERONAMES)) DEALLOCATE(CAERONAMES) -NM6_AER = 0 -IF (LVARSIGI) NM6_AER = 1 -IF (LVARSIGJ) NM6_AER = NM6_AER + 1 -ALLOCATE(CAERONAMES((NSP+NSOA+NCARB+1)*JPMODE+NM6_AER)) -! -! Index gas scheme <=> Index Orilam -JP_CH_SO4I = 1 -JP_CH_SO4J = 2 -JP_CH_NO3I = 3 -JP_CH_NO3J = 4 -JP_CH_NH3I = 5 -JP_CH_NH3J = 6 -JP_CH_H2OI = 7 -JP_CH_H2OJ = 8 -JP_CH_OCI = 9 -JP_CH_OCJ = 10 -JP_CH_BCI = 11 -JP_CH_BCJ = 12 - -JP_CH_M0I = (NCARB + NSP + NSOA)*JPMODE +1 -JP_CH_M0J = (NCARB + NSP + NSOA)*JPMODE +2 -IF (LVARSIGI) JP_CH_M6I = (NCARB + NSP + NSOA)*JPMODE + 3 -IF ((LVARSIGI).AND.(LVARSIGJ)) THEN - JP_CH_M6J = (NCARB + NSP + NSOA)*JPMODE + 4 -ELSE IF ((LVARSIGJ).AND. .NOT.(LVARSIGI)) THEN - JP_CH_M6J = (NCARB + NSP + NSOA)*JPMODE + 3 -END IF - - - ! Name of aerosol component -CAERONAMES(JP_CH_SO4I) = "SO4I" -CAERONAMES(JP_CH_SO4J) = "SO4J" -CAERONAMES(JP_CH_NH3I) = "NH3I" -CAERONAMES(JP_CH_NH3J) = "NH3J" -CAERONAMES(JP_CH_H2OI) = "H2OI" -CAERONAMES(JP_CH_H2OJ) = "H2OJ" -CAERONAMES(JP_CH_NO3I) = "NO3I" -CAERONAMES(JP_CH_NO3J) = "NO3J" -CAERONAMES(JP_CH_BCI) = "BCI" -CAERONAMES(JP_CH_BCJ) = "BCJ" -CAERONAMES(JP_CH_OCI) = "OCI" -CAERONAMES(JP_CH_OCJ) = "OCJ" - -IF (NSOA .EQ. 10) THEN -JP_AER_SOA1 = NCARB + NSP + 1 -JP_AER_SOA2 = NCARB + NSP + 2 -JP_AER_SOA3 = NCARB + NSP + 3 -JP_AER_SOA4 = NCARB + NSP + 4 -JP_AER_SOA5 = NCARB + NSP + 5 -JP_AER_SOA6 = NCARB + NSP + 6 -JP_AER_SOA7 = NCARB + NSP + 7 -JP_AER_SOA8 = NCARB + NSP + 8 -JP_AER_SOA9 = NCARB + NSP + 9 -JP_AER_SOA10= NCARB + NSP + 10 - -JP_CH_SOA1I = 13 -JP_CH_SOA1J = 14 -JP_CH_SOA2I = 15 -JP_CH_SOA2J = 16 -JP_CH_SOA3I = 17 -JP_CH_SOA3J = 18 -JP_CH_SOA4I = 19 -JP_CH_SOA4J = 20 -JP_CH_SOA5I = 21 -JP_CH_SOA5J = 22 -JP_CH_SOA6I = 23 -JP_CH_SOA6J = 24 -JP_CH_SOA7I = 25 -JP_CH_SOA7J = 26 -JP_CH_SOA8I = 27 -JP_CH_SOA8J = 28 -JP_CH_SOA9I = 29 -JP_CH_SOA9J = 30 -JP_CH_SOA10I = 31 -JP_CH_SOA10J = 32 - -CAERONAMES(JP_CH_SOA1I) = "SOA1I" -CAERONAMES(JP_CH_SOA1J) = "SOA1J" -CAERONAMES(JP_CH_SOA2I) = "SOA2I" -CAERONAMES(JP_CH_SOA2J) = "SOA2J" -CAERONAMES(JP_CH_SOA3I) = "SOA3I" -CAERONAMES(JP_CH_SOA3J) = "SOA3J" -CAERONAMES(JP_CH_SOA4I) = "SOA4I" -CAERONAMES(JP_CH_SOA4J) = "SOA4J" -CAERONAMES(JP_CH_SOA5I) = "SOA5I" -CAERONAMES(JP_CH_SOA5J) = "SOA5J" -CAERONAMES(JP_CH_SOA6I) = "SOA6I" -CAERONAMES(JP_CH_SOA6J) = "SOA6J" -CAERONAMES(JP_CH_SOA7I) = "SOA7I" -CAERONAMES(JP_CH_SOA7J) = "SOA7J" -CAERONAMES(JP_CH_SOA8I) = "SOA8I" -CAERONAMES(JP_CH_SOA8J) = "SOA8J" -CAERONAMES(JP_CH_SOA9I) = "SOA9I" -CAERONAMES(JP_CH_SOA9J) = "SOA9J" -CAERONAMES(JP_CH_SOA10I) = "SOA10I" -CAERONAMES(JP_CH_SOA10J) = "SOA10J" -END IF - -CAERONAMES(JP_CH_M0I) = "M0I" -CAERONAMES(JP_CH_M0J) = "M0J" -IF (LVARSIGI) CAERONAMES(JP_CH_M6I) = "M6I" -IF (LVARSIGJ) CAERONAMES(JP_CH_M6J) = "M6J" - -IF (LHOOK) CALL DR_HOOK('CH_AER_INIT_SOA',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_INIT_SOA diff --git a/src/arome/chem/internals/ch_aer_intermin.F90 b/src/arome/chem/internals/ch_aer_intermin.F90 deleted file mode 100644 index e40762080f2d8ab8991daf2c266159116890624e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_intermin.F90 +++ /dev/null @@ -1,125 +0,0 @@ -! ######spl -SUBROUTINE CH_AER_INTERMIN(v, w, x, y, z,zout,KVECNPT) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!include 'chimere.h' !! rhi,tempi,zsu,znh,zni -USE MODD_CH_AEROSOL -IMPLICIT NONE - -! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! INPUT -! v,w,x,y,z : Coodinates -! OUTPUT -! zout : interpolation results (array) -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -INTEGER :: KVECNPT -INTEGER, PARAMETER :: nc=22 -INTEGER, PARAMETER :: nh=16 -INTEGER, PARAMETER :: nt=11 -INTEGER, DIMENSION(KVECNPT) :: nv0,nv1,nw0,nw1,nx0,nx1,ny0,ny1,nz0,nz1 -INTEGER :: i,IP -DOUBLE PRECISION :: v0,v1,w0,w1,x0,x1,y0,y1,z0,z1,ans -REAL, DIMENSION(:) :: v -DOUBLE PRECISION, DIMENSION(:) :: w, x, y, z -DOUBLE PRECISION :: xv0, xw0, xx0, xy0, xz0 -DOUBLE PRECISION :: xv1, xw1, xx1, xy1, xz1 -DOUBLE PRECISION, DIMENSION(KVECNPT) :: vsav, wsav, xsav, ysav, zsav -DOUBLE PRECISION, DIMENSION(:,:) :: zout -DOUBLE PRECISION :: tempimin,tempimax,zsumin,znhmin, znimin -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_INTERMIN',0,ZHOOK_HANDLE) -vsav=v -wsav=w -ysav=y -xsav=x -zsav=z -!rhimin=MINVAL(rhi(:)) -!rhimax=MAXVAL(rhi(:)) -tempimin=MINVAL(tempi(:)) -tempimax=MAXVAL(tempi(:)) -zsumin=MINVAL(zsu(:)) -!zsumax=MAXVAL(zsu(:)) -znhmin=MINVAL(znh(:)) -!znhmax=MAXVAL(znh(:)) -znimin=MINVAL(zni(:)) -!znimax=MAXVAL(zni(:)) -nv0(:)=MIN(nh-1,MAX(1,MAX(INT((v(:)-0.25)/0.05),INT((v(:)-0.67)/0.02)))) -nw0(:)=MIN(nt-1,MAX(1,INT((nt-1)*(w(:)-tempimin)/(tempimax-tempimin))+1)) -nx0(:)=MIN(nc-1,MAX(1,INT(LOG(MAX(x(:),zsumin)/0.0066)/0.4187))) -ny0(:)=MIN(nc-1,MAX(1,INT(LOG(MAX(y(:),znhmin)/0.0066)/0.4187))) -nz0(:)=MIN(nc-1,MAX(1,INT(LOG(MAX(z(:),znimin)/0.0066)/0.4187))) -! -nv1=nv0+1 -nw1=nw0+1 -nx1=nx0+1 -ny1=ny0+1 -nz1=nz0+1 - -DO i=1,3 - DO IP=1,KVECNPT - v0=rhi(nv0(IP)) ; v1=rhi(nv1(IP)) - w0=tempi(nw0(IP)) ; w1=tempi(nw1(IP)) - x0=zsu(nx0(IP)) ; x1=zsu(nx1(IP)) - y0=znh(ny0(IP)) ; y1=znh(ny1(IP)) - z0=zni(nz0(IP)) ; z1=zni(nz1(IP)) - xv0 = (v(IP)-v1)/(v0-v1) - xw0 = (w(IP)-w1)/(w0-w1) - xx0 = (x(IP)-x1)/(x0-x1) - xy0 = (y(IP)-y1)/(y0-y1) - xz0 = (z(IP)-z1)/(z0-z1) - xv1=1-xv0 - xw1=1-xw0 - xx1=1-xx0 - xy1=1-xy0 - xz1=1-xz0 - ! - ans= 0.0d+00 - ! - ans = ans + zf(nv0(IP),nw0(IP),nx0(IP),ny0(IP),nz0(IP),i)*(xv0)*(xw0)*(xx0)*(xy0)*(xz0) - ans = ans + zf(nv0(IP),nw0(IP),nx0(IP),ny0(IP),nz1(IP),i)*(xv0)*(xw0)*(xx0)*(xy0)*(xz1) - ans = ans + zf(nv0(IP),nw0(IP),nx0(IP),ny1(IP),nz0(IP),i)*(xv0)*(xw0)*(xx0)*(xy1)*(xz0) - ans = ans + zf(nv0(IP),nw0(IP),nx0(IP),ny1(IP),nz1(IP),i)*(xv0)*(xw0)*(xx0)*(xy1)*(xz1) - ans = ans + zf(nv0(IP),nw0(IP),nx1(IP),ny0(IP),nz0(IP),i)*(xv0)*(xw0)*(xx1)*(xy0)*(xz0) - ans = ans + zf(nv0(IP),nw0(IP),nx1(IP),ny0(IP),nz1(IP),i)*(xv0)*(xw0)*(xx1)*(xy0)*(xz1) - ans = ans + zf(nv0(IP),nw0(IP),nx1(IP),ny1(IP),nz0(IP),i)*(xv0)*(xw0)*(xx1)*(xy1)*(xz0) - ans = ans + zf(nv0(IP),nw0(IP),nx1(IP),ny1(IP),nz1(IP),i)*(xv0)*(xw0)*(xx1)*(xy1)*(xz1) - ans = ans + zf(nv0(IP),nw1(IP),nx0(IP),ny0(IP),nz0(IP),i)*(xv0)*(xw1)*(xx0)*(xy0)*(xz0) - ans = ans + zf(nv0(IP),nw1(IP),nx0(IP),ny0(IP),nz1(IP),i)*(xv0)*(xw1)*(xx0)*(xy0)*(xz1) - ans = ans + zf(nv0(IP),nw1(IP),nx0(IP),ny1(IP),nz0(IP),i)*(xv0)*(xw1)*(xx0)*(xy1)*(xz0) - ans = ans + zf(nv0(IP),nw1(IP),nx0(IP),ny1(IP),nz1(IP),i)*(xv0)*(xw1)*(xx0)*(xy1)*(xz1) - ans = ans + zf(nv0(IP),nw1(IP),nx1(IP),ny0(IP),nz0(IP),i)*(xv0)*(xw1)*(xx1)*(xy0)*(xz0) - ans = ans + zf(nv0(IP),nw1(IP),nx1(IP),ny0(IP),nz1(IP),i)*(xv0)*(xw1)*(xx1)*(xy0)*(xz1) - ans = ans + zf(nv0(IP),nw1(IP),nx1(IP),ny1(IP),nz0(IP),i)*(xv0)*(xw1)*(xx1)*(xy1)*(xz0) - ans = ans + zf(nv0(IP),nw1(IP),nx1(IP),ny1(IP),nz1(IP),i)*(xv0)*(xw1)*(xx1)*(xy1)*(xz1) - ans = ans + zf(nv1(IP),nw0(IP),nx0(IP),ny0(IP),nz0(IP),i)*(xv1)*(xw0)*(xx0)*(xy0)*(xz0) - ans = ans + zf(nv1(IP),nw0(IP),nx0(IP),ny0(IP),nz1(IP),i)*(xv1)*(xw0)*(xx0)*(xy0)*(xz1) - ans = ans + zf(nv1(IP),nw0(IP),nx0(IP),ny1(IP),nz0(IP),i)*(xv1)*(xw0)*(xx0)*(xy1)*(xz0) - ans = ans + zf(nv1(IP),nw0(IP),nx0(IP),ny1(IP),nz1(IP),i)*(xv1)*(xw0)*(xx0)*(xy1)*(xz1) - ans = ans + zf(nv1(IP),nw0(IP),nx1(IP),ny0(IP),nz0(IP),i)*(xv1)*(xw0)*(xx1)*(xy0)*(xz0) - ans = ans + zf(nv1(IP),nw0(IP),nx1(IP),ny0(IP),nz1(IP),i)*(xv1)*(xw0)*(xx1)*(xy0)*(xz1) - ans = ans + zf(nv1(IP),nw0(IP),nx1(IP),ny1(IP),nz0(IP),i)*(xv1)*(xw0)*(xx1)*(xy1)*(xz0) - ans = ans + zf(nv1(IP),nw0(IP),nx1(IP),ny1(IP),nz1(IP),i)*(xv1)*(xw0)*(xx1)*(xy1)*(xz1) - ans = ans + zf(nv1(IP),nw1(IP),nx0(IP),ny0(IP),nz0(IP),i)*(xv1)*(xw1)*(xx0)*(xy0)*(xz0) - ans = ans + zf(nv1(IP),nw1(IP),nx0(IP),ny0(IP),nz1(IP),i)*(xv1)*(xw1)*(xx0)*(xy0)*(xz1) - ans = ans + zf(nv1(IP),nw1(IP),nx0(IP),ny1(IP),nz0(IP),i)*(xv1)*(xw1)*(xx0)*(xy1)*(xz0) - ans = ans + zf(nv1(IP),nw1(IP),nx0(IP),ny1(IP),nz1(IP),i)*(xv1)*(xw1)*(xx0)*(xy1)*(xz1) - ans = ans + zf(nv1(IP),nw1(IP),nx1(IP),ny0(IP),nz0(IP),i)*(xv1)*(xw1)*(xx1)*(xy0)*(xz0) - ans = ans + zf(nv1(IP),nw1(IP),nx1(IP),ny0(IP),nz1(IP),i)*(xv1)*(xw1)*(xx1)*(xy0)*(xz1) - ans = ans + zf(nv1(IP),nw1(IP),nx1(IP),ny1(IP),nz0(IP),i)*(xv1)*(xw1)*(xx1)*(xy1)*(xz0) - ans = ans + zf(nv1(IP),nw1(IP),nx1(IP),ny1(IP),nz1(IP),i)*(xv1)*(xw1)*(xx1)*(xy1)*(xz1) - ! - zout(IP,i) = ans - ENDDO -END DO -! -v=vsav -w=wsav -y=ysav -x=xsav -z=zsav -! -IF (LHOOK) CALL DR_HOOK('CH_AER_INTERMIN',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_AER_INTERMIN diff --git a/src/arome/chem/internals/ch_aer_mineral.F90 b/src/arome/chem/internals/ch_aer_mineral.F90 deleted file mode 100644 index 6e7df5eca1a901d4e2f573f7125f1e7ea49a1117..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_mineral.F90 +++ /dev/null @@ -1,199 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_MINERAL(PCTOTG, PCTOTA, PRV, PDENAIR, PPRESSURE, PTEMP, PRC, POM,& - PCCTOT,PSIG0, PRG0,PDT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!########################################################################################### -!! -!! PURPOSE -!! ------- -!! solve the mineral thermodynamic balance -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!! EXTERNAL -!! -------- -!! None -!! -!------------------------------------------------------------------------------- -! -USE MODD_CH_AEROSOL -USE MODI_CH_NNARES -USE MODI_CH_ARES -USE MODI_CH_ISOROPIA -USE MODI_CH_AER_THERMO -USE MODI_CH_AER_EQSAM -!USE MODI_CH_AER_DIFF -!! -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG, POM -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0 -REAL, INTENT(IN) :: PDT -! -!* 0.2 Declarations of local variables -! -INTEGER :: JI,JJ -REAL, DIMENSION(SIZE(PCTOTA,1),NSP,JPMODE) :: ZFRAC -REAL, DIMENSION(SIZE(PCTOTA,1),NSP) :: ZTOT,ZTOTNEW, ZTOTGNEW -REAL, DIMENSION(SIZE(PCTOTA,1),NSP+NCARB+NSOA) :: ZDEL -REAL, DIMENSION(SIZE(PCTOTA,1),6) :: ZAER -REAL, DIMENSION(SIZE(PCTOTA,1)) :: ZPKM, ZPKH2O, ZSAT, ZRH - -!***************************************************************** -!***************************************************************** -! SOLVEUR DE L'EQUILIBRE CHIMIQUE MINERAL -!***************************************************************** -!***************************************************************** - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_MINERAL',0,ZHOOK_HANDLE) -ZPKM(:) = 1E-3*PDENAIR(:) * 6.0221367E+23 / 28.9644 -ZPKH2O(:) = ZPKM(:)*1.6077*PRV(:) -! -! compute relative humidity -ZSAT(:)=0.611*EXP(17.2694*(PTEMP(:)-273.16)/(PTEMP(:)-35.86)) -ZSAT(:)=ZSAT(:)*1000. -ZRH(:)=(ZPKH2O(:)/(ZPKM(:)*1.6077))*PPRESSURE(:)/& - &(0.622+(ZPKH2O(:)/(ZPKM(:)*1.6077)))/ZSAT(:) -ZRH(:) = MIN(0.95, MAX(ZRH(:), .1)) ! until 0.95 thermodynamic code is not valid -! -! Mass need to be positive -PCTOTA(:,:,:)= MAX (PCTOTA(:,:,:),0.) -PCTOTG(:,:)= MAX (PCTOTG(:,:),0.) -ZTOTGNEW(:,:)= 0. -! -!****************************************************************** -! Calcul de la repartition des differentes especes entre les modes -! pour pouvoir conserver celle ci apres l'equilibre chimique -!****************************************************************** -DO JI=1,NSP - ZTOTNEW(:,JI)=0. - ZTOT(:,JI)=PCTOTA(:,JI,1)+PCTOTA(:,JI,2) - ZTOT(:,JI) = MAX(ZTOT(:,JI),1.E-40) - ZFRAC(:,JI,1)=PCTOTA(:,JI,1)/(ZTOT(:,JI)+1E-25) - ZFRAC(:,JI,2)=1.-ZFRAC(:,JI,1) -ENDDO -! -ZTOTNEW(:,:) = ZTOT(:,:) -! -ZAER(:,1)=ZTOT(:,JP_AER_SO4) -ZAER(:,2)=PCTOTG(:,JP_AER_NH3g) -ZAER(:,3)=PCTOTG(:,JP_AER_NO3g) -ZAER(:,4)=ZTOT(:,JP_AER_H2O) -!ZAER(:,4)=0. -ZAER(:,5)=ZTOT(:,JP_AER_NO3) -ZAER(:,6)=ZTOT(:,JP_AER_NH3) -ZAER(:,:)=MAX(ZAER(:,:),0.) - -! switch here for ARES (ARES), Neuronal ARES (NARES), ISOROPIA (ISPIA) -IF (CMINERAL == 'NARES') THEN - CALL CH_NNARES(ZAER,ZRH, PDENAIR, PPRESSURE, PTEMP, PRC) - ZAER(:,:)=MAX(ZAER(:,:),0.) - ZTOTNEW(:,JP_AER_SO4)=ZAER(:,1) - ZTOTGNEW(:,JP_AER_NH3g)=ZAER(:,2) - ZTOTGNEW(:,JP_AER_NO3g)=ZAER(:,3) - ZTOTNEW(:,JP_AER_H2O)=ZAER(:,4) - ZTOTNEW(:,JP_AER_NO3)=ZAER(:,5) - ZTOTNEW(:,JP_AER_NH3)=ZAER(:,6) - -! Especes phase gazeuse -!PCTOTG(:,JP_AER_SO4g)=0. !H2SO4(g) -ELSE IF (CMINERAL == 'ARES') THEN -! test of stability -!DO III=1, 5 - CALL CH_ARES(ZAER,ZRH, PDENAIR, PPRESSURE, PTEMP, PRC) - ZAER(:,:) = MAX(ZAER(:,:),0.) - ZTOTNEW(:,JP_AER_SO4)=ZAER(:,1) - ZTOTGNEW(:,JP_AER_NH3g)=ZAER(:,2) - ZTOTGNEW(:,JP_AER_NO3g)=ZAER(:,3) - ZTOTNEW(:,JP_AER_H2O)=ZAER(:,4) - ZTOTNEW(:,JP_AER_NO3)=ZAER(:,5) - ZTOTNEW(:,JP_AER_NH3)=ZAER(:,6) -!ENDDO -! -ELSE IF (CMINERAL == 'ISPIA') THEN -! - CALL CH_ISOROPIA(ZAER,ZRH, PDENAIR, PPRESSURE, PTEMP, PRC) - - ZAER(:,:)=MAX(ZAER(:,:),0.) - ZTOTNEW(:,JP_AER_SO4)=ZAER(:,1) - ZTOTGNEW(:,JP_AER_NH3g)=ZAER(:,2) - ZTOTGNEW(:,JP_AER_NO3g)=ZAER(:,3) - ZTOTNEW(:,JP_AER_H2O)=ZAER(:,4) - ZTOTNEW(:,JP_AER_NO3)=ZAER(:,5) - ZTOTNEW(:,JP_AER_NH3)=ZAER(:,6) -! - -ELSE IF (CMINERAL == 'TABUL') THEN - - CALL CH_AER_THERMO(ZAER,ZRH, PDENAIR, PPRESSURE, PTEMP, PRC) - - ZAER(:,:)=MAX(ZAER(:,:),0.) - ZTOTNEW(:,JP_AER_SO4)=ZAER(:,1) - ZTOTGNEW(:,JP_AER_NH3g)=ZAER(:,2) - ZTOTGNEW(:,JP_AER_NO3g)=ZAER(:,3) - ZTOTNEW(:,JP_AER_H2O)=ZAER(:,4) - ZTOTNEW(:,JP_AER_NO3)=ZAER(:,5) - ZTOTNEW(:,JP_AER_NH3)=ZAER(:,6) - -ELSE IF (CMINERAL == 'EQSAM') THEN - - CALL CH_AER_EQSAM(ZAER,ZRH, PPRESSURE, PTEMP) - - ZAER(:,:)=MAX(ZAER(:,:),0.) - ZTOTNEW(:,JP_AER_SO4)=ZAER(:,1) - ZTOTGNEW(:,JP_AER_NH3g)=ZAER(:,2) - ZTOTGNEW(:,JP_AER_NO3g)=ZAER(:,3) - ZTOTNEW(:,JP_AER_H2O)=ZAER(:,4) - ZTOTNEW(:,JP_AER_NO3)=ZAER(:,5) - ZTOTNEW(:,JP_AER_NH3)=ZAER(:,6) -! -ELSE - -PRINT *,' WARNING WARNING WARNING WARNING WARNING WARNING' -PRINT *,' PAS D EQUILIBRE THERMODYNAMIQUE ENTRE LES MINERAUX' -PRINT *,' WARNING WARNING WARNING WARNING WARNING WARNING' - ZTOTNEW(:,:) = MAX(0.,ZTOT(:,:)) - -ENDIF -! Especes phase gazeuse -ZTOTGNEW(:,JP_AER_SO4g)=0. !H2SO4(g) -ZTOTNEW(:,:) = MAX(0.,ZTOTNEW(:,:)) -! -ZDEL(:,:)=0. -! Concentration des especes 'totales' presentes dans l'aerosol -ZDEL(:,1:NSP)=ZTOTNEW(:,1:NSP)-ZTOT(:,1:NSP) -! -! Calcul de la nouvelle composition chimique -! de chacun des modes apres equilibre chimique -DO JI=1,JPMODE - DO JJ=1,NSP - - !PCTOTA(:,JJ,JI)=MAX(1.E-60,PCTOTA(:,JJ,JI)+ZFRAC(:,JJ,JI)*ZDEL(:,JJ)) - ! répartition entre les modes en fonction de la surface des aerosols (facteur - ! omega) - ! PCTOTA(:,JJ,JI)=MAX(1.E-60,PCTOTA(:,JJ,JI)+ZDEL(:,JJ)*POM(:,JI)) - PCTOTA(:,JJ,JI)=MAX(1.E-60,ZTOTNEW(:,JJ)*POM(:,JI)) - ENDDO -ENDDO -! -DO JJ=1,NSP - PCTOTG(:,JJ)=MAX(1.E-60,PCTOTG(:,JJ)-ZDEL(:,JJ)) -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_AER_MINERAL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_MINERAL diff --git a/src/arome/chem/internals/ch_aer_mpmpo.F90 b/src/arome/chem/internals/ch_aer_mpmpo.F90 deleted file mode 100644 index 73099cf5ab9b2b97648043802a512ddfe475fbe4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_mpmpo.F90 +++ /dev/null @@ -1,108 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_MPMPO(PTOT, PTOTG, PTEMP, PRH, PLWC, PPROTON, PTOTNEW,PTOTGNEW,PSOLORG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!########################################################################################### -!! -!! PURPOSE -!! ------- -!! solve the organic thermodynamic balance using MPMP0 (Griffin et al. 2003, J. Atm. Chem, 44, 171-190)) , -!! if use CACM our ReLACS2 chemical scheme -!! Code updated from Griffin 2005. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Alf Grini / P. Tulet (CNRM) -!! -!! MODIFICATIONS -!! ------------- -!! -!! EXTERNAL -!! -------- -!! None -!-------------------------------------------------------------------------------! -USE MODD_CH_AEROSOL -USE MODD_GLO -USE MODE_OAMAIN -! -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(IN) :: PTOT ![ug/m3] aerosol conc -REAL, DIMENSION(:,:), INTENT(IN) :: PTOTG ![ug/m3] gas concentration -REAL, DIMENSION(:), INTENT(IN) :: PTEMP, PRH ![K/-] temp and RH -REAL, DIMENSION(:), INTENT(IN) :: PLWC ![ug/m3] liquid water -REAL, DIMENSION(:), INTENT(IN) :: PPROTON ![mole/g_{water]] H+ -REAL, DIMENSION(:,:), INTENT(INOUT) :: PTOTNEW ![ug/m3] new aerosol conc -REAL, DIMENSION(:,:), INTENT(INOUT) :: PTOTGNEW ![ug/m3] new gas conc -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG ! [%] Solubility of SOA (fraction) -! -!* 0.2 Declarations of local variables -! -INTEGER :: JI -REAL, DIMENSION(SIZE(PTOT,1),NSOA) :: ZCPART ![ug/m3] total ORG+AQ+GAS SOA -REAL, DIMENSION(SIZE(PTOT,1),NSOA) :: ZAERO_ORG ![ug/m3] organic phase SOA -REAL, DIMENSION(SIZE(PTOT,1),NAAERO) :: ZAERO_AQ ![ug/m3] aquous phase SOA -REAL, DIMENSION(SIZE(PTOT,1),NSOA) :: ZPARTORG ![ug/m3] particle phase organic -REAL, DIMENSION(SIZE(PTOT,1),NSOA) :: ZGASORG ![ug/m3] gas phase organic -REAL, DIMENSION(SIZE(PTOT,1),NBSPOA) :: ZCPT ![ug/m3] Primary organic aerosol -REAL, DIMENSION(SIZE(PTOT,1)) :: ZORGANION ![mole/m3] negative charge associated with organics -REAL, DIMENSION(SIZE(PTOT,1)) :: ZDELLWC ![ug/m3] liquid water assiciated with organics -REAL, DIMENSION(SIZE(PTOT,1)) :: ZHCONC ![mole/kg_{water}] proton concentration -!------------------------------------------------------------------------------- -! -!cpart = total concentration of secondary species (gas + aero), microgram/m3 -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_MPMPO',0,ZHOOK_HANDLE) -DO JI=NSP+NCARB+1,NSP+NCARB+NSOA - ZCPART(:,JI-NSP-NCARB) = PTOT(:,JI) + PTOTG(:,JI) -END DO -! -!Distribute POA equally between the 8 species..? -DO JI=1,NBSPOA - ZCPT(:,JI) = 1./dble(NBSPOA)*PTOT(:,JP_AER_OC) -ENDDO - -!Save LWC in a local variable (why??) -!ZLWC(:) = PLWC(:) - -! Compute relative humidity (why??) -!ZRH(:)= PRH(:) - -!Compute H+ concentration in right unit -ZHCONC(:) = 1E3 * PPROTON(:) ! conversion in mol H+ / kg solvent -! -!Calling the mpmpo model - -CALL MPMPO( & - PTEMP & !I [K] temperature - ,PRH & !I [0-1] Relative humidity - ,ZCPART & !I [ug/m3] total aerosol (aq+org+gas) - ,ZCPT & !I [ug/m3] primary organic aerosol - ,ZGASORG & !O [ug/m3] gas phase concentration - ,ZAERO_ORG & !O [ug/m3] aerosol phase concentration of organic phase - ,ZAERO_AQ & !O [ug/m3] aerosol phase concentrations of aquous phase - ,ZPARTORG & !O [ug/m3] New total aerosol phase concentrations - ,PLWC & !I [ug/m3] liquid water content already in the aerosols - ,ZHCONC & !I [mole/kg_{water}] proton concentration - ,ZDELLWC & !I [ug/m3] additional liquid water content because of organics - ,ZORGANION & !O [mole/m3] negative charge from organic anions - ,PSOLORG & !IO [%] Solubility of SOA (fraction) - ) -! -! New SOA -DO JI=1,NSOA - PTOTNEW(:,JI+NSP+NCARB) = ZPARTORG(:,JI) - PTOTGNEW(:,JI+NSP+NCARB) = ZGASORG(:,JI) -END DO -! -! New LWC -PTOTNEW(:,JP_AER_H2O) = PLWC(:) + ZDELLWC(:) -! -IF (LHOOK) CALL DR_HOOK('CH_AER_MPMPO',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_MPMPO diff --git a/src/arome/chem/internals/ch_aer_nucl.F90 b/src/arome/chem/internals/ch_aer_nucl.F90 deleted file mode 100644 index 8902b90ac3ad4298a2fa45b243a8c09c67f51b58..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_nucl.F90 +++ /dev/null @@ -1,99 +0,0 @@ -! ######spl -SUBROUTINE CH_AER_NUCL(ZRH,ZT,ZCONC,ZJ,ZAL,KVECNPT) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!########################################################### -! -!! -!! -!! -!! PURPOSE -!! ------- -!! -!! compute nucleation rate for binary sulfate/H2O -!! (Kulmala 1998) -!! -!! AUTHOR -!! ------ -!! F.Cousin * Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! P. Tulet 05/01/04 -!---------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -REAL, DIMENSION(:), INTENT(INOUT) :: ZJ,ZAL -REAL, DIMENSION(:), INTENT(IN) :: ZRH,ZT -REAL, DIMENSION(:), INTENT(INOUT) :: ZCONC -INTEGER, INTENT(IN) :: KVECNPT -INTEGER :: II -REAL, DIMENSION(KVECNPT) :: RA,XH2O,PVH2O,PVH2SO4,KHI,SIG,XNSULFC,XNSULF -REAL :: Kb,TC,T0 - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_NUCL',0,ZHOOK_HANDLE) -Kb=1.381E-23 -TC = 905.15 -T0 = 360.15 -! 1. Saturation vapor pressure for water (N/m2, T in K) -! (Preining et al, 1981) -PVH2O(:) = EXP(77.344913-7235.4247/ZT(:)-8.2*LOG(ZT(:))+0.0057113*ZT(:)) -! 2. Water concentration (molec/cm3) -XH2O(:) = ZRH(:)*PVH2O(:)/(Kb*ZT(:))/1.E6 - -ZJ(:)=0. -ZAL(:)=0. -WHERE(((ZT(:)>=223.).OR.(ZT(:)<=298)).AND.(ZRH(:)>=0.1)) -! 1. Saturation vapor pressure for water (N/m2, T in K) -! (Preining et al, 1981) - PVH2O(:) = EXP(77.344913-7235.4247/ZT(:)-8.2*LOG(ZT(:))+0.0057113*ZT(:)) -! 2. Water concentration (molec/cm3) - XH2O(:) = ZRH(:)*PVH2O(:)/(Kb*ZT(:))/1.E6 -! 3. Saturation vapor pressure for H2SO4 -! (Kulmala et al 1990, Seinfeld 577p) -!PVH2SO4 = 1./T-1./T0+0.38*T0*(1./T-1./T0)/(TC-T0) -!PVH2SO4 = PVH2SO4 + 0.38/(TC-T0)*LOG(T/T0) -!PVH2SO4 = -10156.0*PVH2SO4 - 0.414 -!PVH2SO4= EXP(PVH2SO4) - PVH2SO4(:)=EXP(-10156./T0+16.259+10156.*(-1./ZT(:)+1./T0+0.38/(TC-T0)*& - (1.+LOG(T0/ZT(:))-T0/ZT(:))))*101325. - -! 4. Relative Acidity - RA(:)=ZCONC(:)*1.E6*(Kb*ZT(:))/PVH2SO4(:) - -END WHERE -! 5. H2SO4 mole fraction in the critical nucleous - DO II=1,SIZE(ZCONC,1) - IF((ZCONC(II)>0.).AND.(XH2O(II)>0.)) THEN - ZAL(II)=1.2233-0.0154*RA(II)/(RA(II)+ZRH(II))+0.0102*& - LOG(ZCONC(II))-0.0415*LOG(XH2O(II))+0.0016*ZT(II) - END IF - END DO - -WHERE(((ZT(:)>=223.).OR.(ZT(:)<=298)).AND.(ZRH(:)>=0.1)) - WHERE(ZAL(:)/=0.) - ! 6. Sulfuric nucleation rate (molec/cm3/s) - XNSULFC(:)=EXP(-14.5125+0.1335*ZT(:)-10.5462*ZRH(:)+1958.4*ZRH(:)/ZT(:)) - SIG(:) = 1.+(ZT(:)-273.15)/273.15 - XNSULF(:)=LOG(ZCONC(:)/XNSULFC(:)) - KHI(:)=25.1289*XNSULF(:)-4890.8*XNSULF(:)/ZT(:)-1743.3/ZT(:)-2.2479*SIG(:)*XNSULF(:)*ZRH(:)+& - 7643.4*ZAL(:)/ZT(:)-1.9712*ZAL(:)*SIG(:)/ZRH(:) - ZJ(:)=EXP(KHI(:)) - END WHERE -END WHERE -!WHERE(RA(:)>1) -! ZJ(:)=0. -!END WHERE - -IF (LHOOK) CALL DR_HOOK('CH_AER_NUCL',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_AER_NUCL diff --git a/src/arome/chem/internals/ch_aer_organic.F90 b/src/arome/chem/internals/ch_aer_organic.F90 deleted file mode 100644 index 5be9608450ede446951d6608193a89f2b7c19a2f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_organic.F90 +++ /dev/null @@ -1,173 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_ORGANIC(PCTOTG, PCTOTA, PRV, PDENAIR, PPRESSURE, PTEMP, PRC, POM,& - PCCTOT,PSIG0, PRG0, PDT, PSOLORG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!########################################################################################### -!! -!! PURPOSE -!! ------- -!! solve the organic thermodynamic balance , if use CACM our ReLACS2 chemical -!! scheme -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL -USE MODI_CH_AER_MPMPO -USE MODI_CH_AER_PUN -!USE MODI_CH_AER_DIFF - -IMPLICIT NONE -!! -!! Declaration arguments -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG, POM -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG0, PRG0 -REAL, INTENT(IN) :: PDT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG - - -!! -!! Declaration variables internes -!! -INTEGER :: II,IJ, JJ -REAL, DIMENSION(SIZE(PCTOTA,1),NSP+NCARB+NSOA) :: ZTOT, ZTOTG, ZTOTNEW, ZTOTGNEW -REAL, DIMENSION(SIZE(PCTOTA,1),NSP+NCARB+NSOA) :: ZDEL -REAL, DIMENSION(SIZE(PCTOTA,1),NSP+NCARB+NSOA) :: ZDIFF -REAL, DIMENSION(SIZE(PCTOTA,1)) :: ZL3DIFF -REAL, DIMENSION(SIZE(PCTOTA,1)) :: ZLWC, ZRH -REAL, DIMENSION(SIZE(PCTOTA,1)) :: ZPROTON, ZNEUTRAL -REAL, DIMENSION(SIZE(PCTOTA,1)) :: ZPSAT, ZPKM, ZPKH2O -INTEGER, SAVE :: ZZZ=0 - - -! INPUTS -! PCTOTG : array of gas phase in microgram / m3 -! PCTOTA : array of aerosol phase in microgram / m3 (last index represents -! lognormal modes) -! PCCTOT : percentage of aerosol mass composition -! For both PCTOTG, PCTOTA and PCCTOT : First dimension is the data of simulation domain -! Second dimension represent the aerosol species -! 1 => NSP : mineral aerosol species -! NSP+1 => NSP + NCARB : primary aerosol species -! NSP + NCARB +1 => NSP + NCARB + NSOA : secondary organic aerosol -! Third dimension (only for PCTOTA and PCCTOT): lognormal mode -! PRESSURE : pressure in hPa -! PDENAIR : air density -! PTEMP : air temperature in K -! PRC : cloud mixing ration in kg/kg (not use now) -! PRV : vapor mixing ration in kg/kg -! PSIG0 : log(sigma) of the distribution -! PRG0 : Mean radius of the lognormal distribution in number of particles -! PDT : Time step (in s) - -!***************************************************************** -!***************************************************************** -! SOLVEUR DE L'EQUILIBRE CHIMIQUE ORGANIC -!***************************************************************** -!***************************************************************** -! Option flag to turn on type B oa module if == 1 -! (type a is iterated, but no need to rerun type b) -! Compute relative humidity -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_ORGANIC',0,ZHOOK_HANDLE) -ZPKM(:) = 1E-3*PDENAIR(:) * 6.0221367E+23 / 28.9644 -ZPKH2O(:) = ZPKM(:)*1.6077*PRV(:) -ZPSAT(:)=0.611*EXP(17.2694*(PTEMP(:)-273.16)/(PTEMP(:)-35.86)) -ZPSAT(:)=ZPSAT(:)*1000. -ZRH(:)=(ZPKH2O(:)/(ZPKM(:)*1.6077))*PPRESSURE(:)/& - &(0.622+(ZPKH2O(:)/(ZPKM(:)*1.6077)))/ZPSAT(:) -ZRH(:) = MIN(0.95, MAX(ZRH(:), .1)) ! until 0.95 thermodynamic code is not valid - - -! Mass need to be positive - PCTOTA(:,:,:)= MAX (PCTOTA(:,:,:),1.E-40) - PCTOTG(:,:) = MAX (PCTOTG(:,:),1.E-40) - - -!****************************************************************** -! Calcul de la repartition des differentes especes entre les modes -! pour pouvoir conserver celle ci apres l'equilibre chimique -!****************************************************************** - -ZTOT(:,:)=0. -DO II=1,NSP+NCARB+NSOA - ZTOTNEW(:,II)=0. - ZTOT(:,II)=PCTOTA(:,II,1)+PCTOTA(:,II,2) - ZTOTG(:,II)=PCTOTG(:,II) -ENDDO - ZTOTNEW(:,:) = ZTOT(:,:) - -ZLWC(:) = ZTOT(:,JP_AER_H2O) - -ZPROTON(:) = 1E-10 - -! Neutralisation H2SO4 + NH3 => H2SO4NH3 -ZNEUTRAL(:) = PCTOTA(:,JP_AER_SO4,1) / 98. - PCTOTA(:,JP_AER_NH3,1) / 17. + & - PCTOTA(:,JP_AER_SO4,2) / 98. - PCTOTA(:,JP_AER_NH3,2) / 17. - -WHERE (ZNEUTRAL(:) .GT. 0.) ! SO4 > NH3 / excess of H2SO4 => SO4-- + 2*H+ - ZNEUTRAL(:) = 2.*ZNEUTRAL(:) -ENDWHERE - - -WHERE(ZLWC(:) .GT. 1.E-20) -ZPROTON(:) = ZNEUTRAL(:) + PCTOTA(:,JP_AER_NO3,1)/63. + PCTOTA(:,JP_AER_NO3,2)/63. -ZPROTON(:) = 1E-10 + ZPROTON(:) / ZLWC(:) ! proton concentration in mole / g water -ENDWHERE -ZPROTON(:) = MIN(MAX(ZPROTON(:), 1E-17),1E-4) - -PSOLORG(:,:) = 0. -IF (TRIM(CORGANIC) == 'PUN') THEN -CALL CH_AER_PUN(ZTOT, ZTOTG, PTEMP, ZRH, ZLWC, ZPROTON, ZTOTNEW, ZTOTGNEW) - -ELSE IF (TRIM(CORGANIC) == 'MPMPO') THEN - -CALL CH_AER_MPMPO(ZTOT, ZTOTG, PTEMP, ZRH, ZLWC, ZPROTON,ZTOTNEW,ZTOTGNEW,PSOLORG) - -ELSE -IF (ZZZ == 0) THEN -PRINT *,' WARNING WARNING WARNING WARNING WARNING WARNING' -PRINT *,' PAS D EQUILIBRE THERMODYNAMIQUE ENTRE LES ORGANIQUES' -PRINT *,' WARNING WARNING WARNING WARNING WARNING WARNING' -ZZZ=1 -END IF -END IF - - -! Calcul de la nouvelle composition chimique -! de chacun des modes apres equilibre chimique -!--------------------------------------------- - -ZDEL(:,:)=0. -! Concentration des especes 'totales' presentes dans l'aerosol -! on repartie la masse en fonction de la surface integree des aerosols (omega) -ZDEL(:,1:NSP+NCARB+NSOA)=ZTOTNEW(:,1:NSP+NCARB+NSOA)-ZTOT(:,1:NSP+NCARB+NSOA) - -DO II=1,JPMODE - DO IJ=NSP+NCARB+1,NSP+NCARB+NSOA - PCTOTA(:,IJ,II)=MAX(1.E-60,PCTOTA(:,IJ,II)+ZDEL(:,IJ)*POM(:,II)) - ENDDO - PCTOTA(:,JP_AER_H2O,II)=MAX(1.E-60,PCTOTA(:,JP_AER_H2O,II)+ZDEL(:,JP_AER_H2O)*POM(:,II)) -ENDDO - DO IJ=NSP+NCARB+1,NSP+NCARB+NSOA - PCTOTG(:,IJ)=ZTOTGNEW(:,IJ) - ENDDO - - -IF (LHOOK) CALL DR_HOOK('CH_AER_ORGANIC',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_ORGANIC diff --git a/src/arome/chem/internals/ch_aer_pun.F90 b/src/arome/chem/internals/ch_aer_pun.F90 deleted file mode 100644 index 3dcfede66bc2a6269d341cdadf53494b168db5e7..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_pun.F90 +++ /dev/null @@ -1,176 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_PUN(PTOT, PTOTG,PTEMP, PRH, PLWC, PPROTON, PTOTNEW, PTOTGNEW) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!########################################################################################### -!! -!! PURPOSE -!! ------- -!! solve the organic thermodynamic balance , if use CACM our ReLACS2 chemical -!! scheme -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! A. Grini / P. Tulet (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL -!! -!! ORGANIC AEROSOL MODULE -USE MODD_GLO -USE MODE_OAMAIN - -IMPLICIT NONE -!! -!! Declaration arguments -REAL, DIMENSION(:,:), INTENT(IN) :: PTOT, PTOTG -REAL, DIMENSION(:), INTENT(IN) :: PTEMP, PRH -REAL, DIMENSION(:), INTENT(INOUT) :: PLWC, PPROTON -REAL, DIMENSION(:,:), INTENT(OUT) :: PTOTNEW, PTOTGNEW - - -!! -!! Declaration variables internes -!! -INTEGER :: IFLAG=1 !Flag to do iterations or not for type B aerosols -REAL, DIMENSION(SIZE(PTOT,1), NBSPA+NBSPB) :: ZAER -REAL, DIMENSION(SIZE(PTOT,1),NBSPA+NBSPB) :: ZGAS -REAL, DIMENSION(SIZE(PTOT,1),NBSPA+NBSPB) :: ZWORG ![ug/m3] total (gas+aerosol) SOA -REAL, DIMENSION(SIZE(PTOT,1)) :: ZPROTON ![mole/kg_{water}] proton concentration -!The only use of these variables which would make sense, would be -!to have them as intent OUT and send them back to the inorganic module -REAL, DIMENSION(SIZE(PTOT,1)) :: ZORGANION -REAL, DIMENSION(SIZE(PTOT,1)) :: ZDELTALWC -REAL, DIMENSION(SIZE(PTOT,1)) :: ZPAOM - -!Fraction of primary aerosol assumed to be butadionic acid -REAL, PARAMETER :: ZPOA_TO_BUTACID=0.01d0 !1% - - -! For all variables: -! First dimension is the data of simulation domain -! Second dimension represent the aerosol species -! 1 => NSP : mineral aerosol species -! NSP+1 => NSP + NCARB : primary aerosol species -! NSP + NCARB +1 => NSP + NCARB + NSOA : secondary organic aerosol -! Third dimension (only for PCTOTA and PCCTOT): lognormal mode - -!***************************************************************** -!***************************************************************** -! SOLVEUR DE L'EQUILIBRE CHIMIQUE PUN -!***************************************************************** -!***************************************************************** -! Option flag to turn on type B oa module if == 1 -! (type a is iterated, but no need to rerun type b) - -!PPROTON(:) = MAX(PPROTON(:), 0.) -!PLWC(:) = MAX(PLWC(:), 0.) -!ZLWC(:) = PLWC(:) -!ZRH(:) = PRH(:) -!ZTEMP(:) = PTEMP(:) - -!Convert proton concentration to right units -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_PUN',0,ZHOOK_HANDLE) -ZPROTON(:)= PPROTON(:)*1.d3 ![mol/g_{water}] ==> [mole/kg_{water}] -!Initialize (don't think it is needed) -!ZORGANION(:) = 0. -!ZDELTALWC(:) = 0. - -!Concentration of water soluble species (1-6) -ZAER(:,1)=PTOT(:,JP_AER_SOA1) -ZAER(:,2)=PTOT(:,JP_AER_SOA2) -ZAER(:,3)=PTOT(:,JP_AER_SOA3) -ZAER(:,4)=PTOT(:,JP_AER_SOA4) -ZAER(:,5)=PTOT(:,JP_AER_SOA5) -!assume butadionic acid is a fraction of primary -ZAER(:,6)=ZPOA_TO_BUTACID*PTOT(:,JP_AER_OC) -!Concentration of organic species (7-11) -ZAER(:,7)=PTOT(:,JP_AER_SOA6) -ZAER(:,8)=PTOT(:,JP_AER_SOA7) -ZAER(:,9)=PTOT(:,JP_AER_SOA8) -ZAER(:,10)=PTOT(:,JP_AER_SOA9) -ZAER(:,11)=PTOT(:,JP_AER_SOA10) - -ZGAS(:,1)=PTOTG(:,JP_AER_SOA1) -ZGAS(:,2)=PTOTG(:,JP_AER_SOA2) -ZGAS(:,3)=PTOTG(:,JP_AER_SOA3) -ZGAS(:,4)=PTOTG(:,JP_AER_SOA4) -ZGAS(:,5)=PTOTG(:,JP_AER_SOA5) -ZGAS(:,6)=0. - -ZGAS(:,7)=PTOTG(:,JP_AER_SOA6) -ZGAS(:,8)=PTOTG(:,JP_AER_SOA7) -ZGAS(:,9)=PTOTG(:,JP_AER_SOA8) -ZGAS(:,10)=PTOTG(:,JP_AER_SOA9) -ZGAS(:,11)=PTOTG(:,JP_AER_SOA10) - -!Get total organic aerosol -ZWORG(:,:) = ZGAS(:,:) + ZAER(:,:) - - -!ZWORG(:,11) = 0. ! non volatil organic coupounds for absorbing medium (primary aerosol as butanedioic acid) -!Get primary organic aerosol -ZPAOM(:)=PTOT(:,JP_AER_OC)*(1.d0-ZPOA_TO_BUTACID) - -CALL PUN( & - PTEMP & !I [K] Temperature - ,PRH & !I [-] Relative humidity - ,ZWORG & !I [ug/m3] total (aerosol+gas) conc - ,ZGAS & !O [ug/m3] gas phase concentrations - ,ZPAOM & !I [ug/m3] Primary aerosol organic matter - ,ZAER & !O [ug/m3] aerosol phase concentrations - ,PLWC & !I [ug/m3] liquid water content - ,ZPROTON & !I [mol/kg_{water}] H+ concentrations - ,ZDELTALWC & !O [ug/m3] change in LWC - ,ZORGANION & !O [mole//m3] anion charge - ,IFLAG & !I [1/0] Flag for iteration or not - ) - -!aerosol concentration of hydrophilic -PTOTNEW(:,JP_AER_SOA1)=ZAER(:,1) -PTOTNEW(:,JP_AER_SOA2)=ZAER(:,2) -PTOTNEW(:,JP_AER_SOA3)=ZAER(:,3) -PTOTNEW(:,JP_AER_SOA4)=ZAER(:,4) -PTOTNEW(:,JP_AER_SOA5)=ZAER(:,5) - -!aerosol concentration of hydrophobic -PTOTNEW(:,JP_AER_SOA6)=ZAER(:,7) -PTOTNEW(:,JP_AER_SOA7)=ZAER(:,8) -PTOTNEW(:,JP_AER_SOA8)=ZAER(:,9) -PTOTNEW(:,JP_AER_SOA9)=ZAER(:,10) -PTOTNEW(:,JP_AER_SOA10)=ZAER(:,11) - -!Gasesous concentration of hydrophilic -PTOTGNEW(:,JP_AER_SOA1)=ZGAS(:,1) -PTOTGNEW(:,JP_AER_SOA2)=ZGAS(:,2) -PTOTGNEW(:,JP_AER_SOA3)=ZGAS(:,3) -PTOTGNEW(:,JP_AER_SOA4)=ZGAS(:,4) -PTOTGNEW(:,JP_AER_SOA5)=ZGAS(:,5) - -!Gasesous concentration of hydrophobic -PTOTGNEW(:,JP_AER_SOA6)=ZGAS(:,7) -PTOTGNEW(:,JP_AER_SOA7)=ZGAS(:,8) -PTOTGNEW(:,JP_AER_SOA8)=ZGAS(:,9) -PTOTGNEW(:,JP_AER_SOA9)=ZGAS(:,10) -PTOTGNEW(:,JP_AER_SOA10)=ZGAS(:,11) - -!New water content -PTOTNEW(:,JP_AER_H2O)=PTOT(:,JP_AER_H2O)+ZDELTALWC(:) - -!Convert back ZPROTON to right units -!mole/kg ==> mole/g -PPROTON(:) = ZPROTON(:)*1.d-3 - -IF (LHOOK) CALL DR_HOOK('CH_AER_PUN',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_PUN diff --git a/src/arome/chem/internals/ch_aer_reallfi_n.F90 b/src/arome/chem/internals/ch_aer_reallfi_n.F90 deleted file mode 100644 index a91aecbc1bc2a655f0ac932a7b908564250c4794..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_reallfi_n.F90 +++ /dev/null @@ -1,288 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_REALLFI_n(PSV, PCO, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Initialise des valeurs constantes pour les mineraux -!! Initialise des valeurs proportionnelles au monoxyde de carbone pour OC et BC -!! Realise l'équilibre des moments à partir du sigma et du diametre moyen -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -!USE MODE_ll - -USE MODD_CH_AEROSOL -USE MODD_CH_AERO_n -USE MODD_CH_MNHC_n , ONLY : CCH_SCHEME -USE MODD_NSV -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -! -!* 0.2 declarations local variables -! -REAL,DIMENSION(SIZE(PSV,1),SIZE(PSV,2),SIZE(PSV,3),NSP+NCARB+NSOA,JPMODE) :: ZCTOTA -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZFAC, ZMI, ZRHOI -REAL,DIMENSION(SIZE(PSV,1),SIZE(PSV,2),SIZE(PSV,3),JPIN) :: ZM -REAL,DIMENSION(SIZE(PSV,1),SIZE(PSV,2),SIZE(PSV,3),JPMODE) :: ZRG, ZSIG, ZN -REAL,DIMENSION(SIZE(PSV,1),SIZE(PSV,2),SIZE(PSV,3)) :: ZSIGMA -REAL :: ZPI, ZCOEFAEROBC, ZCOEFAEROOC, ZSUMAEROCO -INTEGER :: NJAERO, NIAERO -INTEGER :: JJ, JN ! loop counter -REAL :: ZDEN2MOL, ZVALBC, ZVALOC -REAL :: ZINIRADIUSI, ZINIRADIUSJ -! -!------------------------------------------------------------------------------- -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! 1.1 initialisation - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_REALLFI_N',0,ZHOOK_HANDLE) -IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ -END IF -! -! Moments index -NM0(1) = 1 -NM3(1) = 2 -NM6(1) = 3 -NM0(2) = 4 -NM3(2) = 5 -NM6(2) = 6 -! -! Default values of molar mass -ZMI(:) = 12. -ZMI(JP_AER_SO4) = 98. -ZMI(JP_AER_NO3) = 63. -ZMI(JP_AER_NH3) = 17. -ZMI(JP_AER_H2O) = 18. -! -IF (NSOA .EQ. 10) THEN -ZMI(JP_AER_SOA1) = 88. -ZMI(JP_AER_SOA2) = 180. -ZMI(JP_AER_SOA3) = 1.5374857E+02 -ZMI(JP_AER_SOA4) = 1.9586780E+02 -ZMI(JP_AER_SOA5) = 195. -ZMI(JP_AER_SOA6) = 195. -ZMI(JP_AER_SOA7) = 165. -ZMI(JP_AER_SOA8) = 195. -ZMI(JP_AER_SOA9) = 270. -ZMI(JP_AER_SOA10) = 210. -END IF - -! Aerosol Density -! Cf Ackermann (all to black carbon except water) -ZRHOI(:) = 1.8e3 -ZRHOI(JP_AER_H2O) = 1.0e3 ! water -! -PSV(:,:,:,:) = MAX(PSV(:,:,:,:), 0.) -PCO(:,:,:) = MAX(PCO(:,:,:), 10.E-9*PRHODREF(:,:,:)) -! -! Special treatment for BC and OC (link to CO gaseous concentration) - -IF (LINITPM) THEN -NIAERO=SIZE(PSV,1)-1 -NJAERO=SIZE(PSV,2)-1 -ZSUMAEROCO=SUM(PCO(2:NIAERO,2:NJAERO,2))/& - ((NIAERO-1)*(NJAERO-1)) - - -!ZVALBC=1.28058E-9 ! value in kg/m3 (escompte values) -!ZVALOC=2.304978E-9 ! value in kg/m3 (escompte values) -ZVALBC=1.E-9 ! value in kg/m3 (default values) -ZVALOC=2.E-9 ! value in kg/m3 (default values) -ZVALBC= ZVALBC *24.47 / 12. ! conversion into ppp -ZVALOC= ZVALOC *24.47 / 12. ! conversion into ppp -ZCOEFAEROBC=ZVALBC/ZSUMAEROCO -ZCOEFAEROOC=ZVALOC/ZSUMAEROCO - -PSV(:,:,:,JP_CH_BCi)=PCO(:,:,:) * ZCOEFAEROBC / 2. -PSV(:,:,:,JP_CH_BCj)=PCO(:,:,:) * ZCOEFAEROBC / 2. -PSV(:,:,:,JP_CH_OCi)=PCO(:,:,:) * ZCOEFAEROOC / 2. -PSV(:,:,:,JP_CH_OCj)=PCO(:,:,:) * ZCOEFAEROOC / 2. -END IF - -! -! -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -! -! conversion into mol.cm-3 -DO JJ=1, NSV_AER - PSV(:,:,:,JJ) = PSV(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -ENDDO -! -ZPI = 2.*ASIN(1.) -DO JJ=1,NSP+NCARB+NSOA - ZFAC(JJ)=(4./3.)*ZPI*ZRHOI(JJ)*1.e-9 -ENDDO -! -! -!* 1.n transfer aerosol mass from gas to aerosol variables -! (and conversion of mol.cm-3 --> microgram/m3) -! -! aerosol phase -ZCTOTA(:,:,:,JP_AER_SO4,1) = PSV(:,:,:,JP_CH_SO4i)*ZMI(JP_AER_SO4)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_SO4,2) = PSV(:,:,:,JP_CH_SO4j)*ZMI(JP_AER_SO4)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_NO3,1) = PSV(:,:,:,JP_CH_NO3i)*ZMI(JP_AER_NO3)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_NO3,2) = PSV(:,:,:,JP_CH_NO3j)*ZMI(JP_AER_NO3)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_NH3,1) = PSV(:,:,:,JP_CH_NH3i)*ZMI(JP_AER_NH3)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_NH3,2) = PSV(:,:,:,JP_CH_NH3j)*ZMI(JP_AER_NH3)/6.0221367E+11 -! -! water -ZCTOTA(:,:,:,JP_AER_H2O,1) = PSV(:,:,:,JP_CH_H2Oi)*ZMI(JP_AER_H2O)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_H2O,2) = PSV(:,:,:,JP_CH_H2Oj)*ZMI(JP_AER_H2O)/6.0221367E+11 -! -! primary organic carbon -ZCTOTA(:,:,:,JP_AER_OC,1) = PSV(:,:,:,JP_CH_OCi)*ZMI(JP_AER_OC)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_OC,2) = PSV(:,:,:,JP_CH_OCj)*ZMI(JP_AER_OC)/6.0221367E+11 -! -! primary black carbon -ZCTOTA(:,:,:,JP_AER_BC,1) = PSV(:,:,:,JP_CH_BCi)*ZMI(JP_AER_BC)/6.0221367E+11 -ZCTOTA(:,:,:,JP_AER_BC,2) = PSV(:,:,:,JP_CH_BCj)*ZMI(JP_AER_BC)/6.0221367E+11 -! -IF (NSOA .EQ. 10) THEN - ZCTOTA(:,:,:,JP_AER_SOA1,1) = PSV(:,:,:,JP_CH_SOA1i)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA1,2) = PSV(:,:,:,JP_CH_SOA1j)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,1) = PSV(:,:,:,JP_CH_SOA2i)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,2) = PSV(:,:,:,JP_CH_SOA2j)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,1) = PSV(:,:,:,JP_CH_SOA3i)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,2) = PSV(:,:,:,JP_CH_SOA3j)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,1) = PSV(:,:,:,JP_CH_SOA4i)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,2) = PSV(:,:,:,JP_CH_SOA4j)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,1) = PSV(:,:,:,JP_CH_SOA5i)*ZMI(JP_AER_SOA5)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,2) = PSV(:,:,:,JP_CH_SOA5j)*ZMI(JP_AER_SOA5)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_SOA6,1) = PSV(:,:,:,JP_CH_SOA6i)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA6,2) = PSV(:,:,:,JP_CH_SOA6j)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,1) = PSV(:,:,:,JP_CH_SOA7i)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,2) = PSV(:,:,:,JP_CH_SOA7j)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,1) = PSV(:,:,:,JP_CH_SOA8i)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,2) = PSV(:,:,:,JP_CH_SOA8j)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,1) = PSV(:,:,:,JP_CH_SOA9i)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,2) = PSV(:,:,:,JP_CH_SOA9j)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,1) = PSV(:,:,:,JP_CH_SOA10i)*ZMI(JP_AER_SOA10)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,2) = PSV(:,:,:,JP_CH_SOA10j)*ZMI(JP_AER_SOA10)/6.0221367E+11 -END IF - - - -! -!* 1.1 calculate moment 3 from total aerosol mass -! -ZM(:,:,:,2) = 0. -ZM(:,:,:,5) = 0. -DO JJ = 1,NSP+NCARB+NSOA - ZM(:,:,:,2) = ZM(:,:,:,2)+ZCTOTA(:,:,:,JJ,1)/ZFAC(JJ) - ZM(:,:,:,5) = ZM(:,:,:,5)+ZCTOTA(:,:,:,JJ,2)/ZFAC(JJ) -ENDDO -! -! -!* 1.2 calculate moment 0 from dispersion and mean radius -! -ZM(:,:,:,1)= ZM(:,:,:,2) / & - ((ZINIRADIUSI**3)*EXP(4.5 * (LOG(XINISIGI))**2)) -ZM(:,:,:,4)= ZM(:,:,:,5) / & - ((ZINIRADIUSJ**3)*EXP(4.5 * (LOG(XINISIGJ))**2)) -! -!* 1.3 calculate moment 6 from dispersion and mean radius -! -ZM(:,:,:,3) = ZM(:,:,:,1) * (ZINIRADIUSI**6) *EXP(18 *(LOG(XINISIGI))**2) -ZM(:,:,:,6) = ZM(:,:,:,4) * (ZINIRADIUSJ**6) *EXP(18 *(LOG(XINISIGJ))**2) -! -PSV(:,:,:,JP_CH_M0i) = ZM(:,:,:,1) * 1E-6 -PSV(:,:,:,JP_CH_M0j) = ZM(:,:,:,4) * 1E-6 -IF (LVARSIGI) PSV(:,:,:,JP_CH_M6i) = ZM(:,:,:,3) -IF (LVARSIGJ) PSV(:,:,:,JP_CH_M6j) = ZM(:,:,:,6) -! -DO JN=1,JPMODE - IF (JN .EQ. 1) THEN - ! - IF (LVARSIGI) THEN ! variable dispersion for mode 1 - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGIMAX) - ZSIGMA(:,:,:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGIMIN) - ZSIGMA(:,:,:) = XSIGIMIN - END WHERE - ELSE ! fixed dispersion for mode 1 - ZSIGMA(:,:,:) = XINISIGI - END IF - END IF - ! - IF (JN .EQ. 2) THEN - ! - IF (LVARSIGJ) THEN ! variable dispersion for mode 2 - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGJMAX) - ZSIGMA(:,:,:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGJMIN) - ZSIGMA(:,:,:) = XSIGJMIN - END WHERE - ELSE ! fixed dispersion for mode 2 - ZSIGMA(:,:,:) = XINISIGJ - END IF - END IF -! -!* 1.4 calculate modal parameters from moments -! - ZSIG(:,:,:,JN) = ZSIGMA(:,:,:) - ZN(:,:,:,JN) = ZM(:,:,:,NM0(JN)) -! - ZSIGMA(:,:,:)=LOG(ZSIG(:,:,:,JN))**2 -! - ZRG(:,:,:,JN)=(ZM(:,:,:,NM3(JN))/ZN(:,:,:,JN))**(1./3.)*EXP(-1.5*ZSIGMA(:,:,:)) -! -ENDDO -! -!conversion into ppp -DO JJ=1,NSV_AER - PSV(:,:,:,JJ) = PSV(:,:,:,JJ) / (ZDEN2MOL*PRHODREF(:,:,:)) -ENDDO -! -! -IF (LHOOK) CALL DR_HOOK('CH_AER_REALLFI_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_REALLFI_n diff --git a/src/arome/chem/internals/ch_aer_sedim_n.F90 b/src/arome/chem/internals/ch_aer_sedim_n.F90 deleted file mode 100644 index 16131419c47bd3aa689b721c3a3b853f0ea8e205..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_sedim_n.F90 +++ /dev/null @@ -1,232 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_SEDIM_n(PDTMONITOR,PSVT,PTHT,& - PRHODREF,PPABST, PVDEPAERO, PZZ, PSEDA) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (GMEI) / Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! Entry variables: -! -! PM(IN) -Array of moments -! -!************************************************************* -! Exit variables: -! -! PDMDEPOS(IN) -Array of moment variation due to dry deposition -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -! -USE MODD_CH_AEROSOL -USE MODD_CH_AERO_n -USE MODI_CH_AER_VELGRAV_n -USE MODE_AERO_PSD -! -! -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PVDEPAERO -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSEDA -! -!* 0.2 Declarations of local variables -! -INTEGER :: JT, JN, JJ, JK -INTEGER :: ISPLITA -REAL :: ZTSPLITR -REAL, DIMENSION(JPIN) :: ZPMIN -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),JPMODE) :: ZRG, ZSIG, ZRHOP -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),JPMODE*3) :: ZPM, ZFLUXSED, ZFLUXMAX, ZPMOLD -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZW,ZH,ZMU -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),JPMODE*3) :: ZVGK, ZDPK -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),JPMODE) :: ZVG -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZSUM -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZVSNUMMAX -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NSP+NCARB+NSOA,JPMODE) :: ZCTOTA, ZCCTOT -REAL :: ZVSMAX, ZHMIN -REAL :: ZINIRADIUSI, ZINIRADIUSJ, ZRGMIN -INTEGER :: ILU ! indice K End in z direction -!------------------------------------------------------------------------------- -! -!* 1.1 compute dimensions of arrays -! -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_SEDIM_N',0,ZHOOK_HANDLE) -ILU = SIZE(PSVT,3) -1 - -ZMU(:,:,:) = 0. -ZH(:,:,:) = 0. -ZW(:,:,:) = 0. -ZVGK(:,:,:,:) = 0. -ZVG(:,:,:,:) = 0. -ZDPK(:,:,:,:) = 0. -ZFLUXSED(:,:,:,:) = 0. -! -IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ -END IF -! -!Get minimum values possible -ZPMIN(1) = XN0IMIN -ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI -ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) -ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) -ZPMIN(4) = XN0JMIN -ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ -ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) -ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) -! -! -CALL PPP2AERO(PSVT, PRHODREF, & - PSIG3D=ZSIG, PRG3D=ZRG, PCTOTA=ZCTOTA, PM3D=ZPM) -! -ZPMOLD(:,:,:,:) = ZPM(:,:,:,:) -! -ZRHOP(:,:,:,:) = 0. -ZCCTOT(:,:,:,:,:)= 0. -DO JN=1,JPMODE - ZSUM(:,:,:)=0. - DO JJ=1,NSP+NCARB+NSOA - ZSUM(:,:,:)=ZSUM(:,:,:)+ZCTOTA(:,:,:,JJ,JN)/XRHOI(JJ) - END DO - DO JJ=1,NSP+NCARB+NSOA - ZCCTOT(:,:,:,JJ,JN) = ZCTOTA(:,:,:,JJ,JN)/XRHOI(JJ)/ZSUM(:,:,:) - ZRHOP(:,:,:,JN)=ZRHOP(:,:,:,JN)+ZCCTOT(:,:,:,JJ,JN)*XRHOI(JJ) - ENDDO -ENDDO -! -CALL CH_AER_VELGRAV_n(ZSIG, ZRG, PTHT, PPABST, PRHODREF, & - ZRHOP, ZMU, ZVGK, ZDPK,ZVG) -! -! Compute time-splitting condition -ZH=9999. -ZVSNUMMAX(:,:,:) = 0. -DO JK=1,ILU - ZH(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK) - ! Maximum velocity is 10 m/s - ZVSNUMMAX(:,:,JK) = MIN(10. *ZH(:,:,JK) / PDTMONITOR,20.) -END DO -ZHMIN=MINVAL(ZH(:,:,1:ILU)) -! -ZFLUXSED(:,:,:,:) = 0. -ZFLUXMAX(:,:,:,:) = 0. -! -DO JN=1,JPIN - ! - ZVGK(:,:,1:ILU,JN) = MIN(ZVGK(:,:,1:ILU,JN), ZVSNUMMAX(:,:,1:ILU)) - ! - !PVDEPAERO(:,:,JN) = MIN(PVDEPAERO(:,:,JN), ZVSNUMMAX(:,:,1)) - PVDEPAERO(:,:,JN) = MIN(ZVGK(:,:,1,JN), ZVSNUMMAX(:,:,1)) - ! - ZVSMAX=MAXVAL(ZVGK(:,:,1:ILU,JN)) - ! - ISPLITA = INT(ZVSMAX*PDTMONITOR/ZHMIN)+1 - ISPLITA = MIN(50, ISPLITA) - ! - ZTSPLITR = PDTMONITOR / FLOAT(ISPLITA) - ! - DO JT=1,ISPLITA - ZFLUXSED(:,:,1:ILU+1,JN)= ZVGK(:,:,1:ILU+1,JN)* ZPM(:,:,1:ILU+1,JN) -! first level: aerosol dry deposition velocity (turbulence + gravitation) - ZFLUXSED(:,:,1,JN) = PVDEPAERO(:,:,JN)* ZPM(:,:,1,JN) - DO JK=1,ILU - ZW(:,:,JK) = ZTSPLITR /(PZZ(:,:,JK+1)-PZZ(:,:,JK)) - END DO - ! - ZFLUXMAX(:,:,1:ILU,JN) = ZPM(:,:,1:ILU,JN) / ZW(:,:,1:ILU) - ZFLUXSED(:,:,1:ILU,JN) = MAX(MIN(ZFLUXSED(:,:,1:ILU,JN), ZFLUXMAX(:,:,1:ILU,JN)),0.) - ! - DO JK=1,ILU - ZPM(:,:,JK,JN)= ZPM(:,:,JK,JN) + & - ZW(:,:,JK)*(ZFLUXSED(:,:,JK+1,JN)- ZFLUXSED(:,:,JK,JN)) - - END DO - END DO - ! - ! No variation more than 10 % each time step. - ! - ZPM(:,:,:,JN) = MIN(MAX(ZPM(:,:,:,JN),0.90*ZPMOLD(:,:,:,JN)),1.10*ZPMOLD(:,:,:,JN)) -! -END DO -! -DO JN=1,JPMODE -! Calcul pour maintenir le rayon fixe pour la sedimentation : - IF (LRGFIX) THEN - ZPM(:,:,:,NM3(JN)) = ZPM(:,:,:,NM0(JN)) *& - (ZRG(:,:,:,JN)**3)*EXP(4.5 * LOG(ZSIG(:,:,:,JN))**2) - ENDIF - -! Calcul pour maintenir la dispersion fixe pour la sedimentation : -! sinon Rg augmente lors de la reconstruction d'une loi log-normale -! a partir des nouveau Mk (sigma diminue plus vite que Rg) - -! calcul de M6 en conservant sigma -ZPM(:,:,1:ILU, NM6(JN)) = ZPM(:,:,1:ILU,NM0(JN)) & - * ( (ZPM(:,:,1:ILU,NM3(JN))/ZPM(:,:,1:ILU,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*LOG(ZSIG(:,:,1:ILU,JN))**2))**6 & - * exp(18.*LOG(ZSIG(:,:,1:ILU,JN))**2) - - IF ((GSEDFIX).AND.& - (((JN .EQ. 1).AND. (LVARSIGI)).OR.& - ((JN .EQ. 2).AND. (LVARSIGJ)))) THEN -! calcul de M6 en conservant Rg - ZPM(:,:,2:ILU,NM6(JN)) = ZPM(:,:,2:ILU,NM3(JN)) ** 4 / & - (ZRG(:,:,2:ILU,JN)**6 * ZPM(:,:,2:ILU,NM0(JN))**3) - - END IF -END DO -! -IF (GSEDFIX) THEN - GSEDFIX = .FALSE. -ELSE - GSEDFIX = .TRUE. -END IF -! -PSEDA(:,:,:,:) = 0. -DO JN=1,JPMODE - WHERE ((ZPM(:,:,:,NM0(JN)) .LE. ZPMIN(NM0(JN))).OR.& - (ZPM(:,:,:,NM3(JN)) .LE. ZPMIN(NM3(JN))).OR.& - (ZPM(:,:,:,NM6(JN)) .LE. ZPMIN(NM6(JN)))) - ZPM(:,:,:,NM0(JN)) = ZPMOLD(:,:,:,NM0(JN)) - ZPM(:,:,:,NM3(JN)) = ZPMOLD(:,:,:,NM3(JN)) - ZPM(:,:,:,NM6(JN)) = ZPMOLD(:,:,:,NM6(JN)) - END WHERE -ENDDO -! -DO JN=1,JPIN - PSEDA(:,:,1:ILU,JN) = (ZPM(:,:,1:ILU,JN) - & - ZPMOLD(:,:,1:ILU,JN)) / PDTMONITOR -END DO -! -IF (LHOOK) CALL DR_HOOK('CH_AER_SEDIM_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_SEDIM_n diff --git a/src/arome/chem/internals/ch_aer_solv.F90 b/src/arome/chem/internals/ch_aer_solv.F90 deleted file mode 100644 index c4f26aaa8ccd5821c0c8e890b65dce064ab6b112..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_solv.F90 +++ /dev/null @@ -1,350 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_SOLV(PM, PSIG0, PRG0, PN0,PCTOTG, PCTOTA, PCCTOT, & - PDMINTRA,PDMINTER,PDMCOND,PSEDA, PDT, POM, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PTIME,PSOLORG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################################## -!! -!! PURPOSE -!! ------- -!! Time variable solver of the modal aerosol equations -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! P. Tulet for nesting -!! P. Tulet organic condensation -!! P. Tulet thermodynamic equilibrium for each mode -!! P. Tulet add third mode -!! -!! EXTERNAL -!! -------- -!! None -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CH_AEROSOL -USE MODI_CH_AER_MINERAL -USE MODI_CH_AER_ORGANIC -USE MODI_CH_AER_MPMPO -! -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: POM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTRA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTER -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMCOND -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, INTENT(IN) :: PDT, PTIME -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -! -!* 0.2 declarations of local variables -! -INTEGER :: JI,JJ,JK, JN, IDT -REAL, DIMENSION(SIZE(PM,1)) :: ZSUM -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZNEWM -REAL, DIMENSION(SIZE(PM,1)) :: ZSIGMA -REAL, DIMENSION(SIZE(POM,1),SIZE(POM,2)) :: ZOM - -REAL, DIMENSION(SIZE(PM,1)) :: ZA,ZB,ZC,ZD -REAL, DIMENSION(SIZE(PM,1)) :: ZCONST1,ZCONST2 -REAL, DIMENSION(SIZE(PM,1)) :: Z0,ZK,ZKEXP - -REAL, SAVE, DIMENSION(JPMODE*3) :: ZPMIN -REAL :: ZINIRADIUSI, ZINIRADIUSJ -REAL :: ZRGMIN -LOGICAL, SAVE :: GPHYSLIM = .TRUE. ! flag -! -!------------------------------------------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_SOLV',0,ZHOOK_HANDLE) -IF (GPHYSLIM) THEN - GPHYSLIM=.FALSE. - ! - IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) - ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ - END IF - ! - ZPMIN(1) = XN0IMIN - ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI - ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) - ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) - ! - ZPMIN(4) = XN0JMIN - ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ - ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) - ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) - ! -END IF - - -!write(*,*) -!write(*,*) '******************************************' -!write(*,*) ' Debut Solveur Aerosol ' -!write(*,*) '******************************************' -!write(*,*) -!write(*,*) 'Pas de temps:',PDT,'s' - -!***************************************************************** -!***************************************************************** -! SOLVEUR DE lA PARTIE MICROPHYSIQUE -!***************************************************************** -!***************************************************************** -! -DO JI=1,JPMODE - -!************************************************************* -! Resolution du moment d'ordre 0: pour cela il faut resoudre -! une equation differentielle du type dY/dt=-AY^2-BY+C -!************************************************************* - - -! Pour la resolution plusieurs cas particuliers seront traites -ZA(:)=PDMINTRA(:,NM0(JI)) -ZB(:)=PDMINTER(:,NM0(JI)) -ZC(:)=PDMCOND(:,NM0(JI)) -ZA(:)=0. -ZB(:)=0. -ZC(:)=0. - -DO JK=1,SIZE(PM,1) - IF (ZB(JK) == 0. .AND. ZC(JK)/PM(JK,NM0(JI)) <= 1.e-10) THEN - Z0(JK)=PM(JK,NM0(JI)) - PM(JK,NM0(JI))=Z0(JK)/(1.+ZA(JK)*Z0(JK)*PDT) - ELSE - ZD(JK)=SQRT(ZB(JK)**2+4.*ZA(JK)*ZC(JK)) - - ZCONST1(JK)=ZB(JK)/(2.*ZA(JK)) - ZCONST2(JK)=ZD(JK)/(2.*ABS(ZA(JK))) - Z0(JK)=PM(JK,NM0(JI))+ZCONST1(JK) - - IF (((ZB(JK)**2+4.*ZA(JK)*ZC(JK))) < 0.) THEN - PM(JK,NM0(JI))=-ZCONST1(JK)+ZD(JK)*TAN(ATAN(Z0(JK)/ZD(JK))-ZA(JK)*ZD(JK)*PDT) - ELSE - ZKEXP(JK)=EXP(-2.*ZA(JK)*ZCONST2(JK)*PDT) - ZK(JK)=(Z0(JK)-ZCONST2(JK))/(Z0(JK)+ZCONST2(JK))*ZKEXP(JK) - PM(JK,NM0(JI))=-ZCONST1(JK)+ZCONST2(JK)*(1.+ZK(JK))/(1.-ZK(JK)) - ENDIF - ENDIF -ENDDO - - ! Sedimentation for particules number - -PM(:,NM0(JI))= PM(:,NM0(JI)) + PSEDA(:,NM0(JI)) * PDT -PM(:,NM0(JI))= MAX(PM(:,NM0(JI)), 1.E-10) - - -!************************************************************* -! Resolution du moment d'ordre 3 -!************************************************************* - -PM(:,NM3(JI))=PM(:,NM3(JI))+ & - (PDMINTRA(:,NM3(JI))+PDMINTER(:,NM3(JI))+PDMCOND(:,NM3(JI))+& - PSEDA(:,NM3(JI)))*PDT -PM(:,NM3(JI))= MAX(PM(:,NM3(JI)), 1.E-40) - -!************************************************************* -! Resolution du moment d'ordre 6 -!************************************************************* - -PM(:,NM6(JI))=PM(:,NM6(JI))+ (PM(:,NM0(JI))**2*PDMINTRA(:,NM6(JI))+& - PDMINTER(:,NM6(JI))+PDMCOND(:,NM6(JI)) + PSEDA(:,NM6(JI)) )*PDT - -PM(:,NM6(JI))= MAX(PM(:,NM6(JI)), 1.E-80) -ENDDO - - -!***************************************************************** -!***************************************************************** -! SOLVEUR DE L'EQUILIBRE CHIMIQUE (MARS sera utilise) -!***************************************************************** -!***************************************************************** - -!****************************************************************** -! Calcul de la variation de concentration des differents -! composes pour trouver le nouveau moment d'ordre 3 -!****************************************************************** - -DO JI=1,JPMODE - -! Coagulation intermodale -!------------------------- - -DO JJ=1,NSP+NCARB+NSOA - - PCTOTA(:,JJ,JI)=PCTOTA(:,JJ,JI) & - +(PCCTOT(:,JJ,1)*PDMINTER(:,NM3(JI)) + PCCTOT(:,JJ,JI)* PDMINTRA(:,NM3(JI))) & - *XFAC(JJ)*PDT -!+(PCCTOT(:,JJ,1)*(PDMINTER(:,NM3(JI)) + PDMINTRA(:,NM3(JI)) ))& - -! Sedimentation -!-------------- - PCTOTA(:,JJ,JI)= PCTOTA(:,JJ,JI) + PCCTOT(:,JJ,JI)*PSEDA(:,NM3(JI))*XFAC(JJ)*PDT - PCTOTA(:,JJ,JI)= MAX(PCTOTA(:,JJ,JI), 1E-80) - - -ENDDO -ENDDO - -! H2SO4 Condensation + Nucleation -!--------------------------------- - - PCTOTA(:,JP_AER_SO4,1)=PCTOTA(:,JP_AER_SO4,1) & - +PDMCOND(:,NM3(1))*XFAC(JP_AER_SO4)*PDT - PCTOTA(:,JP_AER_SO4,2)=PCTOTA(:,JP_AER_SO4,2) & - +PDMCOND(:,NM3(2))*XFAC(JP_AER_SO4)*PDT -! -!************************************************************* -! Calcul de la fraction massique entre les modes -!************************************************************* -ZSUM (:) = 0. -DO JI=1,JPMODE - DO JJ=1,NSP+NCARB+NSOA - ZSUM (:) = ZSUM (:) + PCTOTA(:,JJ,JI) - ENDDO -ENDDO -ZOM(:,:) = 0. -DO JI=1,JPMODE - DO JJ=1,NSP+NCARB+NSOA - ZOM(:,JI) = ZOM(:,JI) + PCTOTA(:,JJ,JI) / ZSUM (:) - ENDDO -ENDDO - - -! Equilibre mineraux -!------------------- - -IDT = INT(MAX(5.*PDT,1.)) -IF ((PDT .GT. 0.).AND.( MOD(INT(PTIME) , IDT) .EQ. 0)) THEN -!IF (PDT .GT. 0.) THEN - CALL CH_AER_MINERAL(PCTOTG, PCTOTA,PRV, PDENAIR, PPRESSURE, PTEMP, PRC, ZOM,& - PCCTOT,PSIG0, PRG0, PDT) - - -! Equilibre Organiques -!--------------------- - - IF (NSOA .EQ. 10) CALL CH_AER_ORGANIC(PCTOTG, PCTOTA,PRV, PDENAIR, & - PPRESSURE, PTEMP,& - PRC, ZOM, PCCTOT,PSIG0, PRG0, PDT, PSOLORG) -END IF - -! Mass need to be positive -PCTOTA(:,:,:)= MAX (PCTOTA(:,:,:),0.) -PCTOTG(:,:)= MAX (PCTOTG(:,:),0.) - -DO JI=1,JPMODE - ZSUM(:)=0. - DO JJ=1,NSP+NCARB+NSOA - ZSUM(:)=ZSUM(:)+PCTOTA(:,JJ,JI)/XRHOI(JJ) - ENDDO - - DO JJ=1,NSP+NCARB+NSOA - PCCTOT(:,JJ,JI)=PCTOTA(:,JJ,JI)/XRHOI(JJ)/ZSUM(:) - - ENDDO -ENDDO - -!****************************************************************************** -! Calcul des nouveaux moments d'ordre 3 et 6 -! Le moment d'ordre 3 est recalcule a partir de la composition de chaque mode -! Le moment d'ordre 6 est calcule pour garder sigma constant pendant l'equilibre chimique -!****************************************************************************** -DO JN=1,JPMODE -! - PM(:,NM0(JN)) = MAX(PM(:,NM0(JN)), ZPMIN(NM0(JN))) - PM(:,NM3(JN)) = MAX(PM(:,NM3(JN)), ZPMIN(NM3(JN))) - PM(:,NM6(JN)) = MAX(PM(:,NM6(JN)), ZPMIN(NM6(JN))) - - IF (JN .EQ. 1) THEN - - IF (LVARSIGI) THEN ! variable dispersion for mode 1 - - ZSIGMA(:)=PM(:,NM3(JN))**2./(PM(:,NM0(JN))*PM(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGIMAX) - ZSIGMA(:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGIMIN) - ZSIGMA(:) = XSIGIMIN - END WHERE - - ELSE ! fixed dispersion for mode 1 - ZSIGMA(:) = XINISIGI - END IF - END IF -! - IF (JN .EQ. 2) THEN - - IF (LVARSIGJ) THEN ! variable dispersion for mode 2 - - ZSIGMA(:)=PM(:,NM3(JN))**2./(PM(:,NM0(JN))*PM(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGJMAX) - ZSIGMA(:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGJMIN) - ZSIGMA(:) = XSIGJMIN - END WHERE - - ELSE ! fixed dispersion for mode 2 - ZSIGMA(:) = XINISIGJ - END IF - END IF - - PSIG0(:,JN) = LOG(ZSIGMA(:)) - - PN0(:,JN) = PM(:,NM0(JN)) - -END DO - -DO JN=1,JPMODE -! Calcul du nouveau moment d'ordre 3 - ZNEWM(:,JN)=0. - DO JJ=1,NSP+NCARB+NSOA - PCTOTA(:,JJ,JN) = MAX(PCTOTA(:,JJ,JN),0.) - ZNEWM(:,JN)=ZNEWM(:,JN)+PCTOTA(:,JJ,JN)/XFAC(JJ) - ENDDO - PM(:,NM3(JN))=MAX(ZNEWM(:,JN),ZPMIN(NM3(JN))) -END DO - -DO JN=1,JPMODE - PM(:,NM6(JN)) = PM(:,NM0(JN)) & - * ( (PM(:,NM3(JN))/PM(:,NM0(JN)))**(1./3.) * exp(-(3./2.)*PSIG0(:,JN)**2))**6 & - * exp(18.*PSIG0(:,JN)**2) - - PRG0(:,JN)= (PM(:,NM3(JN))**4/(PM(:,NM6(JN)) * PM(:,NM0(JN))**3))**(1./6.) -ENDDO -! -! -IF (LHOOK) CALL DR_HOOK('CH_AER_SOLV',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_SOLV diff --git a/src/arome/chem/internals/ch_aer_surf.F90 b/src/arome/chem/internals/ch_aer_surf.F90 deleted file mode 100644 index 21b93cc6f09690b934757d3918c9160f718679ee..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_surf.F90 +++ /dev/null @@ -1,72 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_SURF( PM, PRG, PSIG, PSURF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Compute surface aerosol -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (LA) -!! -!! MODIFICATIONS -!! ------------- -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL, ONLY : XPI, JPMODE, NM0, NM3, NM6 -! -IMPLICIT NONE -! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(IN) :: PM ! moments -REAL, DIMENSION(:,:), INTENT(IN) :: PRG ! radius -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG ! dispersion -REAL, DIMENSION(:,:), INTENT(OUT) :: PSURF ! aerosol surface -! -! -!* 0.2 declarations local variables -! -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZSIG0, ZRG0, ZN0 -REAL, DIMENSION(SIZE(PM,1),SIZE(PM,2)) :: ZM -INTEGER :: JN -! -!------------------------------------------------------------------------------- -! -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_SURF',0,ZHOOK_HANDLE) -DO JN=1, JPMODE - ZM(:,NM0(JN)) = PM(:,NM0(JN)) ! 1/m3 - ZM(:,NM3(JN)) = PM(:,NM3(JN)) ! - ZM(:,NM6(JN)) = PM(:,NM6(JN)) - - ZN0(:,JN) = ZM(:,NM0(JN)) * 1E-6 ! convert from 1/m3 to 1/cc - ZRG0(:,JN)= PRG(:,JN) * 1E-6 ! convert from micrometers to meters - ZSIG0(:,JN)= PSIG(:,JN) -! -! Surface = Pi * M2 with M2 = N Rg**2 exp (2*(ln(sigma)**2)) -! -!surface in m2 / cc (psurf will be convert into SI units in BASIC) - PSURF(:,JN) = XPI * ZN0(:,JN) * (ZRG0(:,JN))**2 * EXP(2.*ZSIG0(:,JN)**2) - -ENDDO -! -! -IF (LHOOK) CALL DR_HOOK('CH_AER_SURF',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_SURF diff --git a/src/arome/chem/internals/ch_aer_thermo.F90 b/src/arome/chem/internals/ch_aer_thermo.F90 deleted file mode 100644 index 408b4130c4318db7d77eb79a9094698aefd00443..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_thermo.F90 +++ /dev/null @@ -1,120 +0,0 @@ -! ######spl -SUBROUTINE CH_AER_THERMO(PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! -!! -! -!! PURPOSE -!! ------- -! Make the thermodynamic equilibrium calculation -! Give gas equilibrium concentration for semi-volatile -! species NH3 and HNO3 ... at that time. -! For SO4, the equilibrium concentration is 0.0 - -!! AUTHOR -!! ------ -!! F. Cousin * LA * -!! -!! MODIFICATIONS -!! ------------- -!! Original 05/04/02 -!! Modifications 15/03/03 (P.Tulet) update to log-normal model -!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! INPUT -! PAER(:,1) :: H2SO4 in micrograms / m**3 -! PAER(:,2) :: NH3(g) in micrograms / m**3 -! PAER(:,3) :: HNO3(g) in micrograms / m**3 -! PAER(:,4) :: H2O(a) in micrograms / m**3 -! PAER(:,5) :: NO3(a) in micrograms / m**3 -! PAER(:,6) :: NH4(a) in micrograms / m**3 -! PTEMP : temperature in K -! PPRESSURE : pressure = RHO * T * R (in Pa) assuming 20.95 vol% O2 -! PPKM : n_molec (moelc./cm3): M = 1E-3*RHO(kg/m3) * Navo / m_mol -! PPKH2 : molecular weight of H2O: m_mol^H2O = 18.0 g/mol -! ==> m_mol^air / m_mol^H2O = 1.6 -! -! OUTPUT -! zout(:,1) :: waterc : ratio [water content]/[mineral species content] -! zout(:,2)*cnh3(:) : NH3 gas equilibrimum concentrations (kg/m3) -! zout(:,3)*cno3(:) : NO3 gas equilibrimum concentrations (kg/m3) -! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! -! -USE MODI_CH_AER_INTERMIN -USE MODD_CH_AEROSOL -IMPLICIT NONE -! -!* 0.1 declarations of arguments -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC - -! -!* 0.2 declarations of local variables -DOUBLE PRECISION, DIMENSION(SIZE(PAER,1)) :: waterc,chno3,ch2so4,cnh3 -DOUBLE PRECISION, DIMENSION(SIZE(PAER,1)) :: TEMPE, ZTOTNH3, ZTOTNO3 -DOUBLE PRECISION, DIMENSION(SIZE(PAER,1),3) :: zout -! -!...........PARAMETERS and their descriptions: - -REAL, PARAMETER :: ZMWH2O = 18.0 ! molecular weight for water -REAL, PARAMETER :: ZMWNO3 = 62.0049 ! molecular weight for NO3 -REAL, PARAMETER :: ZMH2SO4 = 98.07354 ! molecular weight for H2SO4 -REAL, PARAMETER :: ZMWNH3 = 17.03061 ! molecular weight for NH3 -! -! Conversion micrograms / m3 in kg/m3 -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_THERMO',0,ZHOOK_HANDLE) -PAER(:,:) = PAER(:,:) * 1E-9 -! -IF((NSP-1).NE.0) THEN -! -! -! -! Compute total mass concentration for mineral species -! -!!!!ch2so4(:) = PAER(:,1) + conc(:,numesoc(ih2so4-npri))*fac1*conmw(ih2so4-npri) -ZTOTNO3(:) = PAER(:,5) + PAER(:,3) -ZTOTNH3(:) = PAER(:,6) + PAER(:,2) -ch2so4(:) = PAER(:,1) ! all so4 is in the aerosol phase: to be update in the future -chno3(:) = ZTOTNO3(:) -cnh3(:) = ZTOTNH3(:) - -! Temperature -TEMPE=PTEMP(:) - -!print*,'avant CH_AER_INTERMIN' -!print*,'ch2so4=', ch2so4(1:5) -!print*,'cnh3=', cnh3(1:5) -!print*,'cno3=', chno3(1:5) -! -! -CALL CH_AER_INTERMIN(PRH,TEMPE,ch2so4,cnh3,chno3,zout,SIZE(PAER,1)) -! -!print*,'apres CH_AER_INTERMIN' -!print*,'zout(:1:5,1)=',zout(1:5,1) -!print*,'zout(:1:5,2)=',zout(1:5,2) -!print*,'zout(:1:5,3)=',zout(1:5,3) -waterc(:) = zout(:,1) -PAER(:,2) = zout(:,2)*cnh3(:) -PAER(:,3) = zout(:,3)*chno3(:) -PAER(:,5) = ZTOTNO3(:) - PAER(:,3) -PAER(:,6) = ZTOTNH3(:) - PAER(:,2) -PAER(:,4) = waterc(:) * ZMWH2O * & - & (PAER(:,1) / ZMH2SO4 + PAER(:,5) / ZMWNO3 + PAER(:,6) / ZMWNH3) - -! -! Conversion kg/m3 in micrograms / m3 - -PAER(:,:) = PAER(:,:) * 1E9 -! -! -ENDIF -! -IF (LHOOK) CALL DR_HOOK('CH_AER_THERMO',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_AER_THERMO diff --git a/src/arome/chem/internals/ch_aer_trans.F90 b/src/arome/chem/internals/ch_aer_trans.F90 deleted file mode 100644 index 5342387264c023ba616e9f5dd057bb351549db5d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_trans.F90 +++ /dev/null @@ -1,958 +0,0 @@ -! ######spl - SUBROUTINE CH_AER_TRANS(KDIR, PM, PSIG0, PRG0, PN0, PRHOP0, PAERO,& - PCONC, PCTOTG, PCTOTA, PCCTOT,PFRAC,PMI,PMASK,GSCHEME) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################ -!! -!! PURPOSE -!! ------- -!! Transfer of gaz phase species into aerosol variables (KDIR = 0) -!! and back (KDIR = 1) after call to the aerosol module. -!! -!! REFERENCE -!! --------- -!a! none -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! P .Tulet * add biogenics and BC -!! P .Tulet * stability of moments -!! P .Tulet * add SOA for AER and MPMPO -!! -!! EXTERNAL -!! -------- -!! None -!! -USE MODD_CH_AEROSOL - -!! -IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -INTEGER, INTENT(IN) :: KDIR ! KDIR = 0 gas -> aero - ! KDIR = 1 aero -> gas -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM ! moments -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0, PRHOP0, PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCONC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMASK -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME - -! -! -!* 0.2 declarations local variables -! -INTEGER :: JJ, JN ! loop counter -! variables for the aerosol module -! -REAL, DIMENSION(SIZE(PM,1)) :: ZSIGMA -REAL, DIMENSION(SIZE(PM,1)) :: ZSUM -REAL, SAVE, DIMENSION(JPIN) :: ZPMIN -LOGICAL, SAVE :: GPHYSLIM = .TRUE. ! flag -REAL :: ZRGMIN -REAL, PARAMETER :: ZCSTAVOG=6.0221367E+11 -REAL :: ZINIRADIUSI, ZINIRADIUSJ - - -! -!------------------------------------------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_TRANS',0,ZHOOK_HANDLE) -IF (KDIR .EQ. 0) THEN -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ------------------------------------ -! -IF (GPHYSLIM) THEN -GPHYSLIM=.FALSE. - -IF (CRGUNIT=="MASS") THEN -ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) -ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE -ZINIRADIUSI = XINIRADIUSI -ZINIRADIUSJ = XINIRADIUSJ -END IF - -ZPMIN(1) = XN0IMIN -ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI -ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) -ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) - -ZPMIN(4) = XN0JMIN -ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ -ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) -ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) - -END IF - -PCTOTG(:,:) = 0. -PCTOTA(:,:,:) = 0. -PFRAC(:,:) = 0. -PCONC(:,:) = MAX(PCONC(:,:), 1.E-80) -PAERO(:,:) = MAX(PAERO(:,:), 1.E-80) - -!* 1.n transfer aerosol mass from gas to aerosol variables -! (and conversion of molec/cm3 to microgram/m3) -! -! gas phase species - PCTOTG(:,JP_AER_SO4g) = 0. !all sulfates has been converted into aerosol phase - PCTOTG(:,JP_AER_NO3g) = PCONC(:,JP_CH_HNO3)*XHNO3/ZCSTAVOG - PCTOTG(:,JP_AER_NH3g) = PCONC(:,JP_CH_NH3)*XNH3/ZCSTAVOG -! -! aerosol phase - PCTOTA(:,JP_AER_SO4,1) = PAERO(:,JP_CH_SO4i)*PMI(:,JP_AER_SO4)/ZCSTAVOG - PCTOTA(:,JP_AER_SO4,2) = PAERO(:,JP_CH_SO4j)*PMI(:,JP_AER_SO4)/ZCSTAVOG - PCTOTA(:,JP_AER_NO3,1) = PAERO(:,JP_CH_NO3i)*PMI(:,JP_AER_NO3)/ZCSTAVOG - PCTOTA(:,JP_AER_NO3,2) = PAERO(:,JP_CH_NO3j)*PMI(:,JP_AER_NO3)/ZCSTAVOG - PCTOTA(:,JP_AER_NH3,1) = PAERO(:,JP_CH_NH3i)*PMI(:,JP_AER_NH3)/ZCSTAVOG - PCTOTA(:,JP_AER_NH3,2) = PAERO(:,JP_CH_NH3j)*PMI(:,JP_AER_NH3)/ZCSTAVOG -! -! water - PCTOTA(:,JP_AER_H2O,1) = PAERO(:,JP_CH_H2Oi)*PMI(:,JP_AER_H2O)/ZCSTAVOG - PCTOTA(:,JP_AER_H2O,2) = PAERO(:,JP_CH_H2Oj)*PMI(:,JP_AER_H2O)/ZCSTAVOG -! -! primary organic carbon - PCTOTA(:,JP_AER_OC,1) = PAERO(:,JP_CH_OCi)*PMI(:,JP_AER_OC)/ZCSTAVOG - PCTOTA(:,JP_AER_OC,2) = PAERO(:,JP_CH_OCj)*PMI(:,JP_AER_OC)/ZCSTAVOG -! primary black carbon - PCTOTA(:,JP_AER_BC,1) = PAERO(:,JP_CH_BCi)*PMI(:,JP_AER_BC)/ZCSTAVOG - PCTOTA(:,JP_AER_BC,2) = PAERO(:,JP_CH_BCj)*PMI(:,JP_AER_BC)/ZCSTAVOG -! - -IF (NSOA .EQ. 10) THEN -IF (TRIM(CORGANIC) == 'PUN') THEN - IF (GSCHEME == "RELACS2") THEN ! ReLACS2 scheme - PCTOTG(:,JP_AER_SOA1) = PCONC(:,JP_CH_URG1)*XURG1/ZCSTAVOG - PFRAC(:,JP_CH_URG1) = 1. - PMI(:,JP_AER_SOA1) = PFRAC(:,JP_CH_URG1) * XURG1 - - PCTOTG(:,JP_AER_SOA2) = PCONC(:,JP_CH_URG2) *XURG2/ZCSTAVOG +& - PCONC(:,JP_CH_RPG2)*XRPG2/ZCSTAVOG +& - PCONC(:,JP_CH_RP18)*XRP18/ZCSTAVOG - PFRAC(:,JP_CH_URG2) = PCONC(:,JP_CH_URG2) *XURG2/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RPG2) = PCONC(:,JP_CH_RPG2) *XRPG2/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP18) = PCONC(:,JP_CH_RP18) *XRP18/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PMI(:,JP_AER_SOA2) = PFRAC(:,JP_CH_URG2) * XURG2 + & - PFRAC(:,JP_CH_RPG2) * XRPG2 + & - PFRAC(:,JP_CH_RP18) * XRP18 - - - PCTOTG(:,JP_AER_SOA3) = PCONC(:,JP_CH_RPG3)*XRPG3/ZCSTAVOG - PFRAC(:,JP_CH_RPG3) = 1. - PMI(:,JP_AER_SOA3) = PFRAC(:,JP_CH_RPG3) * XRPG3 - - PCTOTG(:,JP_AER_SOA4) = PCONC(:,JP_CH_URG4)*XURG4/ZCSTAVOG - PFRAC(:,JP_CH_URG4) = 1. - PMI(:,JP_AER_SOA4) = PFRAC(:,JP_CH_URG4) * XURG4 - - PCTOTG(:,JP_AER_SOA5) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG +& - PCONC(:,JP_CH_RPR3)*XRPR3/ZCSTAVOG +& - PCONC(:,JP_CH_AP7) *XAP7/ZCSTAVOG - PFRAC(:,JP_CH_UR17) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_RPR3) = PCONC(:,JP_CH_RPR3) *XRPR3/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_AP7) = PCONC(:,JP_CH_AP7) *XAP7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PMI(:,JP_AER_SOA5) = PFRAC(:,JP_CH_UR17) *XUR17 + & - PFRAC(:,JP_CH_RPR3) *XRPR3 + & - PFRAC(:,JP_CH_AP7) *XAP7 - - PCTOTG(:,JP_AER_SOA6) = PCONC(:,JP_CH_URG6) *XURG6/ZCSTAVOG +& - PCONC(:,JP_CH_UR22) *XUR22/ZCSTAVOG - PFRAC(:,JP_CH_URG6) = PCONC(:,JP_CH_URG6) *XURG6/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PFRAC(:,JP_CH_UR22) = PCONC(:,JP_CH_UR22)*XUR22/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PMI(:,JP_AER_SOA6) = PFRAC(:,JP_CH_URG6) *XURG6 + & - PFRAC(:,JP_CH_UR22) *XUR22 - - PCTOTG(:,JP_AER_SOA7) = PCONC(:,JP_CH_URG7) *XURG7/ZCSTAVOG +& - PCONC(:,JP_CH_RPR4)*XRPR4/ZCSTAVOG +& - PCONC(:,JP_CH_RPR7)*XRPR7/ZCSTAVOG +& - PCONC(:,JP_CH_RPG7)*XRPG7/ZCSTAVOG - - PFRAC(:,JP_CH_URG7) = PCONC(:,JP_CH_URG7) *XURG7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPR4) = PCONC(:,JP_CH_RPR4) *XRPR4/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPR7) = PCONC(:,JP_CH_RPR7) *XRPR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPG7) = PCONC(:,JP_CH_RPG7) *XRPG7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PMI(:,JP_AER_SOA7) = PFRAC(:,JP_CH_URG7) * XURG7 + & - PFRAC(:,JP_CH_RPR4) * XRPR4 + & - PFRAC(:,JP_CH_RPR7) * XRPR7 + & - PFRAC(:,JP_CH_RPG7)* XRPG7 - - PCTOTG(:,JP_AER_SOA8) = PCONC(:,JP_CH_URG8) *XURG8/ZCSTAVOG - PFRAC(:,JP_CH_URG8) = 1. - PMI(:,JP_AER_SOA8) = PFRAC(:,JP_CH_URG8) *XURG8 - - PCTOTG(:,JP_AER_SOA9) = PCONC(:,JP_CH_URG9) *XURG9/ZCSTAVOG +& - PCONC(:,JP_CH_UR26) *XUR26/ZCSTAVOG - PFRAC(:,JP_CH_URG9) = PCONC(:,JP_CH_URG9) *XURG9/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR26) = PCONC(:,JP_CH_UR26) *XUR26/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PMI(:,JP_AER_SOA9) = PFRAC(:,JP_CH_URG9)*XURG9 + & - PFRAC(:,JP_CH_UR26)*XUR26 - - - PCTOTG(:,JP_AER_SOA10) = PCONC(:,JP_CH_URG10)*XURG10/ZCSTAVOG +& - PCONC(:,JP_CH_UR7) *XUR7/ZCSTAVOG +& - PCONC(:,JP_CH_UR8) *XUR8/ZCSTAVOG +& - PCONC(:,JP_CH_PAN8) *XPAN8/ZCSTAVOG - PFRAC(:,JP_CH_URG10)= PCONC(:,JP_CH_URG10)*XURG10/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR7) = PCONC(:,JP_CH_UR7) *XUR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR8) = PCONC(:,JP_CH_UR8) *XUR8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_PAN8) = PCONC(:,JP_CH_PAN8) *XPAN8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PMI(:,JP_AER_SOA10) = PFRAC(:,JP_CH_URG10)*XURG10 + & - PFRAC(:,JP_CH_UR7) *XUR7 + & - PFRAC(:,JP_CH_UR8) *XUR8 + & - PFRAC(:,JP_CH_PAN8) *XPAN8 - ELSE ! CACM scheme - PCTOTG(:,JP_AER_SOA1) = PCONC(:,JP_CH_UR21)*XUR21/ZCSTAVOG + & - PCONC(:,JP_CH_UR28)*XUR28/ZCSTAVOG - PFRAC(:,JP_CH_UR21) = PCONC(:,JP_CH_UR21) *XUR21/ZCSTAVOG / PCTOTG(:,JP_AER_SOA1) - PFRAC(:,JP_CH_UR28) = PCONC(:,JP_CH_UR28) *XUR28/ZCSTAVOG / PCTOTG(:,JP_AER_SOA1) - PMI(:,JP_AER_SOA1) = PFRAC(:,JP_CH_UR21) * XUR21 + & - PFRAC(:,JP_CH_UR28) * XUR28 - - PCTOTG(:,JP_AER_SOA2) = PCONC(:,JP_CH_UR29) *XUR29/ZCSTAVOG +& - PCONC(:,JP_CH_UR30) *XUR30/ZCSTAVOG +& - PCONC(:,JP_CH_RP13)*XRP13/ZCSTAVOG +& - PCONC(:,JP_CH_RP17)*XRP17/ZCSTAVOG +& - PCONC(:,JP_CH_RP18)*XRP18/ZCSTAVOG - PFRAC(:,JP_CH_UR29) = PCONC(:,JP_CH_UR29) *XUR29/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_UR30) = PCONC(:,JP_CH_UR30) *XUR30/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP13) = PCONC(:,JP_CH_RP13) *XRP13/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP17) = PCONC(:,JP_CH_RP17) *XRP17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP18) = PCONC(:,JP_CH_RP18) *XRP18/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PMI(:,JP_AER_SOA2) = PFRAC(:,JP_CH_UR29) * XUR29 + & - PFRAC(:,JP_CH_UR30) * XUR30 + & - PFRAC(:,JP_CH_RP13) * XRP13 + & - PFRAC(:,JP_CH_RP17) * XRP17 + & - PFRAC(:,JP_CH_RP18) * XRP18 - - - PCTOTG(:,JP_AER_SOA3) = PCONC(:,JP_CH_RPR9)*XRPR9/ZCSTAVOG + & - PCONC(:,JP_CH_RP12)*XRP12/ZCSTAVOG - PFRAC(:,JP_CH_RPR9) = PCONC(:,JP_CH_RPR9) *XRPR9/ZCSTAVOG / PCTOTG(:,JP_AER_SOA3) - PFRAC(:,JP_CH_RP12) = PCONC(:,JP_CH_RP12) *XRP12/ZCSTAVOG / PCTOTG(:,JP_AER_SOA3) - PMI(:,JP_AER_SOA3) = PFRAC(:,JP_CH_RPR9) * XRPR9 + & - PFRAC(:,JP_CH_RP12) * XRP12 - - PCTOTG(:,JP_AER_SOA4) = PCONC(:,JP_CH_UR3) *XUR3/ZCSTAVOG + & - PCONC(:,JP_CH_UR23)*XUR23/ZCSTAVOG - PFRAC(:,JP_CH_UR3) = PCONC(:,JP_CH_UR3) *XUR3/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PFRAC(:,JP_CH_UR23)= PCONC(:,JP_CH_UR23) *XUR23/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PMI(:,JP_AER_SOA4) = PFRAC(:,JP_CH_UR3) * XUR3 + & - PFRAC(:,JP_CH_UR23) * XUR23 - - PCTOTG(:,JP_AER_SOA5) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG +& - PCONC(:,JP_CH_RPR3)*XRPR3/ZCSTAVOG +& - PCONC(:,JP_CH_AP7) *XAP7/ZCSTAVOG - PFRAC(:,JP_CH_UR17) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_RPR3) = PCONC(:,JP_CH_RPR3) *XRPR3/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_AP7) = PCONC(:,JP_CH_AP7) *XAP7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PMI(:,JP_AER_SOA5) = PFRAC(:,JP_CH_UR17) *XUR17 + & - PFRAC(:,JP_CH_RPR3) *XRPR3 + & - PFRAC(:,JP_CH_AP7) *XAP7 - - PCTOTG(:,JP_AER_SOA6) = PCONC(:,JP_CH_UR31) *XUR31/ZCSTAVOG +& - PCONC(:,JP_CH_AP1) *XAP1 /ZCSTAVOG +& - PCONC(:,JP_CH_AP6) *XAP6 /ZCSTAVOG +& - PCONC(:,JP_CH_UR22) *XUR22/ZCSTAVOG - PFRAC(:,JP_CH_UR31) = PCONC(:,JP_CH_UR31) *XUR31/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PFRAC(:,JP_CH_AP1) = PCONC(:,JP_CH_AP1) *XAP1/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PFRAC(:,JP_CH_AP6) = PCONC(:,JP_CH_AP6) *XAP6/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PFRAC(:,JP_CH_UR22) = PCONC(:,JP_CH_UR22)*XUR22/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PMI(:,JP_AER_SOA6) = PFRAC(:,JP_CH_UR31) *XUR31 + & - PFRAC(:,JP_CH_AP1) *XAP1 + & - PFRAC(:,JP_CH_AP6) *XAP6 + & - PFRAC(:,JP_CH_UR22) *XUR22 - - PCTOTG(:,JP_AER_SOA7) = PCONC(:,JP_CH_ADAC)*XADAC/ZCSTAVOG +& - PCONC(:,JP_CH_UR2) *XUR2 /ZCSTAVOG +& - PCONC(:,JP_CH_UR14)*XUR14/ZCSTAVOG +& - PCONC(:,JP_CH_UR27)*XUR27/ZCSTAVOG +& - PCONC(:,JP_CH_RPR4)*XRPR4/ZCSTAVOG +& - PCONC(:,JP_CH_RPR7)*XRPR7/ZCSTAVOG +& - PCONC(:,JP_CH_RP19)*XRP19/ZCSTAVOG +& - PCONC(:,JP_CH_RP14)*XRP14/ZCSTAVOG - - - PFRAC(:,JP_CH_ADAC) = PCONC(:,JP_CH_ADAC) *XADAC/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_UR2 ) = PCONC(:,JP_CH_UR2 ) *XUR2 /ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_UR14) = PCONC(:,JP_CH_UR14) *XUR14/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPR4) = PCONC(:,JP_CH_RPR4) *XRPR4/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPR7) = PCONC(:,JP_CH_RPR7) *XRPR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP19) = PCONC(:,JP_CH_RP19) *XRP19/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP14) = PCONC(:,JP_CH_RP14) *XRP14/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PMI(:,JP_AER_SOA7) = PFRAC(:,JP_CH_ADAC) * XADAC + & - PFRAC(:,JP_CH_UR2 ) * XUR2 + & - PFRAC(:,JP_CH_UR14) * XUR14 + & - PFRAC(:,JP_CH_RPR4) * XRPR4 + & - PFRAC(:,JP_CH_RPR7) * XRPR7 + & - PFRAC(:,JP_CH_RP19) * XRP19 + & - PFRAC(:,JP_CH_RP14) * XRP14 - - PCTOTG(:,JP_AER_SOA8) = PCONC(:,JP_CH_UR11) *XUR11/ZCSTAVOG + & - PCONC(:,JP_CH_UR15) *XUR15/ZCSTAVOG + & - PCONC(:,JP_CH_AP10) *XAP10/ZCSTAVOG - PFRAC(:,JP_CH_UR11) = PCONC(:,JP_CH_UR11) *XUR11/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PFRAC(:,JP_CH_UR15) = PCONC(:,JP_CH_UR15) *XUR15/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PFRAC(:,JP_CH_AP10) = PCONC(:,JP_CH_AP10) *XAP10/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PMI(:,JP_AER_SOA8) = PFRAC(:,JP_CH_UR11) *XUR11 + & - PFRAC(:,JP_CH_UR15) *XUR15 + & - PFRAC(:,JP_CH_AP10) *XAP10 - - PCTOTG(:,JP_AER_SOA9) = PCONC(:,JP_CH_UR20) *XUR20/ZCSTAVOG +& - PCONC(:,JP_CH_UR34) *XUR34/ZCSTAVOG +& - PCONC(:,JP_CH_AP11) *XAP11/ZCSTAVOG +& - PCONC(:,JP_CH_AP12) *XAP12/ZCSTAVOG +& - PCONC(:,JP_CH_UR26) *XUR26/ZCSTAVOG - PFRAC(:,JP_CH_UR20) = PCONC(:,JP_CH_UR20) *XUR20/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR34) = PCONC(:,JP_CH_UR34) *XUR34/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_AP11) = PCONC(:,JP_CH_AP11) *XAP11/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_AP12) = PCONC(:,JP_CH_AP12) *XAP12/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR26) = PCONC(:,JP_CH_UR26) *XUR26/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PMI(:,JP_AER_SOA9) = PFRAC(:,JP_CH_UR20)*XUR20 + & - PFRAC(:,JP_CH_UR34)*XUR34 + & - PFRAC(:,JP_CH_AP11)*XAP11 + & - PFRAC(:,JP_CH_AP12)*XAP12 + & - PFRAC(:,JP_CH_UR26)*XUR26 - - - PCTOTG(:,JP_AER_SOA10) = PCONC(:,JP_CH_PAN8)*XPAN8/ZCSTAVOG +& - PCONC(:,JP_CH_UR5) *XUR5/ZCSTAVOG +& - PCONC(:,JP_CH_UR6) *XUR6/ZCSTAVOG +& - PCONC(:,JP_CH_UR7) *XUR7/ZCSTAVOG +& - PCONC(:,JP_CH_UR8) *XUR8/ZCSTAVOG +& - PCONC(:,JP_CH_AP8) *XAP8/ZCSTAVOG - PFRAC(:,JP_CH_UR5) = PCONC(:,JP_CH_UR5) *XUR5/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR6) = PCONC(:,JP_CH_UR6) *XUR6/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR7) = PCONC(:,JP_CH_UR7) *XUR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR8) = PCONC(:,JP_CH_UR8) *XUR8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_AP8) = PCONC(:,JP_CH_AP8) *XAP8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_PAN8) = PCONC(:,JP_CH_PAN8) *XPAN8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PMI(:,JP_AER_SOA10) = PFRAC(:,JP_CH_UR5) *XUR5 + & - PFRAC(:,JP_CH_UR6) *XUR6 + & - PFRAC(:,JP_CH_UR7) *XUR7 + & - PFRAC(:,JP_CH_UR8) *XUR8 + & - PFRAC(:,JP_CH_AP8) *XAP8 + & - PFRAC(:,JP_CH_PAN8) *XPAN8 - - END IF -END IF -IF (TRIM(CORGANIC) == 'MPMPO') THEN - IF (GSCHEME == "RELACS2") THEN ! ReLACS2 scheme - PCTOTG(:,JP_AER_SOA1) = PCONC(:,JP_CH_URG6)*XURG6/ZCSTAVOG - PFRAC(:,JP_CH_URG6) = 1. - PMI(:,JP_AER_SOA1) = PFRAC(:,JP_CH_URG6) * XURG6 - - PCTOTG(:,JP_AER_SOA2) = PCONC(:,JP_CH_URG7) *XURG7/ZCSTAVOG +& - PCONC(:,JP_CH_RPG7)*XRPG7/ZCSTAVOG +& - PCONC(:,JP_CH_RPR7)*XRPR7/ZCSTAVOG - PFRAC(:,JP_CH_URG7) = PCONC(:,JP_CH_URG7) *XURG7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RPG7) = PCONC(:,JP_CH_RPG7) *XRPG7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RPR7) = PCONC(:,JP_CH_RPR7) *XRPR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PMI(:,JP_AER_SOA2) = PFRAC(:,JP_CH_URG7) * XURG7 + & - PFRAC(:,JP_CH_RPG7) * XRPG7 + & - PFRAC(:,JP_CH_RPR7) * XRPR7 - - PCTOTG(:,JP_AER_SOA3) = PCONC(:,JP_CH_URG8)*XURG8/ZCSTAVOG - PFRAC(:,JP_CH_URG8) = 1. - PMI(:,JP_AER_SOA3) = PFRAC(:,JP_CH_URG8) * XURG8 - - PCTOTG(:,JP_AER_SOA4) = PCONC(:,JP_CH_URG9)*XURG9/ZCSTAVOG - PFRAC(:,JP_CH_URG9) = PCONC(:,JP_CH_URG9) *XURG9/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PMI(:,JP_AER_SOA4) = PFRAC(:,JP_CH_URG9) * XURG9 - - PCTOTG(:,JP_AER_SOA5) = PCONC(:,JP_CH_URG10)*XURG10/ZCSTAVOG +& - PCONC(:,JP_CH_AP7)* XAP7/ZCSTAVOG - PFRAC(:,JP_CH_URG10) = PCONC(:,JP_CH_URG10) * XURG10/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_AP7) = PCONC(:,JP_CH_AP7) * XAP7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PMI(:,JP_AER_SOA5) = PFRAC(:,JP_CH_URG10) * XURG10 + & - PFRAC(:,JP_CH_AP7) * XAP7 - - PCTOTG(:,JP_AER_SOA6) = PCONC(:,JP_CH_URG1) * XURG1/ZCSTAVOG - PFRAC(:,JP_CH_URG1) = PCONC(:,JP_CH_URG1) * XURG1/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PMI(:,JP_AER_SOA6) = PFRAC(:,JP_CH_URG1) * XURG1 - - PCTOTG(:,JP_AER_SOA7) = PCONC(:,JP_CH_URG2) * XURG2/ZCSTAVOG +& - PCONC(:,JP_CH_RPG2)* XRPG2/ZCSTAVOG +& - PCONC(:,JP_CH_UR26)* XUR26/ZCSTAVOG +& - PCONC(:,JP_CH_RP18)* XRP18/ZCSTAVOG - - PFRAC(:,JP_CH_URG2) = PCONC(:,JP_CH_URG2) * XURG2/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_UR26) = PCONC(:,JP_CH_UR26) * XUR26/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RPG2) = PCONC(:,JP_CH_RPG2) * XRPG2/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP18) = PCONC(:,JP_CH_RP18) * XRP18/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PMI(:,JP_AER_SOA7) = PFRAC(:,JP_CH_URG2)* XURG2 + & - PFRAC(:,JP_CH_UR26)* XUR26 + & - PFRAC(:,JP_CH_RPG2)* XRPG2 + & - PFRAC(:,JP_CH_RP18)* XRP18 - - PCTOTG(:,JP_AER_SOA8) = PCONC(:,JP_CH_RPG3) *XRPG3/ZCSTAVOG - PFRAC(:,JP_CH_RPG3) = PCONC(:,JP_CH_RPG3) *XRPG3/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PMI(:,JP_AER_SOA8) = PFRAC(:,JP_CH_RPG3) *XRPG3 - - PCTOTG(:,JP_AER_SOA9) = PCONC(:,JP_CH_URG4) *XURG4/ZCSTAVOG + & - PCONC(:,JP_CH_UR8)* XUR8/ZCSTAVOG - PFRAC(:,JP_CH_URG4) = PCONC(:,JP_CH_URG4) * XURG4/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR8) = PCONC(:,JP_CH_UR8) * XUR8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PMI(:,JP_AER_SOA9) = PFRAC(:,JP_CH_URG4)*XURG4 + & - PFRAC(:,JP_CH_UR8)*XUR8 - - PCTOTG(:,JP_AER_SOA10) = PCONC(:,JP_CH_UR7)*XUR7/ZCSTAVOG +& - PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG - PFRAC(:,JP_CH_UR7)= PCONC(:,JP_CH_UR7)*XUR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR17) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PMI(:,JP_AER_SOA10) = PFRAC(:,JP_CH_UR7)*XUR7 + & - PFRAC(:,JP_CH_UR17)*XUR17 - - - ELSE ! CACM scheme - - PCTOTG(:,JP_AER_SOA1) = PCONC(:,JP_CH_AP1) *XAP1/ZCSTAVOG +& - PCONC(:,JP_CH_AP6) *XAP6/ZCSTAVOG +& - PCONC(:,JP_CH_UR31)*XUR31/ZCSTAVOG - PFRAC(:,JP_CH_AP1) = PCONC(:,JP_CH_AP1) *XAP1/ZCSTAVOG / PCTOTG(:,JP_AER_SOA1) - PFRAC(:,JP_CH_AP6) = PCONC(:,JP_CH_AP6) *XAP6/ZCSTAVOG / PCTOTG(:,JP_AER_SOA1) - PFRAC(:,JP_CH_UR31) = PCONC(:,JP_CH_UR31) *XUR31/ZCSTAVOG / PCTOTG(:,JP_AER_SOA1) - PMI(:,JP_AER_SOA1) = PFRAC(:,JP_CH_AP1) * XAP1 + & - PFRAC(:,JP_CH_AP6) * XAP6 + & - PFRAC(:,JP_CH_UR31)* XUR31 - - PCTOTG(:,JP_AER_SOA2) = PCONC(:,JP_CH_UR2) *XUR2/ZCSTAVOG +& - PCONC(:,JP_CH_UR14) *XUR14/ZCSTAVOG +& - PCONC(:,JP_CH_ADAC) *XADAC/ZCSTAVOG +& - PCONC(:,JP_CH_RP14)*XRP14/ZCSTAVOG +& - PCONC(:,JP_CH_RP19)*XRP19/ZCSTAVOG +& - PCONC(:,JP_CH_RPR7)*XRPR7/ZCSTAVOG - PFRAC(:,JP_CH_UR2) = PCONC(:,JP_CH_UR2) *XUR2/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_UR14) = PCONC(:,JP_CH_UR14) *XUR14/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP14) = PCONC(:,JP_CH_RP14) *XRP14/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RP19) = PCONC(:,JP_CH_RP19) *XRP19/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_RPR7) = PCONC(:,JP_CH_RPR7) *XRPR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PFRAC(:,JP_CH_ADAC) = PCONC(:,JP_CH_ADAC) *XADAC/ZCSTAVOG / PCTOTG(:,JP_AER_SOA2) - PMI(:,JP_AER_SOA2) = PFRAC(:,JP_CH_UR2) * XUR2 + & - PFRAC(:,JP_CH_UR14) * XUR14 + & - PFRAC(:,JP_CH_ADAC) * XADAC + & - PFRAC(:,JP_CH_RP14) * XRP14 + & - PFRAC(:,JP_CH_RP19) * XRP19 + & - PFRAC(:,JP_CH_RPR7) * XRPR7 - - PCTOTG(:,JP_AER_SOA3) = PCONC(:,JP_CH_AP10)*XAP10/ZCSTAVOG + & - PCONC(:,JP_CH_UR11)*XUR11/ZCSTAVOG + & - PCONC(:,JP_CH_UR15)*XUR15/ZCSTAVOG - PFRAC(:,JP_CH_AP10) = PCONC(:,JP_CH_AP10) *XAP10/ZCSTAVOG / PCTOTG(:,JP_AER_SOA3) - PFRAC(:,JP_CH_UR11) = PCONC(:,JP_CH_UR11) *XUR11/ZCSTAVOG / PCTOTG(:,JP_AER_SOA3) - PFRAC(:,JP_CH_UR15) = PCONC(:,JP_CH_UR15) *XUR15/ZCSTAVOG / PCTOTG(:,JP_AER_SOA3) - PMI(:,JP_AER_SOA3) = PFRAC(:,JP_CH_AP10) * XAP10 + & - PFRAC(:,JP_CH_UR11) * XUR15 + & - PFRAC(:,JP_CH_UR15) * XUR15 - - PCTOTG(:,JP_AER_SOA4) = PCONC(:,JP_CH_AP11)*XAP11/ZCSTAVOG + & - PCONC(:,JP_CH_AP12)*XAP12/ZCSTAVOG + & - PCONC(:,JP_CH_UR20)*XUR20/ZCSTAVOG + & - PCONC(:,JP_CH_UR34)*XUR34/ZCSTAVOG - PFRAC(:,JP_CH_AP11) = PCONC(:,JP_CH_AP11) *XAP11/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PFRAC(:,JP_CH_AP12) = PCONC(:,JP_CH_AP12) *XAP12/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PFRAC(:,JP_CH_UR20) = PCONC(:,JP_CH_UR20) *XUR20/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PFRAC(:,JP_CH_UR34) = PCONC(:,JP_CH_UR34) *XUR34/ZCSTAVOG / PCTOTG(:,JP_AER_SOA4) - PMI(:,JP_AER_SOA4) = PFRAC(:,JP_CH_AP11) * XAP11 + & - PFRAC(:,JP_CH_AP11) * XAP11 + & - PFRAC(:,JP_CH_UR20) * XUR20 + & - PFRAC(:,JP_CH_UR34) * XUR34 - - PCTOTG(:,JP_AER_SOA5) = PCONC(:,JP_CH_UR5)*XUR5/ZCSTAVOG + & - PCONC(:,JP_CH_UR6)*XUR6/ZCSTAVOG + & - PCONC(:,JP_CH_AP8)*XAP8/ZCSTAVOG + & - PCONC(:,JP_CH_AP7)* XAP7/ZCSTAVOG - PFRAC(:,JP_CH_UR5) = PCONC(:,JP_CH_UR5) * XUR5/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_UR6) = PCONC(:,JP_CH_UR6) * XUR6/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_AP7) = PCONC(:,JP_CH_AP7) * XAP7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PFRAC(:,JP_CH_AP8) = PCONC(:,JP_CH_AP8) * XAP8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA5) - PMI(:,JP_AER_SOA5) = PFRAC(:,JP_CH_UR5) * XUR5 + & - PFRAC(:,JP_CH_UR6) * XUR6 + & - PFRAC(:,JP_CH_AP8) * XAP8 + & - PFRAC(:,JP_CH_AP7) * XAP7 - - PCTOTG(:,JP_AER_SOA6) = PCONC(:,JP_CH_UR21) * XUR21/ZCSTAVOG + & - PCONC(:,JP_CH_UR28) * XUR28/ZCSTAVOG - PFRAC(:,JP_CH_UR21) = PCONC(:,JP_CH_UR21) * XUR21/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PFRAC(:,JP_CH_UR28) = PCONC(:,JP_CH_UR28) * XUR28/ZCSTAVOG / PCTOTG(:,JP_AER_SOA6) - PMI(:,JP_AER_SOA6) = PFRAC(:,JP_CH_UR21) * XUR21 + & - PFRAC(:,JP_CH_UR28) * XUR28 - - PCTOTG(:,JP_AER_SOA7) = PCONC(:,JP_CH_UR29)* XUR29/ZCSTAVOG +& - PCONC(:,JP_CH_UR26)* XUR26/ZCSTAVOG +& - PCONC(:,JP_CH_UR30)* XUR30/ZCSTAVOG +& - PCONC(:,JP_CH_RP13)* XRP13/ZCSTAVOG +& - PCONC(:,JP_CH_RP17)* XRP17/ZCSTAVOG +& - PCONC(:,JP_CH_RP18)* XRP18/ZCSTAVOG - - PFRAC(:,JP_CH_UR29) = PCONC(:,JP_CH_UR29) * XUR29/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_UR26) = PCONC(:,JP_CH_UR26) * XUR26/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_UR30) = PCONC(:,JP_CH_UR30) * XUR30/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP13) = PCONC(:,JP_CH_RP13) * XRP13/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP17) = PCONC(:,JP_CH_RP17) * XRP17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PFRAC(:,JP_CH_RP18) = PCONC(:,JP_CH_RP18) * XRP18/ZCSTAVOG / PCTOTG(:,JP_AER_SOA7) - PMI(:,JP_AER_SOA7) = PFRAC(:,JP_CH_UR29)* XUR29 + & - PFRAC(:,JP_CH_UR26)* XUR26 + & - PFRAC(:,JP_CH_UR30)* XUR30 + & - PFRAC(:,JP_CH_RP13)* XRP13 + & - PFRAC(:,JP_CH_RP17)* XRP17 + & - PFRAC(:,JP_CH_RP18)* XRP18 - - PCTOTG(:,JP_AER_SOA8) = PCONC(:,JP_CH_RPR9) *XRPR9/ZCSTAVOG + & - PCONC(:,JP_CH_RP12) *XRP12/ZCSTAVOG - PFRAC(:,JP_CH_RPR9) = PCONC(:,JP_CH_RPR9) *XRPR9/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PFRAC(:,JP_CH_RP12) = PCONC(:,JP_CH_RP12) *XRP12/ZCSTAVOG / PCTOTG(:,JP_AER_SOA8) - PMI(:,JP_AER_SOA8) = PFRAC(:,JP_CH_RPR9) *XRPR9 + & - PFRAC(:,JP_CH_RP12) *XRP12 - - PCTOTG(:,JP_AER_SOA9) = PCONC(:,JP_CH_UR3) *XUR3/ZCSTAVOG + & - PCONC(:,JP_CH_UR23)*XUR23/ZCSTAVOG + & - PCONC(:,JP_CH_UR8) *XUR8/ZCSTAVOG - PFRAC(:,JP_CH_UR3) = PCONC(:,JP_CH_UR3) * XUR3 /ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR23) = PCONC(:,JP_CH_UR23) * XUR23/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PFRAC(:,JP_CH_UR8) = PCONC(:,JP_CH_UR8) * XUR8/ZCSTAVOG / PCTOTG(:,JP_AER_SOA9) - PMI(:,JP_AER_SOA9) = PFRAC(:,JP_CH_UR3) *XUR3 + & - PFRAC(:,JP_CH_UR23)*XUR23+ & - PFRAC(:,JP_CH_UR8)*XUR8 - - PCTOTG(:,JP_AER_SOA10) = PCONC(:,JP_CH_UR7)*XUR7/ZCSTAVOG +& - PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG - PFRAC(:,JP_CH_UR7)= PCONC(:,JP_CH_UR7)*XUR7/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PFRAC(:,JP_CH_UR17) = PCONC(:,JP_CH_UR17) *XUR17/ZCSTAVOG / PCTOTG(:,JP_AER_SOA10) - PMI(:,JP_AER_SOA10) = PFRAC(:,JP_CH_UR7)*XUR7 + & - PFRAC(:,JP_CH_UR17)*XUR17 - - END IF -END IF - - - PCTOTA(:,JP_AER_SOA1,1) = PAERO(:,JP_CH_SOA1i)*PMI(:,JP_AER_SOA1)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA1,2) = PAERO(:,JP_CH_SOA1j)*PMI(:,JP_AER_SOA1)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA2,1) = PAERO(:,JP_CH_SOA2i)*PMI(:,JP_AER_SOA2)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA2,2) = PAERO(:,JP_CH_SOA2j)*PMI(:,JP_AER_SOA2)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA3,1) = PAERO(:,JP_CH_SOA3i)*PMI(:,JP_AER_SOA3)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA3,2) = PAERO(:,JP_CH_SOA3j)*PMI(:,JP_AER_SOA3)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA4,1) = PAERO(:,JP_CH_SOA4i)*PMI(:,JP_AER_SOA4)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA4,2) = PAERO(:,JP_CH_SOA4j)*PMI(:,JP_AER_SOA4)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA5,1) = PAERO(:,JP_CH_SOA5i)*PMI(:,JP_AER_SOA5)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA5,2) = PAERO(:,JP_CH_SOA5j)*PMI(:,JP_AER_SOA5)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA6,1) = PAERO(:,JP_CH_SOA6i)*PMI(:,JP_AER_SOA6)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA6,2) = PAERO(:,JP_CH_SOA6j)*PMI(:,JP_AER_SOA6)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA7,1) = PAERO(:,JP_CH_SOA7i)*PMI(:,JP_AER_SOA7)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA7,2) = PAERO(:,JP_CH_SOA7j)*PMI(:,JP_AER_SOA7)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA8,1) = PAERO(:,JP_CH_SOA8i)*PMI(:,JP_AER_SOA8)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA8,2) = PAERO(:,JP_CH_SOA8j)*PMI(:,JP_AER_SOA8)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA9,1) = PAERO(:,JP_CH_SOA9i)*PMI(:,JP_AER_SOA9)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA9,2) = PAERO(:,JP_CH_SOA9j)*PMI(:,JP_AER_SOA9)/ZCSTAVOG - - PCTOTA(:,JP_AER_SOA10,1) = PAERO(:,JP_CH_SOA10i)*PMI(:,JP_AER_SOA10)/ZCSTAVOG - PCTOTA(:,JP_AER_SOA10,2) = PAERO(:,JP_CH_SOA10j)*PMI(:,JP_AER_SOA10)/ZCSTAVOG - -END IF -! - - PCTOTA(:,:,:) = MAX(PCTOTA(:,:,:),1.E-80) -! -!* 1.n transfer moment 0 from gas to aerosol variable -! - PM(:,1) = MAX(PAERO(:,JP_CH_M0i) * 1E+6, XN0IMIN) ! convert from 1/cc to 1/m3 - PM(:,4) = MAX(PAERO(:,JP_CH_M0j) * 1E+6, XN0JMIN) ! convert from 1/cc to 1/m3 - -! -! -!* 1.n calculate moment 3 from total aerosol mass -! - PM(:,2) = 0. - PM(:,5) = 0. - DO JJ = 1,NSP+NCARB+NSOA - PM(:,2) = PM(:,2)+PCTOTA(:,JJ,1)/XFAC(JJ) - PM(:,5) = PM(:,5)+PCTOTA(:,JJ,2)/XFAC(JJ) - ENDDO - - !* 1.n set moment 6 - -IF (LVARSIGI) THEN ! set M6 variable standard deviation - PM(:,3) = MAX(PAERO(:,JP_CH_M6i), 1E-80) -ELSE ! fixed standard deviation - PM(:,3) = PM(:,1) & - * ( (PM(:,2)/PM(:,1))**(1./3.) & - * exp(-(3./2.)*log(XINISIGI)**2))**6 & - * exp(18.*log(XINISIGI)**2) -END IF - -IF (LVARSIGJ) THEN ! set M6 variable standard deviation - PM(:,6) = MAX(PAERO(:,JP_CH_M6j), 1E-80) -ELSE ! fixed standard deviation - PM(:,6) = PM(:,4) & - * ( (PM(:,5)/PM(:,4))**(1./3.) & - * exp(-(3./2.)*log(XINISIGJ)**2))**6 & - * exp(18.*log(XINISIGJ)**2) -END IF - - - -!********************************************* -! Calcul de PCCTOT -!********************************************** - -DO JN=1,JPMODE - ZSUM(:)=0. - DO JJ=1,NSP+NCARB+NSOA - ZSUM(:)=ZSUM(:)+PCTOTA(:,JJ,JN)/XRHOI(JJ) - END DO - - DO JJ=1,NSP+NCARB+NSOA - PCCTOT(:,JJ,JN)=PCTOTA(:,JJ,JN)/(XRHOI(JJ)*ZSUM(:)) - ENDDO -END DO - - ! compute the new particle density -DO JN=1,JPMODE - PRHOP0(:,JN)=0. - DO JJ=1,NSP+NCARB+NSOA - PRHOP0(:,JN)=PRHOP0(:,JN)+PCCTOT(:,JJ,JN)*XRHOI(JJ) - ENDDO -ENDDO -! -!* 1.n set moment 6 (fixed or variable) - -DO JN=1,JPMODE - - IF (JN .EQ. 1) THEN - - IF (LVARSIGI) THEN ! variable dispersion for mode 1 - - ZSIGMA(:)=PM(:,NM3(JN))**2/(PM(:,NM0(JN))*PM(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGIMAX) - ZSIGMA(:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGIMIN) - ZSIGMA(:) = XSIGIMIN - END WHERE - - ELSE ! fixed dispersion for mode 1 - ZSIGMA(:) = XINISIGI - END IF - END IF - -! - IF (JN .EQ. 2) THEN - - IF (LVARSIGJ) THEN ! variable dispersion for mode 2 - - ZSIGMA(:)=PM(:,NM3(JN))**2/(PM(:,NM0(JN))*PM(:,NM6(JN))) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGJMAX) - ZSIGMA(:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGJMIN) - ZSIGMA(:) = XSIGJMIN - END WHERE - - ELSE ! fixed dispersion for mode 2 - ZSIGMA(:) = XINISIGJ - END IF - END IF - - -PSIG0(:,JN) = LOG(ZSIGMA(:)) -PN0(:,JN) = PM(:,NM0(JN)) - -PM(:,NM6(JN)) = PM(:,NM0(JN)) & - * ( (PM(:,NM3(JN))/PM(:,NM0(JN)))**(1./3.) * exp(-(3./2.)*log(ZSIGMA(:))**2))**6 & - * exp(18.*log(ZSIGMA(:))**2) - -PRG0(:,JN)= (PM(:,NM3(JN))**4/(PM(:,NM6(JN)) * PM(:,NM0(JN))**3))**(1./6.) - -PMASK(:,JN) = 0. -WHERE ( (PM(:,NM0(JN)) > ZPMIN(NM0(JN))).AND.& - (PM(:,NM3(JN)) > ZPMIN(NM3(JN))).AND.& - (PM(:,NM6(JN)) > ZPMIN(NM6(JN))) ) -PMASK(:,JN) = 1. -END WHERE - -ENDDO - -ELSE -! -!* 2. TRANSFER FROM AEROSOL TO GAS MODULE -! ------------------------------------ -! -! -!* 2.n transfer aerosol mass from aerosol to gas variables -! -! gas phase species - PCONC(:,JP_CH_HNO3) = PCTOTG(:,JP_AER_NO3g) *ZCSTAVOG / XHNO3 - PCONC(:,JP_CH_NH3) = PCTOTG(:,JP_AER_NH3g) *ZCSTAVOG / XNH3 -! -! aerosol phase - PAERO(:,JP_CH_SO4i) = PCTOTA(:,JP_AER_SO4,1)*ZCSTAVOG / PMI(:,JP_AER_SO4) - PAERO(:,JP_CH_SO4j) = PCTOTA(:,JP_AER_SO4,2)*ZCSTAVOG / PMI(:,JP_AER_SO4) - PAERO(:,JP_CH_NO3i) = PCTOTA(:,JP_AER_NO3,1)*ZCSTAVOG / PMI(:,JP_AER_NO3) - PAERO(:,JP_CH_NO3j) = PCTOTA(:,JP_AER_NO3,2)*ZCSTAVOG / PMI(:,JP_AER_NO3) - PAERO(:,JP_CH_NH3i) = PCTOTA(:,JP_AER_NH3,1)*ZCSTAVOG / PMI(:,JP_AER_NH3) - PAERO(:,JP_CH_NH3j) = PCTOTA(:,JP_AER_NH3,2)*ZCSTAVOG / PMI(:,JP_AER_NH3) -! -! water - PAERO(:,JP_CH_H2Oi) = PCTOTA(:,JP_AER_H2O,1)*ZCSTAVOG / PMI(:,JP_AER_H2O) - PAERO(:,JP_CH_H2Oj) = PCTOTA(:,JP_AER_H2O,2)*ZCSTAVOG / PMI(:,JP_AER_H2O) -! -! primary organic carbon - PAERO(:,JP_CH_OCi) = PCTOTA(:,JP_AER_OC,1)*ZCSTAVOG / PMI(:,JP_AER_OC) - PAERO(:,JP_CH_OCj) = PCTOTA(:,JP_AER_OC,2)*ZCSTAVOG / PMI(:,JP_AER_OC) -! -! primary black carbon - PAERO(:,JP_CH_BCi) = PCTOTA(:,JP_AER_BC,1)*ZCSTAVOG / PMI(:,JP_AER_BC) - PAERO(:,JP_CH_BCj) = PCTOTA(:,JP_AER_BC,2)*ZCSTAVOG / PMI(:,JP_AER_BC) -! -IF (NSOA .EQ. 10) THEN -! Secondary organic carbon - PAERO(:,JP_CH_SOA1i) = PCTOTA(:,JP_AER_SOA1,1)*ZCSTAVOG / PMI(:,JP_AER_SOA1) - PAERO(:,JP_CH_SOA1j) = PCTOTA(:,JP_AER_SOA1,2)*ZCSTAVOG / PMI(:,JP_AER_SOA1) - - PAERO(:,JP_CH_SOA2i) = PCTOTA(:,JP_AER_SOA2,1)*ZCSTAVOG / PMI(:,JP_AER_SOA2) - PAERO(:,JP_CH_SOA2j) = PCTOTA(:,JP_AER_SOA2,2)*ZCSTAVOG / PMI(:,JP_AER_SOA2) - - PAERO(:,JP_CH_SOA3i) = PCTOTA(:,JP_AER_SOA3,1)*ZCSTAVOG / PMI(:,JP_AER_SOA3) - PAERO(:,JP_CH_SOA3j) = PCTOTA(:,JP_AER_SOA3,2)*ZCSTAVOG / PMI(:,JP_AER_SOA3) - - PAERO(:,JP_CH_SOA4i) = PCTOTA(:,JP_AER_SOA4,1)*ZCSTAVOG / PMI(:,JP_AER_SOA4) - PAERO(:,JP_CH_SOA4j) = PCTOTA(:,JP_AER_SOA4,2)*ZCSTAVOG / PMI(:,JP_AER_SOA4) - - PAERO(:,JP_CH_SOA5i) = PCTOTA(:,JP_AER_SOA5,1)*ZCSTAVOG / PMI(:,JP_AER_SOA5) - PAERO(:,JP_CH_SOA5j) = PCTOTA(:,JP_AER_SOA5,2)*ZCSTAVOG / PMI(:,JP_AER_SOA5) - - PAERO(:,JP_CH_SOA6i) = PCTOTA(:,JP_AER_SOA6,1)*ZCSTAVOG / PMI(:,JP_AER_SOA6) - PAERO(:,JP_CH_SOA6j) = PCTOTA(:,JP_AER_SOA6,2)*ZCSTAVOG / PMI(:,JP_AER_SOA6) - - PAERO(:,JP_CH_SOA7i) = PCTOTA(:,JP_AER_SOA7,1)*ZCSTAVOG / PMI(:,JP_AER_SOA7) - PAERO(:,JP_CH_SOA7j) = PCTOTA(:,JP_AER_SOA7,2)*ZCSTAVOG / PMI(:,JP_AER_SOA7) - - PAERO(:,JP_CH_SOA8i) = PCTOTA(:,JP_AER_SOA8,1)*ZCSTAVOG / PMI(:,JP_AER_SOA8) - PAERO(:,JP_CH_SOA8j) = PCTOTA(:,JP_AER_SOA8,2)*ZCSTAVOG / PMI(:,JP_AER_SOA8) - - PAERO(:,JP_CH_SOA9i) = PCTOTA(:,JP_AER_SOA9,1)*ZCSTAVOG / PMI(:,JP_AER_SOA9) - PAERO(:,JP_CH_SOA9j) = PCTOTA(:,JP_AER_SOA9,2)*ZCSTAVOG / PMI(:,JP_AER_SOA9) - - PAERO(:,JP_CH_SOA10i) = PCTOTA(:,JP_AER_SOA10,1)*ZCSTAVOG / PMI(:,JP_AER_SOA10) - PAERO(:,JP_CH_SOA10j) = PCTOTA(:,JP_AER_SOA10,2)*ZCSTAVOG / PMI(:,JP_AER_SOA10) - -IF (TRIM(CORGANIC) == 'PUN') THEN - IF (GSCHEME == "RELACS2") THEN ! ReLACS2 scheme - PCONC(:,JP_CH_URG1) = PFRAC(:,JP_CH_URG1) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XURG1 - - PCONC(:,JP_CH_URG2) = PFRAC(:,JP_CH_URG2) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XURG2 - PCONC(:,JP_CH_RPG2) = PFRAC(:,JP_CH_RPG2) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRPG2 - PCONC(:,JP_CH_RP18) = PFRAC(:,JP_CH_RP18) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP18 - - PCONC(:,JP_CH_RPG3) = PFRAC(:,JP_CH_RPG3) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XRPG3 - - PCONC(:,JP_CH_URG4) = PFRAC(:,JP_CH_URG4) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XURG4 - - PCONC(:,JP_CH_UR17) = PFRAC(:,JP_CH_UR17) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XUR17 - - PCONC(:,JP_CH_RPR3) = PFRAC(:,JP_CH_RPR3) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XRPR3 - PCONC(:,JP_CH_AP7) = PFRAC(:,JP_CH_AP7) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XAP7 - - PCONC(:,JP_CH_UR22) = PFRAC(:,JP_CH_UR22) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XUR22 - PCONC(:,JP_CH_URG6) = PFRAC(:,JP_CH_URG6) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XURG6 - - PCONC(:,JP_CH_URG7) = PFRAC(:,JP_CH_URG7) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XURG7 - PCONC(:,JP_CH_RPG7) = PFRAC(:,JP_CH_RPG7) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPG7 - PCONC(:,JP_CH_RPR4) = PFRAC(:,JP_CH_RPR4) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPR4 - PCONC(:,JP_CH_RPR7) = PFRAC(:,JP_CH_RPR7) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPR7 - - PCONC(:,JP_CH_URG8) = PFRAC(:,JP_CH_URG8) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XURG8 - - PCONC(:,JP_CH_URG9) = PFRAC(:,JP_CH_URG9) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XURG9 - PCONC(:,JP_CH_UR26) = PFRAC(:,JP_CH_UR26) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR26 - - PCONC(:,JP_CH_URG10) = PFRAC(:,JP_CH_URG10)* PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XURG10 - PCONC(:,JP_CH_UR7) = PFRAC(:,JP_CH_UR7) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR7 - PCONC(:,JP_CH_UR8) = PFRAC(:,JP_CH_UR8) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR8 - PCONC(:,JP_CH_PAN8) = PFRAC(:,JP_CH_PAN8) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XPAN8 - - ELSE ! CACM scheme - PCONC(:,JP_CH_UR21) = PFRAC(:,JP_CH_UR21) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XUR21 - PCONC(:,JP_CH_UR28) = PFRAC(:,JP_CH_UR28) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XUR28 - - PCONC(:,JP_CH_UR29) = PFRAC(:,JP_CH_UR29) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XUR29 - PCONC(:,JP_CH_UR30) = PFRAC(:,JP_CH_UR30) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XUR30 - PCONC(:,JP_CH_RP13) = PFRAC(:,JP_CH_RP13) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP13 - PCONC(:,JP_CH_RP17) = PFRAC(:,JP_CH_RP17) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP17 - PCONC(:,JP_CH_RP18) = PFRAC(:,JP_CH_RP18) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP18 - - PCONC(:,JP_CH_RPR9) = PFRAC(:,JP_CH_RPR9) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XRPR9 - PCONC(:,JP_CH_RP12) = PFRAC(:,JP_CH_RP12) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XRP12 - - PCONC(:,JP_CH_UR3 ) = PFRAC(:,JP_CH_UR3 ) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XUR3 - PCONC(:,JP_CH_UR23) = PFRAC(:,JP_CH_UR23) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XUR23 - - PCONC(:,JP_CH_UR17) = PFRAC(:,JP_CH_UR17) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XUR17 - PCONC(:,JP_CH_RPR3) = PFRAC(:,JP_CH_RPR3) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XRPR3 - PCONC(:,JP_CH_AP7) = PFRAC(:,JP_CH_AP7) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XAP7 - - PCONC(:,JP_CH_UR22) = PFRAC(:,JP_CH_UR22) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XUR22 - PCONC(:,JP_CH_UR31) = PFRAC(:,JP_CH_UR31) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XUR31 - PCONC(:,JP_CH_AP1) = PFRAC(:,JP_CH_AP1 ) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XAP1 - PCONC(:,JP_CH_AP6) = PFRAC(:,JP_CH_AP6 ) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XAP6 - - PCONC(:,JP_CH_ADAC) = PFRAC(:,JP_CH_ADAC) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XADAC - PCONC(:,JP_CH_UR14) = PFRAC(:,JP_CH_UR14) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR14 - PCONC(:,JP_CH_UR27) = PFRAC(:,JP_CH_UR27) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR27 - PCONC(:,JP_CH_UR2 ) = PFRAC(:,JP_CH_UR2 ) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR2 - PCONC(:,JP_CH_RP14) = PFRAC(:,JP_CH_RP14) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP14 - PCONC(:,JP_CH_RP19) = PFRAC(:,JP_CH_RP19) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP19 - PCONC(:,JP_CH_RPR4) = PFRAC(:,JP_CH_RPR4) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPR4 - PCONC(:,JP_CH_RPR7) = PFRAC(:,JP_CH_RPR7) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPR7 - - PCONC(:,JP_CH_UR11) = PFRAC(:,JP_CH_UR11) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XUR11 - PCONC(:,JP_CH_UR15) = PFRAC(:,JP_CH_UR15) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XUR15 - PCONC(:,JP_CH_AP10) = PFRAC(:,JP_CH_AP10) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XAP10 - - PCONC(:,JP_CH_UR20) = PFRAC(:,JP_CH_UR20) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR20 - PCONC(:,JP_CH_UR34) = PFRAC(:,JP_CH_UR34) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR34 - PCONC(:,JP_CH_AP11) = PFRAC(:,JP_CH_AP11) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XAP11 - PCONC(:,JP_CH_AP12) = PFRAC(:,JP_CH_AP12) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XAP12 - PCONC(:,JP_CH_UR26) = PFRAC(:,JP_CH_UR26) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR26 - - PCONC(:,JP_CH_UR5) = PFRAC(:,JP_CH_UR5) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR5 - PCONC(:,JP_CH_UR6) = PFRAC(:,JP_CH_UR6) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR6 - PCONC(:,JP_CH_UR7) = PFRAC(:,JP_CH_UR7) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR7 - PCONC(:,JP_CH_UR8) = PFRAC(:,JP_CH_UR8) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR8 - PCONC(:,JP_CH_AP8) = PFRAC(:,JP_CH_AP8) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XAP8 - PCONC(:,JP_CH_PAN8) = PFRAC(:,JP_CH_PAN8) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XPAN8 - END IF -END IF -IF (TRIM(CORGANIC) == 'MPMPO') THEN - - IF (GSCHEME == "RELACS2") THEN ! ReLACS2 scheme - PCONC(:,JP_CH_URG6) = PFRAC(:,JP_CH_URG6) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XURG6 - PCONC(:,JP_CH_URG7) = PFRAC(:,JP_CH_URG7) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XURG7 - PCONC(:,JP_CH_RPR7) = PFRAC(:,JP_CH_RPR7) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRPR7 - PCONC(:,JP_CH_RPG7) = PFRAC(:,JP_CH_RPG7) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRPG7 - - PCONC(:,JP_CH_URG8) = PFRAC(:,JP_CH_URG8) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XURG8 - - PCONC(:,JP_CH_URG9) = PFRAC(:,JP_CH_URG9) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XURG9 - - PCONC(:,JP_CH_URG10) = PFRAC(:,JP_CH_URG10) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XURG10 - PCONC(:,JP_CH_AP7) = PFRAC(:,JP_CH_AP7) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XAP7 - - PCONC(:,JP_CH_URG1) = PFRAC(:,JP_CH_URG1) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XURG1 - - PCONC(:,JP_CH_URG2) = PFRAC(:,JP_CH_URG2) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XURG2 - PCONC(:,JP_CH_RPG2) = PFRAC(:,JP_CH_RPG2) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRPG2 - PCONC(:,JP_CH_RP18) = PFRAC(:,JP_CH_RP18) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP18 - PCONC(:,JP_CH_UR26) = PFRAC(:,JP_CH_UR26) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR26 - - PCONC(:,JP_CH_RPG3) = PFRAC(:,JP_CH_RPG3) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XRPG3 - - PCONC(:,JP_CH_URG4) = PFRAC(:,JP_CH_URG4) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XURG4 - PCONC(:,JP_CH_UR8) = PFRAC(:,JP_CH_UR8) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR8 - - PCONC(:,JP_CH_UR7) = PFRAC(:,JP_CH_UR7)* PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR7 - PCONC(:,JP_CH_UR17) = PFRAC(:,JP_CH_UR17) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR17 - ELSE ! CACM scheme - PCONC(:,JP_CH_UR31) = PFRAC(:,JP_CH_UR31) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XUR31 - PCONC(:,JP_CH_AP1) = PFRAC(:,JP_CH_AP1) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XAP1 - PCONC(:,JP_CH_AP6) = PFRAC(:,JP_CH_AP6) * PCTOTG(:,JP_AER_SOA1) * ZCSTAVOG / XAP6 - - PCONC(:,JP_CH_ADAC) = PFRAC(:,JP_CH_ADAC) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XADAC - PCONC(:,JP_CH_RPR7) = PFRAC(:,JP_CH_RPR7) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRPR7 - PCONC(:,JP_CH_UR2) = PFRAC(:,JP_CH_UR2) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XUR2 - PCONC(:,JP_CH_UR14) = PFRAC(:,JP_CH_UR14) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XUR14 - PCONC(:,JP_CH_UR27) = PFRAC(:,JP_CH_UR27) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XUR27 - PCONC(:,JP_CH_RP14) = PFRAC(:,JP_CH_RP14) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP14 - PCONC(:,JP_CH_RP19) = PFRAC(:,JP_CH_RP19) * PCTOTG(:,JP_AER_SOA2) * ZCSTAVOG / XRP19 - - PCONC(:,JP_CH_UR11) = PFRAC(:,JP_CH_UR11) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XUR11 - PCONC(:,JP_CH_UR15) = PFRAC(:,JP_CH_UR15) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XUR15 - PCONC(:,JP_CH_AP10) = PFRAC(:,JP_CH_AP10) * PCTOTG(:,JP_AER_SOA3) * ZCSTAVOG / XAP10 - - PCONC(:,JP_CH_UR20) = PFRAC(:,JP_CH_UR20) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XUR20 - PCONC(:,JP_CH_UR34) = PFRAC(:,JP_CH_UR34) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XUR34 - PCONC(:,JP_CH_AP11) = PFRAC(:,JP_CH_AP11) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XAP11 - PCONC(:,JP_CH_AP12) = PFRAC(:,JP_CH_AP12) * PCTOTG(:,JP_AER_SOA4) * ZCSTAVOG / XAP12 - - PCONC(:,JP_CH_UR5) = PFRAC(:,JP_CH_UR5) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XUR5 - PCONC(:,JP_CH_UR6) = PFRAC(:,JP_CH_UR6) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XUR6 - PCONC(:,JP_CH_AP7) = PFRAC(:,JP_CH_AP7) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XAP7 - PCONC(:,JP_CH_AP8) = PFRAC(:,JP_CH_AP8) * PCTOTG(:,JP_AER_SOA5) * ZCSTAVOG / XAP8 - - PCONC(:,JP_CH_UR21) = PFRAC(:,JP_CH_UR21) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XUR21 - PCONC(:,JP_CH_UR28) = PFRAC(:,JP_CH_UR28) * PCTOTG(:,JP_AER_SOA6) * ZCSTAVOG / XUR28 - - PCONC(:,JP_CH_UR29) = PFRAC(:,JP_CH_UR29) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR29 - PCONC(:,JP_CH_UR26) = PFRAC(:,JP_CH_UR26) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR26 - PCONC(:,JP_CH_UR30) = PFRAC(:,JP_CH_UR30) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XUR30 - PCONC(:,JP_CH_RP13) = PFRAC(:,JP_CH_RP13) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP13 - PCONC(:,JP_CH_RP17) = PFRAC(:,JP_CH_RP17) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP17 - PCONC(:,JP_CH_RP18) = PFRAC(:,JP_CH_RP18) * PCTOTG(:,JP_AER_SOA7) * ZCSTAVOG / XRP18 - - PCONC(:,JP_CH_RPR9) = PFRAC(:,JP_CH_RPR9) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XRPR9 - PCONC(:,JP_CH_RP12) = PFRAC(:,JP_CH_RP12) * PCTOTG(:,JP_AER_SOA8) * ZCSTAVOG / XRP12 - - PCONC(:,JP_CH_UR3) = PFRAC(:,JP_CH_UR3) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR3 - PCONC(:,JP_CH_UR23) = PFRAC(:,JP_CH_UR23) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR23 - PCONC(:,JP_CH_UR8) = PFRAC(:,JP_CH_UR8) * PCTOTG(:,JP_AER_SOA9) * ZCSTAVOG / XUR8 - - PCONC(:,JP_CH_UR7) = PFRAC(:,JP_CH_UR7) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR7 - PCONC(:,JP_CH_UR17) = PFRAC(:,JP_CH_UR17) * PCTOTG(:,JP_AER_SOA10) * ZCSTAVOG / XUR17 - END IF -END IF -END IF -! -!* 2.n transfer moment 0 and 6 back to gas variables -! - PAERO(:,JP_CH_M0i) = PM(:,1) * 1E-6 ! convert from 1/m3 to 1/cc - PAERO(:,JP_CH_M0j) = PM(:,4) * 1E-6 ! convert from 1/m3 to 1/cc -IF (LVARSIGI) PAERO(:,JP_CH_M6i) = PM(:,3) -IF (LVARSIGJ) PAERO(:,JP_CH_M6j) = PM(:,6) -! -!* 2.n transfer N, SIG, RG, RHOP - -DO JN=1,JPMODE - PN0(:,JN) =PM(:,NM0(JN)) - PRG0(:,JN)=PM(:,NM3(JN))**(2./3.) & - / (PM(:,NM0(JN))**(0.5)*PM(:,NM6(JN))**(1./6.)) -! -!attention, le xsig0 représente en réalité ln(sigma) -! - PSIG0(:,JN)=1./3.*sqrt(-log(PM(:,NM3(JN))**2/(PM(:,NM0(JN))*PM(:,NM6(JN))))) -ENDDO - -END IF -! -! -IF (LHOOK) CALL DR_HOOK('CH_AER_TRANS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_TRANS diff --git a/src/arome/chem/internals/ch_aer_velgrav_n.F90 b/src/arome/chem/internals/ch_aer_velgrav_n.F90 deleted file mode 100644 index ccd575e8a517d5855ac3d85dd0fef662ed282234..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aer_velgrav_n.F90 +++ /dev/null @@ -1,103 +0,0 @@ -! ######spl -SUBROUTINE CH_AER_VELGRAV_n(PSIG, PRG, PTHT, PABST, PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (meteo france) -!! -!! MODIFICATIONS -!! ------------- -!! -! Entry variables: -! -! PM(IN) -Array of moments -! -!************************************************************* -! Exit variables: -! -! PFSED(IN) -Array of moment variation due to dry deposition -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! PDPK -Polydisperse diffusivity (m2/s) -! PVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -USE MODD_CH_AEROSOL -USE MODD_CH_AERO_n -!! -!------------------------------------------------------------------------------- -IMPLICIT NONE -! -!* 0.1 Declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -! -!* 0.2 Declarations of local variables -! -REAL, DIMENSION(size(PSIG,1),size(PSIG,2),size(PSIG,3)) :: ZTEMP,ZLAMBDA -REAL, DIMENSION(size(PSIG,1),size(PSIG,2),size(PSIG,3)) :: ZRG,ZLN2S -REAL, DIMENSION(size(PSIG,1),size(PSIG,2),size(PSIG,3)) :: ZKNG -REAL, DIMENSION(size(PSIG,1),size(PSIG,2),size(PSIG,3),JPMODE) :: ZDPG -! -REAL, PARAMETER :: gasmw=28.9644d0 -REAL :: ZK -! -INTEGER :: JI,JJ -! -!------------------------------------------------------------------------------- -!temperature -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_AER_VELGRAV_N',0,ZHOOK_HANDLE) -ZTEMP(:,:,:)=PTHT(:,:,:)*(PABST(:,:,:)/XP00)**(XRD/XCPD) -! -! Sutherland's equation for viscosity -PMU(:,:,:)=1.8325d-5*416.16/(ZTEMP(:,:,:)+120)*(ZTEMP(:,:,:)/296.16)*SQRT(ZTEMP(:,:,:)/296.16) -!PMU(:,:,:)=0.003661*ZTEMP(:,:,:) -!PMU(:,:,:)=.0066164*PMU(:,:,:)*sqrt(PMU(:,:,:))/(ZTEMP(:,:,:)+114.d0) -! -! Mean free path (Seinfeld and Pandis p455) -ZLAMBDA(:,:,:)=PMU(:,:,:)/PRHODREF(:,:,:)*sqrt(1.89d-4*gasmw/ZTEMP(:,:,:))*1.e6 -! -DO JI=1,JPMODE - ! - ZRG(:,:,:)=PRG(:,:,:,JI) * 1E-6 - ZLN2S(:,:,:)=LOG(PSIG(:,:,:,JI))**2 - ! - ZKNG(:,:,:)=ZLAMBDA(:,:,:) / PRG(:,:,:,JI) - ! - PVGG(:,:,:,JI)= 2.*XG*PRHOP(:,:,:,JI)*ZRG(:,:,:)**2 /(9.*PMU(:,:,:)) - ZDPG(:,:,:,JI)=XBOLTZ*ZTEMP(:,:,:)/ (6.*XPI* ZRG(:,:,:)*PMU(:,:,:)) - ! - DO JJ=0,2 - ! - ZK=real(3*JJ) - PDPK(:,:,:,3*JI+JJ-2)=ZDPG(:,:,:,JI)*(exp((-2.*ZK+1.)/2.*ZLN2S(:,:,:))+1.246*ZKNG(:,:,:)*& - exp((-4.*ZK+4)/2.*ZLN2S(:,:,:))) - - PVGK(:,:,:,3*JI+JJ-2)=PVGG(:,:,:,JI)*& - (exp((4.*ZK+4.)/2.*ZLN2S(:,:,:)) + 1.246*ZKNG(:,:,:)* exp((2.*ZK+1.)/2.*ZLN2S(:,:,:))) - ! - ENDDO - ! -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_AER_VELGRAV_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AER_VELGRAV_n diff --git a/src/arome/chem/internals/ch_allocate_taccs.F90 b/src/arome/chem/internals/ch_allocate_taccs.F90 deleted file mode 100644 index 6539bc52d7dbd0dc0c3fa6cdfdc7984e63ddb5e6..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_allocate_taccs.F90 +++ /dev/null @@ -1,202 +0,0 @@ -! ######spl - SUBROUTINE CH_ALLOCATE_TACCS(KMI,KVECNPT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *CH_ALLOCATE_TACCS* -!! -!! PURPOSE -!! ------- -! Allocation of all CCSTYPE variables for model KMI -!! -!!** METHOD -!! ------ -!! -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Gazen Didier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/06/2005 -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KMI ! model index -INTEGER, INTENT(IN) :: KVECNPT -!! -!!---------------------------------------------------------------------- -! /BEGIN_INITIAL/ -! /END_INITIAL/ -! initialisation of the names of the chemical species -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_ALLOCATE_TACCS',0,ZHOOK_HANDLE) -ALLOCATE(TACCS(KMI)%K001(KVECNPT)) -ALLOCATE(TACCS(KMI)%K002(KVECNPT)) -ALLOCATE(TACCS(KMI)%K003(KVECNPT)) -ALLOCATE(TACCS(KMI)%K004(KVECNPT)) -ALLOCATE(TACCS(KMI)%K005(KVECNPT)) -ALLOCATE(TACCS(KMI)%K006(KVECNPT)) -ALLOCATE(TACCS(KMI)%K007(KVECNPT)) -ALLOCATE(TACCS(KMI)%K008(KVECNPT)) -ALLOCATE(TACCS(KMI)%K009(KVECNPT)) -ALLOCATE(TACCS(KMI)%K010(KVECNPT)) -ALLOCATE(TACCS(KMI)%K011(KVECNPT)) -ALLOCATE(TACCS(KMI)%K012(KVECNPT)) -ALLOCATE(TACCS(KMI)%K013(KVECNPT)) -ALLOCATE(TACCS(KMI)%K014(KVECNPT)) -ALLOCATE(TACCS(KMI)%K015(KVECNPT)) -ALLOCATE(TACCS(KMI)%K016(KVECNPT)) -ALLOCATE(TACCS(KMI)%K017(KVECNPT)) -ALLOCATE(TACCS(KMI)%K018(KVECNPT)) -ALLOCATE(TACCS(KMI)%K019(KVECNPT)) -ALLOCATE(TACCS(KMI)%K020(KVECNPT)) -ALLOCATE(TACCS(KMI)%K021(KVECNPT)) -ALLOCATE(TACCS(KMI)%K022(KVECNPT)) -ALLOCATE(TACCS(KMI)%K023(KVECNPT)) -ALLOCATE(TACCS(KMI)%K024(KVECNPT)) -ALLOCATE(TACCS(KMI)%K025(KVECNPT)) -ALLOCATE(TACCS(KMI)%K026(KVECNPT)) -ALLOCATE(TACCS(KMI)%K027(KVECNPT)) -ALLOCATE(TACCS(KMI)%K028(KVECNPT)) -ALLOCATE(TACCS(KMI)%K029(KVECNPT)) -ALLOCATE(TACCS(KMI)%K030(KVECNPT)) -ALLOCATE(TACCS(KMI)%K031(KVECNPT)) -ALLOCATE(TACCS(KMI)%K032(KVECNPT)) -ALLOCATE(TACCS(KMI)%K033(KVECNPT)) -ALLOCATE(TACCS(KMI)%K034(KVECNPT)) -ALLOCATE(TACCS(KMI)%K035(KVECNPT)) -ALLOCATE(TACCS(KMI)%K036(KVECNPT)) -ALLOCATE(TACCS(KMI)%K037(KVECNPT)) -ALLOCATE(TACCS(KMI)%K038(KVECNPT)) -ALLOCATE(TACCS(KMI)%K039(KVECNPT)) -ALLOCATE(TACCS(KMI)%K040(KVECNPT)) -ALLOCATE(TACCS(KMI)%K041(KVECNPT)) -ALLOCATE(TACCS(KMI)%K042(KVECNPT)) -ALLOCATE(TACCS(KMI)%K043(KVECNPT)) -ALLOCATE(TACCS(KMI)%K044(KVECNPT)) -ALLOCATE(TACCS(KMI)%K045(KVECNPT)) -ALLOCATE(TACCS(KMI)%K046(KVECNPT)) -ALLOCATE(TACCS(KMI)%K047(KVECNPT)) -ALLOCATE(TACCS(KMI)%K048(KVECNPT)) -ALLOCATE(TACCS(KMI)%K049(KVECNPT)) -ALLOCATE(TACCS(KMI)%K050(KVECNPT)) -ALLOCATE(TACCS(KMI)%K051(KVECNPT)) -ALLOCATE(TACCS(KMI)%K052(KVECNPT)) -ALLOCATE(TACCS(KMI)%K053(KVECNPT)) -ALLOCATE(TACCS(KMI)%K054(KVECNPT)) -ALLOCATE(TACCS(KMI)%K055(KVECNPT)) -ALLOCATE(TACCS(KMI)%K056(KVECNPT)) -ALLOCATE(TACCS(KMI)%K057(KVECNPT)) -ALLOCATE(TACCS(KMI)%K058(KVECNPT)) -ALLOCATE(TACCS(KMI)%K059(KVECNPT)) -ALLOCATE(TACCS(KMI)%K060(KVECNPT)) -ALLOCATE(TACCS(KMI)%K061(KVECNPT)) -ALLOCATE(TACCS(KMI)%K062(KVECNPT)) -ALLOCATE(TACCS(KMI)%K063(KVECNPT)) -ALLOCATE(TACCS(KMI)%K064(KVECNPT)) -ALLOCATE(TACCS(KMI)%K065(KVECNPT)) -ALLOCATE(TACCS(KMI)%K066(KVECNPT)) -ALLOCATE(TACCS(KMI)%K067(KVECNPT)) -ALLOCATE(TACCS(KMI)%K068(KVECNPT)) -ALLOCATE(TACCS(KMI)%K069(KVECNPT)) -ALLOCATE(TACCS(KMI)%K070(KVECNPT)) -ALLOCATE(TACCS(KMI)%K071(KVECNPT)) -ALLOCATE(TACCS(KMI)%K072(KVECNPT)) -ALLOCATE(TACCS(KMI)%K073(KVECNPT)) -ALLOCATE(TACCS(KMI)%K074(KVECNPT)) -ALLOCATE(TACCS(KMI)%K075(KVECNPT)) -ALLOCATE(TACCS(KMI)%K076(KVECNPT)) -ALLOCATE(TACCS(KMI)%K077(KVECNPT)) -ALLOCATE(TACCS(KMI)%K078(KVECNPT)) -ALLOCATE(TACCS(KMI)%K079(KVECNPT)) -ALLOCATE(TACCS(KMI)%K080(KVECNPT)) -ALLOCATE(TACCS(KMI)%K081(KVECNPT)) -ALLOCATE(TACCS(KMI)%K082(KVECNPT)) -ALLOCATE(TACCS(KMI)%K083(KVECNPT)) -ALLOCATE(TACCS(KMI)%K084(KVECNPT)) -ALLOCATE(TACCS(KMI)%K085(KVECNPT)) -ALLOCATE(TACCS(KMI)%K086(KVECNPT)) -ALLOCATE(TACCS(KMI)%K087(KVECNPT)) -ALLOCATE(TACCS(KMI)%K088(KVECNPT)) -ALLOCATE(TACCS(KMI)%K089(KVECNPT)) -ALLOCATE(TACCS(KMI)%K090(KVECNPT)) -ALLOCATE(TACCS(KMI)%K091(KVECNPT)) -ALLOCATE(TACCS(KMI)%K092(KVECNPT)) -ALLOCATE(TACCS(KMI)%K093(KVECNPT)) -ALLOCATE(TACCS(KMI)%K094(KVECNPT)) -ALLOCATE(TACCS(KMI)%K095(KVECNPT)) -ALLOCATE(TACCS(KMI)%K096(KVECNPT)) -ALLOCATE(TACCS(KMI)%K097(KVECNPT)) -ALLOCATE(TACCS(KMI)%K098(KVECNPT)) -ALLOCATE(TACCS(KMI)%K099(KVECNPT)) -ALLOCATE(TACCS(KMI)%K100(KVECNPT)) -ALLOCATE(TACCS(KMI)%K101(KVECNPT)) -ALLOCATE(TACCS(KMI)%K102(KVECNPT)) -ALLOCATE(TACCS(KMI)%K103(KVECNPT)) -ALLOCATE(TACCS(KMI)%K104(KVECNPT)) -ALLOCATE(TACCS(KMI)%K105(KVECNPT)) -ALLOCATE(TACCS(KMI)%K106(KVECNPT)) -ALLOCATE(TACCS(KMI)%K107(KVECNPT)) -ALLOCATE(TACCS(KMI)%K108(KVECNPT)) -ALLOCATE(TACCS(KMI)%K109(KVECNPT)) -ALLOCATE(TACCS(KMI)%K110(KVECNPT)) -ALLOCATE(TACCS(KMI)%K111(KVECNPT)) -ALLOCATE(TACCS(KMI)%K112(KVECNPT)) -ALLOCATE(TACCS(KMI)%K113(KVECNPT)) -ALLOCATE(TACCS(KMI)%K114(KVECNPT)) -ALLOCATE(TACCS(KMI)%K115(KVECNPT)) -ALLOCATE(TACCS(KMI)%K116(KVECNPT)) -ALLOCATE(TACCS(KMI)%K117(KVECNPT)) -ALLOCATE(TACCS(KMI)%K118(KVECNPT)) -ALLOCATE(TACCS(KMI)%K119(KVECNPT)) -ALLOCATE(TACCS(KMI)%K120(KVECNPT)) -ALLOCATE(TACCS(KMI)%K121(KVECNPT)) -ALLOCATE(TACCS(KMI)%K122(KVECNPT)) -ALLOCATE(TACCS(KMI)%K123(KVECNPT)) -ALLOCATE(TACCS(KMI)%K124(KVECNPT)) -ALLOCATE(TACCS(KMI)%K125(KVECNPT)) -ALLOCATE(TACCS(KMI)%K126(KVECNPT)) -ALLOCATE(TACCS(KMI)%K127(KVECNPT)) -ALLOCATE(TACCS(KMI)%K128(KVECNPT)) -ALLOCATE(TACCS(KMI)%NOUT(KVECNPT)) -ALLOCATE(TACCS(KMI)%NVERB(KVECNPT)) -ALLOCATE(TACCS(KMI)%MODELLEVEL(KVECNPT)) -ALLOCATE(TACCS(KMI)%T(KVECNPT)) -ALLOCATE(TACCS(KMI)%PRESSURE(KVECNPT)) -ALLOCATE(TACCS(KMI)%M(KVECNPT)) -ALLOCATE(TACCS(KMI)%H2O(KVECNPT)) -ALLOCATE(TACCS(KMI)%CLOUDWATER(KVECNPT)) -ALLOCATE(TACCS(KMI)%O2(KVECNPT)) -ALLOCATE(TACCS(KMI)%N2(KVECNPT)) -ALLOCATE(TACCS(KMI)%H2(KVECNPT)) -ALLOCATE(TACCS(KMI)%OH(KVECNPT)) -ALLOCATE(TACCS(KMI)%O1D(KVECNPT)) -ALLOCATE(TACCS(KMI)%O3P(KVECNPT)) -ALLOCATE(TACCS(KMI)%LAT(KVECNPT)) -ALLOCATE(TACCS(KMI)%LON(KVECNPT)) -ALLOCATE(TACCS(KMI)%YEAR(KVECNPT)) -ALLOCATE(TACCS(KMI)%MONTH(KVECNPT)) -ALLOCATE(TACCS(KMI)%DAY(KVECNPT)) -IF (LHOOK) CALL DR_HOOK('CH_ALLOCATE_TACCS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_ALLOCATE_TACCS diff --git a/src/arome/chem/internals/ch_aqua.F90 b/src/arome/chem/internals/ch_aqua.F90 deleted file mode 100644 index 02c13b405d616da17d08ae49fef06d4b5164c413..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_aqua.F90 +++ /dev/null @@ -1,41 +0,0 @@ -! ######spl - SUBROUTINE CH_AQUA (TEMP, P, LWC, & - H2O2, O3, SO2, CO2, HNO3, H2SO4, NH3, & - PFRAC, PPH, POX ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################################### -!! -!!**** *CH_AQUA* -!! -!! PURPOSE -!! ------- -!! -!! empty box for ch_aqua.f90 -!! -!! EXPLICIT ARGUMENTS -! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: TEMP ! air temperature -REAL, INTENT(IN) :: P ! pressure (in atm) -REAL, INTENT(IN) :: LWC ! cloud liquid water mixing ratio (kg/kg) -REAL, INTENT(IN) :: H2O2, O3, SO2, CO2, HNO3, H2SO4, NH3 - ! total concentration of these chemical species -REAL, INTENT(INOUT) :: PPH ! pH of the droplets -REAL, INTENT(OUT), DIMENSION(3,4) :: PFRAC ! fraction of each dissolved - ! species in the four states -REAL, INTENT(OUT), DIMENSION(2) :: POX ! SO2 oxidation by O3 - ! and H2O2 -!======================================================================= -!======================================================================= -!! -!! EXECUTABLE STATEMENTS -!! --------------------- - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_AQUA',0,ZHOOK_HANDLE) - PFRAC(:,1) = 1.0 - PFRAC(:,2:4) = 0.0 - POX(:) = 0.0 - IF (LHOOK) CALL DR_HOOK('CH_AQUA',1,ZHOOK_HANDLE) - RETURN -END SUBROUTINE CH_AQUA diff --git a/src/arome/chem/internals/ch_ares.F90 b/src/arome/chem/internals/ch_ares.F90 deleted file mode 100644 index d7e49b5319532e01588c6d3efcf207d56866dde0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_ares.F90 +++ /dev/null @@ -1,103 +0,0 @@ -! ######spl - SUBROUTINE CH_ARES (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################################## -!! -!! PURPOSE -!! ------- -!! -!! Calculate the aerosol chemical speciation and water content. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! V. Crassier & K. Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!***************************************************************** -! Parameters of ARES: -! -! SO4 : Total sulfate in MICROGRAMS/M**3 as sulfate (IN) -! HNO3 : Nitric Acid in MICROGRAMS/M**3 as nitric acid (IN) -! NO3 : Total nitrate in MICROGRAMS/M**3 as nitric acid (IN) -! NH3 : Total ammonia in MICROGRAMS/M**3 as ammonia (IN) -! NH4 : Ammonium in MICROGRAMS/M**3 as ammonium (IN) -! RH : Fractional relative humidity (IN) -! TEMP : Temperature in Kelvin (IN) -! GNO3 : Gas phase nitric acid in MICROGRAMS/M**3 (OUT) -! GNH3 : Gas phase ammonia in MICROGRAMS/M**3 (OUT) -! ASO4 : Aerosol phase sulfate in MICROGRAMS/M**3 (OUT) -! ANO3 : Aerosol phase nitrate in MICROGRAMS/M**3 (OUT) -! ANH4 : Aerosol phase ammonium in MICROGRAMS/M**3 (OUT) -! AH2O : Aerosol phase water in MICROGRAMS/M**3 (OUT) -! -!*************************************************************** -!! -!! EXTERNAL -!! ------- -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -!...........ARGUMENTS and their descriptions -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC -! -! PAER(:,1) :: H2SO4 in micrograms / m**3 -! PAER(:,2) :: NH3(g) in micrograms / m**3 -! PAER(:,3) :: HNO3(g) in micrograms / m**3 -! PAER(:,4) :: H2O(a) in micrograms / m**3 -! PAER(:,5) :: NO3(a) in micrograms / m**3 -! PAER(:,6) :: NH4(a) in micrograms / m**3 -! -!...........PARAMETERS and their descriptions: - -REAL, PARAMETER :: ZMWNO3 = 62.0049 ! molecular weight for NO3 -REAL, PARAMETER :: ZMWHNO3 = 63.01287 ! molecular weight for HNO3 -REAL, PARAMETER :: ZMWNH3 = 17.03061 ! molecular weight for NH3 -REAL, PARAMETER :: ZMWNH4 = 18.03858 ! molecular weight for NH4 - -INTEGER :: I - -REAL :: SO4,HNO3,NH3,NO3,NH4,TEMP,RH -REAL :: ASO4,ANO3,AH2O,ANH4,GNH3,GNO3 - -EXTERNAL RPMARES -!----------------------------------------------------------------------------- - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_ARES',0,ZHOOK_HANDLE) -DO I=1,SIZE(PAER,1) - - SO4=PAER(I,1) - HNO3=PAER(I,3)+PAER(I,5)*ZMWHNO3/ZMWNO3 - NH3=PAER(I,2)+PAER(I,6)*ZMWNH3/ZMWNH4 - NO3=0. - NH4=0. - TEMP= PTEMP(I) - RH = PRH(I) - -! call ARES - CALL RPMARES ( SO4, HNO3, NO3, NH3, NH4, RH, TEMP, & - ASO4, ANO3, AH2O, ANH4, GNH3, GNO3) - - PAER(I,1)=ASO4 - PAER(I,2)=GNH3 - PAER(I,3)=GNO3 - PAER(I,4)=AH2O - PAER(I,5)=ANO3 - PAER(I,6)=ANH4 - -ENDDO - -IF (LHOOK) CALL DR_HOOK('CH_ARES',1,ZHOOK_HANDLE) -END SUBROUTINE CH_ARES diff --git a/src/arome/chem/internals/ch_convect_scavenging.F90 b/src/arome/chem/internals/ch_convect_scavenging.F90 deleted file mode 100644 index 9f9e97373ae20f9b2d55983e611b94797c8f88d1..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_convect_scavenging.F90 +++ /dev/null @@ -1,716 +0,0 @@ -! ######spl - SUBROUTINE CH_CONVECT_SCAVENGING( KLON, KLEV, KCH, PCH1, PCH1C, & - KDPL, KPBL, KLCL, KCTL, KLFS, KDBL, & - PUMF, PUER, PUDR, PDMF, PDER, PDDR, & - PTIMEC, PDXDY, PMIXF, PLMASS, PWSUB,& - KFTSTEPS, & - PURC, PURR, PURI, PURS, PUTT, PPRESS,& - PRHODREF ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ####################################################################### -! -!!**** Compute modified soluble chemical tracer values due to convective -!! precipitations + transport -!! -!! -!! PURPOSE -!! ------- -!! The purpose of this routine is to determine the final adjusted -!! environmental values of the chemical tracers -!! The final convective tendencies can then be evaluated in the main -!! routine DEEP_CONVECT by (PCH1C-PCH1)/PTIMEC -!! -!! -!!** METHOD -!! ------ -!! Identical to the computation of the conservative variables in the -!! main deep convection code -!! -!! EXTERNAL -!! -------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_CST -!! XG ! gravity constant -!! -!! Module MODD_CONVPAREXT -!! JCVEXB, JCVEXT ! extra levels on the vertical boundaries -!! -!! AUTHOR -!! ------ -!! C. MARI * Laboratoire d'Aerologie * -!! -!! MODIFICATIONS -!! ------------- -!! -!! Original 10/04/00 -!! P. Tulet 25/04/05 Aerosols/ Dust scavenging -!! -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CST -USE MODD_PARAMETERS -USE MODD_CONVPAREXT -USE MODD_CH_M9 -USE MODD_CH_CONST, ONLY : XSREALHENRYVAL -USE MODD_NSV, ONLY : NSV_CHEMBEG, NSV_CHEMEND, & - NSV_AERBEG, NSV_AEREND, & - NSV_DSTBEG, NSV_DSTEND, & - NSV_SLTBEG, NSV_SLTEND -!USE MODD_SALT, ONLY : LSALT, NMODE_SLT, JPSALTORDER -!USE MODD_DUST, ONLY : LDUST, NMODE_DST, JPDUSTORDER -!USE MODD_CH_AEROSOL, ONLY : JPMODE, LORILAM, NSP, NSOA, NCARB -USE MODD_SALT -USE MODD_DUST -USE MODD_CH_AEROSOL -USE MODD_CSTS_SALT -USE MODD_CSTS_DUST -USE MODE_DUST_PSD -USE MODE_SALT_PSD -USE MODE_AERO_PSD -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -INTEGER, INTENT(IN) :: KLON ! horizontal dimension -INTEGER, INTENT(IN) :: KLEV ! vertical dimension -INTEGER, INTENT(IN) :: KCH ! number of passive tracers -! -REAL,DIMENSION(KLON,KLEV,KCH),INTENT(IN) :: PCH1 ! grid scale tracer concentr. -REAL,DIMENSION(KLON,KLEV,KCH),INTENT(OUT):: PCH1C! conv adjusted tracer concntr. -! -INTEGER, DIMENSION(KLON), INTENT(IN) :: KDPL ! index for departure level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KPBL ! index for top of source layer -INTEGER, DIMENSION(KLON), INTENT(IN) :: KLCL ! index lifting condens. level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KCTL ! index for cloud top level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KLFS ! index for level of free sink -INTEGER, DIMENSION(KLON), INTENT(IN) :: KDBL ! index for downdraft base level -! -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUMF ! updraft mass flux (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUER ! updraft entrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUDR ! updraft detrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDMF ! downdraft mass flux (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDER ! downdraft entrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDDR ! downdraft detrainment (kg/s) -! -REAL, DIMENSION(KLON), INTENT(IN) :: PTIMEC! convection time step -REAL, DIMENSION(KLON), INTENT(IN) :: PDXDY ! grid area (m^2) -REAL, DIMENSION(KLON), INTENT(IN) :: PMIXF ! mixed fraction at LFS -REAL, DIMENSION(KLON,KLEV),INTENT(IN) :: PLMASS! mass of model layer (kg) -REAL, DIMENSION(KLON,KLEV),INTENT(IN) :: PWSUB ! envir. compensating subsidence(Pa/s) -INTEGER, INTENT(IN) :: KFTSTEPS ! maximum fractional time steps -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PURC ! microphysical -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PURR ! reservoirs in the -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PURI ! updraft -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PURS ! -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUTT ! updraft temperature (K) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PPRESS ! Pa -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PRHODREF -! -!* 0.2 Declarations of local variables : -! -INTEGER :: INCH1 ! number of chemical tracers -INTEGER :: IKB,IKE -INTEGER :: IKS ! vertical dimension -INTEGER :: JI ! horizontal loop index -INTEGER :: JK, JKP ! vertical loop index -INTEGER :: JN ! chemical tracer loop index -INTEGER :: IMODEIDX ! mode order index -INTEGER :: JSTEP ! fractional time loop index -INTEGER :: JKLC, JKLD, JKLP, JKMAX ! loop index for levels -INTEGER :: JKAQ -REAL :: ZCONV -! -REAL, DIMENSION(KLON,KLEV) :: ZOMG ! compensat. subsidence (Pa/s) -REAL, DIMENSION(KLON,KLEV,KCH) :: ZUCH1, ZDCH1 ! updraft/downdraft values -REAL, DIMENSION(KLON) :: ZTIMEC ! fractional convective time step -REAL, DIMENSION(KLON,KLEV) :: ZTIMC! 2D work array for ZTIMEC -REAL, DIMENSION(KLON,KLEV,KCH) :: ZCH1MFIN, ZCH1MFOUT - ! work arrays for environm. compensat. mass -REAL, DIMENSION(KLON,KCH) :: ZWORK1, ZWORK2, ZWORK3 -! -! scavenging in updraft -! -REAL, DIMENSION(KLON,KLEV) :: ZT, ZLWCC, ZLWCI, ZKS1, ZKS2 -REAL, DIMENSION(KLON,KLEV) :: ZKHDUST, ZKHCDUST -REAL, DIMENSION(KLON,KLEV) :: ZKHSALT, ZKHCSALT -REAL, DIMENSION(KLON,KLEV,KCH) :: ZKH, ZKHC, ZKHI -REAL, DIMENSION(KLON,KLEV,KCH) :: ZFACTOR -REAL, DIMENSION(KLON,KLEV) :: ZPROS,ZPROR -REAL, DIMENSION(KLON,KLEV,KCH) :: ZPARTSCAV, ZRIM -REAL, DIMENSION(KLON,KLEV) :: ZPARTAERO -REAL :: ZHP -REAL, DIMENSION(KLON,1,KLEV,JPMODE) :: ZRGAER,ZSIGAER, ZNAER, ZBCMIN -REAL, DIMENSION(KLON,1,KLEV,NMODE_DST) :: ZRGDST,ZSIGDST,ZNDST, ZMINMASS_DST,ZRGDSTMIN -REAL, DIMENSION(KLON,1,KLEV,NMODE_SLT) :: ZRGSLT,ZSIGSLT,ZNSLT, ZMINMASS_SLT,ZRGSLTMIN -REAL, DIMENSION(NMODE_DST) :: ZMIN_DST -REAL, DIMENSION(NMODE_SLT) :: ZMIN_SLT -REAL, DIMENSION(KLON,1,KLEV,KCH) :: ZSV, ZSVC -REAL, DIMENSION(KLON,1,KLEV) :: ZRHODREF -REAL, DIMENSION(NMODE_DST) :: ZINIRADIUS_DST -REAL, DIMENSION(NMODE_SLT) :: ZINIRADIUS_SLT -REAL :: ZRHOP, ZFAC, ZMI - -LOGICAL, SAVE :: GCHFIRSTCALL = .TRUE. -! -!------------------------------------------------------------------------------- -! -!* 0.1 Compute loop bounds -! ------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_CONVECT_SCAVENGING',0,ZHOOK_HANDLE) -INCH1 = KCH -IKB = 1 + JCVEXB -IKS = KLEV -IKE = KLEV - JCVEXT -JKMAX = MAXVAL( KCTL(:) ) -! -! -!* 0.2 Initialisation -! -------------- -ZKH(:,:,:) = 0. -ZKHDUST(:,:) = 0. -ZKHSALT(:,:) = 0. -ZKHI(:,:,:) = 0. -ZKHC(:,:,:) = 0. -ZKHCDUST(:,:) = 0. -ZKHCSALT(:,:) = 0. -ZPARTSCAV(:,:,:) = 0. -ZFACTOR(:,:,:) = 0. -ZPROS(:,:) = 0. -ZPROR(:,:) = 0. -ZKS2(:,:) = 0. -ZKS1(:,:) = 0. -! -!* 1. Fraction of tracer present in the liquid/ice cloud condensate -! -------------------------------------------------------------- -! -! 1.1 Total liquid water content m3/m3 -! -------------------------------- -! -ZLWCC(:,:) = 0. -ZLWCI(:,:) = 0. -WHERE ((PURC(:,:)+PURR(:,:)).NE.0.) & - ZLWCC(:,:) = (PURC(:,:)+PURR(:,:))*PRHODREF(:,:)/XRHOLW -! bulk density for ice varies widely from 0.3 to 0.92 g/cm3 -WHERE ((PURI(:,:)+PURS(:,:)).NE.0.) & - ZLWCI(:,:) = (PURI(:,:)+PURS(:,:))*PRHODREF(:,:)/910. -! -ZT(:,:) = PUTT(:,:) -ZHP = 1.E-5 -! -!* 1.2 Fraction of tracer present in the liquid cloud condensate -! --------------------------------------------------------- -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND - WHERE (ZT(:,:).GT.0.) - ZKS1(:,:) = 1.7E-2 * EXP(-2090.*((1./ZT(:,:))-(1./298.))) - ZKS2(:,:) = 6.3E-8 * EXP(-1495.*((1./ZT(:,:))-(1./298.))) - ZKH(:,:,JKAQ) = XSREALHENRYVAL(JKAQ-NSV_CHEMBEG+1,1)* & - EXP(-XSREALHENRYVAL(JKAQ-NSV_CHEMBEG+1,2)*((1./ZT(:,:))-(1./298.))) - ENDWHERE -ENDDO -! -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='N2O5') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 2.00E+0*EXP(3400.*((1./ZT(:,:))-(1./298.)))*1.E20 - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF -! - ELSE IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HONO' .OR. CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO2') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 5.00E+1*EXP(4900.*((1./ZT(:,:))-(1./298.)))* & - 5.10E-4*EXP(1250.*((1./ZT(:,:))-(1./298.)))/ZHP - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF - ELSE IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO3') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 2.10E+5*EXP(8700.*((1./ZT(:,:))-(1./298.)))*15.4/ZHP - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF - ELSE IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='SO2') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 1.4*EXP(2900.*((1./ZT(:,:))-(1./298.))) * & - ( 1.+(ZKS1(:,:)/ZHP)+(ZKS1(:,:)*ZKS2(:,:)/ZHP/ZHP)) - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF - ELSE IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HO2') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 4.00E+3*EXP(5900.*((1./ZT(:,:))-(1./298.)))*2.5E-5/ZHP - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF - ELSE IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='ORA2') THEN - WHERE (ZT(:,:).GT.0.) - ZKH(:,:,JKAQ) = 8.80E+3*EXP(6400.*((1./ZT(:,:))-(1./298.)))* & - 1.70E-5*EXP(50.*((1./ZT(:,:))-(1./298.)))/ZHP - END WHERE - IF (GCHFIRSTCALL) THEN - WRITE(*,*)'In CH_CONVECT_SCAVENGING: special treatment for',CNAMES(JKAQ-NSV_CHEMBEG+1) - ENDIF - ENDIF -! -ENDDO -! -IF (LDUST) THEN - WHERE (ZT(:,:).GT.0.) - ZKHDUST(:,:) = 2.10E+5*EXP(8700.*((1./ZT(:,:))-(1./298.)))*15.4/ZHP - END WHERE -END IF - -IF (LSALT) THEN - WHERE (ZT(:,:).GT.0.) - ZKHSALT(:,:) = 2.10E+5*EXP(8700.*((1./ZT(:,:))-(1./298.)))*15.4/ZHP - END WHERE -END IF -! -GCHFIRSTCALL = .FALSE. -! -! Convert KH from mol/l/atm in ppp/ppp -! ------------------------------------ -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND - ZKHC(:,:,JKAQ) = ZKH(:,:,JKAQ)*0.08205*ZT(:,:)*ZLWCC(:,:) -ENDDO - -IF (LDUST) ZKHCDUST(:,:) = ZKHDUST(:,:)*0.08205*ZT(:,:)*ZLWCC(:,:) -IF (LSALT) ZKHCSALT(:,:) = ZKHSALT(:,:)*0.08205*ZT(:,:)*ZLWCC(:,:) - -! -!* 1.3 Fraction of tracer present in the ice cloud condensate -! --------------------------------------------------------- -! -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND -! - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO3') THEN - WHERE (ZT(:,:).GT.0.) - ZKHI(:,:,JKAQ) = 1.E9 - ENDWHERE - ENDIF - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='H2O2') THEN -! Co-Condensation - WHERE (ZT(:,:).GT.0.) - ZKHI(:,:,JKAQ) = (0.2/1.0)*SQRT(18./34.)*PPRESS(:,:)/ & - (611.0 * EXP(6138.*((1./273.)-(1./ZT(:,:))))) & - * 34./18. / (34./29.) * PURI(:,:) - ENDWHERE - ENDIF -ENDDO -! -! -! Convert KHI from cm3(air)/cm3(ice) in ppp/ppp -! --------------------------------------------- -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO3') THEN - WHERE (ZLWCI(:,:).NE.0.) - ZKHI(:,:,JKAQ) = ZKHI(:,:,JKAQ) * ZLWCI(:,:) - ELSEWHERE - ZKHI(:,:,JKAQ) = 0. - ENDWHERE - ENDIF -ENDDO -! -!* 1.4 Retention efficiency (R<1 => volatilization during riming -! in mixed clouds -! ---------------------------------------------------------- -ZRIM(:,:,:)=1. -! -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND -! - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='OP1' .OR. CNAMES(JKAQ-NSV_CHEMBEG+1)=='CH3OOH') THEN - WHERE ((PURI(:,:) /=0.).AND.(PURC(:,:) /=0.)) - ZRIM(:,:,JKAQ) =0.02 - ENDWHERE - ENDIF - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HCHO' .OR. CNAMES(JKAQ-NSV_CHEMBEG+1)=='CH2O') THEN - WHERE ((PURI(:,:) /=0.).AND.(PURC(:,:) /=0.)) - ZRIM(:,:,JKAQ)=0.02 - ENDWHERE - ENDIF - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='H2O2') THEN - WHERE ((PURI(:,:) /=0.).AND.(PURC(:,:) /=0.)) - ZRIM(:,:,JKAQ)=0.05 - ENDWHERE - ENDIF - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO3') THEN - WHERE ((PURI(:,:) /=0.).AND.(PURC(:,:) /=0.)) - ZRIM(:,:,JKAQ)=1.00 - ENDWHERE - ENDIF -! -ENDDO -! -!* 1.5 Calculate partitioning factor -! ----------------------------- -! -WHERE (PURC(:,:)+PURR(:,:) /= 0.) - ZPROR(:,:) = PURR(:,:) / ( PURC(:,:)+PURR(:,:) ) -ENDWHERE -! -WHERE (PURI(:,:)+PURS(:,:) /= 0.) - ZPROS(:,:) = PURS(:,:) / ( PURI(:,:)+PURS(:,:) ) -ENDWHERE -! -DO JKAQ = NSV_CHEMBEG, NSV_CHEMEND -! - ZFACTOR(:,:,JKAQ) = ( 1. + ZKHC(:,:,JKAQ) + ZKHI(:,:,JKAQ) ) - ZPARTSCAV(:,:,JKAQ) = & - (ZPROR(:,:) * ZKHC(:,:,JKAQ) * ZRIM(:,:,JKAQ) + & - ZPROS(:,:) * ZKHI(:,:,JKAQ)) / & - ZFACTOR(:,:,JKAQ) - IF (CNAMES(JKAQ-NSV_CHEMBEG+1)=='HNO3') THEN - ZPARTAERO(:,:) = (ZPROR(:,:) * ZKHC(:,:,JKAQ) ) / ( 1. + ZKHC(:,:,JKAQ) ) - END IF -! -ENDDO -! -IF (LORILAM) THEN - DO JKAQ = NSV_AERBEG, NSV_AERBEG+(NSP+NSOA+NCARB)*JPMODE-1 - ZPARTSCAV(:,:,JKAQ) = ZPARTAERO(:,:) - ENDDO -END IF -! -IF (LDUST) THEN - DO JN=1,NMODE_DST - IF (LVARSIG) THEN - ZPARTSCAV(:,:,NSV_DSTBEG-1+2+(JN-1)*3) = & - (ZPROR(:,:) * ZKHCDUST(:,:) ) / ( 1. + ZKHCDUST(:,:) ) - ELSE - ZPARTSCAV(:,:,NSV_DSTBEG-1+2+(JN-1)*2) = & - (ZPROR(:,:) * ZKHCDUST(:,:) ) / ( 1. + ZKHCDUST(:,:) ) - END IF - ENDDO -END IF -! -IF (LSALT) THEN - DO JN=1,NMODE_SLT - IF (LVARSIG_SLT) THEN - ZPARTSCAV(:,:,NSV_SLTBEG-1+2+(JN-1)*3) = & - (ZPROR(:,:) * ZKHCSALT(:,:) ) / ( 1. + ZKHCSALT(:,:) ) - ELSE - ZPARTSCAV(:,:,NSV_SLTBEG-1+2+(JN-1)*2) = & - (ZPROR(:,:) * ZKHCSALT(:,:) ) / ( 1. + ZKHCSALT(:,:) ) - END IF - ENDDO -END IF -! -! -!* 2. Updraft computations -! -------------------- -! -ZUCH1(:,:,:) = 0. -! -!* 2.1 Initialization at LCL -! ---------------------------------- -! -DO JI = 1, KLON - JKLC = KLCL(JI) - JKLD = KDPL(JI) - JKLP = KPBL(JI) - ZWORK1(JI,:) = .5 * ( PCH1(JI,JKLD,:) + PCH1(JI,JKLP,:) ) -END DO -! -!* 2.2 Final updraft loop -! ------------------ -! -DO JK = MINVAL( KDPL(:) ), JKMAX -JKP = JK + 1 -! - DO JN = 1, INCH1 - DO JI = 1, KLON - IF ( KDPL(JI) <= JK .AND. KLCL(JI) > JK ) & - ZUCH1(JI,JK,JN) = ZWORK1(JI,JN) -! - IF ( KLCL(JI) - 1 <= JK .AND. KCTL(JI) > JK ) THEN - ZUCH1(JI,JKP,JN) = ( PUMF(JI,JK) * ZUCH1(JI,JK,JN) + & - PUER(JI,JKP) * PCH1(JI,JK,JN) ) / & - ((1. + ZPARTSCAV(JI,JKP,JN)) * PUMF(JI,JKP) + PUDR(JI,JKP) ) - END IF - END DO - END DO -! -END DO -! -!* 3. Downdraft computations -! ---------------------- -! -ZDCH1(:,:,:) = 0. -! -!* 3.1 Initialization at the LFS -! ------------------------- -! -ZWORK1(:,:) = SPREAD( PMIXF(:), DIM=2, NCOPIES=INCH1 ) -DO JI = 1, KLON - JK = KLFS(JI) - ZDCH1(JI,JK,:) = ZWORK1(JI,:) * PCH1(JI,JK,:) + & - ( 1. - ZWORK1(JI,:) ) * ZUCH1(JI,JK,:) -END DO -! -!* 3.2 Final downdraft loop -! -------------------- -! -DO JK = MAXVAL( KLFS(:) ), IKB + 1, -1 -JKP = JK - 1 - DO JN = 1, INCH1 - DO JI = 1, KLON - IF ( JK <= KLFS(JI) .AND. JKP >= KDBL(JI) ) THEN - ZDCH1(JI,JKP,JN) = ( ZDCH1(JI,JK,JN) * PDMF(JI,JK) - & - PCH1(JI,JK,JN) * PDER(JI,JKP) ) / & - ( PDMF(JI,JKP) - PDDR(JI,JKP) - 1.E-7 ) - END IF - END DO - END DO -END DO -! -! -!* 4. Final closure (environmental) computations -! ------------------------------------------ -! -PCH1C(:,:,:) = PCH1(:,:,:) ! initialize adjusted envir. values -! -DO JK = IKB, IKE - ZOMG(:,JK) = PWSUB(:,JK) * PDXDY(:) / XG ! environmental subsidence -END DO -! -ZTIMEC(:) = PTIMEC(:) / REAL( KFTSTEPS ) ! adjust fractional time step - ! to be an integer multiple of PTIMEC -WHERE ( PTIMEC(:) < 1. ) ZTIMEC(:) = 0. -ZTIMC(:,:)= SPREAD( ZTIMEC(:), DIM=2, NCOPIES=IKS ) -! -ZCH1MFIN(:,:,:) = 0. -ZCH1MFOUT(:,:,:) = 0. -! -DO JSTEP = 1, KFTSTEPS ! Enter the fractional time step loop -! - DO JK = IKB + 1, JKMAX - JKP = MAX( IKB + 1, JK - 1 ) - ZWORK3(:,:) = SPREAD( ZOMG(:,JK), DIM=2, NCOPIES=INCH1 ) - ZWORK1(:,:) = SIGN( 1., ZWORK3(:,:) ) - ZWORK2(:,:) = 0.5 * ( 1. + ZWORK1(:,:) ) - ZWORK1(:,:) = 0.5 * ( 1. - ZWORK1(:,:) ) - ZCH1MFIN(:,JK,:) = - ZWORK3(:,:) * PCH1C(:,JKP,:) * ZWORK1(:,:) - ZCH1MFOUT(:,JK,:) = ZWORK3(:,:) * PCH1C(:,JK,:) * ZWORK2(:,:) - ZCH1MFIN(:,JKP,:) = ZCH1MFIN(:,JKP,:) + ZCH1MFOUT(:,JK,:) * ZWORK2(:,:) - ZCH1MFOUT(:,JKP,:)= ZCH1MFOUT(:,JKP,:) + ZCH1MFIN(:,JK,:) * ZWORK1(:,:) - END DO -! - DO JN = 1, INCH1 - DO JK = IKB + 1, JKMAX - PCH1C(:,JK,JN) = PCH1C(:,JK,JN) + ZTIMC(:,JK) / PLMASS(:,JK) * ( & - ZCH1MFIN(:,JK,JN) + PUDR(:,JK) * ZUCH1(:,JK,JN) + & - PDDR(:,JK) * ZDCH1(:,JK,JN) - ZCH1MFOUT(:,JK,JN) - & - ( PUER(:,JK) + PDER(:,JK) ) * PCH1(:,JK,JN) ) - PCH1C(:,JK,JN) = MAX( 0., PCH1C(:,JK,JN) ) - END DO - END DO -! -END DO ! Exit the fractional time step loop - -IF (LORILAM) THEN ! ORILAM chemical aerosol scavenging -ZSV(:,1,:,NSV_AERBEG:NSV_AEREND) = MAX(PCH1(:,:,NSV_AERBEG:NSV_AEREND),1.E-80) -ZSVC(:,1,:,NSV_AERBEG:NSV_AEREND) = MAX(PCH1(:,:,NSV_AERBEG:NSV_AEREND),1.E-80) -DO JN = NSV_AERBEG, NSV_AERBEG+(NSP+NSOA+NCARB)*JPMODE-1 - ZSVC(:,1,IKB:IKE,JN) = MIN(ZSVC(:,IKB:IKE,1,JN),ZSV(:,IKB:IKE,1,JN)) -ENDDO - -ZRHODREF(:,1,IKB:IKE) = PRHODREF(:,IKB:IKE) - -! Compute RG and SIGMA with old concentration PCH1 -CALL PPP2AERO(ZSV(:,:,IKB:IKE,NSV_AERBEG:NSV_AEREND),& - ZRHODREF(:,:,IKB:IKE), PSIG3D=ZSIGAER(:,:,IKB:IKE,:),& - PRG3D=ZRGAER(:,:,IKB:IKE,:),PN3D=ZNAER(:,:,IKB:IKE,:)) - -DO JN=NSV_AERBEG,NSV_AEREND,2 - WHERE (ZNAER(:,:,IKB:IKE,1) .LE. XN0IMIN) ! minimum number of particles - ! => no scavenging - ZSVC(:,:,IKB:IKE,JN) = ZSV(:,:,IKB:IKE,JN) - END WHERE -ENDDO - -DO JN=NSV_AERBEG+1,NSV_AEREND,2 - WHERE (ZNAER(:,:,IKB:IKE,2) .LE. XN0JMIN) ! minimum number of particles - ! => no scavenging - ZSVC(:,:,IKB:IKE,JN) = ZSV(:,:,IKB:IKE,JN) - END WHERE -ENDDO -! Limit low values to minimum particles number; minimum mass has been -! put into BC -ZBCMIN(:,:,IKB:IKE,1) = XN0IMIN * (ZRGAER(:,:,IKB:IKE,1)**3)*EXP(4.5 * (LOG(ZSIGAER(:,:,IKB:IKE,1))**2)) *& - (4./3.)*3.14292654*1.8e3*1.e-9 * & - 6.0221367E+11/(1E-6 * XAVOGADRO / XMD*12.*ZRHODREF(:,:,IKB:IKE)) - -ZBCMIN(:,:,IKB:IKE,2) = XN0JMIN * (ZRGAER(:,:,IKB:IKE,2)**3)*& - EXP(4.5 * (LOG(ZSIGAER(:,:,IKB:IKE,2))**2)) *& - (4./3.)*3.14292654*1.8e3*1.e-9 * & - 6.0221367E+11/(1E-6 * XAVOGADRO / XMD*12.*ZRHODREF(:,:,IKB:IKE)) - - ZSVC(:,:,IKB:IKE,NSV_AERBEG+JP_CH_BCi-1) = MAX(ZBCMIN(:,:,IKB:IKE,1), & - ZSVC(:,:,IKB:IKE,NSV_AERBEG+JP_CH_BCi-1)) - ZSVC(:,:,IKB:IKE,NSV_AERBEG+JP_CH_BCj-1) = MAX(ZBCMIN(:,:,IKB:IKE,2), & - ZSVC(:,:,IKB:IKE,NSV_AERBEG+JP_CH_BCj-1)) - -END IF -! -! Dust scavenging -IF (LDUST) THEN - ! Initialization - ZRHOP = XDENSITY_DUST - ZFAC = (4./3.)*XPI*ZRHOP*1.e-9 - ZMI = XMOLARWEIGHT_DUST ! molecular mass in kg/mol - ZCONV = ZMI * XM3TOUM3 / (XMD * ZRHOP * XPI * 4./3.) - ! - DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - ZMIN_DST(JN) = XN0MIN(IMODEIDX) - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS_DST(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS_DST(JN) = XINIRADIUS(IMODEIDX) - END IF - END DO - ! - ZRHODREF(:,1,:) = PRHODREF(:,:) - ! - ZSV(:,1,:,NSV_DSTBEG:NSV_DSTEND) = PCH1(:,:,NSV_DSTBEG:NSV_DSTEND) - ! - ZSVC(:,1,:,NSV_DSTBEG:NSV_DSTEND) = ZSV(:,1,:,NSV_DSTBEG:NSV_DSTEND) - ! - ! Compute RG and SIGMA with old concentration PCH1 - CALL PPP2DUST(ZSV(:,:,IKB:IKE,NSV_DSTBEG:NSV_DSTEND), ZRHODREF(:,:,IKB:IKE),& - PSIG3D=ZSIGDST(:,:,IKB:IKE,:), PRG3D=ZRGDST(:,:,IKB:IKE,:), & - PN3D=ZNDST(:,:,IKB:IKE,:)) - ! - IF (LVARSIG) THEN ! Case with variable standard devisation - ! - DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - !New mass concentration do not be less than minimum value possible - ZRGDSTMIN(:,:,:,JN) = ZINIRADIUS_DST(JN) - ZRGDSTMIN(:,:,IKB:IKE,JN) = MIN(ZRGDSTMIN(:,:,IKB:IKE,JN), ZRGDST(:,:,IKB:IKE,JN)) - ZMINMASS_DST(:,:,IKB:IKE,JN) = XN0MIN(IMODEIDX) * ZRGDSTMIN(:,:,IKB:IKE,JN)**3 * & - EXP(4.5 * LOG(ZSIGDST(:,:,IKB:IKE,JN))**2) * & - (ZCONV * ZRHODREF(:,:,IKB:IKE)) - - ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3) = & - PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3) - ! ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3) = & - ! MIN(PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3),PCH1(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3)) - WHERE (ZNDST(:,1,IKB:IKE,JN) .GT. ZMIN_DST(JN)) - PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3) = & - MAX(ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*3),& - ZMINMASS_DST(:,1,IKB:IKE,JN)) - END WHERE - ENDDO - ! - ELSE ! Case with fixed standard deviation - DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - !New mass concentration should not be less than minimum value possible - ZRGDSTMIN(:,:,:,JN) = ZINIRADIUS_DST(JN) - ZRGDSTMIN(:,:,IKB:IKE,JN) = MIN(ZRGDSTMIN(:,:,IKB:IKE,JN), ZRGDST(:,:,IKB:IKE,JN)) - ZMINMASS_DST(:,:,IKB:IKE,JN) = XN0MIN(IMODEIDX) * ZRGDSTMIN(:,:,IKB:IKE,JN)**3 * & - EXP(4.5 * LOG(ZSIGDST(:,:,IKB:IKE,JN))**2) / & - (ZCONV * ZRHODREF(:,:,IKB:IKE)) - ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2) = & - PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2) - ! ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2) = & - ! MIN(PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2),PCH1(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2)) - WHERE (ZNDST(:,1,IKB:IKE,JN) .GT. ZMIN_DST(JN)) - PCH1C(:,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2) = MAX(ZSVC(:,1,IKB:IKE,NSV_DSTBEG-1+2+(JN-1)*2),& - ZMINMASS_DST(:,1,IKB:IKE,JN)) - END WHERE - ENDDO - ENDIF -END IF -! -! Sea Salt scavenging -IF (LSALT) THEN - ! Initialization - ZRHOP = XDENSITY_SALT - ZFAC = (4./3.)*XPI*ZRHOP*1.e-9 - ZMI = XMOLARWEIGHT_SALT ! molecular mass in kg/mol - ZCONV = ZMI * XM3TOUM3_SALT / (XMD * ZRHOP * XPI * 4./3.) - ! - DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - ZMIN_SLT(JN) = XN0MIN_SLT(IMODEIDX) - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS_SLT(JN) = XINIRADIUS_SLT(IMODEIDX) * EXP(-3.*(LOG(XINISIG_SLT(IMODEIDX)))**2) - ELSE - ZINIRADIUS_SLT(JN) = XINIRADIUS_SLT(IMODEIDX) - END IF - END DO - ! - ZRHODREF(:,1,:) = PRHODREF(:,:) - ! - ZSV(:,1,:,NSV_SLTBEG:NSV_SLTEND) = PCH1(:,:,NSV_SLTBEG:NSV_SLTEND) - ! - ZSVC(:,1,:,NSV_SLTBEG:NSV_SLTEND) = ZSV(:,1,:,NSV_SLTBEG:NSV_SLTEND) - ! - ! Compute RG and SIGMA with old concentration PCH1 - CALL PPP2SALT(ZSV(:,:,IKB:IKE,NSV_SLTBEG:NSV_SLTEND), ZRHODREF(:,:,IKB:IKE),& - PSIG3D=ZSIGSLT(:,:,IKB:IKE,:), PRG3D=ZRGSLT(:,:,IKB:IKE,:), & - PN3D=ZNSLT(:,:,IKB:IKE,:)) - ! - IF (LVARSIG_SLT) THEN ! Case with variable standard devisation - ! - DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - !New mass concentration do not be less than minimum value possible - ZRGSLTMIN(:,:,:,JN) = ZINIRADIUS_SLT(JN) - ZRGSLTMIN(:,:,IKB:IKE,JN) = MIN(ZRGSLTMIN(:,:,IKB:IKE,JN), ZRGSLT(:,:,IKB:IKE,JN)) - ZMINMASS_SLT(:,:,IKB:IKE,JN) = XN0MIN(IMODEIDX) * ZRGSLTMIN(:,:,IKB:IKE,JN)**3 * & - EXP(4.5 * LOG(ZSIGSLT(:,:,IKB:IKE,JN))**2) * & - (ZCONV * ZRHODREF(:,:,IKB:IKE)) - - ZSVC(:,1,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3) = & - PCH1C(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3) - ! ZSVC(:,1,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3) = & - ! MIN(PCH1C(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3),PCH1(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3)) - WHERE (ZNSLT(:,1,IKB:IKE,JN) .GT. ZMIN_SLT(JN)) - PCH1C(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3) = & - MAX(ZSVC(:,1,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*3),& - ZMINMASS_SLT(:,1,IKB:IKE,JN)) - END WHERE - ENDDO - ! - ELSE ! Case with fixed standard deviation - DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - !New mass concentration should not be less than minimum value possible - ZRGSLTMIN(:,:,:,JN) = ZINIRADIUS_SLT(JN) - ZRGSLTMIN(:,:,IKB:IKE,JN) = MIN(ZRGSLTMIN(:,:,IKB:IKE,JN), ZRGSLT(:,:,IKB:IKE,JN)) - ZMINMASS_SLT(:,:,IKB:IKE,JN) = XN0MIN(IMODEIDX) *& - ZRGSLTMIN(:,:,IKB:IKE,JN)**3 * & - EXP(4.5 * LOG(ZSIGSLT(:,:,IKB:IKE,JN))**2) / & - (ZCONV * ZRHODREF(:,:,IKB:IKE)) - ZSVC(:,1,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*2) = & - PCH1C(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*2) - WHERE (ZNSLT(:,1,IKB:IKE,JN) .GT. ZMIN_SLT(JN)) - PCH1C(:,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*2) = & - MAX(ZSVC(:,1,IKB:IKE,NSV_SLTBEG-1+2+(JN-1)*2),& - ZMINMASS_SLT(:,1,IKB:IKE,JN)) - END WHERE - ENDDO - ENDIF -END IF -! -! -IF (LHOOK) CALL DR_HOOK('CH_CONVECT_SCAVENGING',1,ZHOOK_HANDLE) -END SUBROUTINE CH_CONVECT_SCAVENGING diff --git a/src/arome/chem/internals/ch_cranck.F90 b/src/arome/chem/internals/ch_cranck.F90 deleted file mode 100644 index 852e09523b4d6bca84d736b33e1d427e54ef9f8a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_cranck.F90 +++ /dev/null @@ -1,159 +0,0 @@ -! ######spl -SUBROUTINE CH_CRANCK(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PALPHA) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################### -!! -!!*** *CH_CRANCK* -!! -!! PURPOSE -!! ------- -! solve one time-step of the chemical differential equation d/dt y = f(y) -!! -!!** METHOD -!! ------ -!! Cranck-Nicholson method (CRANCK): -!! y^n+1 = y^n + dt*( alpha*f^n + (1-alpha)f^n-1 ) -!! for alpha = 1 the method reduces to EULER EXPLICIT -!! for alpha = 0 the method reduces to EULER IMPLICIT -!! for alpha = 1/2 the method reduces to EULER SEMI-IMPLICIT -!! The implicit equation is solved by Newton-Raphson iteration: -!! z^m+1 = z^m - (DF)(z^m)^-1 * F(z^m) -!! where F(z) = z - y^n - dt*( alpha*f^n + (1-alpha)f(z) ) -!! the iteration process should yield: z^m --> y^n+1 for increasing m -!! -!! REFERENCE -!! --------- -!! J. Stoer: Einf\"uhrung in die Numerische Mathematik I & II, -!! Heidelberger Taschenb\"ucher, Springer Verlag, Berlin, 1983 & 1978. -!! -!! AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 12/06/95 -!! 31/07/96 (K. Suhre) restructured -!! 19/04/02 add PALPHA argument -!! 01/12/03 (Gazen) change Chemical scheme interface -!! EXTERNAL -!! -------- -USE MODI_CH_FCN -USE MODI_CH_JAC -USE MODI_CH_GAUSS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -REAL, INTENT(IN) :: PALPHA -! -!* 0.2 declaration of local variables -! -INTEGER :: IFAIL, JI, JJ -INTEGER :: IITERCOUNT ! counter for Newton-Raphson iteration -INTEGER :: IMAXITER = 20 ! maximal # of iterations before faillure -REAL, DIMENSION(KVECNPT) :: ZERR ! error in iteration -REAL :: ZMAXERR = 1E-6 ! maximal relative error for solution of implicit eqn -REAL :: ZNORM ! vector norm for calculation of relative error -REAL, DIMENSION(KVECNPT,KEQ) :: ZYN ! stores y^n + dt**alpha*f^n -REAL, DIMENSION(KVECNPT,KEQ) :: ZF ! f(y) -REAL, DIMENSION(KEQ) :: ZFTRAPEZ ! F(z^m), then z^m+1 - z^m -REAL, DIMENSION(KVECNPT,KEQ) :: ZFTRAPEZVECT ! F(z^m), then z^m+1 - z^m -REAL, DIMENSION(KEQ,KEQ) :: ZB,ZC ! working matrice for the iteration -REAL, DIMENSION(KVECNPT,KEQ,KEQ) :: ZBVECT - -!------------------------------------------------------------------------------ -! -!* 1. CALCULATE FIRST GUESS FOR ITERATION (ZYN) -! ---------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_CRANCK',0,ZHOOK_HANDLE) -CALL CH_FCN(PTSIMUL,PCONC,ZF,KMI,KVECNPT,KEQ) -ZYN(:,:) = PCONC(:,:) + PALPHA*PDTACT*ZF(:,:) -PNEWCONC(:,:) = PCONC(:,:) -! -!* 2. NEWTON RAPHSON ITERATION -! ----------------------------- -! -ZERR(:) = 2.*ZMAXERR -IITERCOUNT = 0 -newton: DO WHILE (MAXVAL(ZERR).GT.ZMAXERR) -! - IITERCOUNT = IITERCOUNT + 1 - IF (IITERCOUNT.GT.IMAXITER) THEN - STOP "CH_CRANCK ERROR: no convergence of Newton-Raphson iteration obtained" - ENDIF -! -!* 2.1 calculate derivative F for next iteration -! - CALL CH_FCN(PTSIMUL+PDTACT,PNEWCONC,ZF,KMI,KVECNPT,KEQ) - - ZFTRAPEZVECT(:,:) = PNEWCONC(:,:) - ZYN(:,:) - (1.0-PALPHA)*PDTACT*ZF(:,:) -! -!* 2.2 calculate the Jacobien B -! - CALL CH_JAC(PTSIMUL+PDTACT,PNEWCONC,ZBVECT,KMI,KVECNPT,KEQ) -! -!* 2.3 modify JAC after Cranck-Nicholson method -! - ZBVECT(:,:,:) = -(1.0-PALPHA)*PDTACT*ZBVECT(:,:,:) - DO JI = 1, KEQ - ZBVECT(:,JI,JI) = 1.0 + ZBVECT(:,JI,JI) - ENDDO -! -!%kloos% -! Modification of matrix inversion (25/04/97) -! -!* 2.4 calculate LU factorization for ZB (result is put in ZB) -! - DO JI=1,KVECNPT - - ZB(:,:)=ZBVECT(JI,:,:) - ZFTRAPEZ(:)=ZFTRAPEZVECT(JI,:) - - IFAIL = 1 - CALL CH_GAUSS(ZB,ZC,KEQ,IFAIL) - IF (IFAIL.NE.0) THEN - STOP 'CH_CRANCK ERROR: matrix cannot be inverted by CH_GAUSS' - ENDIF -! -!* 2.5 calculate dY = ZB F (result is put in ZFTRAPEZ) -! - ZFTRAPEZ(:)=MATMUL(ZC(:,:),ZFTRAPEZ(:)) -! -!* 2.6 calculate Y (n+1) -! - ZERR(JI) = 0.0 - ZNORM = 0.0 - DO JJ=1,KEQ - ZERR(JI) = ZERR(JI) + ABS(ZFTRAPEZ(JJ)) - PNEWCONC(JI,JJ) = PNEWCONC(JI,JJ) - ZFTRAPEZ(JJ) - ZNORM = ZNORM + 0.5*ABS(PCONC(JI,JJ)+PNEWCONC(JI,JJ)) - ENDDO -!% - ZERR(JI) = ZERR(JI) / ZNORM - - ENDDO -! -END DO newton -! -IF (LHOOK) CALL DR_HOOK('CH_CRANCK',1,ZHOOK_HANDLE) -END SUBROUTINE CH_CRANCK diff --git a/src/arome/chem/internals/ch_deallocate_taccs.F90 b/src/arome/chem/internals/ch_deallocate_taccs.F90 deleted file mode 100644 index c0f4f159bc3f84dfe53a169905e04cb7dd7f48c8..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_deallocate_taccs.F90 +++ /dev/null @@ -1,201 +0,0 @@ -! ######spl - SUBROUTINE CH_DEALLOCATE_TACCS(KMI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *CH_DEALLOCATE_TACCS* -!! -!! PURPOSE -!! ------- -! Deallocation of all CCSTYPE variables for model KMI -!! -!!** METHOD -!! ------ -!! -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Gazen Didier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/06/2005 -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KMI ! model index -!! -!!---------------------------------------------------------------------- -! /BEGIN_INITIAL/ -! /END_INITIAL/ -! initialisation of the names of the chemical species -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_DEALLOCATE_TACCS',0,ZHOOK_HANDLE) -IF (ASSOCIATED(TACCS(KMI)%K001)) DEALLOCATE(TACCS(KMI)%K001) -IF (ASSOCIATED(TACCS(KMI)%K002)) DEALLOCATE(TACCS(KMI)%K002) -IF (ASSOCIATED(TACCS(KMI)%K003)) DEALLOCATE(TACCS(KMI)%K003) -IF (ASSOCIATED(TACCS(KMI)%K004)) DEALLOCATE(TACCS(KMI)%K004) -IF (ASSOCIATED(TACCS(KMI)%K005)) DEALLOCATE(TACCS(KMI)%K005) -IF (ASSOCIATED(TACCS(KMI)%K006)) DEALLOCATE(TACCS(KMI)%K006) -IF (ASSOCIATED(TACCS(KMI)%K007)) DEALLOCATE(TACCS(KMI)%K007) -IF (ASSOCIATED(TACCS(KMI)%K008)) DEALLOCATE(TACCS(KMI)%K008) -IF (ASSOCIATED(TACCS(KMI)%K009)) DEALLOCATE(TACCS(KMI)%K009) -IF (ASSOCIATED(TACCS(KMI)%K010)) DEALLOCATE(TACCS(KMI)%K010) -IF (ASSOCIATED(TACCS(KMI)%K011)) DEALLOCATE(TACCS(KMI)%K011) -IF (ASSOCIATED(TACCS(KMI)%K012)) DEALLOCATE(TACCS(KMI)%K012) -IF (ASSOCIATED(TACCS(KMI)%K013)) DEALLOCATE(TACCS(KMI)%K013) -IF (ASSOCIATED(TACCS(KMI)%K014)) DEALLOCATE(TACCS(KMI)%K014) -IF (ASSOCIATED(TACCS(KMI)%K015)) DEALLOCATE(TACCS(KMI)%K015) -IF (ASSOCIATED(TACCS(KMI)%K016)) DEALLOCATE(TACCS(KMI)%K016) -IF (ASSOCIATED(TACCS(KMI)%K017)) DEALLOCATE(TACCS(KMI)%K017) -IF (ASSOCIATED(TACCS(KMI)%K018)) DEALLOCATE(TACCS(KMI)%K018) -IF (ASSOCIATED(TACCS(KMI)%K019)) DEALLOCATE(TACCS(KMI)%K019) -IF (ASSOCIATED(TACCS(KMI)%K020)) DEALLOCATE(TACCS(KMI)%K020) -IF (ASSOCIATED(TACCS(KMI)%K021)) DEALLOCATE(TACCS(KMI)%K021) -IF (ASSOCIATED(TACCS(KMI)%K022)) DEALLOCATE(TACCS(KMI)%K022) -IF (ASSOCIATED(TACCS(KMI)%K023)) DEALLOCATE(TACCS(KMI)%K023) -IF (ASSOCIATED(TACCS(KMI)%K024)) DEALLOCATE(TACCS(KMI)%K024) -IF (ASSOCIATED(TACCS(KMI)%K025)) DEALLOCATE(TACCS(KMI)%K025) -IF (ASSOCIATED(TACCS(KMI)%K026)) DEALLOCATE(TACCS(KMI)%K026) -IF (ASSOCIATED(TACCS(KMI)%K027)) DEALLOCATE(TACCS(KMI)%K027) -IF (ASSOCIATED(TACCS(KMI)%K028)) DEALLOCATE(TACCS(KMI)%K028) -IF (ASSOCIATED(TACCS(KMI)%K029)) DEALLOCATE(TACCS(KMI)%K029) -IF (ASSOCIATED(TACCS(KMI)%K030)) DEALLOCATE(TACCS(KMI)%K030) -IF (ASSOCIATED(TACCS(KMI)%K031)) DEALLOCATE(TACCS(KMI)%K031) -IF (ASSOCIATED(TACCS(KMI)%K032)) DEALLOCATE(TACCS(KMI)%K032) -IF (ASSOCIATED(TACCS(KMI)%K033)) DEALLOCATE(TACCS(KMI)%K033) -IF (ASSOCIATED(TACCS(KMI)%K034)) DEALLOCATE(TACCS(KMI)%K034) -IF (ASSOCIATED(TACCS(KMI)%K035)) DEALLOCATE(TACCS(KMI)%K035) -IF (ASSOCIATED(TACCS(KMI)%K036)) DEALLOCATE(TACCS(KMI)%K036) -IF (ASSOCIATED(TACCS(KMI)%K037)) DEALLOCATE(TACCS(KMI)%K037) -IF (ASSOCIATED(TACCS(KMI)%K038)) DEALLOCATE(TACCS(KMI)%K038) -IF (ASSOCIATED(TACCS(KMI)%K039)) DEALLOCATE(TACCS(KMI)%K039) -IF (ASSOCIATED(TACCS(KMI)%K040)) DEALLOCATE(TACCS(KMI)%K040) -IF (ASSOCIATED(TACCS(KMI)%K041)) DEALLOCATE(TACCS(KMI)%K041) -IF (ASSOCIATED(TACCS(KMI)%K042)) DEALLOCATE(TACCS(KMI)%K042) -IF (ASSOCIATED(TACCS(KMI)%K043)) DEALLOCATE(TACCS(KMI)%K043) -IF (ASSOCIATED(TACCS(KMI)%K044)) DEALLOCATE(TACCS(KMI)%K044) -IF (ASSOCIATED(TACCS(KMI)%K045)) DEALLOCATE(TACCS(KMI)%K045) -IF (ASSOCIATED(TACCS(KMI)%K046)) DEALLOCATE(TACCS(KMI)%K046) -IF (ASSOCIATED(TACCS(KMI)%K047)) DEALLOCATE(TACCS(KMI)%K047) -IF (ASSOCIATED(TACCS(KMI)%K048)) DEALLOCATE(TACCS(KMI)%K048) -IF (ASSOCIATED(TACCS(KMI)%K049)) DEALLOCATE(TACCS(KMI)%K049) -IF (ASSOCIATED(TACCS(KMI)%K050)) DEALLOCATE(TACCS(KMI)%K050) -IF (ASSOCIATED(TACCS(KMI)%K051)) DEALLOCATE(TACCS(KMI)%K051) -IF (ASSOCIATED(TACCS(KMI)%K052)) DEALLOCATE(TACCS(KMI)%K052) -IF (ASSOCIATED(TACCS(KMI)%K053)) DEALLOCATE(TACCS(KMI)%K053) -IF (ASSOCIATED(TACCS(KMI)%K054)) DEALLOCATE(TACCS(KMI)%K054) -IF (ASSOCIATED(TACCS(KMI)%K055)) DEALLOCATE(TACCS(KMI)%K055) -IF (ASSOCIATED(TACCS(KMI)%K056)) DEALLOCATE(TACCS(KMI)%K056) -IF (ASSOCIATED(TACCS(KMI)%K057)) DEALLOCATE(TACCS(KMI)%K057) -IF (ASSOCIATED(TACCS(KMI)%K058)) DEALLOCATE(TACCS(KMI)%K058) -IF (ASSOCIATED(TACCS(KMI)%K059)) DEALLOCATE(TACCS(KMI)%K059) -IF (ASSOCIATED(TACCS(KMI)%K060)) DEALLOCATE(TACCS(KMI)%K060) -IF (ASSOCIATED(TACCS(KMI)%K061)) DEALLOCATE(TACCS(KMI)%K061) -IF (ASSOCIATED(TACCS(KMI)%K062)) DEALLOCATE(TACCS(KMI)%K062) -IF (ASSOCIATED(TACCS(KMI)%K063)) DEALLOCATE(TACCS(KMI)%K063) -IF (ASSOCIATED(TACCS(KMI)%K064)) DEALLOCATE(TACCS(KMI)%K064) -IF (ASSOCIATED(TACCS(KMI)%K065)) DEALLOCATE(TACCS(KMI)%K065) -IF (ASSOCIATED(TACCS(KMI)%K066)) DEALLOCATE(TACCS(KMI)%K066) -IF (ASSOCIATED(TACCS(KMI)%K067)) DEALLOCATE(TACCS(KMI)%K067) -IF (ASSOCIATED(TACCS(KMI)%K068)) DEALLOCATE(TACCS(KMI)%K068) -IF (ASSOCIATED(TACCS(KMI)%K069)) DEALLOCATE(TACCS(KMI)%K069) -IF (ASSOCIATED(TACCS(KMI)%K070)) DEALLOCATE(TACCS(KMI)%K070) -IF (ASSOCIATED(TACCS(KMI)%K071)) DEALLOCATE(TACCS(KMI)%K071) -IF (ASSOCIATED(TACCS(KMI)%K072)) DEALLOCATE(TACCS(KMI)%K072) -IF (ASSOCIATED(TACCS(KMI)%K073)) DEALLOCATE(TACCS(KMI)%K073) -IF (ASSOCIATED(TACCS(KMI)%K074)) DEALLOCATE(TACCS(KMI)%K074) -IF (ASSOCIATED(TACCS(KMI)%K075)) DEALLOCATE(TACCS(KMI)%K075) -IF (ASSOCIATED(TACCS(KMI)%K076)) DEALLOCATE(TACCS(KMI)%K076) -IF (ASSOCIATED(TACCS(KMI)%K077)) DEALLOCATE(TACCS(KMI)%K077) -IF (ASSOCIATED(TACCS(KMI)%K078)) DEALLOCATE(TACCS(KMI)%K078) -IF (ASSOCIATED(TACCS(KMI)%K079)) DEALLOCATE(TACCS(KMI)%K079) -IF (ASSOCIATED(TACCS(KMI)%K080)) DEALLOCATE(TACCS(KMI)%K080) -IF (ASSOCIATED(TACCS(KMI)%K081)) DEALLOCATE(TACCS(KMI)%K081) -IF (ASSOCIATED(TACCS(KMI)%K082)) DEALLOCATE(TACCS(KMI)%K082) -IF (ASSOCIATED(TACCS(KMI)%K083)) DEALLOCATE(TACCS(KMI)%K083) -IF (ASSOCIATED(TACCS(KMI)%K084)) DEALLOCATE(TACCS(KMI)%K084) -IF (ASSOCIATED(TACCS(KMI)%K085)) DEALLOCATE(TACCS(KMI)%K085) -IF (ASSOCIATED(TACCS(KMI)%K086)) DEALLOCATE(TACCS(KMI)%K086) -IF (ASSOCIATED(TACCS(KMI)%K087)) DEALLOCATE(TACCS(KMI)%K087) -IF (ASSOCIATED(TACCS(KMI)%K088)) DEALLOCATE(TACCS(KMI)%K088) -IF (ASSOCIATED(TACCS(KMI)%K089)) DEALLOCATE(TACCS(KMI)%K089) -IF (ASSOCIATED(TACCS(KMI)%K090)) DEALLOCATE(TACCS(KMI)%K090) -IF (ASSOCIATED(TACCS(KMI)%K091)) DEALLOCATE(TACCS(KMI)%K091) -IF (ASSOCIATED(TACCS(KMI)%K092)) DEALLOCATE(TACCS(KMI)%K092) -IF (ASSOCIATED(TACCS(KMI)%K093)) DEALLOCATE(TACCS(KMI)%K093) -IF (ASSOCIATED(TACCS(KMI)%K094)) DEALLOCATE(TACCS(KMI)%K094) -IF (ASSOCIATED(TACCS(KMI)%K095)) DEALLOCATE(TACCS(KMI)%K095) -IF (ASSOCIATED(TACCS(KMI)%K096)) DEALLOCATE(TACCS(KMI)%K096) -IF (ASSOCIATED(TACCS(KMI)%K097)) DEALLOCATE(TACCS(KMI)%K097) -IF (ASSOCIATED(TACCS(KMI)%K098)) DEALLOCATE(TACCS(KMI)%K098) -IF (ASSOCIATED(TACCS(KMI)%K099)) DEALLOCATE(TACCS(KMI)%K099) -IF (ASSOCIATED(TACCS(KMI)%K100)) DEALLOCATE(TACCS(KMI)%K100) -IF (ASSOCIATED(TACCS(KMI)%K101)) DEALLOCATE(TACCS(KMI)%K101) -IF (ASSOCIATED(TACCS(KMI)%K102)) DEALLOCATE(TACCS(KMI)%K102) -IF (ASSOCIATED(TACCS(KMI)%K103)) DEALLOCATE(TACCS(KMI)%K103) -IF (ASSOCIATED(TACCS(KMI)%K104)) DEALLOCATE(TACCS(KMI)%K104) -IF (ASSOCIATED(TACCS(KMI)%K105)) DEALLOCATE(TACCS(KMI)%K105) -IF (ASSOCIATED(TACCS(KMI)%K106)) DEALLOCATE(TACCS(KMI)%K106) -IF (ASSOCIATED(TACCS(KMI)%K107)) DEALLOCATE(TACCS(KMI)%K107) -IF (ASSOCIATED(TACCS(KMI)%K108)) DEALLOCATE(TACCS(KMI)%K108) -IF (ASSOCIATED(TACCS(KMI)%K109)) DEALLOCATE(TACCS(KMI)%K109) -IF (ASSOCIATED(TACCS(KMI)%K110)) DEALLOCATE(TACCS(KMI)%K110) -IF (ASSOCIATED(TACCS(KMI)%K111)) DEALLOCATE(TACCS(KMI)%K111) -IF (ASSOCIATED(TACCS(KMI)%K112)) DEALLOCATE(TACCS(KMI)%K112) -IF (ASSOCIATED(TACCS(KMI)%K113)) DEALLOCATE(TACCS(KMI)%K113) -IF (ASSOCIATED(TACCS(KMI)%K114)) DEALLOCATE(TACCS(KMI)%K114) -IF (ASSOCIATED(TACCS(KMI)%K115)) DEALLOCATE(TACCS(KMI)%K115) -IF (ASSOCIATED(TACCS(KMI)%K116)) DEALLOCATE(TACCS(KMI)%K116) -IF (ASSOCIATED(TACCS(KMI)%K117)) DEALLOCATE(TACCS(KMI)%K117) -IF (ASSOCIATED(TACCS(KMI)%K118)) DEALLOCATE(TACCS(KMI)%K118) -IF (ASSOCIATED(TACCS(KMI)%K119)) DEALLOCATE(TACCS(KMI)%K119) -IF (ASSOCIATED(TACCS(KMI)%K120)) DEALLOCATE(TACCS(KMI)%K120) -IF (ASSOCIATED(TACCS(KMI)%K121)) DEALLOCATE(TACCS(KMI)%K121) -IF (ASSOCIATED(TACCS(KMI)%K122)) DEALLOCATE(TACCS(KMI)%K122) -IF (ASSOCIATED(TACCS(KMI)%K123)) DEALLOCATE(TACCS(KMI)%K123) -IF (ASSOCIATED(TACCS(KMI)%K124)) DEALLOCATE(TACCS(KMI)%K124) -IF (ASSOCIATED(TACCS(KMI)%K125)) DEALLOCATE(TACCS(KMI)%K125) -IF (ASSOCIATED(TACCS(KMI)%K126)) DEALLOCATE(TACCS(KMI)%K126) -IF (ASSOCIATED(TACCS(KMI)%K127)) DEALLOCATE(TACCS(KMI)%K127) -IF (ASSOCIATED(TACCS(KMI)%K128)) DEALLOCATE(TACCS(KMI)%K128) -IF (ASSOCIATED(TACCS(KMI)%NOUT)) DEALLOCATE(TACCS(KMI)%NOUT) -IF (ASSOCIATED(TACCS(KMI)%NVERB)) DEALLOCATE(TACCS(KMI)%NVERB) -IF (ASSOCIATED(TACCS(KMI)%MODELLEVEL)) DEALLOCATE(TACCS(KMI)%MODELLEVEL) -IF (ASSOCIATED(TACCS(KMI)%T)) DEALLOCATE(TACCS(KMI)%T) -IF (ASSOCIATED(TACCS(KMI)%PRESSURE)) DEALLOCATE(TACCS(KMI)%PRESSURE) -IF (ASSOCIATED(TACCS(KMI)%M)) DEALLOCATE(TACCS(KMI)%M) -IF (ASSOCIATED(TACCS(KMI)%H2O)) DEALLOCATE(TACCS(KMI)%H2O) -IF (ASSOCIATED(TACCS(KMI)%CLOUDWATER)) DEALLOCATE(TACCS(KMI)%CLOUDWATER) -IF (ASSOCIATED(TACCS(KMI)%O2)) DEALLOCATE(TACCS(KMI)%O2) -IF (ASSOCIATED(TACCS(KMI)%N2)) DEALLOCATE(TACCS(KMI)%N2) -IF (ASSOCIATED(TACCS(KMI)%H2)) DEALLOCATE(TACCS(KMI)%H2) -IF (ASSOCIATED(TACCS(KMI)%OH)) DEALLOCATE(TACCS(KMI)%OH) -IF (ASSOCIATED(TACCS(KMI)%O1D)) DEALLOCATE(TACCS(KMI)%O1D) -IF (ASSOCIATED(TACCS(KMI)%O3P)) DEALLOCATE(TACCS(KMI)%O3P) -IF (ASSOCIATED(TACCS(KMI)%LAT)) DEALLOCATE(TACCS(KMI)%LAT) -IF (ASSOCIATED(TACCS(KMI)%LON)) DEALLOCATE(TACCS(KMI)%LON) -IF (ASSOCIATED(TACCS(KMI)%YEAR)) DEALLOCATE(TACCS(KMI)%YEAR) -IF (ASSOCIATED(TACCS(KMI)%MONTH)) DEALLOCATE(TACCS(KMI)%MONTH) -IF (ASSOCIATED(TACCS(KMI)%DAY)) DEALLOCATE(TACCS(KMI)%DAY) -IF (LHOOK) CALL DR_HOOK('CH_DEALLOCATE_TACCS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_DEALLOCATE_TACCS diff --git a/src/arome/chem/internals/ch_diagnostics.F90 b/src/arome/chem/internals/ch_diagnostics.F90 deleted file mode 100644 index e629c996999472956d97216aeb70d535c342f6ae..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_diagnostics.F90 +++ /dev/null @@ -1,108 +0,0 @@ -! ######spl - SUBROUTINE CH_DIAGNOSTICS(PCONC, KMI, KVECNPT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################## -!! -!!*** *CH_DIAGNOSTICS* -!! -!! PURPOSE -!! ------- -!! calculate all desirable diagnostics -!! -!!** METHOD -!! ------ -!! Actually the following variables will be saved: -!! PCONC, reaction rates, PROD, LOSS, TERMS; -!! these variables are calculated by CH_PRODLOSS, CH_TERMS, and CH_GET_RATES -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/12/03 (Gazen) change Chemical scheme interface!! -!! EXTERNAL -!! -------- -USE MODI_CH_GET_RATES -USE MODI_CH_PRODLOSS -USE MODI_CH_TERMS -USE MODI_CH_NONZEROTERMS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: XTSIMUL, NDIAGIO, CDIAGFORMAT, NVERB -USE MODD_CH_M9, ONLY: NREAC, NEQ, NNONZEROTERMS -!! -!----------------------------------------------------------------------------- -!* 0. DECLARATIONS -! ---------------- -! -IMPLICIT NONE -! -!* 0.1 Declaration of arguments -! ---------------------------- - -INTEGER, INTENT(IN) :: KVECNPT -REAL, DIMENSION(:,:), INTENT(IN) :: PCONC ! the chem species -INTEGER, INTENT(IN) :: KMI -! -!* 0.2 Declaration of local variables -! ---------------------------------- -INTEGER :: JI -!REAL, DIMENSION(KVECNPT,NREAC) :: ZRATE ! variable to retrieve data -REAL, DIMENSION(:,:),ALLOCATABLE :: ZRATE ! variable to retrieve data -!REAL, DIMENSION(KVECNPT,NEQ) :: ZPROD, ZLOSS ! dito -REAL, DIMENSION(:,:), ALLOCATABLE :: ZPROD, ZLOSS ! dito -!REAL, DIMENSION(KVECNPT,NEQ,NREAC) :: ZTERMS ! dito -REAL, DIMENSION(:,:,:),ALLOCATABLE :: ZTERMS ! dito -!INTEGER, DIMENSION(2, NNONZEROTERMS) :: IINDEX ! indices of non-zero terms -INTEGER, DIMENSION(:,:),ALLOCATABLE :: IINDEX ! indices of non-zero terms -! -! Allocate local arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_DIAGNOSTICS',0,ZHOOK_HANDLE) -ALLOCATE(ZRATE(KVECNPT,NREAC)) -ALLOCATE(ZPROD(KVECNPT,NEQ), ZLOSS(KVECNPT,NEQ)) -ALLOCATE(ZTERMS(KVECNPT,NEQ,NREAC)) -ALLOCATE(IINDEX(2, NNONZEROTERMS)) -! -!* EXECUTABLE STATEMENTS -! --------------------- -! -IF (NVERB >= 5) PRINT *, "CH_DIAGNOSTICS called at XTSIMUL = ", XTSIMUL -! -! get reaction rates -CALL CH_GET_RATES(ZRATE,KMI,KVECNPT,NREAC) -! -! get PROD and LOSS terms -CALL CH_PRODLOSS(XTSIMUL,PCONC,ZPROD,ZLOSS,KMI,KVECNPT,NEQ) -! -! get individual TERMS (contrib. of reaction i to the evolution of species j) -CALL CH_TERMS(XTSIMUL,PCONC,ZTERMS,KMI,KVECNPT,NEQ,NREAC) -! -! get the indices of the explicit contributions -! (only non-zero terms will be stored) -CALL CH_NONZEROTERMS(IINDEX, NNONZEROTERMS) -! -! write variables to file -WRITE(NDIAGIO,CDIAGFORMAT) XTSIMUL, & - (PCONC(1,JI), JI = 1, NEQ), & - (ZRATE(1,JI), JI = 1, NREAC), & - (ZPROD(1,JI), JI = 1, NEQ), & - (ZLOSS(1,JI), JI = 1, NEQ), & - (ZTERMS(1,IINDEX(1,JI),IINDEX(2,JI)), & - JI = 1, NNONZEROTERMS) -! -DEALLOCATE(ZPROD, ZLOSS) -DEALLOCATE(ZTERMS) -DEALLOCATE(IINDEX) -! -IF (LHOOK) CALL DR_HOOK('CH_DIAGNOSTICS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_DIAGNOSTICS diff --git a/src/arome/chem/internals/ch_exqssa.F90 b/src/arome/chem/internals/ch_exqssa.F90 deleted file mode 100644 index 58f2d76fc6c006a0ca5d6233f2217b87ef7fad1d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_exqssa.F90 +++ /dev/null @@ -1,224 +0,0 @@ -! ######spl -SUBROUTINE CH_EXQSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PSLOW, PFAST, PDTMAX) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################### -!! -!!*** *CH_EXQSSA* -!! -!! PURPOSE -!! ------- -! solve one time-step of the chemical differential equation d/dt C = P - L*C -!! -!!** METHOD -!! ------ -!! Quasy steady state approximation (EXQSSA): -!! C_n+1 = Q(C_n,h) = P_n / L_n + ( C_n - P_n / L_n ) exp( - L_n Dt) -!! -!! Extrapolation -!! C_n+1(h) = Q(C_n,h) -!! C_n+0.5(h/2)=Q(C_n,h/2) -!! C_n+1(h/2)=Q(C_n+0.5,h/2) -!! C_n+1 = 2 C_n+1(h/2) - C_n+1(h) -!! -!! REFERENCE -!! --------- -!! O. Hertel et al , -!! Test of two Numerical schemes for use in atmospheric transport -!! chemistry models, -!! Atmospheric environment, 16, 2591--2611, 1993. -!! -!! A. Sandu et al -!! Benchmarking Stiff Ode Solvers For Atmospheric Chemistry Problems I: -!! Implicit versus Explicit -!! submitted to Atmospheric Environment 26/01/1996 -!! -!! AUTHOR -!! ------ -!! A. FASSI FIHRI *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 13/02/96 -!! 10/04/96 (K. Suhre) take out performance control statements -!! 31/07/96 (K. Suhre) restructured -!! 05/03/98 (V. Crassier) vectorized with fixed timestep -!! 31/03/99 (K. Suhre) change minor details (i.e. numerical pbs with -!! LOSS=0 species under Absoft and HP f90 compilers -!! and control of correct time stepping if user input -!! is uncorrect) and restructure -!! 01/08/01 (C. Mari) add PSLOW, PFAST, PDTMAX arguments -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -USE MODI_CH_PRODLOSS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC - ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC - ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number - ! reac. rates, auxiliary variables -REAL, INTENT(IN) :: PSLOW, PFAST, PDTMAX -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(KVECNPT,KEQ) :: ZCONC, ZPROD, ZLOSS -REAL, DIMENSION(KVECNPT,KEQ) :: ZCONC1, ZCONC2 -REAL, DIMENSION(KVECNPT,KEQ) :: ZCONC1A, ZCONC2A -REAL, DIMENSION(KVECNPT,KEQ) :: ZCONC1B, ZCONC2B -REAL, DIMENSION(KVECNPT,KEQ) :: ZCONC1C, ZCONC2C -REAL, DIMENSION(KVECNPT,KEQ) :: ZTMP, ZRATIO -REAL :: ZTIME, ZSTEP -INTEGER :: JI -REAL, DIMENSION(KVECNPT,KEQ) :: ZA, ZB, ZC -REAL, PARAMETER :: ZEPS = 1E-14 ! to avoid division by zero -INTEGER :: IITER ! number of internal timesteps -! -!------------------------------------------------------------------------------ -! -!* 1. INITIALIZE SOME VARIABLES -! ------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_EXQSSA',0,ZHOOK_HANDLE) -ZTIME = PTSIMUL -ZCONC = PCONC -IITER = MAX(1,INT(1.E-3+(PDTACT/PDTMAX))) -ZSTEP = PDTACT / IITER -! -!* 2. INTERATION LOOP -! -------------------- -! -DO JI=1, IITER -! -!* 2.1 calculate production and loss terms -! - ZCONC(:,:) = MAX(ZCONC(:,:), 1E-10) - CALL CH_PRODLOSS(ZTIME,ZCONC,ZPROD,ZLOSS,KMI,KVECNPT,KEQ) -! -! elimiate negative loss rates that may be inherited from the transport scheme -! - ZLOSS(:,:) = MAX(0.,ZLOSS(:,:)) - ZA(:,:) = 0. - ZB(:,:) = 0. - WHERE ( ZLOSS .LE. 1./(PSLOW*ZSTEP) ) ZA(:,:) = 1. - WHERE ( ZLOSS .GT. 1./(PFAST*ZSTEP) ) ZB(:,:) = 1. - ZC(:,:) = 1. - ZA(:,:) - ZB(:,:) -! -!* 2.2 first guess -! -! especes lentes ZLOSS<1./(PSLOW*ZSTEP) -! calcul des constantes multiplicatives -!*************************************** - - ZTMP(:,:) = ZSTEP*(ZPROD(:,:) - ZLOSS(:,:)*ZCONC(:,:)) - ZCONC1A(:,:) = ZCONC(:,:) + ZTMP(:,:) - ZCONC2A(:,:) = ZCONC(:,:) + 0.5 * ZTMP(:,:) - -! especes rapides ZLOSS>1./(PFAST*ZSTEP) -! calcul des constantes multiplicatives -!*************************************** - - ZCONC1B(:,:) = ZPROD(:,:) / MAX(ZEPS, ZLOSS(:,:)) - ZCONC2B(:,:) = ZCONC1B(:,:) - -! especes intermediaires -! calcul des constantes multiplicatives -!*************************************** - - ZRATIO(:,:) = ZPROD(:,:) / MAX(ZEPS, ZLOSS(:,:)) - ZTMP(:,:) = EXP(-ZLOSS(:,:)*ZSTEP*0.5) - ZCONC1C(:,:) = ZTMP(:,:) * ZTMP(:,:) * ( ZCONC(:,:) - ZRATIO(:,:) ) & - + ZRATIO(:,:) - ZCONC2C(:,:) = ZTMP(:,:) * ( ZCONC(:,:) - ZRATIO(:,:) ) + ZRATIO(:,:) - -! calcul des concentrations intermediaires -!***************************************** - - ZCONC1(:,:)= ZA(:,:)*ZCONC1A(:,:) & - + ZB(:,:)*ZCONC1B(:,:) & - + ZC(:,:)*ZCONC1C(:,:) - ZCONC2(:,:)= ZA(:,:)*ZCONC2A(:,:) & - + ZB(:,:)*ZCONC2B(:,:) & - + ZC(:,:)*ZCONC2C(:,:) - -! -!* 2.3 calculate new production and loss terms -! - ZCONC2(:,:) = MAX(ZCONC2(:,:), 1E-10) - CALL CH_PRODLOSS(ZTIME+0.5*ZSTEP,ZCONC2,ZPROD,ZLOSS,KMI,KVECNPT,KEQ) -! -! elimiate negative loss rates that may be inherited from the transport scheme -! - ZLOSS(:,:) = MAX(0.,ZLOSS(:,:)) - ZA(:,:) = 0. - ZB(:,:) = 0. - WHERE ( ZLOSS .LE. 1./(PSLOW*ZSTEP) ) ZA(:,:) = 1. - WHERE ( ZLOSS .GT. 1./(PFAST*ZSTEP) ) ZB(:,:) = 1. - ZC(:,:) = 1. - ZA(:,:) - ZB(:,:) -! -! especes lentes ZLOSS<1./(PSLOW*ZSTEP) -! calcul des constantes multiplicatives -!*************************************** - - ZTMP(:,:) = ZSTEP*(ZPROD(:,:) - ZLOSS(:,:)*ZCONC(:,:)) - ZCONC2A(:,:) = ZCONC2(:,:) + 0.5 * ZTMP(:,:) -! -! especes rapides ZLOSS>1./(PFAST*ZSTEP) -! calcul des constantes multiplicatives -!*************************************** - - ZCONC2B(:,:) = ZPROD(:,:) / MAX(ZEPS, ZLOSS(:,:)) - -! -! especes intermediaires -! calcul des constantes multiplicatives -!*************************************** - - ZRATIO(:,:) = ZPROD(:,:) / MAX(ZEPS, ZLOSS(:,:)) - ZTMP(:,:) = EXP(-ZLOSS(:,:)*ZSTEP*0.5) - ZCONC2C(:,:) = ZTMP(:,:) * ( ZCONC2(:,:) - ZRATIO(:,:) ) + ZRATIO(:,:) - -! calcul des concentrations intermediaires -!***************************************** - - ZCONC2(:,:) = ZA(:,:)*ZCONC2A(:,:) & - + ZB(:,:)*ZCONC2B(:,:) & - + ZC(:,:)*ZCONC2C(:,:) - -! IF ZSTEP*ZLOSS < 1. --> A=1 else B=1 -!************************************* - - ZA(:,:) = 0. - WHERE ( (ZSTEP*ZLOSS) .LT. 1. ) ZA(:,:) = 1. - ZB(:,:) = 1. - ZA(:,:) - - ZCONC(:,:) = ZA(:,:)*MAX(0.,2.*ZCONC2(:,:)-ZCONC1(:,:)) & - + ZB(:,:)*MAX(0.,ZCONC2(:,:)) - - ZTIME=ZTIME+ZSTEP - -ENDDO -! -PNEWCONC = ZCONC -! -IF (LHOOK) CALL DR_HOOK('CH_EXQSSA',1,ZHOOK_HANDLE) -END SUBROUTINE CH_EXQSSA diff --git a/src/arome/chem/internals/ch_fcn.F90 b/src/arome/chem/internals/ch_fcn.F90 deleted file mode 100644 index f7358157cb1313bc4560794729aca7c74e4fe964..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_fcn.F90 +++ /dev/null @@ -1,68 +0,0 @@ -! ######spl - SUBROUTINE CH_FCN(PTIME,PCONC,PDCDT,KMI,KVECNPT,KEQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *CH_FCN* -!! -!! PURPOSE -!! ------- -! calculation of first derivative for the chemical reaction mechanism -!! -!!** METHOD -!! ------ -!! For each prognostical chemical species the first derivative is -!! calculated as defined by the chemical reaction mechanism. -!! The reaction rates and other user-defined auxiliary variables are -!! transfered in the TYPE(CCSTYPE) variable TPK%. -!! The subroutine PRODLOSS is called in order to calculate P and L -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -USE MODI_CH_PRODLOSS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PDCDT -INTEGER, INTENT(IN) :: KMI -!! -!! LOCAL VARIABLES -!! --------------- -REAL, DIMENSION(KVECNPT,KEQ) :: ZPROD, ZLOSS -!!---------------------------------------------------------------------- -!! -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_FCN',0,ZHOOK_HANDLE) -CALL CH_PRODLOSS(PTIME,PCONC,ZPROD,ZLOSS,KMI,KVECNPT,KEQ) -PDCDT(:,:) = ZPROD(:,:) - PCONC(:,:) * ZLOSS(:,:) -IF (LHOOK) CALL DR_HOOK('CH_FCN',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_FCN diff --git a/src/arome/chem/internals/ch_gauss.F90 b/src/arome/chem/internals/ch_gauss.F90 deleted file mode 100644 index 9eb2879cd7d138ebc315279b0700c33637c97028..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_gauss.F90 +++ /dev/null @@ -1,139 +0,0 @@ -! ######spl - SUBROUTINE CH_GAUSS(PIN,POUT,KDIM,KFAIL) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################# - -!!**** *CH_GAUSS*-inversion of a squared matrix using pivot search - -!! PURPOSE -!! ------- -! Inversion of a real squared matrix - -!! METHOD -!! ------ -! This routine inverts the KDIMxKDIM matrix PIN using the Gauss-Jordan -! algorithm with pivot-element search and returns its inverse -! in the KDIMxKDIM matrix POUT. If the inversion fails (in the case where -! the matrix PIN is singulary), the variable KFAIL will be set to 1. -! If KFAIL is set to 0 on entry, the subroutine will stop. If -! KFAIL is negative, the program continues silently, otherwise an -! error message is printed. - -!! REFERENCE -!! --------- -! J. Stoer: Einf\"uhrung in die Numerische Mathematik I, -! Heidelberger Taschenb\"ucher, Springer Verlag, Berlin, 1983. - -!! AUTHOR -!! ------ -!! K. Suhre - -!! MODIFICATIONS -!! ------------- -!! Original 24/02/95 (adapted from FORTRAN77 version in tools.k) -!! 27/02/95 (K. Suhre) put in some more array syntax - -!! EXTERNAL -!! -------- -!! none - -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none - -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KDIM ! dimension of the matrix -INTEGER, INTENT(INOUT) :: KFAIL ! error flag -REAL, DIMENSION(KDIM,KDIM), INTENT(IN) :: PIN ! matrix to be inverted -REAL, DIMENSION(KDIM,KDIM), INTENT(OUT) :: POUT ! inverse matrix - -!! DECLARATION OF LOCAL CONSTANTS -!! ------------------------------ -REAL, PARAMETER :: PPEPS = 1.0E-20 ! lower bound for pivot element - -!! DECLARATION OF LOCAL VARIABLES -!! ------------------------------ -INTEGER :: IPIVOT ! current pivot element -INTEGER, DIMENSION(KDIM) :: IORDER ! to stock the permutations -INTEGER :: JI, JJ, JK, IMEM ! integer variables -INTEGER, DIMENSION(1) :: IHELP ! help array for MAXLOC -REAL, DIMENSION(KDIM,KDIM) :: ZWORK ! work array -REAL :: ZMAX, ZMEM ! real variables -REAL, DIMENSION(KDIM) :: ZCOL ! 1D work array - -!! EXECUTABLE STATEMENTS -!! --------------------- - -!* copy PIN into workarray ZWORK -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_GAUSS',0,ZHOOK_HANDLE) -ZWORK(:,:) = PIN(:,:) - -!* initialize permutation array IORDER -IORDER = (/ (JJ,JJ = 1, KDIM) /) - -!* outer loop for matrix elimination -elimination_loop : DO JJ = 1, KDIM - -!* pivot search - ZMAX = MAXVAL(ABS(ZWORK(JJ:KDIM,JJ))) - IHELP = MAXLOC(ABS(ZWORK(JJ:KDIM,JJ))) + JJ - 1 - IPIVOT = IHELP(1) - -!* check for singulary matrix, print error message and stop -!* if this is requested by KFAIL (see above for possible values for KFAIL) - error : IF (ZMAX.LE.PPEPS) THEN - IF (KFAIL.GE.0) THEN - PRINT *, "Error message from subroutine CH_GAUSS: ", & - "singulary matrix cannot be inverted!" - ENDIF - IF (KFAIL.EQ.0) STOP 1 - KFAIL = 1 - IF (LHOOK) CALL DR_HOOK('CH_GAUSS',1,ZHOOK_HANDLE) - RETURN - ENDIF error - -!* interchange the lines - IF (IPIVOT.GT.JJ) THEN - ZCOL = ZWORK(JJ,:) - ZWORK(JJ,:) = ZWORK(IPIVOT,:) - ZWORK(IPIVOT,:) = ZCOL - IMEM = IORDER(JJ) - IORDER(JJ) = IORDER(IPIVOT) - IORDER(IPIVOT) = IMEM - ENDIF - -!* transformation - ZMEM = 1.0/ZWORK(JJ,JJ) - ZWORK(:,JJ) = ZMEM * ZWORK(:,JJ) - ZWORK(JJ,JJ) = ZMEM - - DO JK = 1, JJ-1 - ZWORK(1:JJ-1,JK) = ZWORK(1:JJ-1,JK) - ZWORK(1:JJ-1,JJ)*ZWORK(JJ,JK) - ZWORK(JJ+1:KDIM,JK) = ZWORK(JJ+1:KDIM,JK) - ZWORK(JJ+1:KDIM,JJ)*ZWORK(JJ,JK) - ZWORK(JJ,JK) = -ZMEM * ZWORK(JJ,JK) - ENDDO - - DO JK = JJ+1, KDIM - ZWORK(1:JJ-1,JK) = ZWORK(1:JJ-1,JK) - ZWORK(1:JJ-1,JJ)*ZWORK(JJ,JK) - ZWORK(JJ+1:KDIM,JK) = ZWORK(JJ+1:KDIM,JK) - ZWORK(JJ+1:KDIM,JJ)*ZWORK(JJ,JK) - ZWORK(JJ,JK) = -ZMEM * ZWORK(JJ,JK) - ENDDO - -ENDDO elimination_loop - -!* change columns -DO JI = 1, KDIM - ZCOL(IORDER(:)) = ZWORK(JI,:) - POUT(JI,:) = ZCOL(:) -ENDDO - -!* set KFAIL to success value 0 -KFAIL = 0 - -IF (LHOOK) CALL DR_HOOK('CH_GAUSS',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_GAUSS diff --git a/src/arome/chem/internals/ch_get_cnames.F90 b/src/arome/chem/internals/ch_get_cnames.F90 deleted file mode 100644 index 11c7cdc1af7d8fdc23fe66ba99a208c377d9063d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_get_cnames.F90 +++ /dev/null @@ -1,60 +0,0 @@ -! ######spl - SUBROUTINE CH_GET_CNAMES(HNAMES) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ################################# -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *CH_GET_CNAMES* -!! -!! PURPOSE -!! ------- -! return the names for the chemical species in HNAMES -!! -!!** METHOD -!! ------ -!! simple -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -!! -!! LOCAL VARIABLES -!! --------------- -CHARACTER(LEN=32), DIMENSION(:), INTENT(OUT) :: HNAMES -!! -!!---------------------------------------------------------------------- -!! -! copy the names of the chemical species into HNAMES -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_GET_CNAMES',0,ZHOOK_HANDLE) -HNAMES = CNAMES -IF (LHOOK) CALL DR_HOOK('CH_GET_CNAMES',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_GET_CNAMES diff --git a/src/arome/chem/internals/ch_get_rates.F90 b/src/arome/chem/internals/ch_get_rates.F90 deleted file mode 100644 index 66685bcf4728e55a43189d0bdf7fe995061645f1..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_get_rates.F90 +++ /dev/null @@ -1,193 +0,0 @@ -! ######spl - SUBROUTINE CH_GET_RATES(PRATE,KMI,KVECNPT,KREAC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################ -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *MODD_CH_GETRATES* -!! -!! PURPOSE -!! ------- -! retrieve reaction rates from TPK in an array -!! -!!** METHOD -!! ------ -!! simple -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KREAC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KREAC) :: PRATE -INTEGER, INTENT(IN) :: KMI -!! -!! LOCAL VARIABLES -!! --------------- -TYPE(CCSTYPE), POINTER :: TPK -!!---------------------------------------------------------------------- -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_GET_RATES',0,ZHOOK_HANDLE) -TPK=>TACCS(KMI) -!! -PRATE(:,1) = TPK%K001(:) -PRATE(:,2) = TPK%K002(:) -PRATE(:,3) = TPK%K003(:) -PRATE(:,4) = TPK%K004(:) -PRATE(:,5) = TPK%K005(:) -PRATE(:,6) = TPK%K006(:) -PRATE(:,7) = TPK%K007(:) -PRATE(:,8) = TPK%K008(:) -PRATE(:,9) = TPK%K009(:) -PRATE(:,10) = TPK%K010(:) -PRATE(:,11) = TPK%K011(:) -PRATE(:,12) = TPK%K012(:) -PRATE(:,13) = TPK%K013(:) -PRATE(:,14) = TPK%K014(:) -PRATE(:,15) = TPK%K015(:) -PRATE(:,16) = TPK%K016(:) -PRATE(:,17) = TPK%K017(:) -PRATE(:,18) = TPK%K018(:) -PRATE(:,19) = TPK%K019(:) -PRATE(:,20) = TPK%K020(:) -PRATE(:,21) = TPK%K021(:) -PRATE(:,22) = TPK%K022(:) -PRATE(:,23) = TPK%K023(:) -PRATE(:,24) = TPK%K024(:) -PRATE(:,25) = TPK%K025(:) -PRATE(:,26) = TPK%K026(:) -PRATE(:,27) = TPK%K027(:) -PRATE(:,28) = TPK%K028(:) -PRATE(:,29) = TPK%K029(:) -PRATE(:,30) = TPK%K030(:) -PRATE(:,31) = TPK%K031(:) -PRATE(:,32) = TPK%K032(:) -PRATE(:,33) = TPK%K033(:) -PRATE(:,34) = TPK%K034(:) -PRATE(:,35) = TPK%K035(:) -PRATE(:,36) = TPK%K036(:) -PRATE(:,37) = TPK%K037(:) -PRATE(:,38) = TPK%K038(:) -PRATE(:,39) = TPK%K039(:) -PRATE(:,40) = TPK%K040(:) -PRATE(:,41) = TPK%K041(:) -PRATE(:,42) = TPK%K042(:) -PRATE(:,43) = TPK%K043(:) -PRATE(:,44) = TPK%K044(:) -PRATE(:,45) = TPK%K045(:) -PRATE(:,46) = TPK%K046(:) -PRATE(:,47) = TPK%K047(:) -PRATE(:,48) = TPK%K048(:) -PRATE(:,49) = TPK%K049(:) -PRATE(:,50) = TPK%K050(:) -PRATE(:,51) = TPK%K051(:) -PRATE(:,52) = TPK%K052(:) -PRATE(:,53) = TPK%K053(:) -PRATE(:,54) = TPK%K054(:) -PRATE(:,55) = TPK%K055(:) -PRATE(:,56) = TPK%K056(:) -PRATE(:,57) = TPK%K057(:) -PRATE(:,58) = TPK%K058(:) -PRATE(:,59) = TPK%K059(:) -PRATE(:,60) = TPK%K060(:) -PRATE(:,61) = TPK%K061(:) -PRATE(:,62) = TPK%K062(:) -PRATE(:,63) = TPK%K063(:) -PRATE(:,64) = TPK%K064(:) -PRATE(:,65) = TPK%K065(:) -PRATE(:,66) = TPK%K066(:) -PRATE(:,67) = TPK%K067(:) -PRATE(:,68) = TPK%K068(:) -PRATE(:,69) = TPK%K069(:) -PRATE(:,70) = TPK%K070(:) -PRATE(:,71) = TPK%K071(:) -PRATE(:,72) = TPK%K072(:) -PRATE(:,73) = TPK%K073(:) -PRATE(:,74) = TPK%K074(:) -PRATE(:,75) = TPK%K075(:) -PRATE(:,76) = TPK%K076(:) -PRATE(:,77) = TPK%K077(:) -PRATE(:,78) = TPK%K078(:) -PRATE(:,79) = TPK%K079(:) -PRATE(:,80) = TPK%K080(:) -PRATE(:,81) = TPK%K081(:) -PRATE(:,82) = TPK%K082(:) -PRATE(:,83) = TPK%K083(:) -PRATE(:,84) = TPK%K084(:) -PRATE(:,85) = TPK%K085(:) -PRATE(:,86) = TPK%K086(:) -PRATE(:,87) = TPK%K087(:) -PRATE(:,88) = TPK%K088(:) -PRATE(:,89) = TPK%K089(:) -PRATE(:,90) = TPK%K090(:) -PRATE(:,91) = TPK%K091(:) -PRATE(:,92) = TPK%K092(:) -PRATE(:,93) = TPK%K093(:) -PRATE(:,94) = TPK%K094(:) -PRATE(:,95) = TPK%K095(:) -PRATE(:,96) = TPK%K096(:) -PRATE(:,97) = TPK%K097(:) -PRATE(:,98) = TPK%K098(:) -PRATE(:,99) = TPK%K099(:) -PRATE(:,100) = TPK%K100(:) -PRATE(:,101) = TPK%K101(:) -PRATE(:,102) = TPK%K102(:) -PRATE(:,103) = TPK%K103(:) -PRATE(:,104) = TPK%K104(:) -PRATE(:,105) = TPK%K105(:) -PRATE(:,106) = TPK%K106(:) -PRATE(:,107) = TPK%K107(:) -PRATE(:,108) = TPK%K108(:) -PRATE(:,109) = TPK%K109(:) -PRATE(:,110) = TPK%K110(:) -PRATE(:,111) = TPK%K111(:) -PRATE(:,112) = TPK%K112(:) -PRATE(:,113) = TPK%K113(:) -PRATE(:,114) = TPK%K114(:) -PRATE(:,115) = TPK%K115(:) -PRATE(:,116) = TPK%K116(:) -PRATE(:,117) = TPK%K117(:) -PRATE(:,118) = TPK%K118(:) -PRATE(:,119) = TPK%K119(:) -PRATE(:,120) = TPK%K120(:) -PRATE(:,121) = TPK%K121(:) -PRATE(:,122) = TPK%K122(:) -PRATE(:,123) = TPK%K123(:) -PRATE(:,124) = TPK%K124(:) -PRATE(:,125) = TPK%K125(:) -PRATE(:,126) = TPK%K126(:) -PRATE(:,127) = TPK%K127(:) -PRATE(:,128) = TPK%K128(:) -IF (LHOOK) CALL DR_HOOK('CH_GET_RATES',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_GET_RATES diff --git a/src/arome/chem/internals/ch_ini_orilam.F90 b/src/arome/chem/internals/ch_ini_orilam.F90 deleted file mode 100644 index bb4cdef8a6dbf7b0a0db7b21982904a26c0e4ae4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_ini_orilam.F90 +++ /dev/null @@ -1,222 +0,0 @@ -! ######spl - SUBROUTINE CH_INI_ORILAM(PM, PSIG0, PRG0, PN0,PCTOTG, PCTOTA, PCCTOT, & - PSEDA, POM, PRHOP0, PAERO, PCHEM, PRV, PDENAIR,& - PPRESSURE, PTEMP, PRC, PFRAC, PMI, GSCHEME) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################## -!! -!! PURPOSE -!! ------- -!! initialize the aerosol variables (vectorwise) by calling NNARES -!! -!! METHOD -!! ------- -!! call the solver with zero coag/growth/cond terms -!! then only ares should be active and we won't need to recode everyting -!! here ;-) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre Tulet (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!! EXTERNAL -!! -------- -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODI_CH_AER_SOLV -USE MODI_CH_AER_TRANS -USE MODD_CH_AEROSOL -USE MODD_CH_M9, ONLY : CNAMES -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM, POM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME -! -!* 0.2 declarations of local variables -! -REAL, DIMENSION(SIZE(PM,1),(JPMODE)*3) :: ZDMINTRA, ZDMINTER, ZDMCOND -REAL, DIMENSION(SIZE(PM,1),JPMODE) :: ZMASK, ZSOLORG - -INTEGER :: JJ, JI -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INI_ORILAM',0,ZHOOK_HANDLE) -POM(:,:) = 0. -PFRAC(:,:) = 0. -PSEDA(:,:) = 0. -ZDMINTRA(:,:) = 0. -ZDMINTER(:,:) = 0. -ZDMCOND(:,:) = 0. -ZSOLORG(:,:) = 0. -ZMASK(:,:) = 1. -! -! Initialization of constants -XPI = 2.*ASIN(1.) -XBOLTZ = 1.380658E-23 -XAVOGADRO = 6.0221367E+23 -XG = 9.80665 -XP00 = 1.E5 -XMD = 28.9644E-3 -XRD = XAVOGADRO * XBOLTZ / XMD -XCPD = 7.* XRD /2. -! -! Moments index -NM0(1) = 1 -NM3(1) = 2 -NM6(1) = 3 -NM0(2) = 4 -NM3(2) = 5 -NM6(2) = 6 -! -! Aerosol Density -! Cf Ackermann (all to black carbon except water) -XRHOI(:) = 1.8e3 -XRHOI(JP_AER_H2O) = 1.0e3 ! water -! -DO JJ=1,NSP+NCARB+NSOA - XFAC(JJ)=(4./3.)*XPI*XRHOI(JJ)*1.e-9 -ENDDO -! -! verify that all array elements are defined -DO JI = 1, SIZE(XRHOI) - IF (XRHOI(JI) .LE. 0.0) THEN - PRINT *, 'CH_AER_MOD_INIT ERROR: density for species ', JI, ' not defined' - STOP 'CH_AER_MOD_INIT ERROR: density not defined' - END IF -ENDDO -! -! Index gas scheme <=> Index Orilam -! -JP_CH_SO42M = 0 ! unuse in many schemes -! -DO JJ=1,SIZE(CNAMES) -! for heterogeneous chemistry -IF (CNAMES(JJ) == "O3") JP_CH_O3 = JJ -IF (CNAMES(JJ) == "SO2") JP_CH_SO2 = JJ -IF (CNAMES(JJ) == "SO42M") JP_CH_SO42M = JJ -IF (CNAMES(JJ) == "H2O2") JP_CH_H2O2 = JJ - -! Inorganics -IF (CNAMES(JJ) == "HNO3") JP_CH_HNO3 = JJ -IF (CNAMES(JJ) == "NH3") JP_CH_NH3 = JJ -IF ((CNAMES(JJ) == "H2SO4").OR.(CNAMES(JJ) == "SULF")) JP_CH_H2SO4 = JJ - -! SOA group 1 -IF (CNAMES(JJ) == "URG1") JP_CH_URG1 = JJ -IF (CNAMES(JJ) == "UR21") JP_CH_UR21 = JJ -IF (CNAMES(JJ) == "UR28") JP_CH_UR28 = JJ - -! SOA group 2 -IF (CNAMES(JJ) == "URG2") JP_CH_URG2 = JJ -IF (CNAMES(JJ) == "RPG2") JP_CH_RPG2 = JJ -IF (CNAMES(JJ) == "RP18") JP_CH_RP18 = JJ -IF (CNAMES(JJ) == "UR29") JP_CH_UR29 = JJ -IF (CNAMES(JJ) == "UR30") JP_CH_UR30 = JJ -IF (CNAMES(JJ) == "RP13") JP_CH_RP13 = JJ -IF (CNAMES(JJ) == "RP17") JP_CH_RP17 = JJ - -! SOA group 3 -IF (CNAMES(JJ) == "RPG3") JP_CH_RPG3 = JJ -IF (CNAMES(JJ) == "RPR9") JP_CH_RPR9 = JJ -IF (CNAMES(JJ) == "RP12") JP_CH_RP12 = JJ - -! SOA group 4 -IF (CNAMES(JJ) == "URG4") JP_CH_URG4 = JJ -IF (CNAMES(JJ) == "UR8") JP_CH_UR8 = JJ ! only for MPMPO (for PUN it is group 10) -IF (CNAMES(JJ) == "UR3") JP_CH_UR3 = JJ -IF (CNAMES(JJ) == "UR23") JP_CH_UR23 = JJ - -! SOA group 5 -IF (CNAMES(JJ) == "UR17") JP_CH_UR17 = JJ -IF (CNAMES(JJ) == "AP7") JP_CH_AP7 = JJ -IF (CNAMES(JJ) == "UR7") JP_CH_UR7 = JJ ! only for MPMPO (for PUN it is group 10) -IF (CNAMES(JJ) == "RPR3") JP_CH_RPR3 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) - -! SOA group 6 -IF (CNAMES(JJ) == "URG6") JP_CH_URG6 = JJ -IF (CNAMES(JJ) == "ARAC") JP_CH_ARAC = JJ -IF (CNAMES(JJ) == "UR22") JP_CH_UR22 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) -IF (CNAMES(JJ) == "UR31") JP_CH_UR31 = JJ -IF (CNAMES(JJ) == "AP1") JP_CH_AP1 = JJ -IF (CNAMES(JJ) == "AP6") JP_CH_AP6 = JJ - -! SOA group 7 -IF (CNAMES(JJ) == "URG7") JP_CH_URG7 = JJ -IF (CNAMES(JJ) == "RPG7") JP_CH_RPG7 = JJ -IF (CNAMES(JJ) == "RPR7") JP_CH_RPR7 = JJ -IF (CNAMES(JJ) == "RPR4") JP_CH_RPR4 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) -IF (CNAMES(JJ) == "RP14") JP_CH_RP14 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) -IF (CNAMES(JJ) == "RP19") JP_CH_RP19 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) -IF (CNAMES(JJ) == "ADAC") JP_CH_ADAC = JJ -IF (CNAMES(JJ) == "UR2") JP_CH_UR2 = JJ -IF (CNAMES(JJ) == "UR14") JP_CH_UR14 = JJ -IF (CNAMES(JJ) == "UR27") JP_CH_UR27 = JJ - -! SOA group 8 -IF (CNAMES(JJ) == "URG8") JP_CH_URG8 = JJ -IF (CNAMES(JJ) == "UR19") JP_CH_UR19 = JJ ! only for MPMPO (for PUN it is not a SOA precursor) -IF (CNAMES(JJ) == "UR11") JP_CH_UR11 = JJ -IF (CNAMES(JJ) == "UR15") JP_CH_UR15 = JJ -IF (CNAMES(JJ) == "AP10") JP_CH_AP10 = JJ - -! SOA group 9 -IF (CNAMES(JJ) == "URG9") JP_CH_URG9 = JJ -IF (CNAMES(JJ) == "UR20") JP_CH_UR20 = JJ -IF (CNAMES(JJ) == "UR34") JP_CH_UR34 = JJ -IF (CNAMES(JJ) == "AP11") JP_CH_AP11 = JJ -IF (CNAMES(JJ) == "AP12") JP_CH_AP12 = JJ -IF (CNAMES(JJ) == "UR26") JP_CH_UR26 = JJ - -! SOA group 10 -IF (CNAMES(JJ) == "URG10") JP_CH_URG10 = JJ -IF (CNAMES(JJ) == "PAN8") JP_CH_PAN8 = JJ ! only for PUN (for MPMPO it is not a SOA precursor) -IF (CNAMES(JJ) == "UR5") JP_CH_UR5 = JJ -IF (CNAMES(JJ) == "UR6") JP_CH_UR6 = JJ -IF (CNAMES(JJ) == "UR7") JP_CH_UR7 = JJ -IF (CNAMES(JJ) == "UR8") JP_CH_UR8 = JJ -IF (CNAMES(JJ) == "AP8") JP_CH_AP8 = JJ - -END DO -! -! -!* 0.4 initialization aerosol solveur -CALL CH_AER_TRANS(0, PM, PSIG0, PRG0, PN0, PRHOP0, PAERO,& - PCHEM, PCTOTG, PCTOTA, PCCTOT, PFRAC, PMI, ZMASK, GSCHEME ) - -CALL CH_AER_SOLV(PM,PSIG0, PRG0, PN0, PCTOTG, PCTOTA, PCCTOT, & - ZDMINTRA,ZDMINTER,ZDMCOND,PSEDA,0.,POM,& - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, 0., ZSOLORG) - -CALL CH_AER_TRANS(1, PM, PSIG0, PRG0, PN0, PRHOP0, PAERO,& - PCHEM, PCTOTG, PCTOTA, PCCTOT, PFRAC, PMI, ZMASK, GSCHEME) - -! -IF (LHOOK) CALL DR_HOOK('CH_INI_ORILAM',1,ZHOOK_HANDLE) -RETURN -! -END SUBROUTINE CH_INI_ORILAM diff --git a/src/arome/chem/internals/ch_init_ccs.F90 b/src/arome/chem/internals/ch_init_ccs.F90 deleted file mode 100644 index bf1f3030b128745b7be163d42da19ef002eab9c7..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_init_ccs.F90 +++ /dev/null @@ -1,467 +0,0 @@ -! ######spl - SUBROUTINE CH_INIT_CCS(KEQ,KOUT,KVERB) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *CH_INIT_CCS* -!! -!! PURPOSE -!! ------- -! initialization of the chemical reaction mechanism -!! -!!** METHOD -!! ------ -!! -!! The variables CNAMES and CREACS of MODD_CH_M9_SCHEME are defined here. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KEQ ! number of scalar variables -INTEGER, INTENT(IN) :: KOUT, KVERB ! stdout output, verbosity level -!! -!! LOCAL VARIABLES -!! --------------- -INTEGER :: JII ! loop control -!! -!!---------------------------------------------------------------------- -! /BEGIN_INITIAL/ -! /END_INITIAL/ -! initialisation of the names of the chemical species -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INIT_CCS',0,ZHOOK_HANDLE) -CNAMES(1) = 'O3' -CNAMES(2) = 'H2O2' -CNAMES(3) = 'NO' -CNAMES(4) = 'NO2' -CNAMES(5) = 'NO3' -CNAMES(6) = 'N2O5' -CNAMES(7) = 'HONO' -CNAMES(8) = 'HNO3' -CNAMES(9) = 'HNO4' -CNAMES(10) = 'NH3' -CNAMES(11) = 'SO2' -CNAMES(12) = 'SULF' -CNAMES(13) = 'CO' -CNAMES(14) = 'OH' -CNAMES(15) = 'HO2' -CNAMES(16) = 'CH4' -CNAMES(17) = 'ETH' -CNAMES(18) = 'ALKA' -CNAMES(19) = 'ALKE' -CNAMES(20) = 'BIO' -CNAMES(21) = 'ARO' -CNAMES(22) = 'HCHO' -CNAMES(23) = 'ALD' -CNAMES(24) = 'KET' -CNAMES(25) = 'CARBO' -CNAMES(26) = 'ONIT' -CNAMES(27) = 'PAN' -CNAMES(28) = 'OP1' -CNAMES(29) = 'OP2' -CNAMES(30) = 'ORA2' -CNAMES(31) = 'MO2' -CNAMES(32) = 'ALKAP' -CNAMES(33) = 'ALKEP' -CNAMES(34) = 'BIOP' -CNAMES(35) = 'PHO' -CNAMES(36) = 'ADD' -CNAMES(37) = 'AROP' -CNAMES(38) = 'CARBOP' -CNAMES(39) = 'OLN' -CNAMES(40) = 'XO2' -! initialisation of the names of the reactions - CREACS(1) = 'K001' - CREACS(2) = 'K002' - CREACS(3) = 'K003' - CREACS(4) = 'K004' - CREACS(5) = 'K005' - CREACS(6) = 'K006' - CREACS(7) = 'K007' - CREACS(8) = 'K008' - CREACS(9) = 'K009' - CREACS(10) = 'K010' - CREACS(11) = 'K011' - CREACS(12) = 'K012' - CREACS(13) = 'K013' - CREACS(14) = 'K014' - CREACS(15) = 'K015' - CREACS(16) = 'K016' - CREACS(17) = 'K017' - CREACS(18) = 'K018' - CREACS(19) = 'K019' - CREACS(20) = 'K020' - CREACS(21) = 'K021' - CREACS(22) = 'K022' - CREACS(23) = 'K023' - CREACS(24) = 'K024' - CREACS(25) = 'K025' - CREACS(26) = 'K026' - CREACS(27) = 'K027' - CREACS(28) = 'K028' - CREACS(29) = 'K029' - CREACS(30) = 'K030' - CREACS(31) = 'K031' - CREACS(32) = 'K032' - CREACS(33) = 'K033' - CREACS(34) = 'K034' - CREACS(35) = 'K035' - CREACS(36) = 'K036' - CREACS(37) = 'K037' - CREACS(38) = 'K038' - CREACS(39) = 'K039' - CREACS(40) = 'K040' - CREACS(41) = 'K041' - CREACS(42) = 'K042' - CREACS(43) = 'K043' - CREACS(44) = 'K044' - CREACS(45) = 'K045' - CREACS(46) = 'K046' - CREACS(47) = 'K047' - CREACS(48) = 'K048' - CREACS(49) = 'K049' - CREACS(50) = 'K050' - CREACS(51) = 'K051' - CREACS(52) = 'K052' - CREACS(53) = 'K053' - CREACS(54) = 'K054' - CREACS(55) = 'K055' - CREACS(56) = 'K056' - CREACS(57) = 'K057' - CREACS(58) = 'K058' - CREACS(59) = 'K059' - CREACS(60) = 'K060' - CREACS(61) = 'K061' - CREACS(62) = 'K062' - CREACS(63) = 'K063' - CREACS(64) = 'K064' - CREACS(65) = 'K065' - CREACS(66) = 'K066' - CREACS(67) = 'K067' - CREACS(68) = 'K068' - CREACS(69) = 'K069' - CREACS(70) = 'K070' - CREACS(71) = 'K071' - CREACS(72) = 'K072' - CREACS(73) = 'K073' - CREACS(74) = 'K074' - CREACS(75) = 'K075' - CREACS(76) = 'K076' - CREACS(77) = 'K077' - CREACS(78) = 'K078' - CREACS(79) = 'K079' - CREACS(80) = 'K080' - CREACS(81) = 'K081' - CREACS(82) = 'K082' - CREACS(83) = 'K083' - CREACS(84) = 'K084' - CREACS(85) = 'K085' - CREACS(86) = 'K086' - CREACS(87) = 'K087' - CREACS(88) = 'K088' - CREACS(89) = 'K089' - CREACS(90) = 'K090' - CREACS(91) = 'K091' - CREACS(92) = 'K092' - CREACS(93) = 'K093' - CREACS(94) = 'K094' - CREACS(95) = 'K095' - CREACS(96) = 'K096' - CREACS(97) = 'K097' - CREACS(98) = 'K098' - CREACS(99) = 'K099' - CREACS(100) = 'K100' - CREACS(101) = 'K101' - CREACS(102) = 'K102' - CREACS(103) = 'K103' - CREACS(104) = 'K104' - CREACS(105) = 'K105' - CREACS(106) = 'K106' - CREACS(107) = 'K107' - CREACS(108) = 'K108' - CREACS(109) = 'K109' - CREACS(110) = 'K110' - CREACS(111) = 'K111' - CREACS(112) = 'K112' - CREACS(113) = 'K113' - CREACS(114) = 'K114' - CREACS(115) = 'K115' - CREACS(116) = 'K116' - CREACS(117) = 'K117' - CREACS(118) = 'K118' - CREACS(119) = 'K119' - CREACS(120) = 'K120' - CREACS(121) = 'K121' - CREACS(122) = 'K122' - CREACS(123) = 'K123' - CREACS(124) = 'K124' - CREACS(125) = 'K125' - CREACS(126) = 'K126' - CREACS(127) = 'K127' - CREACS(128) = 'K128' -! initialisation of the full reactions - CFULLREACS(1) = 'K001=!ZRATES(:,001)::NO2-->O3P+NO' - CFULLREACS(2) = 'K002=!ZRATES(:,002)::O3-->O1D+O2' - CFULLREACS(3) = 'K003=!ZRATES(:,003)::O3-->O3P+O2' - CFULLREACS(4) = 'K004=!ZRATES(:,004)::HONO-->OH+NO' - CFULLREACS(5) = 'K005=!ZRATES(:,005)::HNO3-->OH+NO2' - CFULLREACS(6) = 'K006=!ZRATES(:,006)::HNO4-->0.65*HO2+0.65*NO2+0.35*OH+0.35*NO& -&3' - CFULLREACS(7) = 'K007=!ZRATES(:,007)::NO3-->NO+O2' - CFULLREACS(8) = 'K008=!ZRATES(:,008)::NO3-->NO2+O3P' - CFULLREACS(9) = 'K009=!ZRATES(:,009)::H2O2-->OH+OH' - CFULLREACS(10) = 'K010=!ZRATES(:,010)::HCHO-->H2+CO' - CFULLREACS(11) = 'K011=!ZRATES(:,011)::HCHO-->HO2+HO2+CO' - CFULLREACS(12) = 'K012=!ZRATES(:,012)::ALD-->MO2+HO2+CO' - CFULLREACS(13) = 'K013=!ZRATES(:,013)::OP1-->HCHO+HO2+OH' - CFULLREACS(14) = 'K014=!ZRATES(:,014)::OP2-->0.96205*ALD+0.96205*HO2+0.03795*M& -&O2+OH' - CFULLREACS(15) = 'K015=!ZRATES(:,015)::KET-->1.00000*CARBOP+1.00000*ALKAP' - CFULLREACS(16) = 'K016=!ZRATES(:,016)::CARBO-->0.06517*HCHO+0.69622*CARBOP+0.7& -&5830*HO2+0.91924*CO+0.20842*H2' - CFULLREACS(17) = 'K017=!ZRATES(:,017)::ONIT-->0.20*ALD+0.80*KET+HO2+NO2' - CFULLREACS(18) = 'K018=TPK%M*6.00E-34*(TPK%T/300)**(-2.3)::O3P+O2-->O3' - CFULLREACS(19) = 'K019=8.00E-12*exp(-(2060.0/TPK%T))::O3P+O3-->2.0*O2' - CFULLREACS(20) = 'K020=1.80E-11*exp(-(-110.0/TPK%T))::O1D+N2-->O3P+N2' - CFULLREACS(21) = 'K021=3.20E-11*exp(-(-70.0/TPK%T))::O1D+O2-->O3P+O2' - CFULLREACS(22) = 'K022=2.20E-10::O1D+H2O-->OH+OH' - CFULLREACS(23) = 'K023=1.60E-12*exp(-(940.0/TPK%T))::O3+OH-->HO2+O2' - CFULLREACS(24) = 'K024=1.10E-14*exp(-(500.0/TPK%T))::O3+HO2-->OH+2.0*O2' - CFULLREACS(25) = 'K025=4.80E-11*exp(-(-250.0/TPK%T))::OH+HO2-->H2O+O2' - CFULLREACS(26) = 'K026=2.90E-12*exp(-(160.0/TPK%T))::H2O2+OH-->HO2+H2O' - CFULLREACS(27) = 'K027=2.3E-13*EXP(600./TPK%T)+1.7E-33*TPK%M*EXP(1000./TPK%T):& -&:HO2+HO2-->H2O2+O2' - CFULLREACS(28) = 'K028=3.22E-34*EXP(2800./TPK%T)+2.38E-54*TPK%M*EXP(3200./TPK%& -&T)::HO2+HO2+H2O-->H2O2+H2O+O2' - CFULLREACS(29) = 'K029=@TROE(1.,9.00E-32,1.5,3.00E-11,0.0,TPK%M,TPK%T,KVECNPT)& -&::O3P+NO-->NO2' - CFULLREACS(30) = 'K030=6.50E-12*exp(-(-120.0/TPK%T))::O3P+NO2-->NO+O2' - CFULLREACS(31) = 'K031=@TROE(1.,9.00E-32,2.0,2.20E-11,0.0,TPK%M,TPK%T,KVECNPT)& -&::O3P+NO2-->NO3' - CFULLREACS(32) = 'K032=@TROE(1.,7.00E-31,2.6,1.50E-11,0.5,TPK%M,TPK%T,KVECNPT)& -&::OH+NO-->HONO' - CFULLREACS(33) = 'K033=@TROE(1.,2.60E-30,3.2,2.40E-11,1.3,TPK%M,TPK%T,KVECNPT)& -&::OH+NO2-->HNO3' - CFULLREACS(34) = 'K034=2.20E-11::OH+NO3-->NO2+HO2' - CFULLREACS(35) = 'K035=3.70E-12*exp(-(-250.0/TPK%T))::HO2+NO-->NO2+OH' - CFULLREACS(36) = 'K036=@TROE(1.,1.80E-31,3.2,4.70E-12,1.4,TPK%M,TPK%T,KVECNPT)& -&::HO2+NO2-->HNO4' - CFULLREACS(37) = 'K037=@TROE_EQUIL(1.80E-31,3.2,4.70E-12,1.4,4.76E+26,10900.,T& -&PK%M,TPK%T,KVECNPT)::HNO4-->HO2+NO2' - CFULLREACS(38) = 'K038=3.50E-12::HO2+NO3-->0.3*HNO3+0.7*NO2+0.7*OH' - CFULLREACS(39) = 'K039=1.80E-11*exp(-(390.0/TPK%T))::OH+HONO-->H2O+NO2' - CFULLREACS(40) = 'K040=(7.2E-15*EXP(785/TPK%T))+(1.9E-33*EXP(725/TPK%T)*TPK%M)& -&/(1+(1.9E-33*EXP(725/TPK%T)*TPK%M)/(4.1E-16*EXP(1440/TPK%T)))::OH+HNO3-->NO3+H& -&2O' - CFULLREACS(41) = 'K041=1.30E-12*exp(-(-380.0/TPK%T))::OH+HNO4-->NO2+H2O+O2' - CFULLREACS(42) = 'K042=2.00E-12*exp(-(1400.0/TPK%T))::O3+NO-->NO2+O2' - CFULLREACS(43) = 'K043=1.20E-13*exp(-(2450.0/TPK%T))::O3+NO2-->NO3+O2' - CFULLREACS(44) = 'K044=3.30E-39*exp(-(-530.0/TPK%T))::NO+NO+O2-->NO2+NO2' - CFULLREACS(45) = 'K045=1.50E-11*exp(-(-170.0/TPK%T))::NO3+NO-->NO2+NO2' - CFULLREACS(46) = 'K046=4.50E-14*exp(-(1260.0/TPK%T))::NO3+NO2-->NO+NO2+O2' - CFULLREACS(47) = 'K047=@TROE(1.,2.20E-30,3.9,1.50E-12,0.7,TPK%M,TPK%T,KVECNPT)& -&::NO3+NO2-->N2O5' - CFULLREACS(48) = 'K048=@TROE_EQUIL(2.20E-30,3.9,1.50E-12,0.7,3.70E+26,11000.0,& -&TPK%M,TPK%T,KVECNPT)::N2O5-->NO2+NO3' - CFULLREACS(49) = 'K049=8.50E-13*exp(-(2450.0/TPK%T))::NO3+NO3-->NO2+NO2+O2' - CFULLREACS(50) = 'K050=5.50E-12*exp(-(2000.0/TPK%T))::OH+H2-->H2O+HO2' - CFULLREACS(51) = 'K051=@TROE(1.,3.00E-31,3.3,1.50E-12,0.0,TPK%M,TPK%T,KVECNPT)& -&::OH+SO2-->SULF+HO2' - CFULLREACS(52) = 'K052=1.5E-13*(1.+2.439E-20*TPK%M)::CO+OH-->HO2+CO2' - CFULLREACS(53) = 'K053=6.00E-11::BIO+O3P-->0.91868*ALKE+0.05*HCHO+0.02*OH+0.01& -&*CO+0.13255*CARBO+0.28*HO2+0.15*XO2' - CFULLREACS(54) = 'K054=0.00E-01*exp(-(-13.0/TPK%T))::CARBO+O3P-->ALD' - CFULLREACS(55) = 'K055=TPK%T*TPK%T*7.44E-18*exp(-(1361./TPK%T))::CH4+OH-->MO2+& -&H2O' - CFULLREACS(56) = 'K056=1.51E-17*TPK%T*TPK%T*exp(-(492./TPK%T))::ETH+OH-->ALKAP& -&' - CFULLREACS(57) = 'K057=3.76E-12*exp(-(260.0/TPK%T))+1.70E-12*exp(-(155.0/TPK%T& -&))+1.21E-12*exp(-(125.0/TPK%T))::ALKA+OH-->0.87811*ALKAP+0.12793*HO2+0.08173*A& -&LD+0.03498*KET+0.00835*CARBO+0.00140*HCHO+0.00878*ORA1+0.00878*CO+0.00878*OH+H& -&2O' - CFULLREACS(58) = 'K058=1.78E-12*exp(-(-438.0/TPK%T))+6.07E-13*exp(-(-500.0/TPK& -&%T))+0.00E-01*exp(-(-448.0/TPK%T))::ALKE+OH-->1.02529*ALKEP+0.00000*BIOP' - CFULLREACS(59) = 'K059=2.54E-11*exp(-(-410.0/TPK%T))+0.00E-01*exp(-(-444.0/TPK& -&%T))+0.00E-01::BIO+OH-->1.00000*BIOP' - CFULLREACS(60) = 'K060=3.31E-12*exp(-(-355.0/TPK%T))+3.45E-13::ARO+OH-->0.9396& -&8*ADD+0.10318*XO2+0.10318*HO2+0.00276*PHO' - CFULLREACS(61) = 'K061=1.00E-11::HCHO+OH-->HO2+CO+H2O' - CFULLREACS(62) = 'K062=5.55E-12*exp(-(-331.0/TPK%T))::ALD+OH-->1.00000*CARBOP+& -&H2O' - CFULLREACS(63) = 'K063=TPK%T*TPK%T*5.68E-18*exp(-(-92.0/TPK%T))::KET+OH-->1.00& -&000*CARBOP+H2O' - CFULLREACS(64) = 'K064=1.32E-11+1.88E-12*exp(-(-175.0/TPK%T))::CARBO+OH-->0.51& -&419*CARBOP+0.16919*CARBO+1.01732*CO+0.51208*HO2+0.00000*HCHO+0.06253*ALD+0.008& -&53*KET+0.10162*XO2+0.75196*H2O' - CFULLREACS(65) = 'K065=2.93E-12*exp(-(-190.0/TPK%T))::OP1+OH-->0.65*MO2+0.35*H& -&CHO+0.35*OH' - CFULLREACS(66) = 'K066=3.36E-12*exp(-(-190.0/TPK%T))::OP2+OH-->0.40341*ALKAP+0& -&.05413*CARBOP+0.07335*ALD+0.37591*KET+0.09333*XO2+0.02915*HO2+0.02915*HCHO+0.4& -&4925*OH' - CFULLREACS(67) = 'K067=3.80E-14+1.59E-14*exp(-(-500.0/TPK%T))::PAN+OH-->0.5783& -&9*HCHO+0.21863*CARBO+0.71893*NO3+0.28107*PAN+0.28107*HO2+0.29733*H2O+XO2' - CFULLREACS(68) = 'K068=5.31E-12*exp(-(260.0/TPK%T))::ONIT+OH-->1.00000*ALKAP+N& -&O2+H2O' - CFULLREACS(69) = 'K069=3.40E-13*exp(-(1900.0/TPK%T))::HCHO+NO3-->HO2+HNO3+CO' - CFULLREACS(70) = 'K070=1.40E-12*exp(-(1900.0/TPK%T))::ALD+NO3-->1.00000*CARBOP& -&+HNO3' - CFULLREACS(71) = 'K071=1.62E-12*exp(-(1900.0/TPK%T))+0.00E-01*exp(-(150.0/TPK%& -&T))+1.94E-14*exp(-(1000.0/TPK%T))::CARBO+NO3-->0.91567*HNO3+0.38881*CARBOP+0.1& -&0530*CARBO+0.05265*ALD+0.00632*KET+0.10530*NO2+0.10530*XO2+0.63217*HO2+1.33723& -&*CO+0.00000*OLN' - CFULLREACS(72) = 'K072=4.92E-16::ARO+NO3-->HNO3+PHO' - CFULLREACS(73) = 'K073=4.35E-18*TPK%T*TPK%T*exp(-(2282.0/TPK%T))+1.91E-14*exp(& -&-(450.0/TPK%T))+1.08E-15*exp(-(-450.0/TPK%T))+0.00E-01::ALKE+NO3-->0.00000*CAR& -&BO+0.93768*OLN' - CFULLREACS(74) = 'K074=4.00E-12*exp(-(446.0/TPK%T))+0.00E-01*exp(-(-490.0/TPK%& -&T))+0.00E-01::BIO+NO3-->0.91741*CARBO+1.00000*OLN' - CFULLREACS(75) = 'K075=3.76E-16*exp(-(500.0/TPK%T))::PAN+NO3-->0.60*ONIT+0.60*& -&NO3+0.40000*PAN+0.40*HCHO+0.40*NO2+XO2' - CFULLREACS(76) = 'K076=8.17E-15*exp(-(2580.0/TPK%T))+4.32E-16*exp(-(1800.0/TPK& -&%T))+2.87E-17*exp(-(845.0/TPK%T))+0.00E-01*exp(-(2283.0/TPK%T))::ALKE+O3-->0.4& -&8290*HCHO+0.51468*ALD+0.07377*KET+0.00000*CARBO+0.35120*CO+0.15343*ORA1+0.0814& -&3*ORA2+0.23451*HO2+0.39435*OH+0.05705*CARBOP+0.03196*ETH+0.00000*ALKE+0.04300*& -&CH4+0.13966*MO2+0.09815*ALKAP+0.01833*H2O2+0.00000*XO2+0.05409*H2+0.00000*O3P' - CFULLREACS(77) = 'K077=7.86E-15*exp(-(1913.0/TPK%T))+0.00E-01*exp(-(732.0/TPK%& -&T))+0.00E-01::BIO+O3-->0.90000*HCHO+0.00000*ALD+0.00000*KET+0.39754*CARBO+0.36& -&000*CO+0.37388*ALKE+0.00000*ALKAP+0.17000*CARBOP+0.03000*MO2+0.15000*ORA1+0.00& -&000*ORA2+0.28000*OH+0.30000*HO2+0.00100*H2O2+0.05000*H2+0.13000*XO2+0.09000*O3& -&P' - CFULLREACS(78) = 'K078=0.00E-01*exp(-(2112.0/TPK%T))+1.38E-19::CARBO+O3-->0.00& -&000*HCHO+1.07583*CARBO+0.15692*ALD+0.10788*ORA1+0.20595*ORA2+0.27460*CARBOP+0.& -&10149*OP2+0.64728*CO+0.28441*HO2+0.20595*OH+0.00000*H2' - CFULLREACS(79) = 'K079=7.20E-17*exp(-(1700.0/TPK%T))::PAN+O3-->0.70*HCHO+0.300& -&00*PAN+0.70*NO2+0.13*CO+0.04*H2+0.11*ORA1+0.08*HO2+0.036*OH+0.70000*CARBOP' - CFULLREACS(80) = 'K080=2.00E-11::PHO+NO2-->0.10670*ARO+ONIT' - CFULLREACS(81) = 'K081=1.00E-11::PHO+HO2-->1.06698*ARO' - CFULLREACS(82) = 'K082=3.60E-11::ADD+NO2-->ARO+HONO' - CFULLREACS(83) = 'K083=1.66E-17*exp(-(-1044.0/TPK%T))::ADD+O2-->0.98*AROP+0.02& -&*ARO+0.02*HO2' - CFULLREACS(84) = 'K084=2.80E-11::ADD+O3-->ARO+OH' - CFULLREACS(85) = 'K085=@TROE(5.86E-01,9.70E-29,5.6,9.30E-12,1.5,TPK%M,TPK%T,KV& -&ECNPT)::CARBOP+NO2-->1.00000*PAN' - CFULLREACS(86) = 'K086=@TROE_EQUIL(9.70E-29,5.6,9.30E-12,1.5,1.16E+28,13954.,T& -&PK%M,TPK%T,KVECNPT)::PAN-->1.00000*CARBOP+NO2' - CFULLREACS(87) = 'K087=4.20E-12*exp(-(-180.0/TPK%T))::MO2+NO-->HCHO+HO2+NO2' - CFULLREACS(88) = 'K088=4.36E-12::ALKAP+NO-->0.33144*ALD+0.03002*HCHO+0.54531*K& -&ET+0.03407*CARBO+0.74265*HO2+0.09016*MO2+0.08187*ALKAP+0.13007*XO2+0.08459*ONI& -&T+0.91541*NO2' - CFULLREACS(89) = 'K089=6.93E-12::ALKEP+NO-->1.39870*HCHO+0.42125*ALD+0.05220*K& -&ET+HO2+NO2' - CFULLREACS(90) = 'K090=4.00E-12::BIOP+NO-->0.45463*CARBO+0.60600*HCHO+0.00000*& -&ALD+0.00000*KET+0.37815*ALKE+0.84700*HO2+0.84700*NO2+0.15300*ONIT' - CFULLREACS(91) = 'K091=4.00E-12::AROP+NO-->0.95115*NO2+0.95115*HO2+2.06993*CAR& -&BO+0.04885*ONIT' - CFULLREACS(92) = 'K092=1.22E-11::CARBOP+NO-->0.78134*MO2+0.09532*CARBOP+0.0584& -&8*HCHO+0.07368*ALD+0.08670*CARBO+0.12334*HO2+0.02563*XO2+NO2' - CFULLREACS(93) = 'K093=4.00E-12::OLN+NO-->0.18401*ONIT+1.81599*NO2+0.18401*HO2& -&+0.23419*HCHO+1.01182*ALD+0.37862*KET' - CFULLREACS(94) = 'K094=3.80E-13*exp(-(-800.0/TPK%T))::MO2+HO2-->OP1' - CFULLREACS(95) = 'K095=6.16E-14*exp(-(-700.0/TPK%T))+1.52E-13*exp(-(-1300.0/TP& -&K%T))::ALKAP+HO2-->1.00524*OP2' - CFULLREACS(96) = 'K096=1.81E-13*exp(-(-1300.0/TPK%T))::ALKEP+HO2-->1.00524*OP2& -&' - CFULLREACS(97) = 'K097=1.28E-13*exp(-(-1300.0/TPK%T))+0.00E-01::BIOP+HO2-->1.0& -&0524*OP2' - CFULLREACS(98) = 'K098=3.75E-13*exp(-(-980.0/TPK%T))::AROP+HO2-->1.00524*OP2' - CFULLREACS(99) = 'K099=5.94E-13*exp(-(-550.0/TPK%T))+1.99E-16*exp(-(-2640.0/TP& -&K%T))+5.56E-14*exp(-(-1300.0/TPK%T))::CARBOP+HO2-->0.80904*OP2+0.17307*ORA2+0.& -&17307*O3' - CFULLREACS(100) = 'K100=1.66E-13*exp(-(-1300.0/TPK%T))::OLN+HO2-->ONIT' - CFULLREACS(101) = 'K101=9.10E-14*exp(-(-416.0/TPK%T))::MO2+MO2-->1.33*HCHO+0.6& -&6*HO2' - CFULLREACS(102) = 'K102=1.03E-14*exp(-(-158.0/TPK%T))+6.24E-14*exp(-(-431.0/TP& -&K%T))+1.53E-14*exp(-(-467.0/TPK%T))+4.34E-15*exp(-(-633.0/TPK%T))::ALKAP+MO2--& -&>0.80556*HCHO+0.98383*HO2+0.56070*ALD+0.09673*KET+0.01390*MO2+0.07976*CARBO+0.& -&13370*XO2+0.00385*ALKAP' - CFULLREACS(103) = 'K103=1.57E-13*exp(-(-708.0/TPK%T))::ALKEP+MO2-->1.42894*HCH& -&O+0.46413*ALD+0.03814*KET+HO2' - CFULLREACS(104) = 'K104=1.36E-13*exp(-(-708.0/TPK%T))::BIOP+MO2-->0.56064*CARB& -&O+0.48074*ALKE+1.00000*HO2+1.09000*HCHO+0.00000*ALD+0.00000*KET' - CFULLREACS(105) = 'K105=3.56E-14*exp(-(-708.0/TPK%T))::AROP+MO2-->HCHO+1.02767& -&*HO2+1.99461*CARBO' - CFULLREACS(106) = 'K106=1.77E-11*exp(-(440.0/TPK%T))+1.48E-16*exp(-(-2510.0/TP& -&K%T))+3.10E-13*exp(-(-508.0/TPK%T))::CARBOP+MO2-->0.95723*HCHO+0.82998*HO2+0.5& -&6031*MO2+0.13684*ORA2+0.05954*CARBOP+0.15387*CARBO+0.08295*ALD+0.02212*XO2' - CFULLREACS(107) = 'K107=1.12E-13*exp(-(-708.0/TPK%T))::OLN+MO2-->0.88625*HCHO+& -&0.67560*HO2+0.67560*ONIT+0.41524*ALD+0.09667*KET+0.32440*NO2' - CFULLREACS(108) = 'K108=4.44E-14*exp(-(-211.0/TPK%T))+2.23E-13*exp(-(-460.0/TP& -&K%T))+4.10E-14*exp(-(-522.0/TPK%T))+1.17E-14*exp(-(-683.0/TPK%T))::ALKAP+CARBO& -&P-->0.71461*ALD+0.48079*HO2+0.51480*MO2+0.49810*ORA2+0.18819*KET+0.07600*HCHO+& -&0.00828*ALKAP+0.11306*XO2+0.06954*CARBO' - CFULLREACS(109) = 'K109=4.36E-13*exp(-(-765.0/TPK%T))::ALKEP+CARBOP-->0.68192*& -&HCHO+0.68374*ALD+0.50078*HO2+0.50078*MO2+0.49922*ORA2+0.06579*KET' - CFULLREACS(110) = 'K110=7.60E-13*exp(-(-765.0/TPK%T))::BIOP+CARBOP-->0.78591*C& -&ARBO+0.24463*ALKE+0.50600*HO2+0.49400*ORA2+0.34000*HCHO+0.50600*MO2+0.00000*AL& -&D+0.00000*KET' - CFULLREACS(111) = 'K111=3.63E-13*exp(-(-765.0/TPK%T))::AROP+CARBOP-->MO2+HO2+1& -&.99455*CARBO' - CFULLREACS(112) = 'K112=7.73E-13*exp(-(-530.0/TPK%T))+1.70E-13*exp(-(-565.0/TP& -&K%T))::CARBOP+CARBOP-->1.66702*MO2+0.05821*CARBOP+0.03432*HCHO+0.10777*CARBO+0& -&.06969*ALD+0.02190*KET+0.07566*HO2+0.01593*XO2+0.09955*ORA2' - CFULLREACS(113) = 'K113=4.85E-13*exp(-(-765.0/TPK%T))::OLN+CARBOP-->0.66562*ON& -&IT+0.51037*MO2+0.48963*ORA2+0.17599*HO2+0.13414*HCHO+0.42122*ALD+0.10822*KET+0& -&.00000*NO2' - CFULLREACS(114) = 'K114=4.19E-15*exp(-(-1000.0/TPK%T))::OLN+OLN-->2.00*ONIT+HO& -&2' - CFULLREACS(115) = 'K115=2.48E-14*exp(-(-1000.0/TPK%T))::OLN+OLN-->0.00000*HCHO& -&+0.00000*ALD+0.00000*KET+0.00000*HO2+0.00000*NO2+0.00000*ONIT' - CFULLREACS(116) = 'K116=1.20E-12::MO2+NO3-->HCHO+HO2+NO2' - CFULLREACS(117) = 'K117=1.20E-12::ALKAP+NO3-->0.33743*ALD+0.81290*HO2+0.03142*& -&HCHO+0.62978*KET+0.03531*CARBO+0.09731*MO2+0.08994*ALKAP+0.16271*XO2+NO2' - CFULLREACS(118) = 'K118=1.20E-12::ALKEP+NO3-->1.40909*HCHO+0.43039*ALD+0.02051& -&*KET+HO2+NO2' - CFULLREACS(119) = 'K119=1.20E-12::BIOP+NO3-->0.61160*CARBO+0.42729*ALKE+0.6860& -&0*HCHO+0.00000*ALD+0.00000*KET+HO2+NO2' - CFULLREACS(120) = 'K120=1.20E-12::AROP+NO3-->2.81904*CARBO+HO2+NO2' - CFULLREACS(121) = 'K121=3.48E-12::CARBOP+NO3-->0.91910*MO2+0.03175*CARBOP+0.03& -&175*HCHO+0.03455*CARBO+0.02936*ALD+0.04915*HO2+0.01021*XO2+NO2' - CFULLREACS(122) = 'K122=1.20E-12::OLN+NO3-->0.25928*ONIT+1.74072*NO2+0.25928*H& -&O2+0.20740*HCHO+0.91850*ALD+0.34740*KET' - CFULLREACS(123) = 'K123=1.66E-13*exp(-(-1300.0/TPK%T))::XO2+HO2-->1.00524*OP2' - CFULLREACS(124) = 'K124=5.99E-15*exp(-(-1510.0/TPK%T))::XO2+MO2-->HCHO+HO2' - CFULLREACS(125) = 'K125=1.69E-14*exp(-(-1560.0/TPK%T))::XO2+CARBOP-->MO2' - CFULLREACS(126) = 'K126=7.13E-17*exp(-(-2950.0/TPK%T))::XO2+XO2-->' - CFULLREACS(127) = 'K127=4.00E-12::XO2+NO-->NO2' - CFULLREACS(128) = 'K128=1.20E-12::XO2+NO3-->NO2' -IF (KVERB >= 5) THEN -! print information to KOUT - WRITE(KOUT,*) 'CH_INIT_CCS: prognostic variables are:' - DO JII = 1, NEQ - WRITE(KOUT,'(I4,2A)') JII, '. ', TRIM(CNAMES(JII)) - END DO - WRITE(KOUT,*) 'CH_INIT_CCS: implemented reactions are:' - DO JII = 1, NREAC - WRITE(KOUT,'(I4,2A)') JII, '. ', TRIM(CFULLREACS(JII)) - END DO -END IF -IF (LHOOK) CALL DR_HOOK('CH_INIT_CCS',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_INIT_CCS diff --git a/src/arome/chem/internals/ch_init_diagnostics.F90 b/src/arome/chem/internals/ch_init_diagnostics.F90 deleted file mode 100644 index e0a4e8a458b76fe6c5053c507154517d2b11c104..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_init_diagnostics.F90 +++ /dev/null @@ -1,128 +0,0 @@ -! ######spl - SUBROUTINE CH_INIT_DIAGNOSTICS - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################## -!! -!!**** *CH_INIT_DIAGNOSTICS* -!! -!! PURPOSE -!! ------- -!! prepare diagnostics -!! -!! METHOD -!! ------ -!! the diagnostics file CDIAGFILE (default: "BOX.DIAG") will be opened -!! and the headder will be written, containing general information -!! on the saved variables, actually the following variables will be saved: -!! CONC, reaction rates, PROD, LOSS, TERMS; -!! these variables are calculated by CH_PRODLOSS, CH_TERMS, and CH_GET_RATES -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 14/05/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/12/03 (Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: CDIAGFILE, CRUNID, CDIAGFORMAT, & - NDIAGIO, XTSIMUL -USE MODD_CH_M9, ONLY: NEQ, NREAC, NNONZEROTERMS, CNAMES, CREACS -!! -!! -!! -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! ----------------------------- -! -!* 0.2 Declaration of local variables -! ---------------------------------- -! -CHARACTER*8 :: YDATE ! for retrieval of date and time -CHARACTER*10 :: YTIME ! dito -! -INTEGER :: JI -!INTEGER, DIMENSION(2, NNONZEROTERMS) :: IINDEX ! indices of non-zero terms -INTEGER, DIMENSION(:,:), ALLOCATABLE :: IINDEX ! indices of non-zero terms -! Allocate IINDEX -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INIT_DIAGNOSTICS',0,ZHOOK_HANDLE) -ALLOCATE(IINDEX(2,NNONZEROTERMS)) -! -!* EXECUTABLE STATEMENTS -! --------------------- -! -! open the file -PRINT *, "CH_INIT_DIAGNOSTICS: opening unit ", NDIAGIO, " for file ", CDIAGFILE -OPEN(UNIT = NDIAGIO, & - FILE = CDIAGFILE, & - FORM = "FORMATTED", & - STATUS = "UNKNOWN" ) -! -! write the headder -CALL DATE_AND_TIME(YDATE, YTIME) -WRITE(NDIAGIO,'(4A)')'MODEL0D DIAGNOSTICS VERSION 1.1 AT ',YDATE,":",YTIME -WRITE(NDIAGIO,'(A)') CRUNID -! -! number of variables and their names -WRITE(NDIAGIO,'(4I10)') 1+NEQ+NREAC+2*NEQ+NNONZEROTERMS, & - NEQ, NREAC, NNONZEROTERMS -! -! diagnostics time -WRITE(NDIAGIO, '(A)') "XTSIMUL" -! -! the concentrations -DO JI = 1, NEQ - WRITE(NDIAGIO, '(A)') CNAMES(JI) -ENDDO -! -! the reaction rates -DO JI = 1, NREAC - WRITE(NDIAGIO, '(A)') CREACS(JI) -ENDDO -! -! the production terms -DO JI = 1, NEQ - WRITE(NDIAGIO, '(A)') CNAMES(JI) // "-PROD" -ENDDO -! -! the destruction terms terms -DO JI = 1, NEQ - WRITE(NDIAGIO, '(A)') CNAMES(JI) // "-LOSS" -ENDDO -! -! get the indices of the explicit contributions -! (only non-zero terms will be stored) -CALL CH_NONZEROTERMS(IINDEX, NNONZEROTERMS) -DO JI = 1, NNONZEROTERMS - WRITE(NDIAGIO, '(A)') CNAMES(IINDEX(1,JI)) // "-" // CREACS(IINDEX(2,JI)) -ENDDO -DO JI = 1, NNONZEROTERMS - WRITE(NDIAGIO, '(2I5)') IINDEX(1,JI), IINDEX(2,JI) -ENDDO -! -! write format of following data -WRITE(NDIAGIO,'(A)') CDIAGFORMAT -! -DEALLOCATE(IINDEX) -! -IF (LHOOK) CALL DR_HOOK('CH_INIT_DIAGNOSTICS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INIT_DIAGNOSTICS diff --git a/src/arome/chem/internals/ch_init_jvalues.F90 b/src/arome/chem/internals/ch_init_jvalues.F90 deleted file mode 100644 index 3aa7acc4482d7595b60c99873dd57fd1442a0104..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_init_jvalues.F90 +++ /dev/null @@ -1,154 +0,0 @@ -! ######spl - SUBROUTINE CH_INIT_JVALUES(KDAY, KMONTH, KYEAR, KLUOUT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################### -!! -!!*** *CH_INIT_JVALUES* -!! -!! PURPOSE -!! ------- -! calculate J-Values used by MesoNH-chemistry -!! -!!** METHOD -!! ------ -!! The radiative transfer model TUV is called for a dicrete number -!! of solar zenith angle (latitude, longitude, time) and altitude. -!! TUV itself requires -!! a number of input files that will reside in directories -!! DATAX, DATA0 and DATA4 (to be created at runtime by tar xvf TUVDATA.tar). -!! Temporal interpolation is performed in CH_MONITOR. -!! -!!============================================================================== -!! -!! REFERENCES -!! ---------- -!! MesoNH-chemistry book 3 -!! -!! AUTHOR -!! ------ -!! C. Mari -!! -!! MODIFICATIONS -!! ------------- -!! Original 11/03/01 -!! Modification -!! 12/03/01 (P. Tulet) Include variation of J with surface albedo -!! 01/02/04 (P. Tulet) externalisation , modification of the albedo UV -!! interpolation -!! 01/12/04 (P. Tulet) update for arome -!! -!! EXTERNAL -!! -------- -!! TUV39.f (Fortran 77 code from S. Madronich) -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! None -! -USE MODD_CH_INIT_JVALUES -! -!* 0. DECLARATIONS -! ----------------- -! -IMPLICIT NONE -! -INTEGER, INTENT(IN) :: KLUOUT -INTEGER, INTENT(IN) :: KYEAR ! Current Year -INTEGER, INTENT(IN) :: KMONTH ! Current Month -INTEGER, INTENT(IN) :: KDAY ! Current Day - -! -! Calculation of J values -! -REAL, DIMENSION(NZZ_JVAL) :: ZLWC -REAL :: ZDZ -REAL :: ZDOBNEW -REAL :: ZSZALOOP, ZALBLOOP -REAL :: ZMAX = 30E3 - ! MAXIMUM HEIGHT FOR WHICH J-VALUES WILL BE COMPUTED -INTEGER :: IDATE -! -! J value storage -! -CHARACTER*40, DIMENSION(JPJVMAX) :: YLABELOUT -REAL, DIMENSION(NZZ_JVAL,JPJVMAX) :: ZJOUT -! -! Parameters for interpolation -! -INTEGER :: JALB, JKLEV, JSZA, JJVAL -! -!---------------------------------------------------------------------------- -! -! -!* 1. INITIALISATION -! ------------------- -! -! Nb of interpolation values for albedo; values = 10 -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INIT_JVALUES',0,ZHOOK_HANDLE) -NBALB=10 -IF (.NOT.ALLOCATED(XJDATA)) ALLOCATE(XJDATA(NSZA_INCR,NZZ_JVAL,JPJVMAX,NBALB)) - ! - !* Albedo - ! now denifed by radiation scheme - ! - !* Solar Zenith Angle - ! - IF (.NOT. ALLOCATED(XSZA_JVAL)) ALLOCATE(XSZA_JVAL(NSZA_INCR)) - DO JSZA = 1, NSZA_INCR - XSZA_JVAL(JSZA) = FLOAT(JSZA-1) - ENDDO - ! - !* Ozone Column - ! - ZDOBNEW = 320. - ! - !* Date - ! - IDATE= MOD(KYEAR,100) *10000 + KMONTH * 100 + KDAY - ! - !* Vertical Levels - ! - ZDZ = ZMAX / FLOAT(NZZ_JVAL - 1) - IF(.NOT.ALLOCATED(XZZ_JVAL)) ALLOCATE(XZZ_JVAL(NZZ_JVAL)) - DO JKLEV = 1, NZZ_JVAL - XZZ_JVAL(JKLEV) = FLOAT(JKLEV-1) * ZDZ - ZLWC(JKLEV)= 0.0 - ENDDO - ! - !* CALL TUV 3.9 - ! ------------ - ! - DO JALB=1,NBALB - ZALBLOOP=0.02+0.20*FLOAT(JALB-1)/FLOAT(NBALB-1) - DO JSZA = 1, NSZA_INCR - ZSZALOOP = XSZA_JVAL(JSZA) - CALL TUVMAIN( ZSZALOOP, IDATE, & - ZALBLOOP, ZDOBNEW, & - NZZ_JVAL,XZZ_JVAL, ZLWC, & - JPJVMAX, ZJOUT, YLABELOUT ) - DO JKLEV = 1, NZZ_JVAL - DO JJVAL = 1, JPJVMAX - XJDATA(JSZA,JKLEV,JJVAL,JALB) = ZJOUT(JKLEV,JJVAL) - ENDDO - ENDDO - ENDDO - ENDDO - XJDATA(:,:,:,:)=MAX(0.,XJDATA(:,:,:,:)) - ! -WRITE(KLUOUT,*) "There are ", NZZ_JVAL, " vertical levels with a spacing of ",& - ZDZ, "m" -WRITE(KLUOUT,*) "The solar zenith angle varies from", XSZA_JVAL(1)," to ", & - XSZA_JVAL(NSZA_INCR) -WRITE(KLUOUT,*) "There are the following ", JPJVMAX, " photolysis reactions:" -DO JJVAL = 1, JPJVMAX - WRITE(KLUOUT,'(I4, A, A70)') JJVAL, ". ", YLABELOUT(JJVAL) -ENDDO -DO JJVAL = 1, JPJVMAX - WRITE(KLUOUT,'(A12,1X,I2,E12.4,1X,E12.4)')'J Values',JJVAL, & - MAXVAL(XJDATA(:,:,JJVAL,:)), MINVAL(XJDATA(:,:,JJVAL,:)) -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_INIT_JVALUES',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INIT_JVALUES diff --git a/src/arome/chem/internals/ch_init_output.F90 b/src/arome/chem/internals/ch_init_output.F90 deleted file mode 100644 index 22e679447605d18151508555428eebf12ce9e92f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_init_output.F90 +++ /dev/null @@ -1,126 +0,0 @@ -! ######spl - SUBROUTINE CH_INIT_OUTPUT(TPM) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################## -!! -!!*** *CH_INIT_OUTPUT* -!! -!! PURPOSE -!! ------- -!! prepare regular output of results -!! -!!** METHOD -!! ------ -!! the result file CRESULTFILE (default: "BOX.RESULT") will be opened -!! and the headder will be written, containing general information -!! on the saved variables, presently the following variables will be saved: -!! - concentration of all prognostic variables -!! - the reaction constants and photolysis rates -!! - the meteo variables -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 25/04/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: CRESULTFILE, CRUNID, CRESULTFORMAT, & - NRESULTIO, XTSIMUL -USE MODD_CH_M9, ONLY: NEQ, NREAC, NMETEOVARS, CNAMES, CREACS, METEOTRANSTYPE -USE MODD_CH_AEROSOL -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -TYPE(METEOTRANSTYPE), INTENT(IN) :: TPM ! the meteo variables -! -!* 0.2 declaration of local variables -! -CHARACTER*8 :: YDATE ! for retrieval of date and time -CHARACTER*10 :: YTIME ! dito -INTEGER :: JI ! loop control -INTEGER :: NAERO -! -!------------------------------------------------------------------------------ -! -!* 1. OPEN OUTPUT FILE -! ---------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INIT_OUTPUT',0,ZHOOK_HANDLE) -PRINT *, "CH_INIT_OUTPUT: opening unit ", NRESULTIO, " for file ", CRESULTFILE -OPEN(UNIT = NRESULTIO, & - FILE = CRESULTFILE, & - FORM = "FORMATTED", & - STATUS = "UNKNOWN" ) -! -!* 2. WRITE HEADDER -! ------------------ -! -!* 2.1 write two lines of comment (date, time, runid) -! -IF (LORILAM) THEN -NAERO=SIZE(CAERONAMES) -ELSE -NAERO=0 -END IF - -CALL DATE_AND_TIME(YDATE, YTIME) -WRITE(NRESULTIO,'(4A)')'MODEL0D RESULTS VERSION 1.1 AT ',YDATE,":",YTIME -WRITE(NRESULTIO,'(A)') CRUNID -! -!* 2.2 write number of variables and their names -! -WRITE(NRESULTIO,'(4I6)') 1+NEQ+NAERO+NREAC+NMETEOVARS, NEQ, NREAC, NMETEOVARS -! -!* 2.3 write simulation time -! -WRITE(NRESULTIO, '(A)') "XTSIMUL" -! -!* 2.4 write chemical concentrations -! -DO JI = 1, NEQ - WRITE(NRESULTIO, '(A)') CNAMES(JI) -ENDDO -DO JI = 1, NAERO - WRITE(NRESULTIO, '(A)') CAERONAMES(JI) -ENDDO -! -!* 2.5 write reaction and photolysis rates -! -DO JI = 1, NREAC - WRITE(NRESULTIO, '(A)') CREACS(JI) -ENDDO -! -!* 2.6 write meteo variables -! -DO JI = 1, NMETEOVARS - WRITE(NRESULTIO, '(A)') TPM%CMETEOVAR(JI) -ENDDO -! -!* 2.7 write data output format -! -WRITE(NRESULTIO,'(A)') CRESULTFORMAT -! -IF (LHOOK) CALL DR_HOOK('CH_INIT_OUTPUT',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INIT_OUTPUT diff --git a/src/arome/chem/internals/ch_init_scheme.F90 b/src/arome/chem/internals/ch_init_scheme.F90 deleted file mode 100644 index baa0988e080552cc28303e3d833f35d4e59f7dcb..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_init_scheme.F90 +++ /dev/null @@ -1,81 +0,0 @@ -! ######spl - SUBROUTINE CH_INIT_SCHEME(KLUOUT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################### -!! -!!*** *CH_INIT_SCHEME* -!! -!! PURPOSE -!! ------- -! initialize module MODD_CH_M9 variables (now MesoNH variables) from internal -! scheme constants defined in module MODD_CH_M9_SCHEME from BASIC.f90 (scheme dependant). -!! -!!** METHOD -!! ------ -!! Names of variables are identical in both MODD_CH_M9 and MODD_CH_M9_SCHEME -!! modules to minimize sources modifications and keep users habits. -!! So we rename variables/constant from MODD_CH_M9_SCHEME by prefixing them with -!! I_ (I means scheme Internal). -!! -!!============================================================================== -!! -!! REFERENCES -!! ---------- -!! MesoNH-chemistry book 3 -!! -!! AUTHOR -!! ------ -!! D. Gazen -!! -!! MODIFICATIONS -!! ------------- -!! Original 19/10/03 -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! None -!---------------------------------------------------------------------------- -! -USE MODD_CH_M9 !! the mesonh interface for chemical variables -USE MODD_CH_M9_SCHEME, ONLY : TACCS, & - & I_NEQ=>NEQ, & - & I_NREAC=>NREAC, & - & I_NMETEOVARS=>NMETEOVARS, & - & I_NNONZEROTERMS=>NNONZEROTERMS, & - & I_CNAMES=>CNAMES, & - & I_CREACS=>CREACS, & - & I_CFULLREACS=>CFULLREACS, & - & JP_CO -! -IMPLICIT NONE -! -!* 0. DECLARATIONS -! ----------------- -! -INTEGER, INTENT(IN) :: KLUOUT -! -!---------------------------------------------------------------------------- -! -!* 1. INITIALISATION -! ------------------- -!Left member belongs to MODD_CH_M9 module variables -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INIT_SCHEME',0,ZHOOK_HANDLE) -NEQ = I_NEQ -NREAC = I_NREAC -NMETEOVARS = I_NMETEOVARS -NNONZEROTERMS = I_NNONZEROTERMS -! -CNAMES=>I_CNAMES -CREACS=>I_CREACS -CFULLREACS=>I_CFULLREACS -! -! -WRITE(KLUOUT,*) 'CH_INIT_SCHEME done : NEQ, NREAC, NMETEOVARS, NNONZEROTERMS = ',& - & NEQ, NREAC, NMETEOVARS, NNONZEROTERMS - -IF (LHOOK) CALL DR_HOOK('CH_INIT_SCHEME',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INIT_SCHEME diff --git a/src/arome/chem/internals/ch_inter1.F b/src/arome/chem/internals/ch_inter1.F deleted file mode 100644 index 7d412c04d237113fa5d179061892fb5cc9c583b4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_inter1.F +++ /dev/null @@ -1,43 +0,0 @@ -! ######spl - SUBROUTINE ch_inter1(ng,xg,yg, n,x,y) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - INTEGER n, ng - REAL xg(ng) - REAL x(n), y(n) - -! output: - REAL yg(ng) - -! local: - REAL slope - INTEGER jsave, i, j -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_INTER1',0,ZHOOK_HANDLE) - jsave = 1 - DO 20, i = 1, ng - yg(i) = 0. - j = jsave - 10 CONTINUE - IF ((x(j) .GT. xg(i)) .OR. (xg(i) .GE. x(j+1))) THEN - j = j+1 - IF (j .LE. n-1) GOTO 10 -! ---- end of loop 10 ---- - ELSE - slope = (y(j+1)-y(j)) / (x(j+1)-x(j)) - yg(i) = y(j) + slope * (xg(i) - x(j)) - jsave = j - ENDIF - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('CH_INTER1',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE CH_INTER1 diff --git a/src/arome/chem/internals/ch_inter2.F b/src/arome/chem/internals/ch_inter2.F deleted file mode 100644 index 1a9a1142f0fc67bdab0773dade9f4313a21578f8..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_inter2.F +++ /dev/null @@ -1,136 +0,0 @@ -! ######spl - SUBROUTINE ch_inter2(ng,xg,yg,n,x,y,ierr) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - INTEGER ng, n - REAL x(n), y(n), xg(ng) - -! output: - REAL yg(ng) - -! local: - REAL area, xgl, xgu - REAL darea, slope - REAL a1, a2, b1, b2 - INTEGER ngintv - INTEGER i, k, jstart - INTEGER ierr -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_INTER2',0,ZHOOK_HANDLE) - ierr = 0 - -! test for correct ordering of data, by increasing value of x - - DO 10, i = 2, n - IF (x(i) .LE. x(i-1)) THEN - ierr = 1 - WRITE(*,*)'data not sorted' - IF (LHOOK) CALL DR_HOOK('CH_INTER2',1,ZHOOK_HANDLE) - RETURN - ENDIF - 10 CONTINUE - - DO i = 2, ng - IF (xg(i) .LE. xg(i-1)) THEN - ierr = 2 - WRITE(0,*) '>>> ERROR (inter2) <<< xg-grid not sorted!' - IF (LHOOK) CALL DR_HOOK('CH_INTER2',1,ZHOOK_HANDLE) - RETURN - ENDIF - ENDDO - -! check for xg-values outside the x-range - - IF ( (x(1) .GT. xg(1)) .OR. (x(n) .LT. xg(ng)) ) THEN - WRITE(0,*) '>>> ERROR (inter2) <<< Data do not span '// & - & 'grid. ' - WRITE(0,*) ' Use ADDPNT to '// & - & 'expand data and re-run.' - STOP - ENDIF - -! find the integral of each grid interval and use this to -! calculate the average y value for the interval -! xgl and xgu are the lower and upper limits of the grid interval - - jstart = 1 - ngintv = ng - 1 - DO 50, i = 1,ngintv - -! initalize: - - area = 0.0 - xgl = xg(i) - xgu = xg(i+1) - -! discard data before the first grid interval and after the -! last grid interval -! for internal grid intervals, start calculating area by interpolating -! between the last point which lies in the previous interval and the -! first point inside the current interval - - k = jstart - IF (k .LE. n-1) THEN - -! if both points are before the first grid, go to the next point - 30 CONTINUE - IF (x(k+1) .LE. xgl) THEN - jstart = k - 1 - k = k+1 - IF (k .LE. n-1) GO TO 30 - ENDIF - - -! if the last point is beyond the end of the grid, complete and go to the next -! grid - 40 CONTINUE - IF ((k .LE. n-1) .AND. (x(k) .LT. xgu)) THEN - - jstart = k-1 - -! compute x-coordinates of increment - - a1 = MAX(x(k),xgl) - a2 = MIN(x(k+1),xgu) - -! if points coincide, contribution is zero - - IF (x(k+1).EQ.x(k)) THEN - darea = 0.e0 - ELSE - slope = (y(k+1) - y(k))/(x(k+1) - x(k)) - b1 = y(k) + slope*(a1 - x(k)) - b2 = y(k) + slope*(a2 - x(k)) - darea = (a2 - a1)*(b2 + b1)/2. - ENDIF - - -! find the area under the trapezoid from a1 to a2 - - area = area + darea - -! go to next point - - k = k+1 - GO TO 40 - - ENDIF - - ENDIF - -! calculate the average y after summing the areas in the interval - yg(i) = area/(xgu - xgl) - - 50 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('CH_INTER2',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE CH_INTER2 diff --git a/src/arome/chem/internals/ch_interp_jvalues.F90 b/src/arome/chem/internals/ch_interp_jvalues.F90 deleted file mode 100644 index b5d5e4ba5c180c43d75fe9bbb8a52af94f3c1dd4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_interp_jvalues.F90 +++ /dev/null @@ -1,252 +0,0 @@ -! ######spl - SUBROUTINE CH_INTERP_JVALUES(PJVALUES,PZZ, PZS, PALBUV, PZENITH,& - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB, KLUOUT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################################### -! -!! -!!*** *CH_INTERP_JVALUES* interpolate photolysis rates in time and space -!! -!! PURPOSE -!! ------- -!! Interpolates J-Values in time and space -!! -!!** METHOD -!! -!! REFERENCE -!! --------- -!! MesoNH documentation -!! -!! AUTHOR -!! ------ -!! C. Mari (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/03/01 -!! P. Tulet 01/11/03 externalisation surface/ UV albedos from -! radiations -!! P. Tulet 01/06/05 updates for arome -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -! -USE MODD_PARAMETERS -USE MODD_CST -USE MODD_CONF -USE MODD_CH_INIT_JVALUES -! -!! EXPLICIT ARGUMENTS -!! ------------------ -! -IMPLICIT NONE -! -INTEGER, INTENT(IN) :: KLUOUT -INTEGER, INTENT(IN) :: KLON ! dimension I -INTEGER, INTENT(IN) :: KLAT ! dimension J -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALBUV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -INTEGER, INTENT(IN) :: KVERB ! verbosity level -! -!! LOCAL VARIABLES -!! --------------- -! -! -INTEGER :: JI, JJ, JH ! loop counters -INTEGER :: IIU, IJU, IKU , IKB, IKE -INTEGER :: JALB, JJVAL -! -REAL, DIMENSION(:,:,:,:,:), ALLOCATABLE :: ZJDATAALB -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSZA -REAL, DIMENSION(:,:), ALLOCATABLE :: ZCOSZEN - ! cosine of zenithal angle -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSINZEN - ! sine of zenithal angle -REAL, DIMENSION(:,:), ALLOCATABLE :: ZAZIMSOL - ! azimuthal solar angle (not used) -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZWT -REAL, DIMENSION(:,:), ALLOCATABLE :: ZALB1, ZALB2 -INTEGER :: JSZA, JNHT -INTEGER, DIMENSION(:,:), ALLOCATABLE :: JSZAN, JKHTA -REAL, DIMENSION(:,:), ALLOCATABLE :: ZFSZA, ZOMSZA, ZOMFHTA, ZFHTA -INTEGER :: IIB ! physical boundary -INTEGER :: IIE ! physical boundary -INTEGER :: IJB ! physical boundary -INTEGER :: IJE ! physical boundary - -! -!--------------------------------------------------------------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INTERP_JVALUES',0,ZHOOK_HANDLE) -IF (CPROGRAM == "MOD0D") THEN - -IIU=1 -IJU=1 -IKB=1 -IKE=1 -IKU=1 -IJB=1 -IJE=1 -IIB=1 -IIE=1 - -ELSE -IIU=NIU -IJU=NJU -IKU=SIZE(PZZ,3) - -IIB = NIB -IIE = NIE -IJB = NJB -IJE = NJE -IKB = 1 + JPVEXT -IKE = IKU - JPVEXT - -END IF -! -IF (.NOT.ALLOCATED(ZCOSZEN)) ALLOCATE(ZCOSZEN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZSINZEN)) ALLOCATE(ZSINZEN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZAZIMSOL)) ALLOCATE(ZAZIMSOL(IIU,IJU)) -IF (.NOT.ALLOCATED(ZSZA)) ALLOCATE(ZSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(JSZAN)) ALLOCATE(JSZAN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZFSZA)) ALLOCATE(ZFSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZOMSZA)) ALLOCATE(ZOMSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZOMFHTA)) ALLOCATE(ZOMFHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZFHTA)) ALLOCATE(ZFHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(JKHTA)) ALLOCATE(JKHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZWT)) ALLOCATE(ZWT(IIU,IJU,4)) -IF (.NOT.ALLOCATED(ZALB1)) ALLOCATE(ZALB1(IIU,IJU)) -IF (.NOT.ALLOCATED(ZALB2)) ALLOCATE(ZALB2(IIU,IJU)) -IF (.NOT.ALLOCATED(ZJDATAALB)) & - ALLOCATE(ZJDATAALB(IIU,IJU,IKU,JPJVMAX,NBALB)) - -ZJDATAALB(:,:,:,:,:)=0. -! -ZCOSZEN(:,:) = COS(PZENITH(:,:)) -ZSZA(:,:) = ACOS(ZCOSZEN(:,:)) * 180. / (2.*ASIN(1.)) -! - !* find index for solar zenith angle - ! --------------------------------- - ! -JSZAN(:,:) = 2 -DO JSZA = 2, NSZA_INCR-1 - WHERE(ZSZA(:,:).GT.XSZA_JVAL(JSZA)) - JSZAN(:,:) = JSZA+1 - END WHERE -END DO -ZFSZA(:,:) = 0. -DO JJ=IJB,IJE - DO JI=IIB,IIE - ZFSZA(JI,JJ) = (XSZA_JVAL(JSZAN(JI,JJ)) - ZSZA(JI,JJ))/ & - (XSZA_JVAL(JSZAN(JI,JJ)) - XSZA_JVAL(JSZAN(JI,JJ)-1)) - END DO -END DO -ZOMSZA(:,:) = 1. - ZFSZA(:,:) - - ! - ! * Vertical interpolation of J values - ! ---------------------------------- - ! -! -DO JH = 1, IKE-IKB+1 - ! - JKHTA(:,:) = 2 - ZFHTA(:,:) = 0. - DO JNHT = 2, NZZ_JVAL - 1 - WHERE((PZZ(:,:,JH)-PZS(:,:)).GT.XZZ_JVAL(JNHT)) JKHTA(:,:) = JNHT + 1 - END DO - DO JJ=IJB,IJE - DO JI=IIB,IIE - ZFHTA(JI,JJ) = (XZZ_JVAL(JKHTA(JI,JJ)) - (PZZ(JI,JJ,JH)-PZS(JI,JJ))) & - /(XZZ_JVAL(JKHTA(JI,JJ))-XZZ_JVAL(JKHTA(JI,JJ)-1)) - END DO - END DO - ZOMFHTA(:,:) = 1. - ZFHTA(:,:) - ! - ZWT(:,:,1) = ZOMSZA(:,:) * ZFHTA(:,:) - ZWT(:,:,2) = ZFSZA(:,:) * ZFHTA(:,:) - ZWT(:,:,3) = ZFSZA(:,:) * ZOMFHTA(:,:) - ZWT(:,:,4) = ZOMSZA(:,:) * ZOMFHTA(:,:) - ! - - ! - DO JALB = 1, NBALB - DO JJVAL = 1, JPJVMAX - DO JJ=IJB,IJE - DO JI=IIB,IIE - ZJDATAALB(JI,JJ,JH,JJVAL,JALB) = & - ZWT(JI,JJ,1) * XJDATA(JSZAN(JI,JJ)-1,JKHTA(JI,JJ)-1,JJVAL,JALB) & - + ZWT(JI,JJ,2) * XJDATA(JSZAN(JI,JJ),JKHTA(JI,JJ)-1,JJVAL,JALB) & - + ZWT(JI,JJ,3) * XJDATA(JSZAN(JI,JJ)-1,JKHTA(JI,JJ),JJVAL,JALB) & - + ZWT(JI,JJ,4) * XJDATA(JSZAN(JI,JJ),JKHTA(JI,JJ),JJVAL,JALB) - END DO - END DO - ENDDO - ENDDO -ENDDO - -ZJDATAALB(:,:,IKE,:,:) = ZJDATAALB(:,:,IKE-IKB+1,:,:) -ZJDATAALB(:,:,IKU,:,:) = ZJDATAALB(:,:,IKE-IKB+1,:,:) - - -! -DO JALB = 1, NBALB - DO JJVAL = 1, JPJVMAX - DO JH = IKB, IKE - WHERE(ZSZA(:,:).GT.100.) ZJDATAALB(:,:,JH,JJVAL,JALB)=0. - ENDDO - ENDDO -ENDDO -! -! -PJVALUES(:,:,:,:) = ZJDATAALB(:,:,:,:,1) -! - -DO JALB=1,NBALB-1 - ZALB1(:,:) = 0.02+0.20*FLOAT(JALB-1)/FLOAT(NBALB-1) - ZALB2(:,:) = 0.02+0.20*FLOAT(JALB )/FLOAT(NBALB-1) - - DO JJVAL = 1, JPJVMAX - DO JH = IKB, IKE - WHERE(PALBUV(:,:)>ZALB1(:,:) .AND. PALBUV(:,:)<=ZALB2(:,:)) - PJVALUES(:,:,JH,JJVAL) = & - ( PALBUV(:,:) - ZALB1(:,:) ) / ( ZALB2(:,:) - ZALB1(:,:) ) * ZJDATAALB(:,:,JH,JJVAL,JALB ) & - + ( ZALB2(:,:) - PALBUV(:,:) ) / ( ZALB2(:,:) - ZALB1(:,:)) * ZJDATAALB(:,:,JH,JJVAL,JALB+1) - END WHERE - WHERE(PALBUV(:,:) > ZALB2(:,:)) PJVALUES(:,:,JH,JJVAL) = ZJDATAALB(:,:,JH,JJVAL,JALB+1) - END DO - END DO -END DO -! -! -PJVALUES(:,:,:,:) = MAX(0.,PJVALUES(:,:,:,:)) -! -IF (KVERB >= 6) THEN -WRITE(KLUOUT,*) "photolysis rates interpolated in time and space" -END IF - -DEALLOCATE(ZCOSZEN) -DEALLOCATE(ZSINZEN) -DEALLOCATE(ZAZIMSOL) -DEALLOCATE(ZSZA) -DEALLOCATE(ZJDATAALB) -DEALLOCATE(JSZAN) -DEALLOCATE(ZFSZA) -DEALLOCATE(ZOMSZA) -DEALLOCATE(ZOMFHTA) -DEALLOCATE(ZFHTA) -DEALLOCATE(ZWT) -DEALLOCATE(ZALB1) -DEALLOCATE(ZALB2) - -! -IF (LHOOK) CALL DR_HOOK('CH_INTERP_JVALUES',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INTERP_JVALUES diff --git a/src/arome/chem/internals/ch_interp_jvalues_n.F90 b/src/arome/chem/internals/ch_interp_jvalues_n.F90 deleted file mode 100644 index 2cf333d741e548c2767267118d08617f5acf7151..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_interp_jvalues_n.F90 +++ /dev/null @@ -1,254 +0,0 @@ -! ######spl - SUBROUTINE CH_INTERP_JVALUES_n(PJVALUES,PZZ, PZS, PALBUV, PZENITH,& - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB, KLUOUT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################################### -! -!! -!!*** *CH_INTERP_JVALUES_n* interpolate photolysis rates in time and space -!! -!! PURPOSE -!! ------- -!! Interpolates J-Values in time and space -!! -!!** METHOD -!! -!! REFERENCE -!! --------- -!! MesoNH documentation -!! -!! AUTHOR -!! ------ -!! C. Mari (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/03/01 -!! P. Tulet 01/11/03 externalisation surface/ UV albedos from -! radiations -!! P. Tulet 01/06/05 updates for arome -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -! -USE MODD_PARAMETERS -USE MODD_CST -USE MODD_CONF -USE MODD_CH_INIT_JVALUES -! -!! EXPLICIT ARGUMENTS -!! ------------------ -! -IMPLICIT NONE -! -INTEGER, INTENT(IN) :: KLUOUT -INTEGER, INTENT(IN) :: KLON ! dimension I -INTEGER, INTENT(IN) :: KLAT ! dimension J -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALBUV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -INTEGER, INTENT(IN) :: KVERB ! verbosity level -! -!! LOCAL VARIABLES -!! --------------- -! -! -INTEGER :: JI, JJ, JH ! loop counters -INTEGER :: IIU, IJU, IKU , IKB, IKE -INTEGER :: JALB, JJVAL -! -REAL, DIMENSION(:,:,:,:,:), ALLOCATABLE :: ZJDATAALB -! -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSZA -REAL, DIMENSION(:,:), ALLOCATABLE :: ZCOSZEN - ! cosine of zenithal angle -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSINZEN - ! sine of zenithal angle -REAL, DIMENSION(:,:), ALLOCATABLE :: ZAZIMSOL - ! azimuthal solar angle (not used) -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZWT -REAL, DIMENSION(:,:), ALLOCATABLE :: ZALB1, ZALB2 -INTEGER :: JSZA, JNHT -INTEGER, DIMENSION(:,:), ALLOCATABLE :: JSZAN, JKHTA -REAL, DIMENSION(:,:), ALLOCATABLE :: ZFSZA, ZOMSZA, ZOMFHTA, ZFHTA -INTEGER :: IIB ! physical boundary -INTEGER :: IIE ! physical boundary -INTEGER :: IJB ! physical boundary -INTEGER :: IJE ! physical boundary - -! -!--------------------------------------------------------------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_INTERP_JVALUES_N',0,ZHOOK_HANDLE) -IF (CPROGRAM == "MOD0D") THEN - -IIU=1 -IJU=1 -IKB=1 -IKE=1 -IKU=1 -IJB=1 -IJE=1 -IIB=1 -IIE=1 - -ELSE - -IIU=NIU -IJU=NJU -IKU=SIZE(PZZ,3) - -IIB = NIB -IIE = NIE -IJB = NJB -IJE = NJE -IKB = 1 + JPVEXT -IKE = IKU - JPVEXT - -END IF -! -IF (.NOT.ALLOCATED(ZCOSZEN)) ALLOCATE(ZCOSZEN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZSINZEN)) ALLOCATE(ZSINZEN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZAZIMSOL)) ALLOCATE(ZAZIMSOL(IIU,IJU)) -IF (.NOT.ALLOCATED(ZSZA)) ALLOCATE(ZSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(JSZAN)) ALLOCATE(JSZAN(IIU,IJU)) -IF (.NOT.ALLOCATED(ZFSZA)) ALLOCATE(ZFSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZOMSZA)) ALLOCATE(ZOMSZA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZOMFHTA)) ALLOCATE(ZOMFHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZFHTA)) ALLOCATE(ZFHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(JKHTA)) ALLOCATE(JKHTA(IIU,IJU)) -IF (.NOT.ALLOCATED(ZWT)) ALLOCATE(ZWT(IIU,IJU,4)) -IF (.NOT.ALLOCATED(ZALB1)) ALLOCATE(ZALB1(IIU,IJU)) -IF (.NOT.ALLOCATED(ZALB2)) ALLOCATE(ZALB2(IIU,IJU)) -IF (.NOT.ALLOCATED(ZJDATAALB)) & - ALLOCATE(ZJDATAALB(IIU,IJU,IKU,JPJVMAX,NBALB)) - - ZJDATAALB(:,:,:,:,:)=0. -! -ZCOSZEN(:,:) = COS(PZENITH(:,:)) -ZSZA(:,:) = ACOS(ZCOSZEN(:,:)) * 180. / (2.*ASIN(1.)) -! - !* find index for solar zenith angle - ! --------------------------------- - ! -JSZAN(:,:) = 2 -DO JSZA = 2, NSZA_INCR-1 - WHERE(ZSZA(:,:).GT.XSZA_JVAL(JSZA)) - JSZAN(:,:) = JSZA+1 - END WHERE -END DO - -ZFSZA(:,:) = 0. -DO JJ=IJB,IJE - DO JI=IIB,IIE - ZFSZA(JI,JJ) = (XSZA_JVAL(JSZAN(JI,JJ)) - ZSZA(JI,JJ))/ & - (XSZA_JVAL(JSZAN(JI,JJ)) - XSZA_JVAL(JSZAN(JI,JJ)-1)) - END DO -END DO -ZOMSZA(:,:) = 1. - ZFSZA(:,:) - - ! - ! * Vertical interpolation of J values - ! ---------------------------------- - ! -! -ZFHTA(:,:) = 0. -DO JH = 1, IKE-IKB+1 - ! - JKHTA(:,:) = 2 - DO JNHT = 2, NZZ_JVAL - 1 - WHERE((PZZ(:,:,JH)-PZS(:,:)).GT.XZZ_JVAL(JNHT)) JKHTA(:,:) = JNHT + 1 - END DO - DO JJ=IJB,IJE - DO JI=IIB,IIE - ZFHTA(JI,JJ) = (XZZ_JVAL(JKHTA(JI,JJ)) - (PZZ(JI,JJ,JH)-PZS(JI,JJ))) & - /(XZZ_JVAL(JKHTA(JI,JJ))-XZZ_JVAL(JKHTA(JI,JJ)-1)) - END DO - END DO - ZOMFHTA(:,:) = 1. - ZFHTA(:,:) - ! - ZWT(:,:,1) = ZOMSZA(:,:) * ZFHTA(:,:) - ZWT(:,:,2) = ZFSZA(:,:) * ZFHTA(:,:) - ZWT(:,:,3) = ZFSZA(:,:) * ZOMFHTA(:,:) - ZWT(:,:,4) = ZOMSZA(:,:) * ZOMFHTA(:,:) - ! - - ! - DO JALB = 1, NBALB - DO JJVAL = 1, JPJVMAX - DO JJ=IJB,IJE - DO JI=IIB,IIE - ZJDATAALB(JI,JJ,JH,JJVAL,JALB) = & - ZWT(JI,JJ,1) * XJDATA(JSZAN(JI,JJ)-1,JKHTA(JI,JJ)-1,JJVAL,JALB) & - + ZWT(JI,JJ,2) * XJDATA(JSZAN(JI,JJ),JKHTA(JI,JJ)-1,JJVAL,JALB) & - + ZWT(JI,JJ,3) * XJDATA(JSZAN(JI,JJ)-1,JKHTA(JI,JJ),JJVAL,JALB) & - + ZWT(JI,JJ,4) * XJDATA(JSZAN(JI,JJ),JKHTA(JI,JJ),JJVAL,JALB) - END DO - END DO - ENDDO - ENDDO -ENDDO - -ZJDATAALB(:,:,IKE,:,:) = ZJDATAALB(:,:,IKE-IKB+1,:,:) -ZJDATAALB(:,:,IKU,:,:) = ZJDATAALB(:,:,IKE-IKB+1,:,:) - - -! -DO JALB = 1, NBALB - DO JJVAL = 1, JPJVMAX - DO JH = IKB, IKE - WHERE(ZSZA(:,:).GT.100.) ZJDATAALB(:,:,JH,JJVAL,JALB)=0. - ENDDO - ENDDO -ENDDO -! -! -PJVALUES(:,:,:,:) = ZJDATAALB(:,:,:,:,1) -! - -DO JALB=1,NBALB-1 - ZALB1(:,:) = 0.02+0.20*FLOAT(JALB-1)/FLOAT(NBALB-1) - ZALB2(:,:) = 0.02+0.20*FLOAT(JALB )/FLOAT(NBALB-1) - - DO JJVAL = 1, JPJVMAX - DO JH = IKB, IKE - WHERE(PALBUV(:,:)>ZALB1(:,:) .AND. PALBUV(:,:)<=ZALB2(:,:)) - PJVALUES(:,:,JH,JJVAL) = & - ( PALBUV(:,:) - ZALB1(:,:) ) / ( ZALB2(:,:) - ZALB1(:,:) ) * ZJDATAALB(:,:,JH,JJVAL,JALB ) & - + ( ZALB2(:,:) - PALBUV(:,:) ) / ( ZALB2(:,:) - ZALB1(:,:)) * ZJDATAALB(:,:,JH,JJVAL,JALB+1) - END WHERE - WHERE(PALBUV(:,:) > ZALB2(:,:)) PJVALUES(:,:,JH,JJVAL) = ZJDATAALB(:,:,JH,JJVAL,JALB+1) - END DO - END DO -END DO -! -! -PJVALUES(:,:,:,:) = MAX(0.,PJVALUES(:,:,:,:)) -! -IF (KVERB >= 6) THEN -WRITE(KLUOUT,*) "photolysis rates interpolated in time and space" -END IF - -DEALLOCATE(ZCOSZEN) -DEALLOCATE(ZSINZEN) -DEALLOCATE(ZAZIMSOL) -DEALLOCATE(ZSZA) -DEALLOCATE(ZJDATAALB) -DEALLOCATE(JSZAN) -DEALLOCATE(ZFSZA) -DEALLOCATE(ZOMSZA) -DEALLOCATE(ZOMFHTA) -DEALLOCATE(ZFHTA) -DEALLOCATE(ZWT) -DEALLOCATE(ZALB1) -DEALLOCATE(ZALB2) - -! -IF (LHOOK) CALL DR_HOOK('CH_INTERP_JVALUES_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_INTERP_JVALUES_n diff --git a/src/arome/chem/internals/ch_isoropia.F90 b/src/arome/chem/internals/ch_isoropia.F90 deleted file mode 100644 index bef014faad9ef4f26cc9052c6cee199c172a83ad..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_isoropia.F90 +++ /dev/null @@ -1,217 +0,0 @@ -! ######spl - SUBROUTINE CH_ISOROPIA (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################################## -!! -!! PURPOSE -!! ------- -!! -!! Calculate the aerosol chemical speciation and water content. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet ( Meteo France / GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!***************************************************************** - -! ======================== ARGUMENTS / USAGE =========================== -! -! INPUT: -! 1. [WI] -! DOUBLE PRECISION array of length [5]. -! Concentrations, expressed in moles/m3. Depending on the type of -! problem solved (specified in CNTRL(1)), WI contains either -! GAS+AEROSOL or AEROSOL only concentratios. -! WI(1) - sodium -! WI(2) - sulfate -! WI(3) - ammonium -! WI(4) - nitrate -! WI(5) - chloride -! -! 2. [RHI] -! DOUBLE PRECISION variable. -! Ambient relative humidity expressed on a (0,1) scale. -! -! 3. [TEMPI] -! DOUBLE PRECISION variable. -! Ambient temperature expressed in Kelvins. -! -! 4. [CNTRL] -! DOUBLE PRECISION array of length [2]. -! Parameters that control the type of problem solved. -! -! CNTRL(1): Defines the type of problem solved. -! 0 - Forward problem is solved. In this case, array WI contains -! GAS and AEROSOL concentrations together. -! 1 - Reverse problem is solved. In this case, array WI contains -! AEROSOL concentrations only. -! -! CNTRL(2): Defines the state of the aerosol -! 0 - The aerosol can have both solid+liquid phases (deliquescent) -! 1 - The aerosol is in only liquid state (metastable aerosol) -! -! OUTPUT: -! 1. [WT] -! DOUBLE PRECISION array of length [5]. -! Total concentrations (GAS+AEROSOL) of species, expressed in moles/m3. -! If the foreward probelm is solved (CNTRL(1)=0), array WT is -! identical to array WI. -! WT(1) - total sodium -! WT(2) - total sulfate -! WT(3) - total ammonium -! WT(4) - total nitrate -! WT(5) - total chloride -! -! 2. [GAS] -! DOUBLE PRECISION array of length [03]. -! Gaseous species concentrations, expressed in moles/m3. -! GAS(1) - NH3 -! GAS(2) - HNO3 -! GAS(3) - HCl -! -! 3. [AERLIQ] -! DOUBLE PRECISION array of length [11]. -! Liquid aerosol species concentrations, expressed in moles/m3. -! AERLIQ(01) - H+(aq) -! AERLIQ(02) - Na+(aq) -! AERLIQ(03) - NH4+(aq) -! AERLIQ(04) - Cl-(aq) -! AERLIQ(05) - SO4--(aq) -! AERLIQ(06) - HSO4-(aq) -! AERLIQ(07) - NO3-(aq) -! AERLIQ(08) - H2O -! AERLIQ(09) - NH3(aq) (undissociated) -! AERLIQ(10) - HNCl(aq) (undissociated) -! AERLIQ(11) - HNO3(aq) (undissociated) -! AERLIQ(12) - OH-(aq) -! -! 4. [AERSLD] -! DOUBLE PRECISION array of length [09]. -! Solid aerosol species concentrations, expressed in moles/m3. -! AERSLD(01) - NaNO3(s) -! AERSLD(02) - NH4NO3(s) -! AERSLD(03) - NaCl(s) -! AERSLD(04) - NH4Cl(s) -! AERSLD(05) - Na2SO4(s) -! AERSLD(06) - (NH4)2SO4(s) -! AERSLD(07) - NaHSO4(s) -! AERSLD(08) - NH4HSO4(s) -! AERSLD(09) - (NH4)4H(SO4)2(s) -! -! 5. [SCASI] -! CHARACTER*15 variable. -! Returns the subcase which the input corresponds to. -! -! 6. [OTHER] -! DOUBLE PRECISION array of length [6]. -! Returns solution information. -! -! OTHER(1): Shows if aerosol water exists. -! 0 - Aerosol is WET -! 1 - Aerosol is DRY -! -! OTHER(2): Aerosol Sulfate ratio, defined as (in moles/m3) : -! (total ammonia + total Na) / (total sulfate) -! -! OTHER(3): Sulfate ratio based on aerosol properties that defines -! a sulfate poor system: -! (aerosol ammonia + aerosol Na) / (aerosol sulfate) -! -! OTHER(4): Aerosol sodium ratio, defined as (in moles/m3) : -! (total Na) / (total sulfate) -! -! OTHER(5): Ionic strength of the aqueous aerosol (if it exists). -! -! OTHER(6): Total number of calls to the activity coefficient -! calculation subroutine. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!*************************************************************** -!! -!! EXTERNAL -!! ------- -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -!!...........ARGUMENTS and their descriptions -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC -! -! PAER(:,1) :: H2SO4 in micrograms / m**3 -! PAER(:,2) :: NH3(g) in micrograms / m**3 -! PAER(:,3) :: HNO3(g) in micrograms / m**3 -! PAER(:,4) :: H2O(a) in micrograms / m**3 -! PAER(:,5) :: NO3(a) in micrograms / m**3 -! PAER(:,6) :: NH4(a) in micrograms / m**3 -! -!...........PARAMETERS and their descriptions: - -REAL, PARAMETER :: ZMWH2O = 18.0 ! molecular weight for water -REAL, PARAMETER :: ZMWNO3 = 62.0049 ! molecular weight for NO3 -REAL, PARAMETER :: ZMWHNO3 = 63.01287 ! molecular weight for HNO3 -REAL, PARAMETER :: ZMH2SO4 = 98.07354 ! molecular weight for H2SO4 -REAL, PARAMETER :: ZMWNH3 = 17.03061 ! molecular weight for NH3 -REAL, PARAMETER :: ZMWNH4 = 18.03858 ! molecular weight for NH4 -INTEGER, PARAMETER :: NOTHER=6,NCOMP=5,NGASAQ=3,NSLDS=9,NIONS=7 - -INTEGER :: I -DOUBLE PRECISION,DIMENSION(2) :: CNTRL -DOUBLE PRECISION, DIMENSION(NOTHER) :: OTHER -CHARACTER(LEN=15) :: SCASI -DOUBLE PRECISION, DIMENSION(NCOMP) :: WI, WT -DOUBLE PRECISION, DIMENSION(NGASAQ) :: GAS -DOUBLE PRECISION, DIMENSION(NSLDS) :: AERSLD -DOUBLE PRECISION, DIMENSION(NIONS+NGASAQ+2) :: AERLIQ -DOUBLE PRECISION :: RHI,TEMPI - - -!----------------------------------------------------------------------------- - -! Entry for isoropia - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_ISOROPIA',0,ZHOOK_HANDLE) -CNTRL(1) = 0 -CNTRL(2) = 1 - - -DO I=1,SIZE(PAER,1) - - WI(1)=0. - WI(2)=PAER(I,1) * 1E-6 / ZMH2SO4 - WI(3)=PAER(I,2) * 1E-6 / ZMWNH3 + PAER(I,6) * 1E-6 / ZMWNH4 - WI(4)=PAER(I,5) * 1E-6 / ZMWNO3 + PAER(I,3) * 1E-6 / ZMWHNO3 - WI(5)=0. - ! Temperature - TEMPI=PTEMP(I) - RHI=MIN(1.,MAX(0.,PRH(I))) - - CALL ISOROPIA (WI,RHI,TEMPI,CNTRL,WT,GAS,AERLIQ,AERSLD,SCASI,OTHER) - - - PAER(I,1) = WT(2) * 1E6 * ZMH2SO4 - PAER(I,2) = GAS(1) * 1E6 * ZMWNH3 - PAER(I,3) = GAS(2) * 1E6 * ZMWHNO3 - PAER(I,4) = AERLIQ(8) * 1E6 * ZMWH2O - PAER(I,5) = (WT(4) - GAS(2) ) * 1E6 * ZMWNO3 - PAER(I,6) = (WT(3) - GAS(1) ) * 1E6 * ZMWNH4 - -ENDDO - -IF (LHOOK) CALL DR_HOOK('CH_ISOROPIA',1,ZHOOK_HANDLE) -END SUBROUTINE CH_ISOROPIA diff --git a/src/arome/chem/internals/ch_jac.F90 b/src/arome/chem/internals/ch_jac.F90 deleted file mode 100644 index 9f8c0d691fb0ae4613523947785585d53bb35b49..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_jac.F90 +++ /dev/null @@ -1,4053 +0,0 @@ -! ######spl - SUBROUTINE CH_JAC(PTIME,PCONC,PJAC,KMI,KVECNPT,KEQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *CH_JAC* -!! -!! PURPOSE -!! ------- -! calculation of the JACOBIAN matrix -!! -!!** METHOD -!! ------ -!! The Jacobian matrix J is calculated as defined by the chemical -!! reaction mechanism. -!! The reaction rates and other user-defined auxiliary variables are -!! transfered in the TYPE(CCSTYPE) variable TPK%. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ,KEQ) :: PJAC -INTEGER, INTENT(IN) :: KMI -! -TYPE(CCSTYPE), POINTER :: TPK -!! -!!---------------------------------------------------------------------- -!! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_JAC',0,ZHOOK_HANDLE) -TPK=>TACCS(KMI) -! -! /BEGIN_CODE/ - TPK%O1D(:)=(TPK%K002(:)*PCONC(:,JP_O3))/(TPK%K020(:)*TPK%N2(:)+TPK%K021(:)*TPK%O2(:)+& - &TPK%K022(:)*TPK%H2O(:)) - - - TPK%O3P(:)=(TPK%K001(:)*PCONC(:,JP_NO2)+TPK%K003(:)*PCONC(:,JP_O3)+TPK%K008(:)*PCONC(:,JP_NO3)+& - &TPK%K020(:)*TPK%O1D(:)*TPK%N2(:)+TPK%K021(:)*TPK%O1D(:)*TPK%O2(:)+& - &0.00000*TPK%K076(:)*PCONC(:,JP_ALKE)*PCONC(:,JP_O3)+& - &0.09000*TPK%K077(:)*PCONC(:,JP_BIO)*PCONC(:,JP_O3))/& - &(TPK%K018(:)*TPK%O2(:)+TPK%K019(:)*PCONC(:,JP_O3)+TPK%K029(:)*PCONC(:,JP_NO)+& - &TPK%K030(:)*PCONC(:,JP_NO2)+TPK%K031(:)*PCONC(:,JP_NO2)+TPK%K053(:)*PCONC(:,JP_BIO)+& - &TPK%K054(:)*PCONC(:,JP_CARBO)) - - -! /END_CODE/ -PJAC(:,:,:) = 0.0 -! -!O3/O3=-K002-K003-K019*<O3P>-K023*<OH>-K024*<HO2>-K042*<NO>-K043*<NO2>-K076*<AL -!KE>-K077*<BIO>-K078*<CARBO>-K079*<PAN>-K084*<ADD> - PJAC(:,1,1)=-TPK%K002(:)-TPK%K003(:)-TPK%K019(:)*TPK%O3P(:)-TPK%K023(:)*PCONC(& -&:,14)-TPK%K024(:)*PCONC(:,15)-TPK%K042(:)*PCONC(:,3)-TPK%K043(:)*PCONC(:,4)-TP& -&K%K076(:)*PCONC(:,19)-TPK%K077(:)*PCONC(:,20)-TPK%K078(:)*PCONC(:,25)-TPK%K079& -&(:)*PCONC(:,27)-TPK%K084(:)*PCONC(:,36) -! -!O3/H2O2=0.0 -! -!O3/NO=-K042*<O3> - PJAC(:,1,3)=-TPK%K042(:)*PCONC(:,1) -! -!O3/NO2=-K043*<O3> - PJAC(:,1,4)=-TPK%K043(:)*PCONC(:,1) -! -!O3/NO3=0.0 -! -!O3/N2O5=0.0 -! -!O3/HONO=0.0 -! -!O3/HNO3=0.0 -! -!O3/HNO4=0.0 -! -!O3/NH3=0.0 -! -!O3/SO2=0.0 -! -!O3/SULF=0.0 -! -!O3/CO=0.0 -! -!O3/OH=-K023*<O3> - PJAC(:,1,14)=-TPK%K023(:)*PCONC(:,1) -! -!O3/HO2=-K024*<O3>+0.17307*K099*<CARBOP> - PJAC(:,1,15)=-TPK%K024(:)*PCONC(:,1)+0.17307*TPK%K099(:)*PCONC(:,38) -! -!O3/CH4=0.0 -! -!O3/ETH=0.0 -! -!O3/ALKA=0.0 -! -!O3/ALKE=-K076*<O3> - PJAC(:,1,19)=-TPK%K076(:)*PCONC(:,1) -! -!O3/BIO=-K077*<O3> - PJAC(:,1,20)=-TPK%K077(:)*PCONC(:,1) -! -!O3/ARO=0.0 -! -!O3/HCHO=0.0 -! -!O3/ALD=0.0 -! -!O3/KET=0.0 -! -!O3/CARBO=-K078*<O3> - PJAC(:,1,25)=-TPK%K078(:)*PCONC(:,1) -! -!O3/ONIT=0.0 -! -!O3/PAN=-K079*<O3> - PJAC(:,1,27)=-TPK%K079(:)*PCONC(:,1) -! -!O3/OP1=0.0 -! -!O3/OP2=0.0 -! -!O3/ORA2=0.0 -! -!O3/MO2=0.0 -! -!O3/ALKAP=0.0 -! -!O3/ALKEP=0.0 -! -!O3/BIOP=0.0 -! -!O3/PHO=0.0 -! -!O3/ADD=-K084*<O3> - PJAC(:,1,36)=-TPK%K084(:)*PCONC(:,1) -! -!O3/AROP=0.0 -! -!O3/CARBOP=+0.17307*K099*<HO2> - PJAC(:,1,38)=+0.17307*TPK%K099(:)*PCONC(:,15) -! -!O3/OLN=0.0 -! -!O3/XO2=0.0 -! -!H2O2/O3=+0.01833*K076*<ALKE>+0.00100*K077*<BIO> - PJAC(:,2,1)=+0.01833*TPK%K076(:)*PCONC(:,19)+0.00100*TPK%K077(:)*PCONC(:,20) -! -!H2O2/H2O2=-K009-K026*<OH> - PJAC(:,2,2)=-TPK%K009(:)-TPK%K026(:)*PCONC(:,14) -! -!H2O2/NO=0.0 -! -!H2O2/NO2=0.0 -! -!H2O2/NO3=0.0 -! -!H2O2/N2O5=0.0 -! -!H2O2/HONO=0.0 -! -!H2O2/HNO3=0.0 -! -!H2O2/HNO4=0.0 -! -!H2O2/NH3=0.0 -! -!H2O2/SO2=0.0 -! -!H2O2/SULF=0.0 -! -!H2O2/CO=0.0 -! -!H2O2/OH=-K026*<H2O2> - PJAC(:,2,14)=-TPK%K026(:)*PCONC(:,2) -! -!H2O2/HO2=+K027*<HO2>+K027*<HO2>+K028*<HO2>*<H2O>+K028*<HO2>*<H2O> - PJAC(:,2,15)=+TPK%K027(:)*PCONC(:,15)+TPK%K027(:)*PCONC(:,15)+TPK%K028(:)*PCON& -&C(:,15)*TPK%H2O(:)+TPK%K028(:)*PCONC(:,15)*TPK%H2O(:) -! -!H2O2/CH4=0.0 -! -!H2O2/ETH=0.0 -! -!H2O2/ALKA=0.0 -! -!H2O2/ALKE=+0.01833*K076*<O3> - PJAC(:,2,19)=+0.01833*TPK%K076(:)*PCONC(:,1) -! -!H2O2/BIO=+0.00100*K077*<O3> - PJAC(:,2,20)=+0.00100*TPK%K077(:)*PCONC(:,1) -! -!H2O2/ARO=0.0 -! -!H2O2/HCHO=0.0 -! -!H2O2/ALD=0.0 -! -!H2O2/KET=0.0 -! -!H2O2/CARBO=0.0 -! -!H2O2/ONIT=0.0 -! -!H2O2/PAN=0.0 -! -!H2O2/OP1=0.0 -! -!H2O2/OP2=0.0 -! -!H2O2/ORA2=0.0 -! -!H2O2/MO2=0.0 -! -!H2O2/ALKAP=0.0 -! -!H2O2/ALKEP=0.0 -! -!H2O2/BIOP=0.0 -! -!H2O2/PHO=0.0 -! -!H2O2/ADD=0.0 -! -!H2O2/AROP=0.0 -! -!H2O2/CARBOP=0.0 -! -!H2O2/OLN=0.0 -! -!H2O2/XO2=0.0 -! -!NO/O3=-K042*<NO> - PJAC(:,3,1)=-TPK%K042(:)*PCONC(:,3) -! -!NO/H2O2=0.0 -! -!NO/NO=-K029*<O3P>-K032*<OH>-K035*<HO2>-K042*<O3>-K044*<NO>*<O2>-K044*<NO>*<O2> -!-K044*<NO>*<O2>-K044*<NO>*<O2>-K045*<NO3>-K087*<MO2>-K088*<ALKAP>-K089*<ALKEP> -!-K090*<BIOP>-K091*<AROP>-K092*<CARBOP>-K093*<OLN>-K127*<XO2> - PJAC(:,3,3)=-TPK%K029(:)*TPK%O3P(:)-TPK%K032(:)*PCONC(:,14)-TPK%K035(:)*PCONC(& -&:,15)-TPK%K042(:)*PCONC(:,1)-TPK%K044(:)*PCONC(:,3)*TPK%O2(:)-TPK%K044(:)*PCON& -&C(:,3)*TPK%O2(:)-TPK%K044(:)*PCONC(:,3)*TPK%O2(:)-TPK%K044(:)*PCONC(:,3)*TPK%O& -&2(:)-TPK%K045(:)*PCONC(:,5)-TPK%K087(:)*PCONC(:,31)-TPK%K088(:)*PCONC(:,32)-TP& -&K%K089(:)*PCONC(:,33)-TPK%K090(:)*PCONC(:,34)-TPK%K091(:)*PCONC(:,37)-TPK%K092& -&(:)*PCONC(:,38)-TPK%K093(:)*PCONC(:,39)-TPK%K127(:)*PCONC(:,40) -! -!NO/NO2=+K001+K030*<O3P>+K046*<NO3> - PJAC(:,3,4)=+TPK%K001(:)+TPK%K030(:)*TPK%O3P(:)+TPK%K046(:)*PCONC(:,5) -! -!NO/NO3=+K007-K045*<NO>+K046*<NO2> - PJAC(:,3,5)=+TPK%K007(:)-TPK%K045(:)*PCONC(:,3)+TPK%K046(:)*PCONC(:,4) -! -!NO/N2O5=0.0 -! -!NO/HONO=+K004 - PJAC(:,3,7)=+TPK%K004(:) -! -!NO/HNO3=0.0 -! -!NO/HNO4=0.0 -! -!NO/NH3=0.0 -! -!NO/SO2=0.0 -! -!NO/SULF=0.0 -! -!NO/CO=0.0 -! -!NO/OH=-K032*<NO> - PJAC(:,3,14)=-TPK%K032(:)*PCONC(:,3) -! -!NO/HO2=-K035*<NO> - PJAC(:,3,15)=-TPK%K035(:)*PCONC(:,3) -! -!NO/CH4=0.0 -! -!NO/ETH=0.0 -! -!NO/ALKA=0.0 -! -!NO/ALKE=0.0 -! -!NO/BIO=0.0 -! -!NO/ARO=0.0 -! -!NO/HCHO=0.0 -! -!NO/ALD=0.0 -! -!NO/KET=0.0 -! -!NO/CARBO=0.0 -! -!NO/ONIT=0.0 -! -!NO/PAN=0.0 -! -!NO/OP1=0.0 -! -!NO/OP2=0.0 -! -!NO/ORA2=0.0 -! -!NO/MO2=-K087*<NO> - PJAC(:,3,31)=-TPK%K087(:)*PCONC(:,3) -! -!NO/ALKAP=-K088*<NO> - PJAC(:,3,32)=-TPK%K088(:)*PCONC(:,3) -! -!NO/ALKEP=-K089*<NO> - PJAC(:,3,33)=-TPK%K089(:)*PCONC(:,3) -! -!NO/BIOP=-K090*<NO> - PJAC(:,3,34)=-TPK%K090(:)*PCONC(:,3) -! -!NO/PHO=0.0 -! -!NO/ADD=0.0 -! -!NO/AROP=-K091*<NO> - PJAC(:,3,37)=-TPK%K091(:)*PCONC(:,3) -! -!NO/CARBOP=-K092*<NO> - PJAC(:,3,38)=-TPK%K092(:)*PCONC(:,3) -! -!NO/OLN=-K093*<NO> - PJAC(:,3,39)=-TPK%K093(:)*PCONC(:,3) -! -!NO/XO2=-K127*<NO> - PJAC(:,3,40)=-TPK%K127(:)*PCONC(:,3) -! -!NO2/O3=+K042*<NO>-K043*<NO2>+0.70*K079*<PAN> - PJAC(:,4,1)=+TPK%K042(:)*PCONC(:,3)-TPK%K043(:)*PCONC(:,4)+0.70*TPK%K079(:)*PC& -&ONC(:,27) -! -!NO2/H2O2=0.0 -! -!NO2/NO=+K029*<O3P>+K035*<HO2>+K042*<O3>+K044*<NO>*<O2>+K044*<NO>*<O2>+K044*<NO -!>*<O2>+K044*<NO>*<O2>+K045*<NO3>+K045*<NO3>+K087*<MO2>+0.91541*K088*<ALKAP>+K0 -!89*<ALKEP>+0.84700*K090*<BIOP>+0.95115*K091*<AROP>+K092*<CARBOP>+1.81599*K093* -!<OLN>+K127*<XO2> - PJAC(:,4,3)=+TPK%K029(:)*TPK%O3P(:)+TPK%K035(:)*PCONC(:,15)+TPK%K042(:)*PCONC(& -&:,1)+TPK%K044(:)*PCONC(:,3)*TPK%O2(:)+TPK%K044(:)*PCONC(:,3)*TPK%O2(:)+TPK%K04& -&4(:)*PCONC(:,3)*TPK%O2(:)+TPK%K044(:)*PCONC(:,3)*TPK%O2(:)+TPK%K045(:)*PCONC(:& -&,5)+TPK%K045(:)*PCONC(:,5)+TPK%K087(:)*PCONC(:,31)+0.91541*TPK%K088(:)*PCONC(:& -&,32)+TPK%K089(:)*PCONC(:,33)+0.84700*TPK%K090(:)*PCONC(:,34)+0.95115*TPK%K091(& -&:)*PCONC(:,37)+TPK%K092(:)*PCONC(:,38)+1.81599*TPK%K093(:)*PCONC(:,39)+TPK%K12& -&7(:)*PCONC(:,40) -! -!NO2/NO2=-K001-K030*<O3P>-K031*<O3P>-K033*<OH>-K036*<HO2>-K043*<O3>+K046*<NO3>- -!K046*<NO3>-K047*<NO3>-K080*<PHO>-K082*<ADD>-K085*<CARBOP> - PJAC(:,4,4)=-TPK%K001(:)-TPK%K030(:)*TPK%O3P(:)-TPK%K031(:)*TPK%O3P(:)-TPK%K03& -&3(:)*PCONC(:,14)-TPK%K036(:)*PCONC(:,15)-TPK%K043(:)*PCONC(:,1)+TPK%K046(:)*PC& -&ONC(:,5)-TPK%K046(:)*PCONC(:,5)-TPK%K047(:)*PCONC(:,5)-TPK%K080(:)*PCONC(:,35)& -&-TPK%K082(:)*PCONC(:,36)-TPK%K085(:)*PCONC(:,38) -! -!NO2/NO3=+K008+K034*<OH>+0.7*K038*<HO2>+K045*<NO>+K045*<NO>+K046*<NO2>-K046*<NO -!2>-K047*<NO2>+K049*<NO3>+K049*<NO3>+K049*<NO3>+K049*<NO3>+0.10530*K071*<CARBO> -!+0.40*K075*<PAN>+K116*<MO2>+K117*<ALKAP>+K118*<ALKEP>+K119*<BIOP>+K120*<AROP>+ -!K121*<CARBOP>+1.74072*K122*<OLN>+K128*<XO2> - PJAC(:,4,5)=+TPK%K008(:)+TPK%K034(:)*PCONC(:,14)+0.7*TPK%K038(:)*PCONC(:,15)+T& -&PK%K045(:)*PCONC(:,3)+TPK%K045(:)*PCONC(:,3)+TPK%K046(:)*PCONC(:,4)-TPK%K046(:& -&)*PCONC(:,4)-TPK%K047(:)*PCONC(:,4)+TPK%K049(:)*PCONC(:,5)+TPK%K049(:)*PCONC(:& -&,5)+TPK%K049(:)*PCONC(:,5)+TPK%K049(:)*PCONC(:,5)+0.10530*TPK%K071(:)*PCONC(:,& -&25)+0.40*TPK%K075(:)*PCONC(:,27)+TPK%K116(:)*PCONC(:,31)+TPK%K117(:)*PCONC(:,3& -&2)+TPK%K118(:)*PCONC(:,33)+TPK%K119(:)*PCONC(:,34)+TPK%K120(:)*PCONC(:,37)+TPK& -&%K121(:)*PCONC(:,38)+1.74072*TPK%K122(:)*PCONC(:,39)+TPK%K128(:)*PCONC(:,40) -! -!NO2/N2O5=+K048 - PJAC(:,4,6)=+TPK%K048(:) -! -!NO2/HONO=+K039*<OH> - PJAC(:,4,7)=+TPK%K039(:)*PCONC(:,14) -! -!NO2/HNO3=+K005 - PJAC(:,4,8)=+TPK%K005(:) -! -!NO2/HNO4=+0.65*K006+K037+K041*<OH> - PJAC(:,4,9)=+0.65*TPK%K006(:)+TPK%K037(:)+TPK%K041(:)*PCONC(:,14) -! -!NO2/NH3=0.0 -! -!NO2/SO2=0.0 -! -!NO2/SULF=0.0 -! -!NO2/CO=0.0 -! -!NO2/OH=-K033*<NO2>+K034*<NO3>+K039*<HONO>+K041*<HNO4>+K068*<ONIT> - PJAC(:,4,14)=-TPK%K033(:)*PCONC(:,4)+TPK%K034(:)*PCONC(:,5)+TPK%K039(:)*PCONC(& -&:,7)+TPK%K041(:)*PCONC(:,9)+TPK%K068(:)*PCONC(:,26) -! -!NO2/HO2=+K035*<NO>-K036*<NO2>+0.7*K038*<NO3> - PJAC(:,4,15)=+TPK%K035(:)*PCONC(:,3)-TPK%K036(:)*PCONC(:,4)+0.7*TPK%K038(:)*PC& -&ONC(:,5) -! -!NO2/CH4=0.0 -! -!NO2/ETH=0.0 -! -!NO2/ALKA=0.0 -! -!NO2/ALKE=0.0 -! -!NO2/BIO=0.0 -! -!NO2/ARO=0.0 -! -!NO2/HCHO=0.0 -! -!NO2/ALD=0.0 -! -!NO2/KET=0.0 -! -!NO2/CARBO=+0.10530*K071*<NO3> - PJAC(:,4,25)=+0.10530*TPK%K071(:)*PCONC(:,5) -! -!NO2/ONIT=+K017+K068*<OH> - PJAC(:,4,26)=+TPK%K017(:)+TPK%K068(:)*PCONC(:,14) -! -!NO2/PAN=+0.40*K075*<NO3>+0.70*K079*<O3>+K086 - PJAC(:,4,27)=+0.40*TPK%K075(:)*PCONC(:,5)+0.70*TPK%K079(:)*PCONC(:,1)+TPK%K086& -&(:) -! -!NO2/OP1=0.0 -! -!NO2/OP2=0.0 -! -!NO2/ORA2=0.0 -! -!NO2/MO2=+K087*<NO>+0.32440*K107*<OLN>+K116*<NO3> - PJAC(:,4,31)=+TPK%K087(:)*PCONC(:,3)+0.32440*TPK%K107(:)*PCONC(:,39)+TPK%K116(& -&:)*PCONC(:,5) -! -!NO2/ALKAP=+0.91541*K088*<NO>+K117*<NO3> - PJAC(:,4,32)=+0.91541*TPK%K088(:)*PCONC(:,3)+TPK%K117(:)*PCONC(:,5) -! -!NO2/ALKEP=+K089*<NO>+K118*<NO3> - PJAC(:,4,33)=+TPK%K089(:)*PCONC(:,3)+TPK%K118(:)*PCONC(:,5) -! -!NO2/BIOP=+0.84700*K090*<NO>+K119*<NO3> - PJAC(:,4,34)=+0.84700*TPK%K090(:)*PCONC(:,3)+TPK%K119(:)*PCONC(:,5) -! -!NO2/PHO=-K080*<NO2> - PJAC(:,4,35)=-TPK%K080(:)*PCONC(:,4) -! -!NO2/ADD=-K082*<NO2> - PJAC(:,4,36)=-TPK%K082(:)*PCONC(:,4) -! -!NO2/AROP=+0.95115*K091*<NO>+K120*<NO3> - PJAC(:,4,37)=+0.95115*TPK%K091(:)*PCONC(:,3)+TPK%K120(:)*PCONC(:,5) -! -!NO2/CARBOP=-K085*<NO2>+K092*<NO>+0.00000*K113*<OLN>+K121*<NO3> - PJAC(:,4,38)=-TPK%K085(:)*PCONC(:,4)+TPK%K092(:)*PCONC(:,3)+0.00000*TPK%K113(:& -&)*PCONC(:,39)+TPK%K121(:)*PCONC(:,5) -! -!NO2/OLN=+1.81599*K093*<NO>+0.32440*K107*<MO2>+0.00000*K113*<CARBOP>+0.00000*K1 -!15*<OLN>+0.00000*K115*<OLN>+1.74072*K122*<NO3> - PJAC(:,4,39)=+1.81599*TPK%K093(:)*PCONC(:,3)+0.32440*TPK%K107(:)*PCONC(:,31)+0& -&.00000*TPK%K113(:)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TPK%K11& -&5(:)*PCONC(:,39)+1.74072*TPK%K122(:)*PCONC(:,5) -! -!NO2/XO2=+K127*<NO>+K128*<NO3> - PJAC(:,4,40)=+TPK%K127(:)*PCONC(:,3)+TPK%K128(:)*PCONC(:,5) -! -!NO3/O3=+K043*<NO2> - PJAC(:,5,1)=+TPK%K043(:)*PCONC(:,4) -! -!NO3/H2O2=0.0 -! -!NO3/NO=-K045*<NO3> - PJAC(:,5,3)=-TPK%K045(:)*PCONC(:,5) -! -!NO3/NO2=+K031*<O3P>+K043*<O3>-K046*<NO3>-K047*<NO3> - PJAC(:,5,4)=+TPK%K031(:)*TPK%O3P(:)+TPK%K043(:)*PCONC(:,1)-TPK%K046(:)*PCONC(:& -&,5)-TPK%K047(:)*PCONC(:,5) -! -!NO3/NO3=-K007-K008-K034*<OH>-K038*<HO2>-K045*<NO>-K046*<NO2>-K047*<NO2>-K049*< -!NO3>-K049*<NO3>-K049*<NO3>-K049*<NO3>-K069*<HCHO>-K070*<ALD>-K071*<CARBO>-K072 -!*<ARO>-K073*<ALKE>-K074*<BIO>+0.60*K075*<PAN>-K075*<PAN>-K116*<MO2>-K117*<ALKA -!P>-K118*<ALKEP>-K119*<BIOP>-K120*<AROP>-K121*<CARBOP>-K122*<OLN>-K128*<XO2> - PJAC(:,5,5)=-TPK%K007(:)-TPK%K008(:)-TPK%K034(:)*PCONC(:,14)-TPK%K038(:)*PCONC& -&(:,15)-TPK%K045(:)*PCONC(:,3)-TPK%K046(:)*PCONC(:,4)-TPK%K047(:)*PCONC(:,4)-TP& -&K%K049(:)*PCONC(:,5)-TPK%K049(:)*PCONC(:,5)-TPK%K049(:)*PCONC(:,5)-TPK%K049(:)& -&*PCONC(:,5)-TPK%K069(:)*PCONC(:,22)-TPK%K070(:)*PCONC(:,23)-TPK%K071(:)*PCONC(& -&:,25)-TPK%K072(:)*PCONC(:,21)-TPK%K073(:)*PCONC(:,19)-TPK%K074(:)*PCONC(:,20)+& -&0.60*TPK%K075(:)*PCONC(:,27)-TPK%K075(:)*PCONC(:,27)-TPK%K116(:)*PCONC(:,31)-T& -&PK%K117(:)*PCONC(:,32)-TPK%K118(:)*PCONC(:,33)-TPK%K119(:)*PCONC(:,34)-TPK%K12& -&0(:)*PCONC(:,37)-TPK%K121(:)*PCONC(:,38)-TPK%K122(:)*PCONC(:,39)-TPK%K128(:)*P& -&CONC(:,40) -! -!NO3/N2O5=+K048 - PJAC(:,5,6)=+TPK%K048(:) -! -!NO3/HONO=0.0 -! -!NO3/HNO3=+K040*<OH> - PJAC(:,5,8)=+TPK%K040(:)*PCONC(:,14) -! -!NO3/HNO4=+0.35*K006 - PJAC(:,5,9)=+0.35*TPK%K006(:) -! -!NO3/NH3=0.0 -! -!NO3/SO2=0.0 -! -!NO3/SULF=0.0 -! -!NO3/CO=0.0 -! -!NO3/OH=-K034*<NO3>+K040*<HNO3>+0.71893*K067*<PAN> - PJAC(:,5,14)=-TPK%K034(:)*PCONC(:,5)+TPK%K040(:)*PCONC(:,8)+0.71893*TPK%K067(:& -&)*PCONC(:,27) -! -!NO3/HO2=-K038*<NO3> - PJAC(:,5,15)=-TPK%K038(:)*PCONC(:,5) -! -!NO3/CH4=0.0 -! -!NO3/ETH=0.0 -! -!NO3/ALKA=0.0 -! -!NO3/ALKE=-K073*<NO3> - PJAC(:,5,19)=-TPK%K073(:)*PCONC(:,5) -! -!NO3/BIO=-K074*<NO3> - PJAC(:,5,20)=-TPK%K074(:)*PCONC(:,5) -! -!NO3/ARO=-K072*<NO3> - PJAC(:,5,21)=-TPK%K072(:)*PCONC(:,5) -! -!NO3/HCHO=-K069*<NO3> - PJAC(:,5,22)=-TPK%K069(:)*PCONC(:,5) -! -!NO3/ALD=-K070*<NO3> - PJAC(:,5,23)=-TPK%K070(:)*PCONC(:,5) -! -!NO3/KET=0.0 -! -!NO3/CARBO=-K071*<NO3> - PJAC(:,5,25)=-TPK%K071(:)*PCONC(:,5) -! -!NO3/ONIT=0.0 -! -!NO3/PAN=+0.71893*K067*<OH>+0.60*K075*<NO3>-K075*<NO3> - PJAC(:,5,27)=+0.71893*TPK%K067(:)*PCONC(:,14)+0.60*TPK%K075(:)*PCONC(:,5)-TPK%& -&K075(:)*PCONC(:,5) -! -!NO3/OP1=0.0 -! -!NO3/OP2=0.0 -! -!NO3/ORA2=0.0 -! -!NO3/MO2=-K116*<NO3> - PJAC(:,5,31)=-TPK%K116(:)*PCONC(:,5) -! -!NO3/ALKAP=-K117*<NO3> - PJAC(:,5,32)=-TPK%K117(:)*PCONC(:,5) -! -!NO3/ALKEP=-K118*<NO3> - PJAC(:,5,33)=-TPK%K118(:)*PCONC(:,5) -! -!NO3/BIOP=-K119*<NO3> - PJAC(:,5,34)=-TPK%K119(:)*PCONC(:,5) -! -!NO3/PHO=0.0 -! -!NO3/ADD=0.0 -! -!NO3/AROP=-K120*<NO3> - PJAC(:,5,37)=-TPK%K120(:)*PCONC(:,5) -! -!NO3/CARBOP=-K121*<NO3> - PJAC(:,5,38)=-TPK%K121(:)*PCONC(:,5) -! -!NO3/OLN=-K122*<NO3> - PJAC(:,5,39)=-TPK%K122(:)*PCONC(:,5) -! -!NO3/XO2=-K128*<NO3> - PJAC(:,5,40)=-TPK%K128(:)*PCONC(:,5) -! -!N2O5/O3=0.0 -! -!N2O5/H2O2=0.0 -! -!N2O5/NO=0.0 -! -!N2O5/NO2=+K047*<NO3> - PJAC(:,6,4)=+TPK%K047(:)*PCONC(:,5) -! -!N2O5/NO3=+K047*<NO2> - PJAC(:,6,5)=+TPK%K047(:)*PCONC(:,4) -! -!N2O5/N2O5=-K048 - PJAC(:,6,6)=-TPK%K048(:) -! -!N2O5/HONO=0.0 -! -!N2O5/HNO3=0.0 -! -!N2O5/HNO4=0.0 -! -!N2O5/NH3=0.0 -! -!N2O5/SO2=0.0 -! -!N2O5/SULF=0.0 -! -!N2O5/CO=0.0 -! -!N2O5/OH=0.0 -! -!N2O5/HO2=0.0 -! -!N2O5/CH4=0.0 -! -!N2O5/ETH=0.0 -! -!N2O5/ALKA=0.0 -! -!N2O5/ALKE=0.0 -! -!N2O5/BIO=0.0 -! -!N2O5/ARO=0.0 -! -!N2O5/HCHO=0.0 -! -!N2O5/ALD=0.0 -! -!N2O5/KET=0.0 -! -!N2O5/CARBO=0.0 -! -!N2O5/ONIT=0.0 -! -!N2O5/PAN=0.0 -! -!N2O5/OP1=0.0 -! -!N2O5/OP2=0.0 -! -!N2O5/ORA2=0.0 -! -!N2O5/MO2=0.0 -! -!N2O5/ALKAP=0.0 -! -!N2O5/ALKEP=0.0 -! -!N2O5/BIOP=0.0 -! -!N2O5/PHO=0.0 -! -!N2O5/ADD=0.0 -! -!N2O5/AROP=0.0 -! -!N2O5/CARBOP=0.0 -! -!N2O5/OLN=0.0 -! -!N2O5/XO2=0.0 -! -!HONO/O3=0.0 -! -!HONO/H2O2=0.0 -! -!HONO/NO=+K032*<OH> - PJAC(:,7,3)=+TPK%K032(:)*PCONC(:,14) -! -!HONO/NO2=+K082*<ADD> - PJAC(:,7,4)=+TPK%K082(:)*PCONC(:,36) -! -!HONO/NO3=0.0 -! -!HONO/N2O5=0.0 -! -!HONO/HONO=-K004-K039*<OH> - PJAC(:,7,7)=-TPK%K004(:)-TPK%K039(:)*PCONC(:,14) -! -!HONO/HNO3=0.0 -! -!HONO/HNO4=0.0 -! -!HONO/NH3=0.0 -! -!HONO/SO2=0.0 -! -!HONO/SULF=0.0 -! -!HONO/CO=0.0 -! -!HONO/OH=+K032*<NO>-K039*<HONO> - PJAC(:,7,14)=+TPK%K032(:)*PCONC(:,3)-TPK%K039(:)*PCONC(:,7) -! -!HONO/HO2=0.0 -! -!HONO/CH4=0.0 -! -!HONO/ETH=0.0 -! -!HONO/ALKA=0.0 -! -!HONO/ALKE=0.0 -! -!HONO/BIO=0.0 -! -!HONO/ARO=0.0 -! -!HONO/HCHO=0.0 -! -!HONO/ALD=0.0 -! -!HONO/KET=0.0 -! -!HONO/CARBO=0.0 -! -!HONO/ONIT=0.0 -! -!HONO/PAN=0.0 -! -!HONO/OP1=0.0 -! -!HONO/OP2=0.0 -! -!HONO/ORA2=0.0 -! -!HONO/MO2=0.0 -! -!HONO/ALKAP=0.0 -! -!HONO/ALKEP=0.0 -! -!HONO/BIOP=0.0 -! -!HONO/PHO=0.0 -! -!HONO/ADD=+K082*<NO2> - PJAC(:,7,36)=+TPK%K082(:)*PCONC(:,4) -! -!HONO/AROP=0.0 -! -!HONO/CARBOP=0.0 -! -!HONO/OLN=0.0 -! -!HONO/XO2=0.0 -! -!HNO3/O3=0.0 -! -!HNO3/H2O2=0.0 -! -!HNO3/NO=0.0 -! -!HNO3/NO2=+K033*<OH> - PJAC(:,8,4)=+TPK%K033(:)*PCONC(:,14) -! -!HNO3/NO3=+0.3*K038*<HO2>+K069*<HCHO>+K070*<ALD>+0.91567*K071*<CARBO>+K072*<ARO -!> - PJAC(:,8,5)=+0.3*TPK%K038(:)*PCONC(:,15)+TPK%K069(:)*PCONC(:,22)+TPK%K070(:)*P& -&CONC(:,23)+0.91567*TPK%K071(:)*PCONC(:,25)+TPK%K072(:)*PCONC(:,21) -! -!HNO3/N2O5=0.0 -! -!HNO3/HONO=0.0 -! -!HNO3/HNO3=-K005-K040*<OH> - PJAC(:,8,8)=-TPK%K005(:)-TPK%K040(:)*PCONC(:,14) -! -!HNO3/HNO4=0.0 -! -!HNO3/NH3=0.0 -! -!HNO3/SO2=0.0 -! -!HNO3/SULF=0.0 -! -!HNO3/CO=0.0 -! -!HNO3/OH=+K033*<NO2>-K040*<HNO3> - PJAC(:,8,14)=+TPK%K033(:)*PCONC(:,4)-TPK%K040(:)*PCONC(:,8) -! -!HNO3/HO2=+0.3*K038*<NO3> - PJAC(:,8,15)=+0.3*TPK%K038(:)*PCONC(:,5) -! -!HNO3/CH4=0.0 -! -!HNO3/ETH=0.0 -! -!HNO3/ALKA=0.0 -! -!HNO3/ALKE=0.0 -! -!HNO3/BIO=0.0 -! -!HNO3/ARO=+K072*<NO3> - PJAC(:,8,21)=+TPK%K072(:)*PCONC(:,5) -! -!HNO3/HCHO=+K069*<NO3> - PJAC(:,8,22)=+TPK%K069(:)*PCONC(:,5) -! -!HNO3/ALD=+K070*<NO3> - PJAC(:,8,23)=+TPK%K070(:)*PCONC(:,5) -! -!HNO3/KET=0.0 -! -!HNO3/CARBO=+0.91567*K071*<NO3> - PJAC(:,8,25)=+0.91567*TPK%K071(:)*PCONC(:,5) -! -!HNO3/ONIT=0.0 -! -!HNO3/PAN=0.0 -! -!HNO3/OP1=0.0 -! -!HNO3/OP2=0.0 -! -!HNO3/ORA2=0.0 -! -!HNO3/MO2=0.0 -! -!HNO3/ALKAP=0.0 -! -!HNO3/ALKEP=0.0 -! -!HNO3/BIOP=0.0 -! -!HNO3/PHO=0.0 -! -!HNO3/ADD=0.0 -! -!HNO3/AROP=0.0 -! -!HNO3/CARBOP=0.0 -! -!HNO3/OLN=0.0 -! -!HNO3/XO2=0.0 -! -!HNO4/O3=0.0 -! -!HNO4/H2O2=0.0 -! -!HNO4/NO=0.0 -! -!HNO4/NO2=+K036*<HO2> - PJAC(:,9,4)=+TPK%K036(:)*PCONC(:,15) -! -!HNO4/NO3=0.0 -! -!HNO4/N2O5=0.0 -! -!HNO4/HONO=0.0 -! -!HNO4/HNO3=0.0 -! -!HNO4/HNO4=-K006-K037-K041*<OH> - PJAC(:,9,9)=-TPK%K006(:)-TPK%K037(:)-TPK%K041(:)*PCONC(:,14) -! -!HNO4/NH3=0.0 -! -!HNO4/SO2=0.0 -! -!HNO4/SULF=0.0 -! -!HNO4/CO=0.0 -! -!HNO4/OH=-K041*<HNO4> - PJAC(:,9,14)=-TPK%K041(:)*PCONC(:,9) -! -!HNO4/HO2=+K036*<NO2> - PJAC(:,9,15)=+TPK%K036(:)*PCONC(:,4) -! -!HNO4/CH4=0.0 -! -!HNO4/ETH=0.0 -! -!HNO4/ALKA=0.0 -! -!HNO4/ALKE=0.0 -! -!HNO4/BIO=0.0 -! -!HNO4/ARO=0.0 -! -!HNO4/HCHO=0.0 -! -!HNO4/ALD=0.0 -! -!HNO4/KET=0.0 -! -!HNO4/CARBO=0.0 -! -!HNO4/ONIT=0.0 -! -!HNO4/PAN=0.0 -! -!HNO4/OP1=0.0 -! -!HNO4/OP2=0.0 -! -!HNO4/ORA2=0.0 -! -!HNO4/MO2=0.0 -! -!HNO4/ALKAP=0.0 -! -!HNO4/ALKEP=0.0 -! -!HNO4/BIOP=0.0 -! -!HNO4/PHO=0.0 -! -!HNO4/ADD=0.0 -! -!HNO4/AROP=0.0 -! -!HNO4/CARBOP=0.0 -! -!HNO4/OLN=0.0 -! -!HNO4/XO2=0.0 -! -!NH3/O3=0.0 -! -!NH3/H2O2=0.0 -! -!NH3/NO=0.0 -! -!NH3/NO2=0.0 -! -!NH3/NO3=0.0 -! -!NH3/N2O5=0.0 -! -!NH3/HONO=0.0 -! -!NH3/HNO3=0.0 -! -!NH3/HNO4=0.0 -! -!NH3/NH3=0.0 -! -!NH3/SO2=0.0 -! -!NH3/SULF=0.0 -! -!NH3/CO=0.0 -! -!NH3/OH=0.0 -! -!NH3/HO2=0.0 -! -!NH3/CH4=0.0 -! -!NH3/ETH=0.0 -! -!NH3/ALKA=0.0 -! -!NH3/ALKE=0.0 -! -!NH3/BIO=0.0 -! -!NH3/ARO=0.0 -! -!NH3/HCHO=0.0 -! -!NH3/ALD=0.0 -! -!NH3/KET=0.0 -! -!NH3/CARBO=0.0 -! -!NH3/ONIT=0.0 -! -!NH3/PAN=0.0 -! -!NH3/OP1=0.0 -! -!NH3/OP2=0.0 -! -!NH3/ORA2=0.0 -! -!NH3/MO2=0.0 -! -!NH3/ALKAP=0.0 -! -!NH3/ALKEP=0.0 -! -!NH3/BIOP=0.0 -! -!NH3/PHO=0.0 -! -!NH3/ADD=0.0 -! -!NH3/AROP=0.0 -! -!NH3/CARBOP=0.0 -! -!NH3/OLN=0.0 -! -!NH3/XO2=0.0 -! -!SO2/O3=0.0 -! -!SO2/H2O2=0.0 -! -!SO2/NO=0.0 -! -!SO2/NO2=0.0 -! -!SO2/NO3=0.0 -! -!SO2/N2O5=0.0 -! -!SO2/HONO=0.0 -! -!SO2/HNO3=0.0 -! -!SO2/HNO4=0.0 -! -!SO2/NH3=0.0 -! -!SO2/SO2=-K051*<OH> - PJAC(:,11,11)=-TPK%K051(:)*PCONC(:,14) -! -!SO2/SULF=0.0 -! -!SO2/CO=0.0 -! -!SO2/OH=-K051*<SO2> - PJAC(:,11,14)=-TPK%K051(:)*PCONC(:,11) -! -!SO2/HO2=0.0 -! -!SO2/CH4=0.0 -! -!SO2/ETH=0.0 -! -!SO2/ALKA=0.0 -! -!SO2/ALKE=0.0 -! -!SO2/BIO=0.0 -! -!SO2/ARO=0.0 -! -!SO2/HCHO=0.0 -! -!SO2/ALD=0.0 -! -!SO2/KET=0.0 -! -!SO2/CARBO=0.0 -! -!SO2/ONIT=0.0 -! -!SO2/PAN=0.0 -! -!SO2/OP1=0.0 -! -!SO2/OP2=0.0 -! -!SO2/ORA2=0.0 -! -!SO2/MO2=0.0 -! -!SO2/ALKAP=0.0 -! -!SO2/ALKEP=0.0 -! -!SO2/BIOP=0.0 -! -!SO2/PHO=0.0 -! -!SO2/ADD=0.0 -! -!SO2/AROP=0.0 -! -!SO2/CARBOP=0.0 -! -!SO2/OLN=0.0 -! -!SO2/XO2=0.0 -! -!SULF/O3=0.0 -! -!SULF/H2O2=0.0 -! -!SULF/NO=0.0 -! -!SULF/NO2=0.0 -! -!SULF/NO3=0.0 -! -!SULF/N2O5=0.0 -! -!SULF/HONO=0.0 -! -!SULF/HNO3=0.0 -! -!SULF/HNO4=0.0 -! -!SULF/NH3=0.0 -! -!SULF/SO2=+K051*<OH> - PJAC(:,12,11)=+TPK%K051(:)*PCONC(:,14) -! -!SULF/SULF=0.0 -! -!SULF/CO=0.0 -! -!SULF/OH=+K051*<SO2> - PJAC(:,12,14)=+TPK%K051(:)*PCONC(:,11) -! -!SULF/HO2=0.0 -! -!SULF/CH4=0.0 -! -!SULF/ETH=0.0 -! -!SULF/ALKA=0.0 -! -!SULF/ALKE=0.0 -! -!SULF/BIO=0.0 -! -!SULF/ARO=0.0 -! -!SULF/HCHO=0.0 -! -!SULF/ALD=0.0 -! -!SULF/KET=0.0 -! -!SULF/CARBO=0.0 -! -!SULF/ONIT=0.0 -! -!SULF/PAN=0.0 -! -!SULF/OP1=0.0 -! -!SULF/OP2=0.0 -! -!SULF/ORA2=0.0 -! -!SULF/MO2=0.0 -! -!SULF/ALKAP=0.0 -! -!SULF/ALKEP=0.0 -! -!SULF/BIOP=0.0 -! -!SULF/PHO=0.0 -! -!SULF/ADD=0.0 -! -!SULF/AROP=0.0 -! -!SULF/CARBOP=0.0 -! -!SULF/OLN=0.0 -! -!SULF/XO2=0.0 -! -!CO/O3=+0.35120*K076*<ALKE>+0.36000*K077*<BIO>+0.64728*K078*<CARBO>+0.13*K079*< -!PAN> - PJAC(:,13,1)=+0.35120*TPK%K076(:)*PCONC(:,19)+0.36000*TPK%K077(:)*PCONC(:,20)+& -&0.64728*TPK%K078(:)*PCONC(:,25)+0.13*TPK%K079(:)*PCONC(:,27) -! -!CO/H2O2=0.0 -! -!CO/NO=0.0 -! -!CO/NO2=0.0 -! -!CO/NO3=+K069*<HCHO>+1.33723*K071*<CARBO> - PJAC(:,13,5)=+TPK%K069(:)*PCONC(:,22)+1.33723*TPK%K071(:)*PCONC(:,25) -! -!CO/N2O5=0.0 -! -!CO/HONO=0.0 -! -!CO/HNO3=0.0 -! -!CO/HNO4=0.0 -! -!CO/NH3=0.0 -! -!CO/SO2=0.0 -! -!CO/SULF=0.0 -! -!CO/CO=-K052*<OH> - PJAC(:,13,13)=-TPK%K052(:)*PCONC(:,14) -! -!CO/OH=-K052*<CO>+0.00878*K057*<ALKA>+K061*<HCHO>+1.01732*K064*<CARBO> - PJAC(:,13,14)=-TPK%K052(:)*PCONC(:,13)+0.00878*TPK%K057(:)*PCONC(:,18)+TPK%K06& -&1(:)*PCONC(:,22)+1.01732*TPK%K064(:)*PCONC(:,25) -! -!CO/HO2=0.0 -! -!CO/CH4=0.0 -! -!CO/ETH=0.0 -! -!CO/ALKA=+0.00878*K057*<OH> - PJAC(:,13,18)=+0.00878*TPK%K057(:)*PCONC(:,14) -! -!CO/ALKE=+0.35120*K076*<O3> - PJAC(:,13,19)=+0.35120*TPK%K076(:)*PCONC(:,1) -! -!CO/BIO=+0.01*K053*<O3P>+0.36000*K077*<O3> - PJAC(:,13,20)=+0.01*TPK%K053(:)*TPK%O3P(:)+0.36000*TPK%K077(:)*PCONC(:,1) -! -!CO/ARO=0.0 -! -!CO/HCHO=+K010+K011+K061*<OH>+K069*<NO3> - PJAC(:,13,22)=+TPK%K010(:)+TPK%K011(:)+TPK%K061(:)*PCONC(:,14)+TPK%K069(:)*PCO& -&NC(:,5) -! -!CO/ALD=+K012 - PJAC(:,13,23)=+TPK%K012(:) -! -!CO/KET=0.0 -! -!CO/CARBO=+0.91924*K016+1.01732*K064*<OH>+1.33723*K071*<NO3>+0.64728*K078*<O3> - PJAC(:,13,25)=+0.91924*TPK%K016(:)+1.01732*TPK%K064(:)*PCONC(:,14)+1.33723*TPK& -&%K071(:)*PCONC(:,5)+0.64728*TPK%K078(:)*PCONC(:,1) -! -!CO/ONIT=0.0 -! -!CO/PAN=+0.13*K079*<O3> - PJAC(:,13,27)=+0.13*TPK%K079(:)*PCONC(:,1) -! -!CO/OP1=0.0 -! -!CO/OP2=0.0 -! -!CO/ORA2=0.0 -! -!CO/MO2=0.0 -! -!CO/ALKAP=0.0 -! -!CO/ALKEP=0.0 -! -!CO/BIOP=0.0 -! -!CO/PHO=0.0 -! -!CO/ADD=0.0 -! -!CO/AROP=0.0 -! -!CO/CARBOP=0.0 -! -!CO/OLN=0.0 -! -!CO/XO2=0.0 -! -!OH/O3=-K023*<OH>+K024*<HO2>+0.39435*K076*<ALKE>+0.28000*K077*<BIO>+0.20595*K07 -!8*<CARBO>+0.036*K079*<PAN>+K084*<ADD> - PJAC(:,14,1)=-TPK%K023(:)*PCONC(:,14)+TPK%K024(:)*PCONC(:,15)+0.39435*TPK%K076& -&(:)*PCONC(:,19)+0.28000*TPK%K077(:)*PCONC(:,20)+0.20595*TPK%K078(:)*PCONC(:,25& -&)+0.036*TPK%K079(:)*PCONC(:,27)+TPK%K084(:)*PCONC(:,36) -! -!OH/H2O2=+K009+K009-K026*<OH> - PJAC(:,14,2)=+TPK%K009(:)+TPK%K009(:)-TPK%K026(:)*PCONC(:,14) -! -!OH/NO=-K032*<OH>+K035*<HO2> - PJAC(:,14,3)=-TPK%K032(:)*PCONC(:,14)+TPK%K035(:)*PCONC(:,15) -! -!OH/NO2=-K033*<OH> - PJAC(:,14,4)=-TPK%K033(:)*PCONC(:,14) -! -!OH/NO3=-K034*<OH>+0.7*K038*<HO2> - PJAC(:,14,5)=-TPK%K034(:)*PCONC(:,14)+0.7*TPK%K038(:)*PCONC(:,15) -! -!OH/N2O5=0.0 -! -!OH/HONO=+K004-K039*<OH> - PJAC(:,14,7)=+TPK%K004(:)-TPK%K039(:)*PCONC(:,14) -! -!OH/HNO3=+K005-K040*<OH> - PJAC(:,14,8)=+TPK%K005(:)-TPK%K040(:)*PCONC(:,14) -! -!OH/HNO4=+0.35*K006-K041*<OH> - PJAC(:,14,9)=+0.35*TPK%K006(:)-TPK%K041(:)*PCONC(:,14) -! -!OH/NH3=0.0 -! -!OH/SO2=-K051*<OH> - PJAC(:,14,11)=-TPK%K051(:)*PCONC(:,14) -! -!OH/SULF=0.0 -! -!OH/CO=-K052*<OH> - PJAC(:,14,13)=-TPK%K052(:)*PCONC(:,14) -! -!OH/OH=-K023*<O3>-K025*<HO2>-K026*<H2O2>-K032*<NO>-K033*<NO2>-K034*<NO3>-K039*< -!HONO>-K040*<HNO3>-K041*<HNO4>-K050*<H2>-K051*<SO2>-K052*<CO>-K055*<CH4>-K056*< -!ETH>+0.00878*K057*<ALKA>-K057*<ALKA>-K058*<ALKE>-K059*<BIO>-K060*<ARO>-K061*<H -!CHO>-K062*<ALD>-K063*<KET>-K064*<CARBO>+0.35*K065*<OP1>-K065*<OP1>+0.44925*K06 -!6*<OP2>-K066*<OP2>-K067*<PAN>-K068*<ONIT> - PJAC(:,14,14)=-TPK%K023(:)*PCONC(:,1)-TPK%K025(:)*PCONC(:,15)-TPK%K026(:)*PCON& -&C(:,2)-TPK%K032(:)*PCONC(:,3)-TPK%K033(:)*PCONC(:,4)-TPK%K034(:)*PCONC(:,5)-TP& -&K%K039(:)*PCONC(:,7)-TPK%K040(:)*PCONC(:,8)-TPK%K041(:)*PCONC(:,9)-TPK%K050(:)& -&*TPK%H2(:)-TPK%K051(:)*PCONC(:,11)-TPK%K052(:)*PCONC(:,13)-TPK%K055(:)*PCONC(:& -&,16)-TPK%K056(:)*PCONC(:,17)+0.00878*TPK%K057(:)*PCONC(:,18)-TPK%K057(:)*PCONC& -&(:,18)-TPK%K058(:)*PCONC(:,19)-TPK%K059(:)*PCONC(:,20)-TPK%K060(:)*PCONC(:,21)& -&-TPK%K061(:)*PCONC(:,22)-TPK%K062(:)*PCONC(:,23)-TPK%K063(:)*PCONC(:,24)-TPK%K& -&064(:)*PCONC(:,25)+0.35*TPK%K065(:)*PCONC(:,28)-TPK%K065(:)*PCONC(:,28)+0.4492& -&5*TPK%K066(:)*PCONC(:,29)-TPK%K066(:)*PCONC(:,29)-TPK%K067(:)*PCONC(:,27)-TPK%& -&K068(:)*PCONC(:,26) -! -!OH/HO2=+K024*<O3>-K025*<OH>+K035*<NO>+0.7*K038*<NO3> - PJAC(:,14,15)=+TPK%K024(:)*PCONC(:,1)-TPK%K025(:)*PCONC(:,14)+TPK%K035(:)*PCON& -&C(:,3)+0.7*TPK%K038(:)*PCONC(:,5) -! -!OH/CH4=-K055*<OH> - PJAC(:,14,16)=-TPK%K055(:)*PCONC(:,14) -! -!OH/ETH=-K056*<OH> - PJAC(:,14,17)=-TPK%K056(:)*PCONC(:,14) -! -!OH/ALKA=+0.00878*K057*<OH>-K057*<OH> - PJAC(:,14,18)=+0.00878*TPK%K057(:)*PCONC(:,14)-TPK%K057(:)*PCONC(:,14) -! -!OH/ALKE=-K058*<OH>+0.39435*K076*<O3> - PJAC(:,14,19)=-TPK%K058(:)*PCONC(:,14)+0.39435*TPK%K076(:)*PCONC(:,1) -! -!OH/BIO=+0.02*K053*<O3P>-K059*<OH>+0.28000*K077*<O3> - PJAC(:,14,20)=+0.02*TPK%K053(:)*TPK%O3P(:)-TPK%K059(:)*PCONC(:,14)+0.28000*TPK& -&%K077(:)*PCONC(:,1) -! -!OH/ARO=-K060*<OH> - PJAC(:,14,21)=-TPK%K060(:)*PCONC(:,14) -! -!OH/HCHO=-K061*<OH> - PJAC(:,14,22)=-TPK%K061(:)*PCONC(:,14) -! -!OH/ALD=-K062*<OH> - PJAC(:,14,23)=-TPK%K062(:)*PCONC(:,14) -! -!OH/KET=-K063*<OH> - PJAC(:,14,24)=-TPK%K063(:)*PCONC(:,14) -! -!OH/CARBO=-K064*<OH>+0.20595*K078*<O3> - PJAC(:,14,25)=-TPK%K064(:)*PCONC(:,14)+0.20595*TPK%K078(:)*PCONC(:,1) -! -!OH/ONIT=-K068*<OH> - PJAC(:,14,26)=-TPK%K068(:)*PCONC(:,14) -! -!OH/PAN=-K067*<OH>+0.036*K079*<O3> - PJAC(:,14,27)=-TPK%K067(:)*PCONC(:,14)+0.036*TPK%K079(:)*PCONC(:,1) -! -!OH/OP1=+K013+0.35*K065*<OH>-K065*<OH> - PJAC(:,14,28)=+TPK%K013(:)+0.35*TPK%K065(:)*PCONC(:,14)-TPK%K065(:)*PCONC(:,14& -&) -! -!OH/OP2=+K014+0.44925*K066*<OH>-K066*<OH> - PJAC(:,14,29)=+TPK%K014(:)+0.44925*TPK%K066(:)*PCONC(:,14)-TPK%K066(:)*PCONC(:& -&,14) -! -!OH/ORA2=0.0 -! -!OH/MO2=0.0 -! -!OH/ALKAP=0.0 -! -!OH/ALKEP=0.0 -! -!OH/BIOP=0.0 -! -!OH/PHO=0.0 -! -!OH/ADD=+K084*<O3> - PJAC(:,14,36)=+TPK%K084(:)*PCONC(:,1) -! -!OH/AROP=0.0 -! -!OH/CARBOP=0.0 -! -!OH/OLN=0.0 -! -!OH/XO2=0.0 -! -!HO2/O3=+K023*<OH>-K024*<HO2>+0.23451*K076*<ALKE>+0.30000*K077*<BIO>+0.28441*K0 -!78*<CARBO>+0.08*K079*<PAN> - PJAC(:,15,1)=+TPK%K023(:)*PCONC(:,14)-TPK%K024(:)*PCONC(:,15)+0.23451*TPK%K076& -&(:)*PCONC(:,19)+0.30000*TPK%K077(:)*PCONC(:,20)+0.28441*TPK%K078(:)*PCONC(:,25& -&)+0.08*TPK%K079(:)*PCONC(:,27) -! -!HO2/H2O2=+K026*<OH> - PJAC(:,15,2)=+TPK%K026(:)*PCONC(:,14) -! -!HO2/NO=-K035*<HO2>+K087*<MO2>+0.74265*K088*<ALKAP>+K089*<ALKEP>+0.84700*K090*< -!BIOP>+0.95115*K091*<AROP>+0.12334*K092*<CARBOP>+0.18401*K093*<OLN> - PJAC(:,15,3)=-TPK%K035(:)*PCONC(:,15)+TPK%K087(:)*PCONC(:,31)+0.74265*TPK%K088& -&(:)*PCONC(:,32)+TPK%K089(:)*PCONC(:,33)+0.84700*TPK%K090(:)*PCONC(:,34)+0.9511& -&5*TPK%K091(:)*PCONC(:,37)+0.12334*TPK%K092(:)*PCONC(:,38)+0.18401*TPK%K093(:)*& -&PCONC(:,39) -! -!HO2/NO2=-K036*<HO2> - PJAC(:,15,4)=-TPK%K036(:)*PCONC(:,15) -! -!HO2/NO3=+K034*<OH>-K038*<HO2>+K069*<HCHO>+0.63217*K071*<CARBO>+K116*<MO2>+0.81 -!290*K117*<ALKAP>+K118*<ALKEP>+K119*<BIOP>+K120*<AROP>+0.04915*K121*<CARBOP>+0. -!25928*K122*<OLN> - PJAC(:,15,5)=+TPK%K034(:)*PCONC(:,14)-TPK%K038(:)*PCONC(:,15)+TPK%K069(:)*PCON& -&C(:,22)+0.63217*TPK%K071(:)*PCONC(:,25)+TPK%K116(:)*PCONC(:,31)+0.81290*TPK%K1& -&17(:)*PCONC(:,32)+TPK%K118(:)*PCONC(:,33)+TPK%K119(:)*PCONC(:,34)+TPK%K120(:)*& -&PCONC(:,37)+0.04915*TPK%K121(:)*PCONC(:,38)+0.25928*TPK%K122(:)*PCONC(:,39) -! -!HO2/N2O5=0.0 -! -!HO2/HONO=0.0 -! -!HO2/HNO3=0.0 -! -!HO2/HNO4=+0.65*K006+K037 - PJAC(:,15,9)=+0.65*TPK%K006(:)+TPK%K037(:) -! -!HO2/NH3=0.0 -! -!HO2/SO2=+K051*<OH> - PJAC(:,15,11)=+TPK%K051(:)*PCONC(:,14) -! -!HO2/SULF=0.0 -! -!HO2/CO=+K052*<OH> - PJAC(:,15,13)=+TPK%K052(:)*PCONC(:,14) -! -!HO2/OH=+K023*<O3>-K025*<HO2>+K026*<H2O2>+K034*<NO3>+K050*<H2>+K051*<SO2>+K052* -!<CO>+0.12793*K057*<ALKA>+0.10318*K060*<ARO>+K061*<HCHO>+0.51208*K064*<CARBO>+0 -!.02915*K066*<OP2>+0.28107*K067*<PAN> - PJAC(:,15,14)=+TPK%K023(:)*PCONC(:,1)-TPK%K025(:)*PCONC(:,15)+TPK%K026(:)*PCON& -&C(:,2)+TPK%K034(:)*PCONC(:,5)+TPK%K050(:)*TPK%H2(:)+TPK%K051(:)*PCONC(:,11)+TP& -&K%K052(:)*PCONC(:,13)+0.12793*TPK%K057(:)*PCONC(:,18)+0.10318*TPK%K060(:)*PCON& -&C(:,21)+TPK%K061(:)*PCONC(:,22)+0.51208*TPK%K064(:)*PCONC(:,25)+0.02915*TPK%K0& -&66(:)*PCONC(:,29)+0.28107*TPK%K067(:)*PCONC(:,27) -! -!HO2/HO2=-K024*<O3>-K025*<OH>-K027*<HO2>-K027*<HO2>-K027*<HO2>-K027*<HO2>-K028* -!<HO2>*<H2O>-K028*<HO2>*<H2O>-K028*<HO2>*<H2O>-K028*<HO2>*<H2O>-K035*<NO>-K036* -!<NO2>-K038*<NO3>-K081*<PHO>-K094*<MO2>-K095*<ALKAP>-K096*<ALKEP>-K097*<BIOP>-K -!098*<AROP>-K099*<CARBOP>-K100*<OLN>-K123*<XO2> - PJAC(:,15,15)=-TPK%K024(:)*PCONC(:,1)-TPK%K025(:)*PCONC(:,14)-TPK%K027(:)*PCON& -&C(:,15)-TPK%K027(:)*PCONC(:,15)-TPK%K027(:)*PCONC(:,15)-TPK%K027(:)*PCONC(:,15& -&)-TPK%K028(:)*PCONC(:,15)*TPK%H2O(:)-TPK%K028(:)*PCONC(:,15)*TPK%H2O(:)-TPK%K0& -&28(:)*PCONC(:,15)*TPK%H2O(:)-TPK%K028(:)*PCONC(:,15)*TPK%H2O(:)-TPK%K035(:)*PC& -&ONC(:,3)-TPK%K036(:)*PCONC(:,4)-TPK%K038(:)*PCONC(:,5)-TPK%K081(:)*PCONC(:,35)& -&-TPK%K094(:)*PCONC(:,31)-TPK%K095(:)*PCONC(:,32)-TPK%K096(:)*PCONC(:,33)-TPK%K& -&097(:)*PCONC(:,34)-TPK%K098(:)*PCONC(:,37)-TPK%K099(:)*PCONC(:,38)-TPK%K100(:)& -&*PCONC(:,39)-TPK%K123(:)*PCONC(:,40) -! -!HO2/CH4=0.0 -! -!HO2/ETH=0.0 -! -!HO2/ALKA=+0.12793*K057*<OH> - PJAC(:,15,18)=+0.12793*TPK%K057(:)*PCONC(:,14) -! -!HO2/ALKE=+0.23451*K076*<O3> - PJAC(:,15,19)=+0.23451*TPK%K076(:)*PCONC(:,1) -! -!HO2/BIO=+0.28*K053*<O3P>+0.30000*K077*<O3> - PJAC(:,15,20)=+0.28*TPK%K053(:)*TPK%O3P(:)+0.30000*TPK%K077(:)*PCONC(:,1) -! -!HO2/ARO=+0.10318*K060*<OH> - PJAC(:,15,21)=+0.10318*TPK%K060(:)*PCONC(:,14) -! -!HO2/HCHO=+K011+K011+K061*<OH>+K069*<NO3> - PJAC(:,15,22)=+TPK%K011(:)+TPK%K011(:)+TPK%K061(:)*PCONC(:,14)+TPK%K069(:)*PCO& -&NC(:,5) -! -!HO2/ALD=+K012 - PJAC(:,15,23)=+TPK%K012(:) -! -!HO2/KET=0.0 -! -!HO2/CARBO=+0.75830*K016+0.51208*K064*<OH>+0.63217*K071*<NO3>+0.28441*K078*<O3> - PJAC(:,15,25)=+0.75830*TPK%K016(:)+0.51208*TPK%K064(:)*PCONC(:,14)+0.63217*TPK& -&%K071(:)*PCONC(:,5)+0.28441*TPK%K078(:)*PCONC(:,1) -! -!HO2/ONIT=+K017 - PJAC(:,15,26)=+TPK%K017(:) -! -!HO2/PAN=+0.28107*K067*<OH>+0.08*K079*<O3> - PJAC(:,15,27)=+0.28107*TPK%K067(:)*PCONC(:,14)+0.08*TPK%K079(:)*PCONC(:,1) -! -!HO2/OP1=+K013 - PJAC(:,15,28)=+TPK%K013(:) -! -!HO2/OP2=+0.96205*K014+0.02915*K066*<OH> - PJAC(:,15,29)=+0.96205*TPK%K014(:)+0.02915*TPK%K066(:)*PCONC(:,14) -! -!HO2/ORA2=0.0 -! -!HO2/MO2=+K087*<NO>-K094*<HO2>+0.66*K101*<MO2>+0.66*K101*<MO2>+0.98383*K102*<AL -!KAP>+K103*<ALKEP>+1.00000*K104*<BIOP>+1.02767*K105*<AROP>+0.82998*K106*<CARBOP -!>+0.67560*K107*<OLN>+K116*<NO3>+K124*<XO2> - PJAC(:,15,31)=+TPK%K087(:)*PCONC(:,3)-TPK%K094(:)*PCONC(:,15)+0.66*TPK%K101(:)& -&*PCONC(:,31)+0.66*TPK%K101(:)*PCONC(:,31)+0.98383*TPK%K102(:)*PCONC(:,32)+TPK%& -&K103(:)*PCONC(:,33)+1.00000*TPK%K104(:)*PCONC(:,34)+1.02767*TPK%K105(:)*PCONC(& -&:,37)+0.82998*TPK%K106(:)*PCONC(:,38)+0.67560*TPK%K107(:)*PCONC(:,39)+TPK%K116& -&(:)*PCONC(:,5)+TPK%K124(:)*PCONC(:,40) -! -!HO2/ALKAP=+0.74265*K088*<NO>-K095*<HO2>+0.98383*K102*<MO2>+0.48079*K108*<CARBO -!P>+0.81290*K117*<NO3> - PJAC(:,15,32)=+0.74265*TPK%K088(:)*PCONC(:,3)-TPK%K095(:)*PCONC(:,15)+0.98383*& -&TPK%K102(:)*PCONC(:,31)+0.48079*TPK%K108(:)*PCONC(:,38)+0.81290*TPK%K117(:)*PC& -&ONC(:,5) -! -!HO2/ALKEP=+K089*<NO>-K096*<HO2>+K103*<MO2>+0.50078*K109*<CARBOP>+K118*<NO3> - PJAC(:,15,33)=+TPK%K089(:)*PCONC(:,3)-TPK%K096(:)*PCONC(:,15)+TPK%K103(:)*PCON& -&C(:,31)+0.50078*TPK%K109(:)*PCONC(:,38)+TPK%K118(:)*PCONC(:,5) -! -!HO2/BIOP=+0.84700*K090*<NO>-K097*<HO2>+1.00000*K104*<MO2>+0.50600*K110*<CARBOP -!>+K119*<NO3> - PJAC(:,15,34)=+0.84700*TPK%K090(:)*PCONC(:,3)-TPK%K097(:)*PCONC(:,15)+1.00000*& -&TPK%K104(:)*PCONC(:,31)+0.50600*TPK%K110(:)*PCONC(:,38)+TPK%K119(:)*PCONC(:,5) -! -!HO2/PHO=-K081*<HO2> - PJAC(:,15,35)=-TPK%K081(:)*PCONC(:,15) -! -!HO2/ADD=+0.02*K083*<O2> - PJAC(:,15,36)=+0.02*TPK%K083(:)*TPK%O2(:) -! -!HO2/AROP=+0.95115*K091*<NO>-K098*<HO2>+1.02767*K105*<MO2>+K111*<CARBOP>+K120*< -!NO3> - PJAC(:,15,37)=+0.95115*TPK%K091(:)*PCONC(:,3)-TPK%K098(:)*PCONC(:,15)+1.02767*& -&TPK%K105(:)*PCONC(:,31)+TPK%K111(:)*PCONC(:,38)+TPK%K120(:)*PCONC(:,5) -! -!HO2/CARBOP=+0.12334*K092*<NO>-K099*<HO2>+0.82998*K106*<MO2>+0.48079*K108*<ALKA -!P>+0.50078*K109*<ALKEP>+0.50600*K110*<BIOP>+K111*<AROP>+0.07566*K112*<CARBOP>+ -!0.07566*K112*<CARBOP>+0.17599*K113*<OLN>+0.04915*K121*<NO3> - PJAC(:,15,38)=+0.12334*TPK%K092(:)*PCONC(:,3)-TPK%K099(:)*PCONC(:,15)+0.82998*& -&TPK%K106(:)*PCONC(:,31)+0.48079*TPK%K108(:)*PCONC(:,32)+0.50078*TPK%K109(:)*PC& -&ONC(:,33)+0.50600*TPK%K110(:)*PCONC(:,34)+TPK%K111(:)*PCONC(:,37)+0.07566*TPK%& -&K112(:)*PCONC(:,38)+0.07566*TPK%K112(:)*PCONC(:,38)+0.17599*TPK%K113(:)*PCONC(& -&:,39)+0.04915*TPK%K121(:)*PCONC(:,5) -! -!HO2/OLN=+0.18401*K093*<NO>-K100*<HO2>+0.67560*K107*<MO2>+0.17599*K113*<CARBOP> -!+K114*<OLN>+K114*<OLN>+0.00000*K115*<OLN>+0.00000*K115*<OLN>+0.25928*K122*<NO3 -!> - PJAC(:,15,39)=+0.18401*TPK%K093(:)*PCONC(:,3)-TPK%K100(:)*PCONC(:,15)+0.67560*& -&TPK%K107(:)*PCONC(:,31)+0.17599*TPK%K113(:)*PCONC(:,38)+TPK%K114(:)*PCONC(:,39& -&)+TPK%K114(:)*PCONC(:,39)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TPK%K115(:)*& -&PCONC(:,39)+0.25928*TPK%K122(:)*PCONC(:,5) -! -!HO2/XO2=-K123*<HO2>+K124*<MO2> - PJAC(:,15,40)=-TPK%K123(:)*PCONC(:,15)+TPK%K124(:)*PCONC(:,31) -! -!CH4/O3=+0.04300*K076*<ALKE> - PJAC(:,16,1)=+0.04300*TPK%K076(:)*PCONC(:,19) -! -!CH4/H2O2=0.0 -! -!CH4/NO=0.0 -! -!CH4/NO2=0.0 -! -!CH4/NO3=0.0 -! -!CH4/N2O5=0.0 -! -!CH4/HONO=0.0 -! -!CH4/HNO3=0.0 -! -!CH4/HNO4=0.0 -! -!CH4/NH3=0.0 -! -!CH4/SO2=0.0 -! -!CH4/SULF=0.0 -! -!CH4/CO=0.0 -! -!CH4/OH=-K055*<CH4> - PJAC(:,16,14)=-TPK%K055(:)*PCONC(:,16) -! -!CH4/HO2=0.0 -! -!CH4/CH4=-K055*<OH> - PJAC(:,16,16)=-TPK%K055(:)*PCONC(:,14) -! -!CH4/ETH=0.0 -! -!CH4/ALKA=0.0 -! -!CH4/ALKE=+0.04300*K076*<O3> - PJAC(:,16,19)=+0.04300*TPK%K076(:)*PCONC(:,1) -! -!CH4/BIO=0.0 -! -!CH4/ARO=0.0 -! -!CH4/HCHO=0.0 -! -!CH4/ALD=0.0 -! -!CH4/KET=0.0 -! -!CH4/CARBO=0.0 -! -!CH4/ONIT=0.0 -! -!CH4/PAN=0.0 -! -!CH4/OP1=0.0 -! -!CH4/OP2=0.0 -! -!CH4/ORA2=0.0 -! -!CH4/MO2=0.0 -! -!CH4/ALKAP=0.0 -! -!CH4/ALKEP=0.0 -! -!CH4/BIOP=0.0 -! -!CH4/PHO=0.0 -! -!CH4/ADD=0.0 -! -!CH4/AROP=0.0 -! -!CH4/CARBOP=0.0 -! -!CH4/OLN=0.0 -! -!CH4/XO2=0.0 -! -!ETH/O3=+0.03196*K076*<ALKE> - PJAC(:,17,1)=+0.03196*TPK%K076(:)*PCONC(:,19) -! -!ETH/H2O2=0.0 -! -!ETH/NO=0.0 -! -!ETH/NO2=0.0 -! -!ETH/NO3=0.0 -! -!ETH/N2O5=0.0 -! -!ETH/HONO=0.0 -! -!ETH/HNO3=0.0 -! -!ETH/HNO4=0.0 -! -!ETH/NH3=0.0 -! -!ETH/SO2=0.0 -! -!ETH/SULF=0.0 -! -!ETH/CO=0.0 -! -!ETH/OH=-K056*<ETH> - PJAC(:,17,14)=-TPK%K056(:)*PCONC(:,17) -! -!ETH/HO2=0.0 -! -!ETH/CH4=0.0 -! -!ETH/ETH=-K056*<OH> - PJAC(:,17,17)=-TPK%K056(:)*PCONC(:,14) -! -!ETH/ALKA=0.0 -! -!ETH/ALKE=+0.03196*K076*<O3> - PJAC(:,17,19)=+0.03196*TPK%K076(:)*PCONC(:,1) -! -!ETH/BIO=0.0 -! -!ETH/ARO=0.0 -! -!ETH/HCHO=0.0 -! -!ETH/ALD=0.0 -! -!ETH/KET=0.0 -! -!ETH/CARBO=0.0 -! -!ETH/ONIT=0.0 -! -!ETH/PAN=0.0 -! -!ETH/OP1=0.0 -! -!ETH/OP2=0.0 -! -!ETH/ORA2=0.0 -! -!ETH/MO2=0.0 -! -!ETH/ALKAP=0.0 -! -!ETH/ALKEP=0.0 -! -!ETH/BIOP=0.0 -! -!ETH/PHO=0.0 -! -!ETH/ADD=0.0 -! -!ETH/AROP=0.0 -! -!ETH/CARBOP=0.0 -! -!ETH/OLN=0.0 -! -!ETH/XO2=0.0 -! -!ALKA/O3=0.0 -! -!ALKA/H2O2=0.0 -! -!ALKA/NO=0.0 -! -!ALKA/NO2=0.0 -! -!ALKA/NO3=0.0 -! -!ALKA/N2O5=0.0 -! -!ALKA/HONO=0.0 -! -!ALKA/HNO3=0.0 -! -!ALKA/HNO4=0.0 -! -!ALKA/NH3=0.0 -! -!ALKA/SO2=0.0 -! -!ALKA/SULF=0.0 -! -!ALKA/CO=0.0 -! -!ALKA/OH=-K057*<ALKA> - PJAC(:,18,14)=-TPK%K057(:)*PCONC(:,18) -! -!ALKA/HO2=0.0 -! -!ALKA/CH4=0.0 -! -!ALKA/ETH=0.0 -! -!ALKA/ALKA=-K057*<OH> - PJAC(:,18,18)=-TPK%K057(:)*PCONC(:,14) -! -!ALKA/ALKE=0.0 -! -!ALKA/BIO=0.0 -! -!ALKA/ARO=0.0 -! -!ALKA/HCHO=0.0 -! -!ALKA/ALD=0.0 -! -!ALKA/KET=0.0 -! -!ALKA/CARBO=0.0 -! -!ALKA/ONIT=0.0 -! -!ALKA/PAN=0.0 -! -!ALKA/OP1=0.0 -! -!ALKA/OP2=0.0 -! -!ALKA/ORA2=0.0 -! -!ALKA/MO2=0.0 -! -!ALKA/ALKAP=0.0 -! -!ALKA/ALKEP=0.0 -! -!ALKA/BIOP=0.0 -! -!ALKA/PHO=0.0 -! -!ALKA/ADD=0.0 -! -!ALKA/AROP=0.0 -! -!ALKA/CARBOP=0.0 -! -!ALKA/OLN=0.0 -! -!ALKA/XO2=0.0 -! -!ALKE/O3=+0.00000*K076*<ALKE>-K076*<ALKE>+0.37388*K077*<BIO> - PJAC(:,19,1)=+0.00000*TPK%K076(:)*PCONC(:,19)-TPK%K076(:)*PCONC(:,19)+0.37388*& -&TPK%K077(:)*PCONC(:,20) -! -!ALKE/H2O2=0.0 -! -!ALKE/NO=+0.37815*K090*<BIOP> - PJAC(:,19,3)=+0.37815*TPK%K090(:)*PCONC(:,34) -! -!ALKE/NO2=0.0 -! -!ALKE/NO3=-K073*<ALKE>+0.42729*K119*<BIOP> - PJAC(:,19,5)=-TPK%K073(:)*PCONC(:,19)+0.42729*TPK%K119(:)*PCONC(:,34) -! -!ALKE/N2O5=0.0 -! -!ALKE/HONO=0.0 -! -!ALKE/HNO3=0.0 -! -!ALKE/HNO4=0.0 -! -!ALKE/NH3=0.0 -! -!ALKE/SO2=0.0 -! -!ALKE/SULF=0.0 -! -!ALKE/CO=0.0 -! -!ALKE/OH=-K058*<ALKE> - PJAC(:,19,14)=-TPK%K058(:)*PCONC(:,19) -! -!ALKE/HO2=0.0 -! -!ALKE/CH4=0.0 -! -!ALKE/ETH=0.0 -! -!ALKE/ALKA=0.0 -! -!ALKE/ALKE=-K058*<OH>-K073*<NO3>+0.00000*K076*<O3>-K076*<O3> - PJAC(:,19,19)=-TPK%K058(:)*PCONC(:,14)-TPK%K073(:)*PCONC(:,5)+0.00000*TPK%K076& -&(:)*PCONC(:,1)-TPK%K076(:)*PCONC(:,1) -! -!ALKE/BIO=+0.91868*K053*<O3P>+0.37388*K077*<O3> - PJAC(:,19,20)=+0.91868*TPK%K053(:)*TPK%O3P(:)+0.37388*TPK%K077(:)*PCONC(:,1) -! -!ALKE/ARO=0.0 -! -!ALKE/HCHO=0.0 -! -!ALKE/ALD=0.0 -! -!ALKE/KET=0.0 -! -!ALKE/CARBO=0.0 -! -!ALKE/ONIT=0.0 -! -!ALKE/PAN=0.0 -! -!ALKE/OP1=0.0 -! -!ALKE/OP2=0.0 -! -!ALKE/ORA2=0.0 -! -!ALKE/MO2=+0.48074*K104*<BIOP> - PJAC(:,19,31)=+0.48074*TPK%K104(:)*PCONC(:,34) -! -!ALKE/ALKAP=0.0 -! -!ALKE/ALKEP=0.0 -! -!ALKE/BIOP=+0.37815*K090*<NO>+0.48074*K104*<MO2>+0.24463*K110*<CARBOP>+0.42729* -!K119*<NO3> - PJAC(:,19,34)=+0.37815*TPK%K090(:)*PCONC(:,3)+0.48074*TPK%K104(:)*PCONC(:,31)+& -&0.24463*TPK%K110(:)*PCONC(:,38)+0.42729*TPK%K119(:)*PCONC(:,5) -! -!ALKE/PHO=0.0 -! -!ALKE/ADD=0.0 -! -!ALKE/AROP=0.0 -! -!ALKE/CARBOP=+0.24463*K110*<BIOP> - PJAC(:,19,38)=+0.24463*TPK%K110(:)*PCONC(:,34) -! -!ALKE/OLN=0.0 -! -!ALKE/XO2=0.0 -! -!BIO/O3=-K077*<BIO> - PJAC(:,20,1)=-TPK%K077(:)*PCONC(:,20) -! -!BIO/H2O2=0.0 -! -!BIO/NO=0.0 -! -!BIO/NO2=0.0 -! -!BIO/NO3=-K074*<BIO> - PJAC(:,20,5)=-TPK%K074(:)*PCONC(:,20) -! -!BIO/N2O5=0.0 -! -!BIO/HONO=0.0 -! -!BIO/HNO3=0.0 -! -!BIO/HNO4=0.0 -! -!BIO/NH3=0.0 -! -!BIO/SO2=0.0 -! -!BIO/SULF=0.0 -! -!BIO/CO=0.0 -! -!BIO/OH=-K059*<BIO> - PJAC(:,20,14)=-TPK%K059(:)*PCONC(:,20) -! -!BIO/HO2=0.0 -! -!BIO/CH4=0.0 -! -!BIO/ETH=0.0 -! -!BIO/ALKA=0.0 -! -!BIO/ALKE=0.0 -! -!BIO/BIO=-K053*<O3P>-K059*<OH>-K074*<NO3>-K077*<O3> - PJAC(:,20,20)=-TPK%K053(:)*TPK%O3P(:)-TPK%K059(:)*PCONC(:,14)-TPK%K074(:)*PCON& -&C(:,5)-TPK%K077(:)*PCONC(:,1) -! -!BIO/ARO=0.0 -! -!BIO/HCHO=0.0 -! -!BIO/ALD=0.0 -! -!BIO/KET=0.0 -! -!BIO/CARBO=0.0 -! -!BIO/ONIT=0.0 -! -!BIO/PAN=0.0 -! -!BIO/OP1=0.0 -! -!BIO/OP2=0.0 -! -!BIO/ORA2=0.0 -! -!BIO/MO2=0.0 -! -!BIO/ALKAP=0.0 -! -!BIO/ALKEP=0.0 -! -!BIO/BIOP=0.0 -! -!BIO/PHO=0.0 -! -!BIO/ADD=0.0 -! -!BIO/AROP=0.0 -! -!BIO/CARBOP=0.0 -! -!BIO/OLN=0.0 -! -!BIO/XO2=0.0 -! -!ARO/O3=+K084*<ADD> - PJAC(:,21,1)=+TPK%K084(:)*PCONC(:,36) -! -!ARO/H2O2=0.0 -! -!ARO/NO=0.0 -! -!ARO/NO2=+0.10670*K080*<PHO>+K082*<ADD> - PJAC(:,21,4)=+0.10670*TPK%K080(:)*PCONC(:,35)+TPK%K082(:)*PCONC(:,36) -! -!ARO/NO3=-K072*<ARO> - PJAC(:,21,5)=-TPK%K072(:)*PCONC(:,21) -! -!ARO/N2O5=0.0 -! -!ARO/HONO=0.0 -! -!ARO/HNO3=0.0 -! -!ARO/HNO4=0.0 -! -!ARO/NH3=0.0 -! -!ARO/SO2=0.0 -! -!ARO/SULF=0.0 -! -!ARO/CO=0.0 -! -!ARO/OH=-K060*<ARO> - PJAC(:,21,14)=-TPK%K060(:)*PCONC(:,21) -! -!ARO/HO2=+1.06698*K081*<PHO> - PJAC(:,21,15)=+1.06698*TPK%K081(:)*PCONC(:,35) -! -!ARO/CH4=0.0 -! -!ARO/ETH=0.0 -! -!ARO/ALKA=0.0 -! -!ARO/ALKE=0.0 -! -!ARO/BIO=0.0 -! -!ARO/ARO=-K060*<OH>-K072*<NO3> - PJAC(:,21,21)=-TPK%K060(:)*PCONC(:,14)-TPK%K072(:)*PCONC(:,5) -! -!ARO/HCHO=0.0 -! -!ARO/ALD=0.0 -! -!ARO/KET=0.0 -! -!ARO/CARBO=0.0 -! -!ARO/ONIT=0.0 -! -!ARO/PAN=0.0 -! -!ARO/OP1=0.0 -! -!ARO/OP2=0.0 -! -!ARO/ORA2=0.0 -! -!ARO/MO2=0.0 -! -!ARO/ALKAP=0.0 -! -!ARO/ALKEP=0.0 -! -!ARO/BIOP=0.0 -! -!ARO/PHO=+0.10670*K080*<NO2>+1.06698*K081*<HO2> - PJAC(:,21,35)=+0.10670*TPK%K080(:)*PCONC(:,4)+1.06698*TPK%K081(:)*PCONC(:,15) -! -!ARO/ADD=+K082*<NO2>+0.02*K083*<O2>+K084*<O3> - PJAC(:,21,36)=+TPK%K082(:)*PCONC(:,4)+0.02*TPK%K083(:)*TPK%O2(:)+TPK%K084(:)*P& -&CONC(:,1) -! -!ARO/AROP=0.0 -! -!ARO/CARBOP=0.0 -! -!ARO/OLN=0.0 -! -!ARO/XO2=0.0 -! -!HCHO/O3=+0.48290*K076*<ALKE>+0.90000*K077*<BIO>+0.00000*K078*<CARBO>+0.70*K079 -!*<PAN> - PJAC(:,22,1)=+0.48290*TPK%K076(:)*PCONC(:,19)+0.90000*TPK%K077(:)*PCONC(:,20)+& -&0.00000*TPK%K078(:)*PCONC(:,25)+0.70*TPK%K079(:)*PCONC(:,27) -! -!HCHO/H2O2=0.0 -! -!HCHO/NO=+K087*<MO2>+0.03002*K088*<ALKAP>+1.39870*K089*<ALKEP>+0.60600*K090*<BI -!OP>+0.05848*K092*<CARBOP>+0.23419*K093*<OLN> - PJAC(:,22,3)=+TPK%K087(:)*PCONC(:,31)+0.03002*TPK%K088(:)*PCONC(:,32)+1.39870*& -&TPK%K089(:)*PCONC(:,33)+0.60600*TPK%K090(:)*PCONC(:,34)+0.05848*TPK%K092(:)*PC& -&ONC(:,38)+0.23419*TPK%K093(:)*PCONC(:,39) -! -!HCHO/NO2=0.0 -! -!HCHO/NO3=-K069*<HCHO>+0.40*K075*<PAN>+K116*<MO2>+0.03142*K117*<ALKAP>+1.40909* -!K118*<ALKEP>+0.68600*K119*<BIOP>+0.03175*K121*<CARBOP>+0.20740*K122*<OLN> - PJAC(:,22,5)=-TPK%K069(:)*PCONC(:,22)+0.40*TPK%K075(:)*PCONC(:,27)+TPK%K116(:)& -&*PCONC(:,31)+0.03142*TPK%K117(:)*PCONC(:,32)+1.40909*TPK%K118(:)*PCONC(:,33)+0& -&.68600*TPK%K119(:)*PCONC(:,34)+0.03175*TPK%K121(:)*PCONC(:,38)+0.20740*TPK%K12& -&2(:)*PCONC(:,39) -! -!HCHO/N2O5=0.0 -! -!HCHO/HONO=0.0 -! -!HCHO/HNO3=0.0 -! -!HCHO/HNO4=0.0 -! -!HCHO/NH3=0.0 -! -!HCHO/SO2=0.0 -! -!HCHO/SULF=0.0 -! -!HCHO/CO=0.0 -! -!HCHO/OH=+0.00140*K057*<ALKA>-K061*<HCHO>+0.00000*K064*<CARBO>+0.35*K065*<OP1>+ -!0.02915*K066*<OP2>+0.57839*K067*<PAN> - PJAC(:,22,14)=+0.00140*TPK%K057(:)*PCONC(:,18)-TPK%K061(:)*PCONC(:,22)+0.00000& -&*TPK%K064(:)*PCONC(:,25)+0.35*TPK%K065(:)*PCONC(:,28)+0.02915*TPK%K066(:)*PCON& -&C(:,29)+0.57839*TPK%K067(:)*PCONC(:,27) -! -!HCHO/HO2=0.0 -! -!HCHO/CH4=0.0 -! -!HCHO/ETH=0.0 -! -!HCHO/ALKA=+0.00140*K057*<OH> - PJAC(:,22,18)=+0.00140*TPK%K057(:)*PCONC(:,14) -! -!HCHO/ALKE=+0.48290*K076*<O3> - PJAC(:,22,19)=+0.48290*TPK%K076(:)*PCONC(:,1) -! -!HCHO/BIO=+0.05*K053*<O3P>+0.90000*K077*<O3> - PJAC(:,22,20)=+0.05*TPK%K053(:)*TPK%O3P(:)+0.90000*TPK%K077(:)*PCONC(:,1) -! -!HCHO/ARO=0.0 -! -!HCHO/HCHO=-K010-K011-K061*<OH>-K069*<NO3> - PJAC(:,22,22)=-TPK%K010(:)-TPK%K011(:)-TPK%K061(:)*PCONC(:,14)-TPK%K069(:)*PCO& -&NC(:,5) -! -!HCHO/ALD=0.0 -! -!HCHO/KET=0.0 -! -!HCHO/CARBO=+0.06517*K016+0.00000*K064*<OH>+0.00000*K078*<O3> - PJAC(:,22,25)=+0.06517*TPK%K016(:)+0.00000*TPK%K064(:)*PCONC(:,14)+0.00000*TPK& -&%K078(:)*PCONC(:,1) -! -!HCHO/ONIT=0.0 -! -!HCHO/PAN=+0.57839*K067*<OH>+0.40*K075*<NO3>+0.70*K079*<O3> - PJAC(:,22,27)=+0.57839*TPK%K067(:)*PCONC(:,14)+0.40*TPK%K075(:)*PCONC(:,5)+0.7& -&0*TPK%K079(:)*PCONC(:,1) -! -!HCHO/OP1=+K013+0.35*K065*<OH> - PJAC(:,22,28)=+TPK%K013(:)+0.35*TPK%K065(:)*PCONC(:,14) -! -!HCHO/OP2=+0.02915*K066*<OH> - PJAC(:,22,29)=+0.02915*TPK%K066(:)*PCONC(:,14) -! -!HCHO/ORA2=0.0 -! -!HCHO/MO2=+K087*<NO>+1.33*K101*<MO2>+1.33*K101*<MO2>+0.80556*K102*<ALKAP>+1.428 -!94*K103*<ALKEP>+1.09000*K104*<BIOP>+K105*<AROP>+0.95723*K106*<CARBOP>+0.88625* -!K107*<OLN>+K116*<NO3>+K124*<XO2> - PJAC(:,22,31)=+TPK%K087(:)*PCONC(:,3)+1.33*TPK%K101(:)*PCONC(:,31)+1.33*TPK%K1& -&01(:)*PCONC(:,31)+0.80556*TPK%K102(:)*PCONC(:,32)+1.42894*TPK%K103(:)*PCONC(:,& -&33)+1.09000*TPK%K104(:)*PCONC(:,34)+TPK%K105(:)*PCONC(:,37)+0.95723*TPK%K106(:& -&)*PCONC(:,38)+0.88625*TPK%K107(:)*PCONC(:,39)+TPK%K116(:)*PCONC(:,5)+TPK%K124(& -&:)*PCONC(:,40) -! -!HCHO/ALKAP=+0.03002*K088*<NO>+0.80556*K102*<MO2>+0.07600*K108*<CARBOP>+0.03142 -!*K117*<NO3> - PJAC(:,22,32)=+0.03002*TPK%K088(:)*PCONC(:,3)+0.80556*TPK%K102(:)*PCONC(:,31)+& -&0.07600*TPK%K108(:)*PCONC(:,38)+0.03142*TPK%K117(:)*PCONC(:,5) -! -!HCHO/ALKEP=+1.39870*K089*<NO>+1.42894*K103*<MO2>+0.68192*K109*<CARBOP>+1.40909 -!*K118*<NO3> - PJAC(:,22,33)=+1.39870*TPK%K089(:)*PCONC(:,3)+1.42894*TPK%K103(:)*PCONC(:,31)+& -&0.68192*TPK%K109(:)*PCONC(:,38)+1.40909*TPK%K118(:)*PCONC(:,5) -! -!HCHO/BIOP=+0.60600*K090*<NO>+1.09000*K104*<MO2>+0.34000*K110*<CARBOP>+0.68600* -!K119*<NO3> - PJAC(:,22,34)=+0.60600*TPK%K090(:)*PCONC(:,3)+1.09000*TPK%K104(:)*PCONC(:,31)+& -&0.34000*TPK%K110(:)*PCONC(:,38)+0.68600*TPK%K119(:)*PCONC(:,5) -! -!HCHO/PHO=0.0 -! -!HCHO/ADD=0.0 -! -!HCHO/AROP=+K105*<MO2> - PJAC(:,22,37)=+TPK%K105(:)*PCONC(:,31) -! -!HCHO/CARBOP=+0.05848*K092*<NO>+0.95723*K106*<MO2>+0.07600*K108*<ALKAP>+0.68192 -!*K109*<ALKEP>+0.34000*K110*<BIOP>+0.03432*K112*<CARBOP>+0.03432*K112*<CARBOP>+ -!0.13414*K113*<OLN>+0.03175*K121*<NO3> - PJAC(:,22,38)=+0.05848*TPK%K092(:)*PCONC(:,3)+0.95723*TPK%K106(:)*PCONC(:,31)+& -&0.07600*TPK%K108(:)*PCONC(:,32)+0.68192*TPK%K109(:)*PCONC(:,33)+0.34000*TPK%K1& -&10(:)*PCONC(:,34)+0.03432*TPK%K112(:)*PCONC(:,38)+0.03432*TPK%K112(:)*PCONC(:,& -&38)+0.13414*TPK%K113(:)*PCONC(:,39)+0.03175*TPK%K121(:)*PCONC(:,5) -! -!HCHO/OLN=+0.23419*K093*<NO>+0.88625*K107*<MO2>+0.13414*K113*<CARBOP>+0.00000*K -!115*<OLN>+0.00000*K115*<OLN>+0.20740*K122*<NO3> - PJAC(:,22,39)=+0.23419*TPK%K093(:)*PCONC(:,3)+0.88625*TPK%K107(:)*PCONC(:,31)+& -&0.13414*TPK%K113(:)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TPK%K1& -&15(:)*PCONC(:,39)+0.20740*TPK%K122(:)*PCONC(:,5) -! -!HCHO/XO2=+K124*<MO2> - PJAC(:,22,40)=+TPK%K124(:)*PCONC(:,31) -! -!ALD/O3=+0.51468*K076*<ALKE>+0.00000*K077*<BIO>+0.15692*K078*<CARBO> - PJAC(:,23,1)=+0.51468*TPK%K076(:)*PCONC(:,19)+0.00000*TPK%K077(:)*PCONC(:,20)+& -&0.15692*TPK%K078(:)*PCONC(:,25) -! -!ALD/H2O2=0.0 -! -!ALD/NO=+0.33144*K088*<ALKAP>+0.42125*K089*<ALKEP>+0.00000*K090*<BIOP>+0.07368* -!K092*<CARBOP>+1.01182*K093*<OLN> - PJAC(:,23,3)=+0.33144*TPK%K088(:)*PCONC(:,32)+0.42125*TPK%K089(:)*PCONC(:,33)+& -&0.00000*TPK%K090(:)*PCONC(:,34)+0.07368*TPK%K092(:)*PCONC(:,38)+1.01182*TPK%K0& -&93(:)*PCONC(:,39) -! -!ALD/NO2=0.0 -! -!ALD/NO3=-K070*<ALD>+0.05265*K071*<CARBO>+0.33743*K117*<ALKAP>+0.43039*K118*<AL -!KEP>+0.00000*K119*<BIOP>+0.02936*K121*<CARBOP>+0.91850*K122*<OLN> - PJAC(:,23,5)=-TPK%K070(:)*PCONC(:,23)+0.05265*TPK%K071(:)*PCONC(:,25)+0.33743*& -&TPK%K117(:)*PCONC(:,32)+0.43039*TPK%K118(:)*PCONC(:,33)+0.00000*TPK%K119(:)*PC& -&ONC(:,34)+0.02936*TPK%K121(:)*PCONC(:,38)+0.91850*TPK%K122(:)*PCONC(:,39) -! -!ALD/N2O5=0.0 -! -!ALD/HONO=0.0 -! -!ALD/HNO3=0.0 -! -!ALD/HNO4=0.0 -! -!ALD/NH3=0.0 -! -!ALD/SO2=0.0 -! -!ALD/SULF=0.0 -! -!ALD/CO=0.0 -! -!ALD/OH=+0.08173*K057*<ALKA>-K062*<ALD>+0.06253*K064*<CARBO>+0.07335*K066*<OP2> - PJAC(:,23,14)=+0.08173*TPK%K057(:)*PCONC(:,18)-TPK%K062(:)*PCONC(:,23)+0.06253& -&*TPK%K064(:)*PCONC(:,25)+0.07335*TPK%K066(:)*PCONC(:,29) -! -!ALD/HO2=0.0 -! -!ALD/CH4=0.0 -! -!ALD/ETH=0.0 -! -!ALD/ALKA=+0.08173*K057*<OH> - PJAC(:,23,18)=+0.08173*TPK%K057(:)*PCONC(:,14) -! -!ALD/ALKE=+0.51468*K076*<O3> - PJAC(:,23,19)=+0.51468*TPK%K076(:)*PCONC(:,1) -! -!ALD/BIO=+0.00000*K077*<O3> - PJAC(:,23,20)=+0.00000*TPK%K077(:)*PCONC(:,1) -! -!ALD/ARO=0.0 -! -!ALD/HCHO=0.0 -! -!ALD/ALD=-K012-K062*<OH>-K070*<NO3> - PJAC(:,23,23)=-TPK%K012(:)-TPK%K062(:)*PCONC(:,14)-TPK%K070(:)*PCONC(:,5) -! -!ALD/KET=0.0 -! -!ALD/CARBO=+K054*<O3P>+0.06253*K064*<OH>+0.05265*K071*<NO3>+0.15692*K078*<O3> - PJAC(:,23,25)=+TPK%K054(:)*TPK%O3P(:)+0.06253*TPK%K064(:)*PCONC(:,14)+0.05265*& -&TPK%K071(:)*PCONC(:,5)+0.15692*TPK%K078(:)*PCONC(:,1) -! -!ALD/ONIT=+0.20*K017 - PJAC(:,23,26)=+0.20*TPK%K017(:) -! -!ALD/PAN=0.0 -! -!ALD/OP1=0.0 -! -!ALD/OP2=+0.96205*K014+0.07335*K066*<OH> - PJAC(:,23,29)=+0.96205*TPK%K014(:)+0.07335*TPK%K066(:)*PCONC(:,14) -! -!ALD/ORA2=0.0 -! -!ALD/MO2=+0.56070*K102*<ALKAP>+0.46413*K103*<ALKEP>+0.00000*K104*<BIOP>+0.08295 -!*K106*<CARBOP>+0.41524*K107*<OLN> - PJAC(:,23,31)=+0.56070*TPK%K102(:)*PCONC(:,32)+0.46413*TPK%K103(:)*PCONC(:,33)& -&+0.00000*TPK%K104(:)*PCONC(:,34)+0.08295*TPK%K106(:)*PCONC(:,38)+0.41524*TPK%K& -&107(:)*PCONC(:,39) -! -!ALD/ALKAP=+0.33144*K088*<NO>+0.56070*K102*<MO2>+0.71461*K108*<CARBOP>+0.33743* -!K117*<NO3> - PJAC(:,23,32)=+0.33144*TPK%K088(:)*PCONC(:,3)+0.56070*TPK%K102(:)*PCONC(:,31)+& -&0.71461*TPK%K108(:)*PCONC(:,38)+0.33743*TPK%K117(:)*PCONC(:,5) -! -!ALD/ALKEP=+0.42125*K089*<NO>+0.46413*K103*<MO2>+0.68374*K109*<CARBOP>+0.43039* -!K118*<NO3> - PJAC(:,23,33)=+0.42125*TPK%K089(:)*PCONC(:,3)+0.46413*TPK%K103(:)*PCONC(:,31)+& -&0.68374*TPK%K109(:)*PCONC(:,38)+0.43039*TPK%K118(:)*PCONC(:,5) -! -!ALD/BIOP=+0.00000*K090*<NO>+0.00000*K104*<MO2>+0.00000*K110*<CARBOP>+0.00000*K -!119*<NO3> - PJAC(:,23,34)=+0.00000*TPK%K090(:)*PCONC(:,3)+0.00000*TPK%K104(:)*PCONC(:,31)+& -&0.00000*TPK%K110(:)*PCONC(:,38)+0.00000*TPK%K119(:)*PCONC(:,5) -! -!ALD/PHO=0.0 -! -!ALD/ADD=0.0 -! -!ALD/AROP=0.0 -! -!ALD/CARBOP=+0.07368*K092*<NO>+0.08295*K106*<MO2>+0.71461*K108*<ALKAP>+0.68374* -!K109*<ALKEP>+0.00000*K110*<BIOP>+0.06969*K112*<CARBOP>+0.06969*K112*<CARBOP>+0 -!.42122*K113*<OLN>+0.02936*K121*<NO3> - PJAC(:,23,38)=+0.07368*TPK%K092(:)*PCONC(:,3)+0.08295*TPK%K106(:)*PCONC(:,31)+& -&0.71461*TPK%K108(:)*PCONC(:,32)+0.68374*TPK%K109(:)*PCONC(:,33)+0.00000*TPK%K1& -&10(:)*PCONC(:,34)+0.06969*TPK%K112(:)*PCONC(:,38)+0.06969*TPK%K112(:)*PCONC(:,& -&38)+0.42122*TPK%K113(:)*PCONC(:,39)+0.02936*TPK%K121(:)*PCONC(:,5) -! -!ALD/OLN=+1.01182*K093*<NO>+0.41524*K107*<MO2>+0.42122*K113*<CARBOP>+0.00000*K1 -!15*<OLN>+0.00000*K115*<OLN>+0.91850*K122*<NO3> - PJAC(:,23,39)=+1.01182*TPK%K093(:)*PCONC(:,3)+0.41524*TPK%K107(:)*PCONC(:,31)+& -&0.42122*TPK%K113(:)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TPK%K1& -&15(:)*PCONC(:,39)+0.91850*TPK%K122(:)*PCONC(:,5) -! -!ALD/XO2=0.0 -! -!KET/O3=+0.07377*K076*<ALKE>+0.00000*K077*<BIO> - PJAC(:,24,1)=+0.07377*TPK%K076(:)*PCONC(:,19)+0.00000*TPK%K077(:)*PCONC(:,20) -! -!KET/H2O2=0.0 -! -!KET/NO=+0.54531*K088*<ALKAP>+0.05220*K089*<ALKEP>+0.00000*K090*<BIOP>+0.37862* -!K093*<OLN> - PJAC(:,24,3)=+0.54531*TPK%K088(:)*PCONC(:,32)+0.05220*TPK%K089(:)*PCONC(:,33)+& -&0.00000*TPK%K090(:)*PCONC(:,34)+0.37862*TPK%K093(:)*PCONC(:,39) -! -!KET/NO2=0.0 -! -!KET/NO3=+0.00632*K071*<CARBO>+0.62978*K117*<ALKAP>+0.02051*K118*<ALKEP>+0.0000 -!0*K119*<BIOP>+0.34740*K122*<OLN> - PJAC(:,24,5)=+0.00632*TPK%K071(:)*PCONC(:,25)+0.62978*TPK%K117(:)*PCONC(:,32)+& -&0.02051*TPK%K118(:)*PCONC(:,33)+0.00000*TPK%K119(:)*PCONC(:,34)+0.34740*TPK%K1& -&22(:)*PCONC(:,39) -! -!KET/N2O5=0.0 -! -!KET/HONO=0.0 -! -!KET/HNO3=0.0 -! -!KET/HNO4=0.0 -! -!KET/NH3=0.0 -! -!KET/SO2=0.0 -! -!KET/SULF=0.0 -! -!KET/CO=0.0 -! -!KET/OH=+0.03498*K057*<ALKA>-K063*<KET>+0.00853*K064*<CARBO>+0.37591*K066*<OP2> - PJAC(:,24,14)=+0.03498*TPK%K057(:)*PCONC(:,18)-TPK%K063(:)*PCONC(:,24)+0.00853& -&*TPK%K064(:)*PCONC(:,25)+0.37591*TPK%K066(:)*PCONC(:,29) -! -!KET/HO2=0.0 -! -!KET/CH4=0.0 -! -!KET/ETH=0.0 -! -!KET/ALKA=+0.03498*K057*<OH> - PJAC(:,24,18)=+0.03498*TPK%K057(:)*PCONC(:,14) -! -!KET/ALKE=+0.07377*K076*<O3> - PJAC(:,24,19)=+0.07377*TPK%K076(:)*PCONC(:,1) -! -!KET/BIO=+0.00000*K077*<O3> - PJAC(:,24,20)=+0.00000*TPK%K077(:)*PCONC(:,1) -! -!KET/ARO=0.0 -! -!KET/HCHO=0.0 -! -!KET/ALD=0.0 -! -!KET/KET=-K015-K063*<OH> - PJAC(:,24,24)=-TPK%K015(:)-TPK%K063(:)*PCONC(:,14) -! -!KET/CARBO=+0.00853*K064*<OH>+0.00632*K071*<NO3> - PJAC(:,24,25)=+0.00853*TPK%K064(:)*PCONC(:,14)+0.00632*TPK%K071(:)*PCONC(:,5) -! -!KET/ONIT=+0.80*K017 - PJAC(:,24,26)=+0.80*TPK%K017(:) -! -!KET/PAN=0.0 -! -!KET/OP1=0.0 -! -!KET/OP2=+0.37591*K066*<OH> - PJAC(:,24,29)=+0.37591*TPK%K066(:)*PCONC(:,14) -! -!KET/ORA2=0.0 -! -!KET/MO2=+0.09673*K102*<ALKAP>+0.03814*K103*<ALKEP>+0.00000*K104*<BIOP>+0.09667 -!*K107*<OLN> - PJAC(:,24,31)=+0.09673*TPK%K102(:)*PCONC(:,32)+0.03814*TPK%K103(:)*PCONC(:,33)& -&+0.00000*TPK%K104(:)*PCONC(:,34)+0.09667*TPK%K107(:)*PCONC(:,39) -! -!KET/ALKAP=+0.54531*K088*<NO>+0.09673*K102*<MO2>+0.18819*K108*<CARBOP>+0.62978* -!K117*<NO3> - PJAC(:,24,32)=+0.54531*TPK%K088(:)*PCONC(:,3)+0.09673*TPK%K102(:)*PCONC(:,31)+& -&0.18819*TPK%K108(:)*PCONC(:,38)+0.62978*TPK%K117(:)*PCONC(:,5) -! -!KET/ALKEP=+0.05220*K089*<NO>+0.03814*K103*<MO2>+0.06579*K109*<CARBOP>+0.02051* -!K118*<NO3> - PJAC(:,24,33)=+0.05220*TPK%K089(:)*PCONC(:,3)+0.03814*TPK%K103(:)*PCONC(:,31)+& -&0.06579*TPK%K109(:)*PCONC(:,38)+0.02051*TPK%K118(:)*PCONC(:,5) -! -!KET/BIOP=+0.00000*K090*<NO>+0.00000*K104*<MO2>+0.00000*K110*<CARBOP>+0.00000*K -!119*<NO3> - PJAC(:,24,34)=+0.00000*TPK%K090(:)*PCONC(:,3)+0.00000*TPK%K104(:)*PCONC(:,31)+& -&0.00000*TPK%K110(:)*PCONC(:,38)+0.00000*TPK%K119(:)*PCONC(:,5) -! -!KET/PHO=0.0 -! -!KET/ADD=0.0 -! -!KET/AROP=0.0 -! -!KET/CARBOP=+0.18819*K108*<ALKAP>+0.06579*K109*<ALKEP>+0.00000*K110*<BIOP>+0.02 -!190*K112*<CARBOP>+0.02190*K112*<CARBOP>+0.10822*K113*<OLN> - PJAC(:,24,38)=+0.18819*TPK%K108(:)*PCONC(:,32)+0.06579*TPK%K109(:)*PCONC(:,33)& -&+0.00000*TPK%K110(:)*PCONC(:,34)+0.02190*TPK%K112(:)*PCONC(:,38)+0.02190*TPK%K& -&112(:)*PCONC(:,38)+0.10822*TPK%K113(:)*PCONC(:,39) -! -!KET/OLN=+0.37862*K093*<NO>+0.09667*K107*<MO2>+0.10822*K113*<CARBOP>+0.00000*K1 -!15*<OLN>+0.00000*K115*<OLN>+0.34740*K122*<NO3> - PJAC(:,24,39)=+0.37862*TPK%K093(:)*PCONC(:,3)+0.09667*TPK%K107(:)*PCONC(:,31)+& -&0.10822*TPK%K113(:)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TPK%K1& -&15(:)*PCONC(:,39)+0.34740*TPK%K122(:)*PCONC(:,5) -! -!KET/XO2=0.0 -! -!CARBO/O3=+0.00000*K076*<ALKE>+0.39754*K077*<BIO>+1.07583*K078*<CARBO>-K078*<CA -!RBO> - PJAC(:,25,1)=+0.00000*TPK%K076(:)*PCONC(:,19)+0.39754*TPK%K077(:)*PCONC(:,20)+& -&1.07583*TPK%K078(:)*PCONC(:,25)-TPK%K078(:)*PCONC(:,25) -! -!CARBO/H2O2=0.0 -! -!CARBO/NO=+0.03407*K088*<ALKAP>+0.45463*K090*<BIOP>+2.06993*K091*<AROP>+0.08670 -!*K092*<CARBOP> - PJAC(:,25,3)=+0.03407*TPK%K088(:)*PCONC(:,32)+0.45463*TPK%K090(:)*PCONC(:,34)+& -&2.06993*TPK%K091(:)*PCONC(:,37)+0.08670*TPK%K092(:)*PCONC(:,38) -! -!CARBO/NO2=0.0 -! -!CARBO/NO3=+0.10530*K071*<CARBO>-K071*<CARBO>+0.00000*K073*<ALKE>+0.91741*K074* -!<BIO>+0.03531*K117*<ALKAP>+0.61160*K119*<BIOP>+2.81904*K120*<AROP>+0.03455*K12 -!1*<CARBOP> - PJAC(:,25,5)=+0.10530*TPK%K071(:)*PCONC(:,25)-TPK%K071(:)*PCONC(:,25)+0.00000*& -&TPK%K073(:)*PCONC(:,19)+0.91741*TPK%K074(:)*PCONC(:,20)+0.03531*TPK%K117(:)*PC& -&ONC(:,32)+0.61160*TPK%K119(:)*PCONC(:,34)+2.81904*TPK%K120(:)*PCONC(:,37)+0.03& -&455*TPK%K121(:)*PCONC(:,38) -! -!CARBO/N2O5=0.0 -! -!CARBO/HONO=0.0 -! -!CARBO/HNO3=0.0 -! -!CARBO/HNO4=0.0 -! -!CARBO/NH3=0.0 -! -!CARBO/SO2=0.0 -! -!CARBO/SULF=0.0 -! -!CARBO/CO=0.0 -! -!CARBO/OH=+0.00835*K057*<ALKA>+0.16919*K064*<CARBO>-K064*<CARBO>+0.21863*K067*< -!PAN> - PJAC(:,25,14)=+0.00835*TPK%K057(:)*PCONC(:,18)+0.16919*TPK%K064(:)*PCONC(:,25)& -&-TPK%K064(:)*PCONC(:,25)+0.21863*TPK%K067(:)*PCONC(:,27) -! -!CARBO/HO2=0.0 -! -!CARBO/CH4=0.0 -! -!CARBO/ETH=0.0 -! -!CARBO/ALKA=+0.00835*K057*<OH> - PJAC(:,25,18)=+0.00835*TPK%K057(:)*PCONC(:,14) -! -!CARBO/ALKE=+0.00000*K073*<NO3>+0.00000*K076*<O3> - PJAC(:,25,19)=+0.00000*TPK%K073(:)*PCONC(:,5)+0.00000*TPK%K076(:)*PCONC(:,1) -! -!CARBO/BIO=+0.13255*K053*<O3P>+0.91741*K074*<NO3>+0.39754*K077*<O3> - PJAC(:,25,20)=+0.13255*TPK%K053(:)*TPK%O3P(:)+0.91741*TPK%K074(:)*PCONC(:,5)+0& -&.39754*TPK%K077(:)*PCONC(:,1) -! -!CARBO/ARO=0.0 -! -!CARBO/HCHO=0.0 -! -!CARBO/ALD=0.0 -! -!CARBO/KET=0.0 -! -!CARBO/CARBO=-K016-K054*<O3P>+0.16919*K064*<OH>-K064*<OH>+0.10530*K071*<NO3>-K0 -!71*<NO3>+1.07583*K078*<O3>-K078*<O3> - PJAC(:,25,25)=-TPK%K016(:)-TPK%K054(:)*TPK%O3P(:)+0.16919*TPK%K064(:)*PCONC(:,& -&14)-TPK%K064(:)*PCONC(:,14)+0.10530*TPK%K071(:)*PCONC(:,5)-TPK%K071(:)*PCONC(:& -&,5)+1.07583*TPK%K078(:)*PCONC(:,1)-TPK%K078(:)*PCONC(:,1) -! -!CARBO/ONIT=0.0 -! -!CARBO/PAN=+0.21863*K067*<OH> - PJAC(:,25,27)=+0.21863*TPK%K067(:)*PCONC(:,14) -! -!CARBO/OP1=0.0 -! -!CARBO/OP2=0.0 -! -!CARBO/ORA2=0.0 -! -!CARBO/MO2=+0.07976*K102*<ALKAP>+0.56064*K104*<BIOP>+1.99461*K105*<AROP>+0.1538 -!7*K106*<CARBOP> - PJAC(:,25,31)=+0.07976*TPK%K102(:)*PCONC(:,32)+0.56064*TPK%K104(:)*PCONC(:,34)& -&+1.99461*TPK%K105(:)*PCONC(:,37)+0.15387*TPK%K106(:)*PCONC(:,38) -! -!CARBO/ALKAP=+0.03407*K088*<NO>+0.07976*K102*<MO2>+0.06954*K108*<CARBOP>+0.0353 -!1*K117*<NO3> - PJAC(:,25,32)=+0.03407*TPK%K088(:)*PCONC(:,3)+0.07976*TPK%K102(:)*PCONC(:,31)+& -&0.06954*TPK%K108(:)*PCONC(:,38)+0.03531*TPK%K117(:)*PCONC(:,5) -! -!CARBO/ALKEP=0.0 -! -!CARBO/BIOP=+0.45463*K090*<NO>+0.56064*K104*<MO2>+0.78591*K110*<CARBOP>+0.61160 -!*K119*<NO3> - PJAC(:,25,34)=+0.45463*TPK%K090(:)*PCONC(:,3)+0.56064*TPK%K104(:)*PCONC(:,31)+& -&0.78591*TPK%K110(:)*PCONC(:,38)+0.61160*TPK%K119(:)*PCONC(:,5) -! -!CARBO/PHO=0.0 -! -!CARBO/ADD=0.0 -! -!CARBO/AROP=+2.06993*K091*<NO>+1.99461*K105*<MO2>+1.99455*K111*<CARBOP>+2.81904 -!*K120*<NO3> - PJAC(:,25,37)=+2.06993*TPK%K091(:)*PCONC(:,3)+1.99461*TPK%K105(:)*PCONC(:,31)+& -&1.99455*TPK%K111(:)*PCONC(:,38)+2.81904*TPK%K120(:)*PCONC(:,5) -! -!CARBO/CARBOP=+0.08670*K092*<NO>+0.15387*K106*<MO2>+0.06954*K108*<ALKAP>+0.7859 -!1*K110*<BIOP>+1.99455*K111*<AROP>+0.10777*K112*<CARBOP>+0.10777*K112*<CARBOP>+ -!0.03455*K121*<NO3> - PJAC(:,25,38)=+0.08670*TPK%K092(:)*PCONC(:,3)+0.15387*TPK%K106(:)*PCONC(:,31)+& -&0.06954*TPK%K108(:)*PCONC(:,32)+0.78591*TPK%K110(:)*PCONC(:,34)+1.99455*TPK%K1& -&11(:)*PCONC(:,37)+0.10777*TPK%K112(:)*PCONC(:,38)+0.10777*TPK%K112(:)*PCONC(:,& -&38)+0.03455*TPK%K121(:)*PCONC(:,5) -! -!CARBO/OLN=0.0 -! -!CARBO/XO2=0.0 -! -!ONIT/O3=0.0 -! -!ONIT/H2O2=0.0 -! -!ONIT/NO=+0.08459*K088*<ALKAP>+0.15300*K090*<BIOP>+0.04885*K091*<AROP>+0.18401* -!K093*<OLN> - PJAC(:,26,3)=+0.08459*TPK%K088(:)*PCONC(:,32)+0.15300*TPK%K090(:)*PCONC(:,34)+& -&0.04885*TPK%K091(:)*PCONC(:,37)+0.18401*TPK%K093(:)*PCONC(:,39) -! -!ONIT/NO2=+K080*<PHO> - PJAC(:,26,4)=+TPK%K080(:)*PCONC(:,35) -! -!ONIT/NO3=+0.60*K075*<PAN>+0.25928*K122*<OLN> - PJAC(:,26,5)=+0.60*TPK%K075(:)*PCONC(:,27)+0.25928*TPK%K122(:)*PCONC(:,39) -! -!ONIT/N2O5=0.0 -! -!ONIT/HONO=0.0 -! -!ONIT/HNO3=0.0 -! -!ONIT/HNO4=0.0 -! -!ONIT/NH3=0.0 -! -!ONIT/SO2=0.0 -! -!ONIT/SULF=0.0 -! -!ONIT/CO=0.0 -! -!ONIT/OH=-K068*<ONIT> - PJAC(:,26,14)=-TPK%K068(:)*PCONC(:,26) -! -!ONIT/HO2=+K100*<OLN> - PJAC(:,26,15)=+TPK%K100(:)*PCONC(:,39) -! -!ONIT/CH4=0.0 -! -!ONIT/ETH=0.0 -! -!ONIT/ALKA=0.0 -! -!ONIT/ALKE=0.0 -! -!ONIT/BIO=0.0 -! -!ONIT/ARO=0.0 -! -!ONIT/HCHO=0.0 -! -!ONIT/ALD=0.0 -! -!ONIT/KET=0.0 -! -!ONIT/CARBO=0.0 -! -!ONIT/ONIT=-K017-K068*<OH> - PJAC(:,26,26)=-TPK%K017(:)-TPK%K068(:)*PCONC(:,14) -! -!ONIT/PAN=+0.60*K075*<NO3> - PJAC(:,26,27)=+0.60*TPK%K075(:)*PCONC(:,5) -! -!ONIT/OP1=0.0 -! -!ONIT/OP2=0.0 -! -!ONIT/ORA2=0.0 -! -!ONIT/MO2=+0.67560*K107*<OLN> - PJAC(:,26,31)=+0.67560*TPK%K107(:)*PCONC(:,39) -! -!ONIT/ALKAP=+0.08459*K088*<NO> - PJAC(:,26,32)=+0.08459*TPK%K088(:)*PCONC(:,3) -! -!ONIT/ALKEP=0.0 -! -!ONIT/BIOP=+0.15300*K090*<NO> - PJAC(:,26,34)=+0.15300*TPK%K090(:)*PCONC(:,3) -! -!ONIT/PHO=+K080*<NO2> - PJAC(:,26,35)=+TPK%K080(:)*PCONC(:,4) -! -!ONIT/ADD=0.0 -! -!ONIT/AROP=+0.04885*K091*<NO> - PJAC(:,26,37)=+0.04885*TPK%K091(:)*PCONC(:,3) -! -!ONIT/CARBOP=+0.66562*K113*<OLN> - PJAC(:,26,38)=+0.66562*TPK%K113(:)*PCONC(:,39) -! -!ONIT/OLN=+0.18401*K093*<NO>+K100*<HO2>+0.67560*K107*<MO2>+0.66562*K113*<CARBOP -!>+2.00*K114*<OLN>+2.00*K114*<OLN>+0.00000*K115*<OLN>+0.00000*K115*<OLN>+0.2592 -!8*K122*<NO3> - PJAC(:,26,39)=+0.18401*TPK%K093(:)*PCONC(:,3)+TPK%K100(:)*PCONC(:,15)+0.67560*& -&TPK%K107(:)*PCONC(:,31)+0.66562*TPK%K113(:)*PCONC(:,38)+2.00*TPK%K114(:)*PCONC& -&(:,39)+2.00*TPK%K114(:)*PCONC(:,39)+0.00000*TPK%K115(:)*PCONC(:,39)+0.00000*TP& -&K%K115(:)*PCONC(:,39)+0.25928*TPK%K122(:)*PCONC(:,5) -! -!ONIT/XO2=0.0 -! -!PAN/O3=+0.30000*K079*<PAN>-K079*<PAN> - PJAC(:,27,1)=+0.30000*TPK%K079(:)*PCONC(:,27)-TPK%K079(:)*PCONC(:,27) -! -!PAN/H2O2=0.0 -! -!PAN/NO=0.0 -! -!PAN/NO2=+1.00000*K085*<CARBOP> - PJAC(:,27,4)=+1.00000*TPK%K085(:)*PCONC(:,38) -! -!PAN/NO3=+0.40000*K075*<PAN>-K075*<PAN> - PJAC(:,27,5)=+0.40000*TPK%K075(:)*PCONC(:,27)-TPK%K075(:)*PCONC(:,27) -! -!PAN/N2O5=0.0 -! -!PAN/HONO=0.0 -! -!PAN/HNO3=0.0 -! -!PAN/HNO4=0.0 -! -!PAN/NH3=0.0 -! -!PAN/SO2=0.0 -! -!PAN/SULF=0.0 -! -!PAN/CO=0.0 -! -!PAN/OH=+0.28107*K067*<PAN>-K067*<PAN> - PJAC(:,27,14)=+0.28107*TPK%K067(:)*PCONC(:,27)-TPK%K067(:)*PCONC(:,27) -! -!PAN/HO2=0.0 -! -!PAN/CH4=0.0 -! -!PAN/ETH=0.0 -! -!PAN/ALKA=0.0 -! -!PAN/ALKE=0.0 -! -!PAN/BIO=0.0 -! -!PAN/ARO=0.0 -! -!PAN/HCHO=0.0 -! -!PAN/ALD=0.0 -! -!PAN/KET=0.0 -! -!PAN/CARBO=0.0 -! -!PAN/ONIT=0.0 -! -!PAN/PAN=+0.28107*K067*<OH>-K067*<OH>+0.40000*K075*<NO3>-K075*<NO3>+0.30000*K07 -!9*<O3>-K079*<O3>-K086 - PJAC(:,27,27)=+0.28107*TPK%K067(:)*PCONC(:,14)-TPK%K067(:)*PCONC(:,14)+0.40000& -&*TPK%K075(:)*PCONC(:,5)-TPK%K075(:)*PCONC(:,5)+0.30000*TPK%K079(:)*PCONC(:,1)-& -&TPK%K079(:)*PCONC(:,1)-TPK%K086(:) -! -!PAN/OP1=0.0 -! -!PAN/OP2=0.0 -! -!PAN/ORA2=0.0 -! -!PAN/MO2=0.0 -! -!PAN/ALKAP=0.0 -! -!PAN/ALKEP=0.0 -! -!PAN/BIOP=0.0 -! -!PAN/PHO=0.0 -! -!PAN/ADD=0.0 -! -!PAN/AROP=0.0 -! -!PAN/CARBOP=+1.00000*K085*<NO2> - PJAC(:,27,38)=+1.00000*TPK%K085(:)*PCONC(:,4) -! -!PAN/OLN=0.0 -! -!PAN/XO2=0.0 -! -!OP1/O3=0.0 -! -!OP1/H2O2=0.0 -! -!OP1/NO=0.0 -! -!OP1/NO2=0.0 -! -!OP1/NO3=0.0 -! -!OP1/N2O5=0.0 -! -!OP1/HONO=0.0 -! -!OP1/HNO3=0.0 -! -!OP1/HNO4=0.0 -! -!OP1/NH3=0.0 -! -!OP1/SO2=0.0 -! -!OP1/SULF=0.0 -! -!OP1/CO=0.0 -! -!OP1/OH=-K065*<OP1> - PJAC(:,28,14)=-TPK%K065(:)*PCONC(:,28) -! -!OP1/HO2=+K094*<MO2> - PJAC(:,28,15)=+TPK%K094(:)*PCONC(:,31) -! -!OP1/CH4=0.0 -! -!OP1/ETH=0.0 -! -!OP1/ALKA=0.0 -! -!OP1/ALKE=0.0 -! -!OP1/BIO=0.0 -! -!OP1/ARO=0.0 -! -!OP1/HCHO=0.0 -! -!OP1/ALD=0.0 -! -!OP1/KET=0.0 -! -!OP1/CARBO=0.0 -! -!OP1/ONIT=0.0 -! -!OP1/PAN=0.0 -! -!OP1/OP1=-K013-K065*<OH> - PJAC(:,28,28)=-TPK%K013(:)-TPK%K065(:)*PCONC(:,14) -! -!OP1/OP2=0.0 -! -!OP1/ORA2=0.0 -! -!OP1/MO2=+K094*<HO2> - PJAC(:,28,31)=+TPK%K094(:)*PCONC(:,15) -! -!OP1/ALKAP=0.0 -! -!OP1/ALKEP=0.0 -! -!OP1/BIOP=0.0 -! -!OP1/PHO=0.0 -! -!OP1/ADD=0.0 -! -!OP1/AROP=0.0 -! -!OP1/CARBOP=0.0 -! -!OP1/OLN=0.0 -! -!OP1/XO2=0.0 -! -!OP2/O3=+0.10149*K078*<CARBO> - PJAC(:,29,1)=+0.10149*TPK%K078(:)*PCONC(:,25) -! -!OP2/H2O2=0.0 -! -!OP2/NO=0.0 -! -!OP2/NO2=0.0 -! -!OP2/NO3=0.0 -! -!OP2/N2O5=0.0 -! -!OP2/HONO=0.0 -! -!OP2/HNO3=0.0 -! -!OP2/HNO4=0.0 -! -!OP2/NH3=0.0 -! -!OP2/SO2=0.0 -! -!OP2/SULF=0.0 -! -!OP2/CO=0.0 -! -!OP2/OH=-K066*<OP2> - PJAC(:,29,14)=-TPK%K066(:)*PCONC(:,29) -! -!OP2/HO2=+1.00524*K095*<ALKAP>+1.00524*K096*<ALKEP>+1.00524*K097*<BIOP>+1.00524 -!*K098*<AROP>+0.80904*K099*<CARBOP>+1.00524*K123*<XO2> - PJAC(:,29,15)=+1.00524*TPK%K095(:)*PCONC(:,32)+1.00524*TPK%K096(:)*PCONC(:,33)& -&+1.00524*TPK%K097(:)*PCONC(:,34)+1.00524*TPK%K098(:)*PCONC(:,37)+0.80904*TPK%K& -&099(:)*PCONC(:,38)+1.00524*TPK%K123(:)*PCONC(:,40) -! -!OP2/CH4=0.0 -! -!OP2/ETH=0.0 -! -!OP2/ALKA=0.0 -! -!OP2/ALKE=0.0 -! -!OP2/BIO=0.0 -! -!OP2/ARO=0.0 -! -!OP2/HCHO=0.0 -! -!OP2/ALD=0.0 -! -!OP2/KET=0.0 -! -!OP2/CARBO=+0.10149*K078*<O3> - PJAC(:,29,25)=+0.10149*TPK%K078(:)*PCONC(:,1) -! -!OP2/ONIT=0.0 -! -!OP2/PAN=0.0 -! -!OP2/OP1=0.0 -! -!OP2/OP2=-K014-K066*<OH> - PJAC(:,29,29)=-TPK%K014(:)-TPK%K066(:)*PCONC(:,14) -! -!OP2/ORA2=0.0 -! -!OP2/MO2=0.0 -! -!OP2/ALKAP=+1.00524*K095*<HO2> - PJAC(:,29,32)=+1.00524*TPK%K095(:)*PCONC(:,15) -! -!OP2/ALKEP=+1.00524*K096*<HO2> - PJAC(:,29,33)=+1.00524*TPK%K096(:)*PCONC(:,15) -! -!OP2/BIOP=+1.00524*K097*<HO2> - PJAC(:,29,34)=+1.00524*TPK%K097(:)*PCONC(:,15) -! -!OP2/PHO=0.0 -! -!OP2/ADD=0.0 -! -!OP2/AROP=+1.00524*K098*<HO2> - PJAC(:,29,37)=+1.00524*TPK%K098(:)*PCONC(:,15) -! -!OP2/CARBOP=+0.80904*K099*<HO2> - PJAC(:,29,38)=+0.80904*TPK%K099(:)*PCONC(:,15) -! -!OP2/OLN=0.0 -! -!OP2/XO2=+1.00524*K123*<HO2> - PJAC(:,29,40)=+1.00524*TPK%K123(:)*PCONC(:,15) -! -!ORA2/O3=+0.08143*K076*<ALKE>+0.00000*K077*<BIO>+0.20595*K078*<CARBO> - PJAC(:,30,1)=+0.08143*TPK%K076(:)*PCONC(:,19)+0.00000*TPK%K077(:)*PCONC(:,20)+& -&0.20595*TPK%K078(:)*PCONC(:,25) -! -!ORA2/H2O2=0.0 -! -!ORA2/NO=0.0 -! -!ORA2/NO2=0.0 -! -!ORA2/NO3=0.0 -! -!ORA2/N2O5=0.0 -! -!ORA2/HONO=0.0 -! -!ORA2/HNO3=0.0 -! -!ORA2/HNO4=0.0 -! -!ORA2/NH3=0.0 -! -!ORA2/SO2=0.0 -! -!ORA2/SULF=0.0 -! -!ORA2/CO=0.0 -! -!ORA2/OH=0.0 -! -!ORA2/HO2=+0.17307*K099*<CARBOP> - PJAC(:,30,15)=+0.17307*TPK%K099(:)*PCONC(:,38) -! -!ORA2/CH4=0.0 -! -!ORA2/ETH=0.0 -! -!ORA2/ALKA=0.0 -! -!ORA2/ALKE=+0.08143*K076*<O3> - PJAC(:,30,19)=+0.08143*TPK%K076(:)*PCONC(:,1) -! -!ORA2/BIO=+0.00000*K077*<O3> - PJAC(:,30,20)=+0.00000*TPK%K077(:)*PCONC(:,1) -! -!ORA2/ARO=0.0 -! -!ORA2/HCHO=0.0 -! -!ORA2/ALD=0.0 -! -!ORA2/KET=0.0 -! -!ORA2/CARBO=+0.20595*K078*<O3> - PJAC(:,30,25)=+0.20595*TPK%K078(:)*PCONC(:,1) -! -!ORA2/ONIT=0.0 -! -!ORA2/PAN=0.0 -! -!ORA2/OP1=0.0 -! -!ORA2/OP2=0.0 -! -!ORA2/ORA2=0.0 -! -!ORA2/MO2=+0.13684*K106*<CARBOP> - PJAC(:,30,31)=+0.13684*TPK%K106(:)*PCONC(:,38) -! -!ORA2/ALKAP=+0.49810*K108*<CARBOP> - PJAC(:,30,32)=+0.49810*TPK%K108(:)*PCONC(:,38) -! -!ORA2/ALKEP=+0.49922*K109*<CARBOP> - PJAC(:,30,33)=+0.49922*TPK%K109(:)*PCONC(:,38) -! -!ORA2/BIOP=+0.49400*K110*<CARBOP> - PJAC(:,30,34)=+0.49400*TPK%K110(:)*PCONC(:,38) -! -!ORA2/PHO=0.0 -! -!ORA2/ADD=0.0 -! -!ORA2/AROP=0.0 -! -!ORA2/CARBOP=+0.17307*K099*<HO2>+0.13684*K106*<MO2>+0.49810*K108*<ALKAP>+0.4992 -!2*K109*<ALKEP>+0.49400*K110*<BIOP>+0.09955*K112*<CARBOP>+0.09955*K112*<CARBOP> -!+0.48963*K113*<OLN> - PJAC(:,30,38)=+0.17307*TPK%K099(:)*PCONC(:,15)+0.13684*TPK%K106(:)*PCONC(:,31)& -&+0.49810*TPK%K108(:)*PCONC(:,32)+0.49922*TPK%K109(:)*PCONC(:,33)+0.49400*TPK%K& -&110(:)*PCONC(:,34)+0.09955*TPK%K112(:)*PCONC(:,38)+0.09955*TPK%K112(:)*PCONC(:& -&,38)+0.48963*TPK%K113(:)*PCONC(:,39) -! -!ORA2/OLN=+0.48963*K113*<CARBOP> - PJAC(:,30,39)=+0.48963*TPK%K113(:)*PCONC(:,38) -! -!ORA2/XO2=0.0 -! -!MO2/O3=+0.13966*K076*<ALKE>+0.03000*K077*<BIO> - PJAC(:,31,1)=+0.13966*TPK%K076(:)*PCONC(:,19)+0.03000*TPK%K077(:)*PCONC(:,20) -! -!MO2/H2O2=0.0 -! -!MO2/NO=-K087*<MO2>+0.09016*K088*<ALKAP>+0.78134*K092*<CARBOP> - PJAC(:,31,3)=-TPK%K087(:)*PCONC(:,31)+0.09016*TPK%K088(:)*PCONC(:,32)+0.78134*& -&TPK%K092(:)*PCONC(:,38) -! -!MO2/NO2=0.0 -! -!MO2/NO3=-K116*<MO2>+0.09731*K117*<ALKAP>+0.91910*K121*<CARBOP> - PJAC(:,31,5)=-TPK%K116(:)*PCONC(:,31)+0.09731*TPK%K117(:)*PCONC(:,32)+0.91910*& -&TPK%K121(:)*PCONC(:,38) -! -!MO2/N2O5=0.0 -! -!MO2/HONO=0.0 -! -!MO2/HNO3=0.0 -! -!MO2/HNO4=0.0 -! -!MO2/NH3=0.0 -! -!MO2/SO2=0.0 -! -!MO2/SULF=0.0 -! -!MO2/CO=0.0 -! -!MO2/OH=+K055*<CH4>+0.65*K065*<OP1> - PJAC(:,31,14)=+TPK%K055(:)*PCONC(:,16)+0.65*TPK%K065(:)*PCONC(:,28) -! -!MO2/HO2=-K094*<MO2> - PJAC(:,31,15)=-TPK%K094(:)*PCONC(:,31) -! -!MO2/CH4=+K055*<OH> - PJAC(:,31,16)=+TPK%K055(:)*PCONC(:,14) -! -!MO2/ETH=0.0 -! -!MO2/ALKA=0.0 -! -!MO2/ALKE=+0.13966*K076*<O3> - PJAC(:,31,19)=+0.13966*TPK%K076(:)*PCONC(:,1) -! -!MO2/BIO=+0.03000*K077*<O3> - PJAC(:,31,20)=+0.03000*TPK%K077(:)*PCONC(:,1) -! -!MO2/ARO=0.0 -! -!MO2/HCHO=0.0 -! -!MO2/ALD=+K012 - PJAC(:,31,23)=+TPK%K012(:) -! -!MO2/KET=0.0 -! -!MO2/CARBO=0.0 -! -!MO2/ONIT=0.0 -! -!MO2/PAN=0.0 -! -!MO2/OP1=+0.65*K065*<OH> - PJAC(:,31,28)=+0.65*TPK%K065(:)*PCONC(:,14) -! -!MO2/OP2=+0.03795*K014 - PJAC(:,31,29)=+0.03795*TPK%K014(:) -! -!MO2/ORA2=0.0 -! -!MO2/MO2=-K087*<NO>-K094*<HO2>-K101*<MO2>-K101*<MO2>-K101*<MO2>-K101*<MO2>+0.01 -!390*K102*<ALKAP>-K102*<ALKAP>-K103*<ALKEP>-K104*<BIOP>-K105*<AROP>+0.56031*K10 -!6*<CARBOP>-K106*<CARBOP>-K107*<OLN>-K116*<NO3>-K124*<XO2> - PJAC(:,31,31)=-TPK%K087(:)*PCONC(:,3)-TPK%K094(:)*PCONC(:,15)-TPK%K101(:)*PCON& -&C(:,31)-TPK%K101(:)*PCONC(:,31)-TPK%K101(:)*PCONC(:,31)-TPK%K101(:)*PCONC(:,31& -&)+0.01390*TPK%K102(:)*PCONC(:,32)-TPK%K102(:)*PCONC(:,32)-TPK%K103(:)*PCONC(:,& -&33)-TPK%K104(:)*PCONC(:,34)-TPK%K105(:)*PCONC(:,37)+0.56031*TPK%K106(:)*PCONC(& -&:,38)-TPK%K106(:)*PCONC(:,38)-TPK%K107(:)*PCONC(:,39)-TPK%K116(:)*PCONC(:,5)-T& -&PK%K124(:)*PCONC(:,40) -! -!MO2/ALKAP=+0.09016*K088*<NO>+0.01390*K102*<MO2>-K102*<MO2>+0.51480*K108*<CARBO -!P>+0.09731*K117*<NO3> - PJAC(:,31,32)=+0.09016*TPK%K088(:)*PCONC(:,3)+0.01390*TPK%K102(:)*PCONC(:,31)-& -&TPK%K102(:)*PCONC(:,31)+0.51480*TPK%K108(:)*PCONC(:,38)+0.09731*TPK%K117(:)*PC& -&ONC(:,5) -! -!MO2/ALKEP=-K103*<MO2>+0.50078*K109*<CARBOP> - PJAC(:,31,33)=-TPK%K103(:)*PCONC(:,31)+0.50078*TPK%K109(:)*PCONC(:,38) -! -!MO2/BIOP=-K104*<MO2>+0.50600*K110*<CARBOP> - PJAC(:,31,34)=-TPK%K104(:)*PCONC(:,31)+0.50600*TPK%K110(:)*PCONC(:,38) -! -!MO2/PHO=0.0 -! -!MO2/ADD=0.0 -! -!MO2/AROP=-K105*<MO2>+K111*<CARBOP> - PJAC(:,31,37)=-TPK%K105(:)*PCONC(:,31)+TPK%K111(:)*PCONC(:,38) -! -!MO2/CARBOP=+0.78134*K092*<NO>+0.56031*K106*<MO2>-K106*<MO2>+0.51480*K108*<ALKA -!P>+0.50078*K109*<ALKEP>+0.50600*K110*<BIOP>+K111*<AROP>+1.66702*K112*<CARBOP>+ -!1.66702*K112*<CARBOP>+0.51037*K113*<OLN>+0.91910*K121*<NO3>+K125*<XO2> - PJAC(:,31,38)=+0.78134*TPK%K092(:)*PCONC(:,3)+0.56031*TPK%K106(:)*PCONC(:,31)-& -&TPK%K106(:)*PCONC(:,31)+0.51480*TPK%K108(:)*PCONC(:,32)+0.50078*TPK%K109(:)*PC& -&ONC(:,33)+0.50600*TPK%K110(:)*PCONC(:,34)+TPK%K111(:)*PCONC(:,37)+1.66702*TPK%& -&K112(:)*PCONC(:,38)+1.66702*TPK%K112(:)*PCONC(:,38)+0.51037*TPK%K113(:)*PCONC(& -&:,39)+0.91910*TPK%K121(:)*PCONC(:,5)+TPK%K125(:)*PCONC(:,40) -! -!MO2/OLN=-K107*<MO2>+0.51037*K113*<CARBOP> - PJAC(:,31,39)=-TPK%K107(:)*PCONC(:,31)+0.51037*TPK%K113(:)*PCONC(:,38) -! -!MO2/XO2=-K124*<MO2>+K125*<CARBOP> - PJAC(:,31,40)=-TPK%K124(:)*PCONC(:,31)+TPK%K125(:)*PCONC(:,38) -! -!ALKAP/O3=+0.09815*K076*<ALKE>+0.00000*K077*<BIO> - PJAC(:,32,1)=+0.09815*TPK%K076(:)*PCONC(:,19)+0.00000*TPK%K077(:)*PCONC(:,20) -! -!ALKAP/H2O2=0.0 -! -!ALKAP/NO=+0.08187*K088*<ALKAP>-K088*<ALKAP> - PJAC(:,32,3)=+0.08187*TPK%K088(:)*PCONC(:,32)-TPK%K088(:)*PCONC(:,32) -! -!ALKAP/NO2=0.0 -! -!ALKAP/NO3=+0.08994*K117*<ALKAP>-K117*<ALKAP> - PJAC(:,32,5)=+0.08994*TPK%K117(:)*PCONC(:,32)-TPK%K117(:)*PCONC(:,32) -! -!ALKAP/N2O5=0.0 -! -!ALKAP/HONO=0.0 -! -!ALKAP/HNO3=0.0 -! -!ALKAP/HNO4=0.0 -! -!ALKAP/NH3=0.0 -! -!ALKAP/SO2=0.0 -! -!ALKAP/SULF=0.0 -! -!ALKAP/CO=0.0 -! -!ALKAP/OH=+K056*<ETH>+0.87811*K057*<ALKA>+0.40341*K066*<OP2>+1.00000*K068*<ONIT -!> - PJAC(:,32,14)=+TPK%K056(:)*PCONC(:,17)+0.87811*TPK%K057(:)*PCONC(:,18)+0.40341& -&*TPK%K066(:)*PCONC(:,29)+1.00000*TPK%K068(:)*PCONC(:,26) -! -!ALKAP/HO2=-K095*<ALKAP> - PJAC(:,32,15)=-TPK%K095(:)*PCONC(:,32) -! -!ALKAP/CH4=0.0 -! -!ALKAP/ETH=+K056*<OH> - PJAC(:,32,17)=+TPK%K056(:)*PCONC(:,14) -! -!ALKAP/ALKA=+0.87811*K057*<OH> - PJAC(:,32,18)=+0.87811*TPK%K057(:)*PCONC(:,14) -! -!ALKAP/ALKE=+0.09815*K076*<O3> - PJAC(:,32,19)=+0.09815*TPK%K076(:)*PCONC(:,1) -! -!ALKAP/BIO=+0.00000*K077*<O3> - PJAC(:,32,20)=+0.00000*TPK%K077(:)*PCONC(:,1) -! -!ALKAP/ARO=0.0 -! -!ALKAP/HCHO=0.0 -! -!ALKAP/ALD=0.0 -! -!ALKAP/KET=+1.00000*K015 - PJAC(:,32,24)=+1.00000*TPK%K015(:) -! -!ALKAP/CARBO=0.0 -! -!ALKAP/ONIT=+1.00000*K068*<OH> - PJAC(:,32,26)=+1.00000*TPK%K068(:)*PCONC(:,14) -! -!ALKAP/PAN=0.0 -! -!ALKAP/OP1=0.0 -! -!ALKAP/OP2=+0.40341*K066*<OH> - PJAC(:,32,29)=+0.40341*TPK%K066(:)*PCONC(:,14) -! -!ALKAP/ORA2=0.0 -! -!ALKAP/MO2=+0.00385*K102*<ALKAP>-K102*<ALKAP> - PJAC(:,32,31)=+0.00385*TPK%K102(:)*PCONC(:,32)-TPK%K102(:)*PCONC(:,32) -! -!ALKAP/ALKAP=+0.08187*K088*<NO>-K088*<NO>-K095*<HO2>+0.00385*K102*<MO2>-K102*<M -!O2>+0.00828*K108*<CARBOP>-K108*<CARBOP>+0.08994*K117*<NO3>-K117*<NO3> - PJAC(:,32,32)=+0.08187*TPK%K088(:)*PCONC(:,3)-TPK%K088(:)*PCONC(:,3)-TPK%K095(& -&:)*PCONC(:,15)+0.00385*TPK%K102(:)*PCONC(:,31)-TPK%K102(:)*PCONC(:,31)+0.00828& -&*TPK%K108(:)*PCONC(:,38)-TPK%K108(:)*PCONC(:,38)+0.08994*TPK%K117(:)*PCONC(:,5& -&)-TPK%K117(:)*PCONC(:,5) -! -!ALKAP/ALKEP=0.0 -! -!ALKAP/BIOP=0.0 -! -!ALKAP/PHO=0.0 -! -!ALKAP/ADD=0.0 -! -!ALKAP/AROP=0.0 -! -!ALKAP/CARBOP=+0.00828*K108*<ALKAP>-K108*<ALKAP> - PJAC(:,32,38)=+0.00828*TPK%K108(:)*PCONC(:,32)-TPK%K108(:)*PCONC(:,32) -! -!ALKAP/OLN=0.0 -! -!ALKAP/XO2=0.0 -! -!ALKEP/O3=0.0 -! -!ALKEP/H2O2=0.0 -! -!ALKEP/NO=-K089*<ALKEP> - PJAC(:,33,3)=-TPK%K089(:)*PCONC(:,33) -! -!ALKEP/NO2=0.0 -! -!ALKEP/NO3=-K118*<ALKEP> - PJAC(:,33,5)=-TPK%K118(:)*PCONC(:,33) -! -!ALKEP/N2O5=0.0 -! -!ALKEP/HONO=0.0 -! -!ALKEP/HNO3=0.0 -! -!ALKEP/HNO4=0.0 -! -!ALKEP/NH3=0.0 -! -!ALKEP/SO2=0.0 -! -!ALKEP/SULF=0.0 -! -!ALKEP/CO=0.0 -! -!ALKEP/OH=+1.02529*K058*<ALKE> - PJAC(:,33,14)=+1.02529*TPK%K058(:)*PCONC(:,19) -! -!ALKEP/HO2=-K096*<ALKEP> - PJAC(:,33,15)=-TPK%K096(:)*PCONC(:,33) -! -!ALKEP/CH4=0.0 -! -!ALKEP/ETH=0.0 -! -!ALKEP/ALKA=0.0 -! -!ALKEP/ALKE=+1.02529*K058*<OH> - PJAC(:,33,19)=+1.02529*TPK%K058(:)*PCONC(:,14) -! -!ALKEP/BIO=0.0 -! -!ALKEP/ARO=0.0 -! -!ALKEP/HCHO=0.0 -! -!ALKEP/ALD=0.0 -! -!ALKEP/KET=0.0 -! -!ALKEP/CARBO=0.0 -! -!ALKEP/ONIT=0.0 -! -!ALKEP/PAN=0.0 -! -!ALKEP/OP1=0.0 -! -!ALKEP/OP2=0.0 -! -!ALKEP/ORA2=0.0 -! -!ALKEP/MO2=-K103*<ALKEP> - PJAC(:,33,31)=-TPK%K103(:)*PCONC(:,33) -! -!ALKEP/ALKAP=0.0 -! -!ALKEP/ALKEP=-K089*<NO>-K096*<HO2>-K103*<MO2>-K109*<CARBOP>-K118*<NO3> - PJAC(:,33,33)=-TPK%K089(:)*PCONC(:,3)-TPK%K096(:)*PCONC(:,15)-TPK%K103(:)*PCON& -&C(:,31)-TPK%K109(:)*PCONC(:,38)-TPK%K118(:)*PCONC(:,5) -! -!ALKEP/BIOP=0.0 -! -!ALKEP/PHO=0.0 -! -!ALKEP/ADD=0.0 -! -!ALKEP/AROP=0.0 -! -!ALKEP/CARBOP=-K109*<ALKEP> - PJAC(:,33,38)=-TPK%K109(:)*PCONC(:,33) -! -!ALKEP/OLN=0.0 -! -!ALKEP/XO2=0.0 -! -!BIOP/O3=0.0 -! -!BIOP/H2O2=0.0 -! -!BIOP/NO=-K090*<BIOP> - PJAC(:,34,3)=-TPK%K090(:)*PCONC(:,34) -! -!BIOP/NO2=0.0 -! -!BIOP/NO3=-K119*<BIOP> - PJAC(:,34,5)=-TPK%K119(:)*PCONC(:,34) -! -!BIOP/N2O5=0.0 -! -!BIOP/HONO=0.0 -! -!BIOP/HNO3=0.0 -! -!BIOP/HNO4=0.0 -! -!BIOP/NH3=0.0 -! -!BIOP/SO2=0.0 -! -!BIOP/SULF=0.0 -! -!BIOP/CO=0.0 -! -!BIOP/OH=+0.00000*K058*<ALKE>+1.00000*K059*<BIO> - PJAC(:,34,14)=+0.00000*TPK%K058(:)*PCONC(:,19)+1.00000*TPK%K059(:)*PCONC(:,20) -! -!BIOP/HO2=-K097*<BIOP> - PJAC(:,34,15)=-TPK%K097(:)*PCONC(:,34) -! -!BIOP/CH4=0.0 -! -!BIOP/ETH=0.0 -! -!BIOP/ALKA=0.0 -! -!BIOP/ALKE=+0.00000*K058*<OH> - PJAC(:,34,19)=+0.00000*TPK%K058(:)*PCONC(:,14) -! -!BIOP/BIO=+1.00000*K059*<OH> - PJAC(:,34,20)=+1.00000*TPK%K059(:)*PCONC(:,14) -! -!BIOP/ARO=0.0 -! -!BIOP/HCHO=0.0 -! -!BIOP/ALD=0.0 -! -!BIOP/KET=0.0 -! -!BIOP/CARBO=0.0 -! -!BIOP/ONIT=0.0 -! -!BIOP/PAN=0.0 -! -!BIOP/OP1=0.0 -! -!BIOP/OP2=0.0 -! -!BIOP/ORA2=0.0 -! -!BIOP/MO2=-K104*<BIOP> - PJAC(:,34,31)=-TPK%K104(:)*PCONC(:,34) -! -!BIOP/ALKAP=0.0 -! -!BIOP/ALKEP=0.0 -! -!BIOP/BIOP=-K090*<NO>-K097*<HO2>-K104*<MO2>-K110*<CARBOP>-K119*<NO3> - PJAC(:,34,34)=-TPK%K090(:)*PCONC(:,3)-TPK%K097(:)*PCONC(:,15)-TPK%K104(:)*PCON& -&C(:,31)-TPK%K110(:)*PCONC(:,38)-TPK%K119(:)*PCONC(:,5) -! -!BIOP/PHO=0.0 -! -!BIOP/ADD=0.0 -! -!BIOP/AROP=0.0 -! -!BIOP/CARBOP=-K110*<BIOP> - PJAC(:,34,38)=-TPK%K110(:)*PCONC(:,34) -! -!BIOP/OLN=0.0 -! -!BIOP/XO2=0.0 -! -!PHO/O3=0.0 -! -!PHO/H2O2=0.0 -! -!PHO/NO=0.0 -! -!PHO/NO2=-K080*<PHO> - PJAC(:,35,4)=-TPK%K080(:)*PCONC(:,35) -! -!PHO/NO3=+K072*<ARO> - PJAC(:,35,5)=+TPK%K072(:)*PCONC(:,21) -! -!PHO/N2O5=0.0 -! -!PHO/HONO=0.0 -! -!PHO/HNO3=0.0 -! -!PHO/HNO4=0.0 -! -!PHO/NH3=0.0 -! -!PHO/SO2=0.0 -! -!PHO/SULF=0.0 -! -!PHO/CO=0.0 -! -!PHO/OH=+0.00276*K060*<ARO> - PJAC(:,35,14)=+0.00276*TPK%K060(:)*PCONC(:,21) -! -!PHO/HO2=-K081*<PHO> - PJAC(:,35,15)=-TPK%K081(:)*PCONC(:,35) -! -!PHO/CH4=0.0 -! -!PHO/ETH=0.0 -! -!PHO/ALKA=0.0 -! -!PHO/ALKE=0.0 -! -!PHO/BIO=0.0 -! -!PHO/ARO=+0.00276*K060*<OH>+K072*<NO3> - PJAC(:,35,21)=+0.00276*TPK%K060(:)*PCONC(:,14)+TPK%K072(:)*PCONC(:,5) -! -!PHO/HCHO=0.0 -! -!PHO/ALD=0.0 -! -!PHO/KET=0.0 -! -!PHO/CARBO=0.0 -! -!PHO/ONIT=0.0 -! -!PHO/PAN=0.0 -! -!PHO/OP1=0.0 -! -!PHO/OP2=0.0 -! -!PHO/ORA2=0.0 -! -!PHO/MO2=0.0 -! -!PHO/ALKAP=0.0 -! -!PHO/ALKEP=0.0 -! -!PHO/BIOP=0.0 -! -!PHO/PHO=-K080*<NO2>-K081*<HO2> - PJAC(:,35,35)=-TPK%K080(:)*PCONC(:,4)-TPK%K081(:)*PCONC(:,15) -! -!PHO/ADD=0.0 -! -!PHO/AROP=0.0 -! -!PHO/CARBOP=0.0 -! -!PHO/OLN=0.0 -! -!PHO/XO2=0.0 -! -!ADD/O3=-K084*<ADD> - PJAC(:,36,1)=-TPK%K084(:)*PCONC(:,36) -! -!ADD/H2O2=0.0 -! -!ADD/NO=0.0 -! -!ADD/NO2=-K082*<ADD> - PJAC(:,36,4)=-TPK%K082(:)*PCONC(:,36) -! -!ADD/NO3=0.0 -! -!ADD/N2O5=0.0 -! -!ADD/HONO=0.0 -! -!ADD/HNO3=0.0 -! -!ADD/HNO4=0.0 -! -!ADD/NH3=0.0 -! -!ADD/SO2=0.0 -! -!ADD/SULF=0.0 -! -!ADD/CO=0.0 -! -!ADD/OH=+0.93968*K060*<ARO> - PJAC(:,36,14)=+0.93968*TPK%K060(:)*PCONC(:,21) -! -!ADD/HO2=0.0 -! -!ADD/CH4=0.0 -! -!ADD/ETH=0.0 -! -!ADD/ALKA=0.0 -! -!ADD/ALKE=0.0 -! -!ADD/BIO=0.0 -! -!ADD/ARO=+0.93968*K060*<OH> - PJAC(:,36,21)=+0.93968*TPK%K060(:)*PCONC(:,14) -! -!ADD/HCHO=0.0 -! -!ADD/ALD=0.0 -! -!ADD/KET=0.0 -! -!ADD/CARBO=0.0 -! -!ADD/ONIT=0.0 -! -!ADD/PAN=0.0 -! -!ADD/OP1=0.0 -! -!ADD/OP2=0.0 -! -!ADD/ORA2=0.0 -! -!ADD/MO2=0.0 -! -!ADD/ALKAP=0.0 -! -!ADD/ALKEP=0.0 -! -!ADD/BIOP=0.0 -! -!ADD/PHO=0.0 -! -!ADD/ADD=-K082*<NO2>-K083*<O2>-K084*<O3> - PJAC(:,36,36)=-TPK%K082(:)*PCONC(:,4)-TPK%K083(:)*TPK%O2(:)-TPK%K084(:)*PCONC(& -&:,1) -! -!ADD/AROP=0.0 -! -!ADD/CARBOP=0.0 -! -!ADD/OLN=0.0 -! -!ADD/XO2=0.0 -! -!AROP/O3=0.0 -! -!AROP/H2O2=0.0 -! -!AROP/NO=-K091*<AROP> - PJAC(:,37,3)=-TPK%K091(:)*PCONC(:,37) -! -!AROP/NO2=0.0 -! -!AROP/NO3=-K120*<AROP> - PJAC(:,37,5)=-TPK%K120(:)*PCONC(:,37) -! -!AROP/N2O5=0.0 -! -!AROP/HONO=0.0 -! -!AROP/HNO3=0.0 -! -!AROP/HNO4=0.0 -! -!AROP/NH3=0.0 -! -!AROP/SO2=0.0 -! -!AROP/SULF=0.0 -! -!AROP/CO=0.0 -! -!AROP/OH=0.0 -! -!AROP/HO2=-K098*<AROP> - PJAC(:,37,15)=-TPK%K098(:)*PCONC(:,37) -! -!AROP/CH4=0.0 -! -!AROP/ETH=0.0 -! -!AROP/ALKA=0.0 -! -!AROP/ALKE=0.0 -! -!AROP/BIO=0.0 -! -!AROP/ARO=0.0 -! -!AROP/HCHO=0.0 -! -!AROP/ALD=0.0 -! -!AROP/KET=0.0 -! -!AROP/CARBO=0.0 -! -!AROP/ONIT=0.0 -! -!AROP/PAN=0.0 -! -!AROP/OP1=0.0 -! -!AROP/OP2=0.0 -! -!AROP/ORA2=0.0 -! -!AROP/MO2=-K105*<AROP> - PJAC(:,37,31)=-TPK%K105(:)*PCONC(:,37) -! -!AROP/ALKAP=0.0 -! -!AROP/ALKEP=0.0 -! -!AROP/BIOP=0.0 -! -!AROP/PHO=0.0 -! -!AROP/ADD=+0.98*K083*<O2> - PJAC(:,37,36)=+0.98*TPK%K083(:)*TPK%O2(:) -! -!AROP/AROP=-K091*<NO>-K098*<HO2>-K105*<MO2>-K111*<CARBOP>-K120*<NO3> - PJAC(:,37,37)=-TPK%K091(:)*PCONC(:,3)-TPK%K098(:)*PCONC(:,15)-TPK%K105(:)*PCON& -&C(:,31)-TPK%K111(:)*PCONC(:,38)-TPK%K120(:)*PCONC(:,5) -! -!AROP/CARBOP=-K111*<AROP> - PJAC(:,37,38)=-TPK%K111(:)*PCONC(:,37) -! -!AROP/OLN=0.0 -! -!AROP/XO2=0.0 -! -!CARBOP/O3=+0.05705*K076*<ALKE>+0.17000*K077*<BIO>+0.27460*K078*<CARBO>+0.70000 -!*K079*<PAN> - PJAC(:,38,1)=+0.05705*TPK%K076(:)*PCONC(:,19)+0.17000*TPK%K077(:)*PCONC(:,20)+& -&0.27460*TPK%K078(:)*PCONC(:,25)+0.70000*TPK%K079(:)*PCONC(:,27) -! -!CARBOP/H2O2=0.0 -! -!CARBOP/NO=+0.09532*K092*<CARBOP>-K092*<CARBOP> - PJAC(:,38,3)=+0.09532*TPK%K092(:)*PCONC(:,38)-TPK%K092(:)*PCONC(:,38) -! -!CARBOP/NO2=-K085*<CARBOP> - PJAC(:,38,4)=-TPK%K085(:)*PCONC(:,38) -! -!CARBOP/NO3=+1.00000*K070*<ALD>+0.38881*K071*<CARBO>+0.03175*K121*<CARBOP>-K121 -!*<CARBOP> - PJAC(:,38,5)=+1.00000*TPK%K070(:)*PCONC(:,23)+0.38881*TPK%K071(:)*PCONC(:,25)+& -&0.03175*TPK%K121(:)*PCONC(:,38)-TPK%K121(:)*PCONC(:,38) -! -!CARBOP/N2O5=0.0 -! -!CARBOP/HONO=0.0 -! -!CARBOP/HNO3=0.0 -! -!CARBOP/HNO4=0.0 -! -!CARBOP/NH3=0.0 -! -!CARBOP/SO2=0.0 -! -!CARBOP/SULF=0.0 -! -!CARBOP/CO=0.0 -! -!CARBOP/OH=+1.00000*K062*<ALD>+1.00000*K063*<KET>+0.51419*K064*<CARBO>+0.05413* -!K066*<OP2> - PJAC(:,38,14)=+1.00000*TPK%K062(:)*PCONC(:,23)+1.00000*TPK%K063(:)*PCONC(:,24)& -&+0.51419*TPK%K064(:)*PCONC(:,25)+0.05413*TPK%K066(:)*PCONC(:,29) -! -!CARBOP/HO2=-K099*<CARBOP> - PJAC(:,38,15)=-TPK%K099(:)*PCONC(:,38) -! -!CARBOP/CH4=0.0 -! -!CARBOP/ETH=0.0 -! -!CARBOP/ALKA=0.0 -! -!CARBOP/ALKE=+0.05705*K076*<O3> - PJAC(:,38,19)=+0.05705*TPK%K076(:)*PCONC(:,1) -! -!CARBOP/BIO=+0.17000*K077*<O3> - PJAC(:,38,20)=+0.17000*TPK%K077(:)*PCONC(:,1) -! -!CARBOP/ARO=0.0 -! -!CARBOP/HCHO=0.0 -! -!CARBOP/ALD=+1.00000*K062*<OH>+1.00000*K070*<NO3> - PJAC(:,38,23)=+1.00000*TPK%K062(:)*PCONC(:,14)+1.00000*TPK%K070(:)*PCONC(:,5) -! -!CARBOP/KET=+1.00000*K015+1.00000*K063*<OH> - PJAC(:,38,24)=+1.00000*TPK%K015(:)+1.00000*TPK%K063(:)*PCONC(:,14) -! -!CARBOP/CARBO=+0.69622*K016+0.51419*K064*<OH>+0.38881*K071*<NO3>+0.27460*K078*< -!O3> - PJAC(:,38,25)=+0.69622*TPK%K016(:)+0.51419*TPK%K064(:)*PCONC(:,14)+0.38881*TPK& -&%K071(:)*PCONC(:,5)+0.27460*TPK%K078(:)*PCONC(:,1) -! -!CARBOP/ONIT=0.0 -! -!CARBOP/PAN=+0.70000*K079*<O3>+1.00000*K086 - PJAC(:,38,27)=+0.70000*TPK%K079(:)*PCONC(:,1)+1.00000*TPK%K086(:) -! -!CARBOP/OP1=0.0 -! -!CARBOP/OP2=+0.05413*K066*<OH> - PJAC(:,38,29)=+0.05413*TPK%K066(:)*PCONC(:,14) -! -!CARBOP/ORA2=0.0 -! -!CARBOP/MO2=+0.05954*K106*<CARBOP>-K106*<CARBOP> - PJAC(:,38,31)=+0.05954*TPK%K106(:)*PCONC(:,38)-TPK%K106(:)*PCONC(:,38) -! -!CARBOP/ALKAP=-K108*<CARBOP> - PJAC(:,38,32)=-TPK%K108(:)*PCONC(:,38) -! -!CARBOP/ALKEP=-K109*<CARBOP> - PJAC(:,38,33)=-TPK%K109(:)*PCONC(:,38) -! -!CARBOP/BIOP=-K110*<CARBOP> - PJAC(:,38,34)=-TPK%K110(:)*PCONC(:,38) -! -!CARBOP/PHO=0.0 -! -!CARBOP/ADD=0.0 -! -!CARBOP/AROP=-K111*<CARBOP> - PJAC(:,38,37)=-TPK%K111(:)*PCONC(:,38) -! -!CARBOP/CARBOP=-K085*<NO2>+0.09532*K092*<NO>-K092*<NO>-K099*<HO2>+0.05954*K106* -!<MO2>-K106*<MO2>-K108*<ALKAP>-K109*<ALKEP>-K110*<BIOP>-K111*<AROP>+0.05821*K11 -!2*<CARBOP>+0.05821*K112*<CARBOP>-K112*<CARBOP>-K112*<CARBOP>-K112*<CARBOP>-K11 -!2*<CARBOP>-K113*<OLN>+0.03175*K121*<NO3>-K121*<NO3>-K125*<XO2> - PJAC(:,38,38)=-TPK%K085(:)*PCONC(:,4)+0.09532*TPK%K092(:)*PCONC(:,3)-TPK%K092(& -&:)*PCONC(:,3)-TPK%K099(:)*PCONC(:,15)+0.05954*TPK%K106(:)*PCONC(:,31)-TPK%K106& -&(:)*PCONC(:,31)-TPK%K108(:)*PCONC(:,32)-TPK%K109(:)*PCONC(:,33)-TPK%K110(:)*PC& -&ONC(:,34)-TPK%K111(:)*PCONC(:,37)+0.05821*TPK%K112(:)*PCONC(:,38)+0.05821*TPK%& -&K112(:)*PCONC(:,38)-TPK%K112(:)*PCONC(:,38)-TPK%K112(:)*PCONC(:,38)-TPK%K112(:& -&)*PCONC(:,38)-TPK%K112(:)*PCONC(:,38)-TPK%K113(:)*PCONC(:,39)+0.03175*TPK%K121& -&(:)*PCONC(:,5)-TPK%K121(:)*PCONC(:,5)-TPK%K125(:)*PCONC(:,40) -! -!CARBOP/OLN=-K113*<CARBOP> - PJAC(:,38,39)=-TPK%K113(:)*PCONC(:,38) -! -!CARBOP/XO2=-K125*<CARBOP> - PJAC(:,38,40)=-TPK%K125(:)*PCONC(:,38) -! -!OLN/O3=0.0 -! -!OLN/H2O2=0.0 -! -!OLN/NO=-K093*<OLN> - PJAC(:,39,3)=-TPK%K093(:)*PCONC(:,39) -! -!OLN/NO2=0.0 -! -!OLN/NO3=+0.00000*K071*<CARBO>+0.93768*K073*<ALKE>+1.00000*K074*<BIO>-K122*<OLN -!> - PJAC(:,39,5)=+0.00000*TPK%K071(:)*PCONC(:,25)+0.93768*TPK%K073(:)*PCONC(:,19)+& -&1.00000*TPK%K074(:)*PCONC(:,20)-TPK%K122(:)*PCONC(:,39) -! -!OLN/N2O5=0.0 -! -!OLN/HONO=0.0 -! -!OLN/HNO3=0.0 -! -!OLN/HNO4=0.0 -! -!OLN/NH3=0.0 -! -!OLN/SO2=0.0 -! -!OLN/SULF=0.0 -! -!OLN/CO=0.0 -! -!OLN/OH=0.0 -! -!OLN/HO2=-K100*<OLN> - PJAC(:,39,15)=-TPK%K100(:)*PCONC(:,39) -! -!OLN/CH4=0.0 -! -!OLN/ETH=0.0 -! -!OLN/ALKA=0.0 -! -!OLN/ALKE=+0.93768*K073*<NO3> - PJAC(:,39,19)=+0.93768*TPK%K073(:)*PCONC(:,5) -! -!OLN/BIO=+1.00000*K074*<NO3> - PJAC(:,39,20)=+1.00000*TPK%K074(:)*PCONC(:,5) -! -!OLN/ARO=0.0 -! -!OLN/HCHO=0.0 -! -!OLN/ALD=0.0 -! -!OLN/KET=0.0 -! -!OLN/CARBO=+0.00000*K071*<NO3> - PJAC(:,39,25)=+0.00000*TPK%K071(:)*PCONC(:,5) -! -!OLN/ONIT=0.0 -! -!OLN/PAN=0.0 -! -!OLN/OP1=0.0 -! -!OLN/OP2=0.0 -! -!OLN/ORA2=0.0 -! -!OLN/MO2=-K107*<OLN> - PJAC(:,39,31)=-TPK%K107(:)*PCONC(:,39) -! -!OLN/ALKAP=0.0 -! -!OLN/ALKEP=0.0 -! -!OLN/BIOP=0.0 -! -!OLN/PHO=0.0 -! -!OLN/ADD=0.0 -! -!OLN/AROP=0.0 -! -!OLN/CARBOP=-K113*<OLN> - PJAC(:,39,38)=-TPK%K113(:)*PCONC(:,39) -! -!OLN/OLN=-K093*<NO>-K100*<HO2>-K107*<MO2>-K113*<CARBOP>-K114*<OLN>-K114*<OLN>-K -!114*<OLN>-K114*<OLN>-K115*<OLN>-K115*<OLN>-K115*<OLN>-K115*<OLN>-K122*<NO3> - PJAC(:,39,39)=-TPK%K093(:)*PCONC(:,3)-TPK%K100(:)*PCONC(:,15)-TPK%K107(:)*PCON& -&C(:,31)-TPK%K113(:)*PCONC(:,38)-TPK%K114(:)*PCONC(:,39)-TPK%K114(:)*PCONC(:,39& -&)-TPK%K114(:)*PCONC(:,39)-TPK%K114(:)*PCONC(:,39)-TPK%K115(:)*PCONC(:,39)-TPK%& -&K115(:)*PCONC(:,39)-TPK%K115(:)*PCONC(:,39)-TPK%K115(:)*PCONC(:,39)-TPK%K122(:& -&)*PCONC(:,5) -! -!OLN/XO2=0.0 -! -!XO2/O3=+0.00000*K076*<ALKE>+0.13000*K077*<BIO> - PJAC(:,40,1)=+0.00000*TPK%K076(:)*PCONC(:,19)+0.13000*TPK%K077(:)*PCONC(:,20) -! -!XO2/H2O2=0.0 -! -!XO2/NO=+0.13007*K088*<ALKAP>+0.02563*K092*<CARBOP>-K127*<XO2> - PJAC(:,40,3)=+0.13007*TPK%K088(:)*PCONC(:,32)+0.02563*TPK%K092(:)*PCONC(:,38)-& -&TPK%K127(:)*PCONC(:,40) -! -!XO2/NO2=0.0 -! -!XO2/NO3=+0.10530*K071*<CARBO>+K075*<PAN>+0.16271*K117*<ALKAP>+0.01021*K121*<CA -!RBOP>-K128*<XO2> - PJAC(:,40,5)=+0.10530*TPK%K071(:)*PCONC(:,25)+TPK%K075(:)*PCONC(:,27)+0.16271*& -&TPK%K117(:)*PCONC(:,32)+0.01021*TPK%K121(:)*PCONC(:,38)-TPK%K128(:)*PCONC(:,40& -&) -! -!XO2/N2O5=0.0 -! -!XO2/HONO=0.0 -! -!XO2/HNO3=0.0 -! -!XO2/HNO4=0.0 -! -!XO2/NH3=0.0 -! -!XO2/SO2=0.0 -! -!XO2/SULF=0.0 -! -!XO2/CO=0.0 -! -!XO2/OH=+0.10318*K060*<ARO>+0.10162*K064*<CARBO>+0.09333*K066*<OP2>+K067*<PAN> - PJAC(:,40,14)=+0.10318*TPK%K060(:)*PCONC(:,21)+0.10162*TPK%K064(:)*PCONC(:,25)& -&+0.09333*TPK%K066(:)*PCONC(:,29)+TPK%K067(:)*PCONC(:,27) -! -!XO2/HO2=-K123*<XO2> - PJAC(:,40,15)=-TPK%K123(:)*PCONC(:,40) -! -!XO2/CH4=0.0 -! -!XO2/ETH=0.0 -! -!XO2/ALKA=0.0 -! -!XO2/ALKE=+0.00000*K076*<O3> - PJAC(:,40,19)=+0.00000*TPK%K076(:)*PCONC(:,1) -! -!XO2/BIO=+0.15*K053*<O3P>+0.13000*K077*<O3> - PJAC(:,40,20)=+0.15*TPK%K053(:)*TPK%O3P(:)+0.13000*TPK%K077(:)*PCONC(:,1) -! -!XO2/ARO=+0.10318*K060*<OH> - PJAC(:,40,21)=+0.10318*TPK%K060(:)*PCONC(:,14) -! -!XO2/HCHO=0.0 -! -!XO2/ALD=0.0 -! -!XO2/KET=0.0 -! -!XO2/CARBO=+0.10162*K064*<OH>+0.10530*K071*<NO3> - PJAC(:,40,25)=+0.10162*TPK%K064(:)*PCONC(:,14)+0.10530*TPK%K071(:)*PCONC(:,5) -! -!XO2/ONIT=0.0 -! -!XO2/PAN=+K067*<OH>+K075*<NO3> - PJAC(:,40,27)=+TPK%K067(:)*PCONC(:,14)+TPK%K075(:)*PCONC(:,5) -! -!XO2/OP1=0.0 -! -!XO2/OP2=+0.09333*K066*<OH> - PJAC(:,40,29)=+0.09333*TPK%K066(:)*PCONC(:,14) -! -!XO2/ORA2=0.0 -! -!XO2/MO2=+0.13370*K102*<ALKAP>+0.02212*K106*<CARBOP>-K124*<XO2> - PJAC(:,40,31)=+0.13370*TPK%K102(:)*PCONC(:,32)+0.02212*TPK%K106(:)*PCONC(:,38)& -&-TPK%K124(:)*PCONC(:,40) -! -!XO2/ALKAP=+0.13007*K088*<NO>+0.13370*K102*<MO2>+0.11306*K108*<CARBOP>+0.16271* -!K117*<NO3> - PJAC(:,40,32)=+0.13007*TPK%K088(:)*PCONC(:,3)+0.13370*TPK%K102(:)*PCONC(:,31)+& -&0.11306*TPK%K108(:)*PCONC(:,38)+0.16271*TPK%K117(:)*PCONC(:,5) -! -!XO2/ALKEP=0.0 -! -!XO2/BIOP=0.0 -! -!XO2/PHO=0.0 -! -!XO2/ADD=0.0 -! -!XO2/AROP=0.0 -! -!XO2/CARBOP=+0.02563*K092*<NO>+0.02212*K106*<MO2>+0.11306*K108*<ALKAP>+0.01593* -!K112*<CARBOP>+0.01593*K112*<CARBOP>+0.01021*K121*<NO3>-K125*<XO2> - PJAC(:,40,38)=+0.02563*TPK%K092(:)*PCONC(:,3)+0.02212*TPK%K106(:)*PCONC(:,31)+& -&0.11306*TPK%K108(:)*PCONC(:,32)+0.01593*TPK%K112(:)*PCONC(:,38)+0.01593*TPK%K1& -&12(:)*PCONC(:,38)+0.01021*TPK%K121(:)*PCONC(:,5)-TPK%K125(:)*PCONC(:,40) -! -!XO2/OLN=0.0 -! -!XO2/XO2=-K123*<HO2>-K124*<MO2>-K125*<CARBOP>-K126*<XO2>-K126*<XO2>-K126*<XO2>- -!K126*<XO2>-K127*<NO>-K128*<NO3> - PJAC(:,40,40)=-TPK%K123(:)*PCONC(:,15)-TPK%K124(:)*PCONC(:,31)-TPK%K125(:)*PCO& -&NC(:,38)-TPK%K126(:)*PCONC(:,40)-TPK%K126(:)*PCONC(:,40)-TPK%K126(:)*PCONC(:,4& -&0)-TPK%K126(:)*PCONC(:,40)-TPK%K127(:)*PCONC(:,3)-TPK%K128(:)*PCONC(:,5) -IF (LHOOK) CALL DR_HOOK('CH_JAC',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_JAC diff --git a/src/arome/chem/internals/ch_jvalues_clouds.F90 b/src/arome/chem/internals/ch_jvalues_clouds.F90 deleted file mode 100644 index 7c23808c960b2a5dc1c0c476f2e9feebae479dff..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_jvalues_clouds.F90 +++ /dev/null @@ -1,249 +0,0 @@ -! ######spl - SUBROUTINE CH_JVALUES_CLOUDS(PZENITH, KPJVMAX, KJVLEVEL, PAZ, PLWC, PFCLD) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ##################################################################### -! -!! -!!*** *CH_JVALUES_CLOUDS* -! -!! PURPOSE Application of a cloud correction factor to the clear-sky values of -!! photolysis rate constants -!! ------- -!! -!!** METHOD -!! ------ -!! The method used to correct for cloud cover is taken from RADM -!! (Chang et al., 1987; Madronich, 1987) -!! The correction of clear-sky values depends on whether the location -!! is below, above or within the cloud. The equation allows for enhancement -!! of photolysis rates above the cloud due to the reflected -!! radiation from the cloud. Below cloud photolysis rates will be lower -!! than the clear-sky values due to the reduced transmission of radiation -!! through the cloud. -!! Within the cloud, the cloud correction factor is a simple linear -!! interpolation of the below cloud factor at cloud base to the above -!! cloud factor at cloud top. -!! -!! REFERENCE -!! --------- -!! -!! -!! AUTHOR -!! ------ -!! Celine Mari (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/01/00 -!! 05/03/05 P. Tulet (CNRM/GMEI) Update for Arome -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CST, ONLY : XRHOLW -USE MODD_PARAMETERS -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KPJVMAX, KJVLEVEL -REAL, DIMENSION(:,:), INTENT(IN) :: PZENITH -REAL, DIMENSION(:,:,:), INTENT(IN) :: PLWC, PAZ -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PFCLD -!! -!! LOCAL VARIABLES -!! --------------- -!! -INTEGER :: JK, ILOOP, JI,JJ -INTEGER :: IIU,IJU,IKU,IKB,IKE -INTEGER,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ICL_TOP_ST, ICL_BASE_ST -INTEGER :: ICL_TOP, ICL_BASE -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZTAU, ZTR, ZFCLDB -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2),KPJVMAX) :: ZFCLDA, X1, X2 -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZLWCBAR, ZLWP -REAL :: ZLWCMIN -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZCOSZEN ! cosine of zenithal angle -LOGICAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: GMASK, GCLOUD -REAL, DIMENSION(KPJVMAX) :: ALPHA ! reaction dependant coefficient -!------------------------------------------------------------------------------ -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_CLOUDS',0,ZHOOK_HANDLE) -IIU = SIZE(PLWC,1) -IJU = SIZE(PLWC,2) -IKU = SIZE(PLWC,3) -IKB = 1+JPVEXT -! -IKE = IKU-JPVEXT - -! -! -! 1. Reaction dependent coefficient -! --------------------------------- -! -! -ALPHA(1:KPJVMAX)=1. -!! NO2 -ALPHA(2)=1.2 -!! O3 -ALPHA(3)=0.7 -!! NO3 -ALPHA(5)=1.3 -ALPHA(6)=1.3 -!! HCHO -ALPHA(14)=1.1 -!! ALD -ALPHA(17)=0.9 -! -! 2. Cloud Top and Cloud Base -! --------------------------- -! - ICL_TOP_ST(:,:) = 1 - ZLWCMIN = 1.E-4 -! - GCLOUD(:,:)=.TRUE. - GMASK(:,:)=.TRUE. - ! - DO JK=KJVLEVEL-1,1,-1 - ! - ! * Cloud top - ! - WHERE ( (GMASK(:,:)) .AND. (PLWC(:,:,JK) > ZLWCMIN) ) - GMASK(:,:)=.FALSE. - ICL_TOP_ST(:,:)=JK - ENDWHERE - ! - END DO - ! - WHERE (ICL_TOP_ST(:,:).EQ.1) - ICL_TOP_ST(:,:)=0. - GCLOUD(:,:)=.FALSE. - ENDWHERE - ! - ! * Cloud base - ! - ICL_BASE_ST(:,:)=IKE-IKB+1 - GMASK(:,:)=.TRUE. - ! - DO JK=1,IKE-IKB+1,1 - WHERE ( (GMASK(:,:)) .AND. (PLWC(:,:,JK) > ZLWCMIN) ) - GMASK(:,:)=.FALSE. - ICL_BASE_ST(:,:)=JK - END WHERE - END DO - WHERE (ICL_BASE_ST(:,:).EQ.IKE-IKB+1) - ICL_BASE_ST(:,:)=0. - GCLOUD(:,:)=.FALSE. - END WHERE - WHERE (ICL_BASE_ST(:,:).EQ.ICL_TOP_ST(:,:)) - GCLOUD(:,:)=.FALSE. - END WHERE - ! -! -! -! 3. Cosinus of the zenith angle -! ------------------------------ -! -! -ZCOSZEN(:,:) = COS(PZENITH(:,:)) -ZCOSZEN(:,:)=MAX(ZCOSZEN(:,:),0.5) -! -PFCLD(:,:,:,:)=1.0 -ZTR(:,:)=0. -ZTAU(:,:)=0. -ZLWCBAR(:,:)=0. -! -DO JI = 1, IIU - DO JJ = 1, IJU - IF (GCLOUD(JI,JJ)) THEN -! -! 4. Mean LWC of the cloud -! ------------------------- -! - ICL_BASE=ICL_BASE_ST(JI,JJ) - ICL_TOP=ICL_TOP_ST(JI,JJ) - ! - DO JK=ICL_BASE,ICL_TOP,1 - ZLWCBAR(JI,JJ) = ZLWCBAR(JI,JJ) + PLWC(JI,JJ,JK) - END DO - ZLWCBAR(JI,JJ) = ZLWCBAR(JI,JJ) /(ICL_TOP-ICL_BASE) -! -! Liquid water path in g/m2 -! - ZLWP(JI,JJ) = ZLWCBAR(JI,JJ) * 1.E3 * ( PAZ(JI,JJ,ICL_TOP) - PAZ(JI,JJ,ICL_BASE) ) -! -! 5. Cloud optical depth (Stephens, JAS, 1978) -! ------------------------------------------------------------- -! - IF (ZLWP(JI,JJ).GE.10.) THEN - ZTAU(JI,JJ) = 10.**(0.2633 + 1.7095 * LOG(LOG10(ZLWP(JI,JJ)))) - ELSE - ZTAU(JI,JJ) = 0. - END IF -! -! 6. Energy transmission coefficient -! ---------------------------------- -! - ZTR(JI,JJ) = (5.0 - EXP(-ZTAU(JI,JJ))) / (4.0 + 0.42 * ZTAU(JI,JJ)) -! - END IF - END DO -END DO -! -DO JI = 1, IIU - DO JJ = 1, IJU - ! - IF (GCLOUD(JI,JJ).AND.(ZTAU(JI,JJ).GT.5.0)) THEN - ! - ICL_BASE=ICL_BASE_ST(JI,JJ) - ICL_TOP=ICL_TOP_ST(JI,JJ) -! -! 7. Calculate cloud correction factor -! ------------------------------------ -! - ! - ! Below cloud - ! - ZFCLDB(JI,JJ) = 1.0 + (1.6 * ZTR(JI,JJ) * ZCOSZEN(JI,JJ) - 1.0) - ! - ! Above cloud - ! - DO ILOOP = 1, KPJVMAX - ZFCLDA(JI,JJ,ILOOP) = 1.0 + (1.0 + ALPHA(ILOOP)*(1.0 - ZTR(JI,JJ)) * & - ZCOSZEN(JI,JJ) - 1.0) - ! - X1(JI,JJ,ILOOP) = (ZFCLDA(JI,JJ,ILOOP) - ZFCLDB(JI,JJ))/ & - (PAZ(JI,JJ,ICL_TOP)-PAZ(JI,JJ,ICL_BASE)) - X2(JI,JJ,ILOOP) = (PAZ(JI,JJ,ICL_TOP)*ZFCLDB(JI,JJ)-PAZ(JI,JJ,ICL_BASE)* & - ZFCLDA(JI,JJ,ILOOP))/ & - (PAZ(JI,JJ,ICL_TOP)-PAZ(JI,JJ,ICL_BASE)) - ! - !In cloud layer: linear interpolation - ! - DO JK = 1, IKE-IKB+1 - ! - PFCLD(JI,JJ,JK,ILOOP) = X1(JI,JJ,ILOOP) * PAZ(JI,JJ,JK) + X2(JI,JJ,ILOOP) - IF ( JK .LE. ICL_BASE) PFCLD(JI,JJ,JK,ILOOP) = ZFCLDB(JI,JJ) - IF ( JK .GE. ICL_TOP) PFCLD(JI,JJ,JK,ILOOP) = ZFCLDA(JI,JJ,ILOOP) - ! - ENDDO - PFCLD(JI,JJ,KJVLEVEL,ILOOP) = PFCLD(JI,JJ,IKE-IKB+1,ILOOP) - ENDDO ! ILOOP - END IF - ! - END DO -END DO -! -! -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_CLOUDS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_JVALUES_CLOUDS diff --git a/src/arome/chem/internals/ch_jvalues_clouds_n.F90 b/src/arome/chem/internals/ch_jvalues_clouds_n.F90 deleted file mode 100644 index 7123cc8719f5d0ba9aefd96dec0b302a61405832..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_jvalues_clouds_n.F90 +++ /dev/null @@ -1,259 +0,0 @@ -! ######spl - SUBROUTINE CH_JVALUES_CLOUDS_n(PZENITH, KPJVMAX, KJVLEVEL, PAZ, PLWC, PFCLD) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ##################################################################### -! -!! -!!*** *CH_JVALUES_CLOUDS_n* -! -!! PURPOSE Application of a cloud correction factor to the clear-sky values of -!! photolysis rate constants -!! ------- -!! -!!** METHOD -!! ------ -!! The method used to correct for cloud cover is taken from RADM -!! (Chang et al., 1987; Madronich, 1987) -!! The correction of clear-sky values depends on whether the location -!! is below, above or within the cloud. The equation allows for enhancement -!! of photolysis rates above the cloud due to the reflected -!! radiation from the cloud. Below cloud photolysis rates will be lower -!! than the clear-sky values due to the reduced transmission of radiation -!! through the cloud. -!! Within the cloud, the cloud correction factor is a simple linear -!! interpolation of the below cloud factor at cloud base to the above -!! cloud factor at cloud top. -!! -!! REFERENCE -!! --------- -!! -!! -!! AUTHOR -!! ------ -!! Celine Mari (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/01/00 -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CST, ONLY : XRHOLW -USE MODD_PARAMETERS -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KPJVMAX, KJVLEVEL -REAL, DIMENSION(:,:,:), INTENT(IN) :: PLWC, PAZ -REAL, DIMENSION(:,:), INTENT(IN) :: PZENITH -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PFCLD -!! -!! LOCAL VARIABLES -!! --------------- -!! -INTEGER :: JK, ILOOP, JI,JJ -INTEGER :: IIU,IJU,IKU,IKB,IKE -INTEGER,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ICL_TOP_ST, ICL_BASE_ST -INTEGER :: ICL_TOP, ICL_BASE -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZREFF, ZTAU, ZTR, ZFCLDB -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2),KPJVMAX) :: ZFCLDA, X1, X2 -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZLWCBAR, ZLWP -REAL :: ZLWCMIN -REAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: ZCOSZEN ! cosinus of zenithal angle -LOGICAL,DIMENSION(SIZE(PLWC,1),SIZE(PLWC,2)) :: GMASK, GCLOUD -REAL, DIMENSION(KPJVMAX) :: ALPHA ! reaction dependant coefficient -!------------------------------------------------------------------------------ -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_CLOUDS_N',0,ZHOOK_HANDLE) -IIU = SIZE(PLWC,1) -IJU = SIZE(PLWC,2) -IKU = SIZE(PLWC,3) -IKB = 1+JPVEXT -! -IKE = IKU-JPVEXT -! -! -! 1. Reaction dependent coefficient -! --------------------------------- -! -! -ALPHA(1:KPJVMAX)=1. -!! NO2 -ALPHA(2)=1.2 -!! O3 -ALPHA(3)=0.7 -!! NO3 -ALPHA(5)=1.3 -ALPHA(6)=1.3 -!! HCHO -ALPHA(14)=1.1 -!! ALD -ALPHA(17)=0.9 -! -! 2. Cloud Top and Cloud Base -! --------------------------- -! - ICL_TOP_ST(:,:) = 1 - ZLWCMIN = 1.E-4 -! - GCLOUD(:,:)=.TRUE. - GMASK(:,:)=.TRUE. - ! - DO JK=KJVLEVEL-1,1,-1 - ! - ! * Cloud top - ! - WHERE ( (GMASK(:,:)) .AND. (PLWC(:,:,JK) > ZLWCMIN) ) - GMASK(:,:)=.FALSE. - ICL_TOP_ST(:,:)=JK - ENDWHERE - ! - END DO - ! - WHERE (ICL_TOP_ST(:,:).EQ.1) - ICL_TOP_ST(:,:)=0. - GCLOUD(:,:)=.FALSE. - ENDWHERE - ! - ! * Cloud base - ! - ICL_BASE_ST(:,:)=IKE-IKB+1 - GMASK(:,:)=.TRUE. - ! - DO JK=1,IKE-IKB+1,1 - WHERE ( (GMASK(:,:)) .AND. (PLWC(:,:,JK) > ZLWCMIN) ) - GMASK(:,:)=.FALSE. - ICL_BASE_ST(:,:)=JK - END WHERE - END DO - WHERE (ICL_BASE_ST(:,:).EQ.IKE-IKB+1) - ICL_BASE_ST(:,:)=0. - GCLOUD(:,:)=.FALSE. - END WHERE - WHERE (ICL_BASE_ST(:,:).EQ.ICL_TOP_ST(:,:)) - GCLOUD(:,:)=.FALSE. - END WHERE - ! -! -! -! 3. Cosinus of the zenith angle -! ------------------------------ -! -! -ZCOSZEN(:,:) = COS(PZENITH(:,:)) -ZCOSZEN(:,:) = MAX(ZCOSZEN(:,:),0.5) -! -PFCLD(:,:,:,:)=1.0 -ZTR(:,:)=0. -ZTAU(:,:)=0. -ZLWCBAR(:,:)=0. -ZREFF(:,:) = 0. -! -DO JI = 1, IIU - DO JJ = 1, IJU - IF (GCLOUD(JI,JJ)) THEN -! -! 4. Mean LWC of the cloud -! ------------------------- -! - ICL_BASE=ICL_BASE_ST(JI,JJ) - ICL_TOP=ICL_TOP_ST(JI,JJ) - ! - DO JK=ICL_BASE,ICL_TOP,1 - ZLWCBAR(JI,JJ) = ZLWCBAR(JI,JJ) + PLWC(JI,JJ,JK) - END DO - ZLWCBAR(JI,JJ) = ZLWCBAR(JI,JJ) /(ICL_TOP-ICL_BASE) -! -! Liquid water path in g/m2 -! - ZLWP(JI,JJ) = ZLWCBAR(JI,JJ) * 1.E3 * ( PAZ(JI,JJ,ICL_TOP) - PAZ(JI,JJ,ICL_BASE) ) -! -! 5. Cloud optical depth (Fouquart et al., Rev. Geophys., 1990) -! ------------------------------------------------------------- -! -! ZREFF = (11. * ZLWCBAR * 1.E3 + 4.) * 1E-6 -! IF (ZREFF.NE.0.) THEN -! ZTAU = 3./2. * ZLWCBAR * 1.E3 * (ZD(ICL_TOP_ST)-ZD(ICL_BASE_ST)) / (XRHOLW * ZREFF) -! ELSE -! ZTAU = 0. -! END IF -! -! 5. Cloud optical depth (Stephens, JAS, 1978) -! ------------------------------------------------------------- -! - IF (ZLWP(JI,JJ).GE.10.) THEN - ZTAU(JI,JJ) = 10.**(0.2633 + 1.7095 * LOG(LOG10(ZLWP(JI,JJ)))) - ELSE - ZTAU(JI,JJ) = 0. - END IF -! -! 6. Energy transmission coefficient -! ---------------------------------- -! - ZTR(JI,JJ) = (5.0 - EXP(-ZTAU(JI,JJ))) / (4.0 + 0.42 * ZTAU(JI,JJ)) -! - END IF - END DO -END DO -! -DO JI = 1, IIU - DO JJ = 1, IJU - ! - IF (GCLOUD(JI,JJ).AND.(ZTAU(JI,JJ).GT.5.0)) THEN - ! - ICL_BASE=ICL_BASE_ST(JI,JJ) - ICL_TOP=ICL_TOP_ST(JI,JJ) -! -! 7. Calculate cloud correction factor -! ------------------------------------ -! - ! - ! Below cloud - ! - ZFCLDB(JI,JJ) = 1.0 + (1.6 * ZTR(JI,JJ) * ZCOSZEN(JI,JJ) - 1.0) - ! - ! Above cloud - ! - DO ILOOP = 1, KPJVMAX - ZFCLDA(JI,JJ,ILOOP) = 1.0 + (1.0 + ALPHA(ILOOP)*(1.0 - ZTR(JI,JJ)) * & - ZCOSZEN(JI,JJ) - 1.0) - ! - X1(JI,JJ,ILOOP) = (ZFCLDA(JI,JJ,ILOOP) - ZFCLDB(JI,JJ))/ & - (PAZ(JI,JJ,ICL_TOP)-PAZ(JI,JJ,ICL_BASE)) - X2(JI,JJ,ILOOP) = (PAZ(JI,JJ,ICL_TOP)*ZFCLDB(JI,JJ)-PAZ(JI,JJ,ICL_BASE)* & - ZFCLDA(JI,JJ,ILOOP))/ & - (PAZ(JI,JJ,ICL_TOP)-PAZ(JI,JJ,ICL_BASE)) - ! - !In cloud layer: linear interpolation - ! - DO JK = 1, IKE-IKB+1 - ! - PFCLD(JI,JJ,JK,ILOOP) = X1(JI,JJ,ILOOP) * PAZ(JI,JJ,JK) + X2(JI,JJ,ILOOP) - IF ( JK .LE. ICL_BASE) PFCLD(JI,JJ,JK,ILOOP) = ZFCLDB(JI,JJ) - IF ( JK .GE. ICL_TOP) PFCLD(JI,JJ,JK,ILOOP) = ZFCLDA(JI,JJ,ILOOP) - ! - ENDDO - PFCLD(JI,JJ,KJVLEVEL,ILOOP) = PFCLD(JI,JJ,IKE-IKB+1,ILOOP) - ENDDO ! ILOOP - END IF - ! - END DO -END DO -! -! - -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_CLOUDS_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_JVALUES_CLOUDS_n diff --git a/src/arome/chem/internals/ch_jvalues_n.F90 b/src/arome/chem/internals/ch_jvalues_n.F90 deleted file mode 100644 index 52735e87f143a0ad29b974f47a2d9fb389257c1b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_jvalues_n.F90 +++ /dev/null @@ -1,74 +0,0 @@ -! ######spl - SUBROUTINE CH_JVALUES_n(KVECNPT, KIINDEX, KJINDEX, KMODELLEVEL, KRATES, PJVALUES, PRATES) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################### -! -!! -!!*** *CH_JVALUES* extracts photolysis rates -!! -!! PURPOSE -!! ------- -!! Extract photolysis rates from MODD_CH_JVALUES at a given model level -!! -!!** METHOD -!! ------ -!! After the photolysis rates have been set with CH_UPDATE_JVALUES_n, -!! the different photolysis rates may be extracted on the model levels. -! -!! REFERENCE -!! --------- -!! MesoNH documentation -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 05/03/97 -!! C. Mari 20/03/01 3D version of J values + vectorisation -!! Modification 01/12/03 (Gazen) change Chemical scheme interface -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_INIT_JVALUES, ONLY: JPJVMAX -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, DIMENSION(:), INTENT(IN) :: KMODELLEVEL -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, DIMENSION(:), INTENT(IN) :: KIINDEX,KJINDEX - ! current model grid point -INTEGER, INTENT(IN) :: KRATES - ! dimension of PRATES -REAL, DIMENSION(KVECNPT,KRATES), INTENT(OUT) :: PRATES - ! photolysis rates -REAL,DIMENSION(:,:,:,:), INTENT(IN) :: PJVALUES ! Tuv coefficients -!! -!! LOCAL VARIABLES -!! --------------- -INTEGER :: JI,JN -!! -!------------------------------------------------------------------------------ -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_N',0,ZHOOK_HANDLE) -DO JI = 1, KRATES - DO JN = 1, KVECNPT - PRATES(JN,JI) = PJVALUES(KIINDEX(JN),KJINDEX(JN),KMODELLEVEL(JN),JI) - ENDDO -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_JVALUES_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_JVALUES_n diff --git a/src/arome/chem/internals/ch_linssa.F90 b/src/arome/chem/internals/ch_linssa.F90 deleted file mode 100644 index 688f4b2abbe92fe06dbddb75bafad96ba90b8140..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_linssa.F90 +++ /dev/null @@ -1,144 +0,0 @@ -! ######spl -SUBROUTINE CH_LINSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - KSSA, KSSAINDEX) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################### -!! -!!*** *CH_LINSSA* -!! -!!** PURPOSE -!! ------- -!! solve one time-step of the chemical differential equation d/dt C = f(C) -!! -!! METHOD -!! ------ -!! Linearised Steady (LINSSA): -!! y^n+1 = y^n + dt/2 * (P-dt/2 J^n)^-1 * (P+I) * f^n -!! -!! REFERENCE -!! --------- -!! K. Suhre and R. Rosset, -!! Modification of a linearized semi-implicit scheme for chemical -!! reactions using a steady-state-approximation, -!! Ann. Geophysicae, 12, 359--361, 1994. -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 25/04/95 -!! Modification 01/12/03 (Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -USE MODI_CH_FCN -USE MODI_CH_JAC -USE MODI_CH_GAUSS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -INTEGER, INTENT(IN) :: KSSA -INTEGER, DIMENSION(1000) :: KSSAINDEX -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(KVECNPT,KEQ) :: ZDCDTVECT -REAL, DIMENSION(KEQ) :: ZDCDT -REAL, DIMENSION(KVECNPT,KEQ,KEQ) :: ZWORKVECT -REAL, DIMENSION(KEQ,KEQ) :: ZWORK,ZINV -INTEGER :: IFAIL, JI, JJ -REAL, DIMENSION(:,:), SAVE, ALLOCATABLE :: ZPROJECTOR, ZFAC -LOGICAL, SAVE :: GSFIRSTCALL = .TRUE. -! -!------------------------------------------------------------------------------ -! -! -!* 1. ON FIRSTCALL, THE PROJECTOR WILL BE DEFINED -! ------------------------------------------------ -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_LINSSA',0,ZHOOK_HANDLE) -first_call : IF (GSFIRSTCALL) THEN - GSFIRSTCALL = .FALSE. - ALLOCATE(ZPROJECTOR(KVECNPT,KEQ)) - ALLOCATE(ZFAC(KVECNPT,KEQ)) - ZPROJECTOR(:,:) = 1.0 - DO JI = 1, KSSA - ZPROJECTOR(:,KSSAINDEX(JI)) = 0.0 - ENDDO -! - ZFAC(:,:) = 0.5*(1.0 + ZPROJECTOR(:,:)) -! -ENDIF first_call -! -!* 2. CALCULATE FIRST DERIVATIVE AND JACOBIAN -! -------------------------------------------- -! -CALL CH_FCN(PTSIMUL,PCONC,ZDCDTVECT, KMI,KVECNPT,KEQ) -! -!%kloos% -!ZJAC replaced by ZWORK -CALL CH_JAC(PTSIMUL,PCONC,ZWORKVECT, KMI,KVECNPT,KEQ) -! -!* 3. CALCULATE (P-dt/2 J^n)^-1 -! ------------------------------ -! -DO JJ=1,KVECNPT - -ZWORK(:,:) = - (0.5*PDTACT) * ZWORKVECT(JJ,:,:) -ZDCDT(:)=ZDCDTVECT(JJ,:) -!% -DO JI = 1, KEQ - ZWORK(JI,JI) = ZWORK(JI,JI) + ZPROJECTOR(JJ,JI) -ENDDO -! -!%kloos% -! inversion of matrix modified -! -!* 4. CALCULATE LU FACTORIZATION FOR MATRIX (P-dt/2 J^n)^-1 -! ---------------------------------------------------------- -! (result is put in ZWORK) -! -IFAIL = 1 -CALL CH_GAUSS(ZWORK,ZINV,KEQ,IFAIL) -IF (IFAIL.NE.0) THEN - STOP 'CH_LinSSA ERROR: matrix cannot be inverted by CH_GAUSS' -ENDIF -! -!* 5. CALCULATE 1/2 * (P+I) * f^n -! -------------------------------- -! -ZDCDT(:) = ZFAC(JJ,:) * ZDCDT(:) -! -!* 6. CALCULATE (1-dt/2 J^n)^-1 * (P+I)/2 * f^n (result is put in ZDCDT) -! ----------------------------------------------------------------------- -! -ZDCDT(:) = MATMUL(ZINV,ZDCDT) -! -!* 7. CALCULATE y^n+1 = y^n + dt/2 * (P-dt/2 J^n)^-1 * (P+I) * f^n -! ----------------------------------------------------------------- -! -PNEWCONC(JJ,:) = PCONC(JJ,:) + PDTACT * ZDCDT(:) -!% -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_LINSSA',1,ZHOOK_HANDLE) -END SUBROUTINE CH_LINSSA diff --git a/src/arome/chem/internals/ch_meteo_trans.F90 b/src/arome/chem/internals/ch_meteo_trans.F90 deleted file mode 100644 index 7f07b7a46f550c3bb2c78b9a34f52c2db25fb79d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_meteo_trans.F90 +++ /dev/null @@ -1,219 +0,0 @@ -! ######spl - SUBROUTINE CH_METEO_TRANS(KL, PRHODREF, PRT, PTHT, PABST, & - KVECNPT, KVECMASK, TPM, KDAY,& - KMONTH, KYEAR, PLAT, PLON, PLAT0, PLON0,& - OUSERV, OUSERC, KLUOUT ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - -!! ############################################################### -!! -!!*** *CH_METEO_TRANS* -!! -!! PURPOSE -!! ------- -! Transfer of meteorological data, such as temperature, pressure -! and water vapor mixing ratio for one point into the variable TPM(JM+1) -!! -!! METHOD -!! ------ -!! For the given grid-point KI,KJ,KK, the meteorological parameters -!! will be transfered for use by CH_SET_RATES and CH_SET_PHOTO_RATES. -!! Presently, the variables altitude, air density, temperature, -!! water vapor mixing ratio, cloud water, longitude, latitude and date -!! will be transfered. In the chemical definition file (.chf) -!! these variables have to be transfered into variables like O2, H2O etc. -!! Also, consistency is checked between the number of -!! variables expected by the CCS (as defined in the .chf file) and -!! the number of variables to be transfered here. If you change -!! the meaning of XMETEOVARS in your .chf file, make sure to modify -!! this subroutine accordingly. -!! If the model is run in 1D mode, the model level instead of altitude -!! is passed. In 2D and 3D, altitude is passed with a negative sign -!! so that the radiation scheme TUV can make the difference between -!! model levels and altitude. -!! -!! AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 24/05/95 -!! 04/08/96 (K. Suhre) restructured -!! 21/02/97 (K. Suhre) add XLAT0 and XLON0 for LCARTESIAN=T case -!! 27/08/98 (P. Tulet) add temperature at t for kinetic coefficient -!! 09/03/99 (V. Crassier & K. Suhre) vectorization -!! 09/03/99 (K. Suhre) modification for TUV -!! 09/03/99 (C. Mari & J. Escobar) Code optimization -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! 01/12/04 (P. Tulet) update ch_meteo_transn.f90 for Arome -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!! -USE MODD_CH_M9, ONLY: NMETEOVARS, &! number of meteorological variables - METEOTRANSTYPE !type for meteo . transfer -!! -USE MODD_CST, ONLY: XP00, &! Surface pressure - XRD, &! R gas constant - XCPD !specific heat for dry air -!! -USE MODD_CONF, ONLY: LCARTESIAN ! Logical for cartesian geometry -!! -!! -!! -! - -! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! air density -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRT ! moist variables at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST ! theta and pressure at t -INTEGER, DIMENSION(:,:), INTENT(IN) :: KVECMASK -TYPE(METEOTRANSTYPE), DIMENSION(:), INTENT(INOUT) :: TPM - ! meteo variable for CCS -INTEGER, INTENT(IN) :: KYEAR ! Current Year -INTEGER, INTENT(IN) :: KMONTH ! Current Month -INTEGER, INTENT(IN) :: KDAY ! Current Day -INTEGER, INTENT(IN) :: KLUOUT ! channel for output listing -INTEGER, INTENT(IN) :: KL, KVECNPT -REAL, INTENT(IN) :: PLAT0, PLON0 -LOGICAL, INTENT(IN) :: OUSERV, OUSERC -REAL, DIMENSION(:,:), INTENT(IN) :: PLAT, PLON - - -! -!* 0.2 declarations of local variables -! -REAL,DIMENSION(SIZE(PRT,1),SIZE(PRT,2),SIZE(PRT,3),2) :: ZRT -REAL,DIMENSION(SIZE(PRT,1),SIZE(PRT,2)) :: ZLAT, ZLON -LOGICAL, SAVE :: GSFIRSTCALL = .TRUE. -INTEGER :: JI,JJ,JK,JM -INTEGER :: IDTI,IDTJ,IDTK -! -! -!------------------------------------------------------------------------------- -! -!* 1. INITIALIZE METEO VARIABLE TRANSFER -! ---------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_METEO_TRANS',0,ZHOOK_HANDLE) -firstcall : IF (GSFIRSTCALL) THEN -! - GSFIRSTCALL = .FALSE. -! -!* 1.1 check if number of variables NMETEOVARS -! corresponds to what the CCS expects -! - IF (NMETEOVARS /= 10) THEN - WRITE(KLUOUT,*) "CH_METEO_TRANS ERROR: number of meteovars to transfer" - WRITE(KLUOUT,*) "does not correspond to the number expected by the CCS:" - WRITE(KLUOUT,*) " meteovars to transfer: ", 10 - WRITE(KLUOUT,*) " NMETEOVARS expected: ", NMETEOVARS - WRITE(KLUOUT,*) "Check the definition of NMETEOVARS in your .chf file." - WRITE(KLUOUT,*) "The program will be stopped now!" - STOP 1 - END IF -! -! -!* 1.2 initialize names of meteo vars -! - TPM(:)%CMETEOVAR(1) = "Model level" - TPM(:)%CMETEOVAR(2) = "Air density (kg/m3)" - TPM(:)%CMETEOVAR(3) = "Temperature (K)" - TPM(:)%CMETEOVAR(4) = "Water vapor (kg/kg)" - TPM(:)%CMETEOVAR(5) = "Cloud water (kg/kg)" - TPM(:)%CMETEOVAR(6) = "Latitude (rad)" - TPM(:)%CMETEOVAR(7) = "Longitude (rad)" - TPM(:)%CMETEOVAR(8) = "Current date (year)" - TPM(:)%CMETEOVAR(9) = "Current date (month)" - TPM(:)%CMETEOVAR(10)= "Current date (day)" -! -ENDIF firstcall -! -! "Water vapor (kg/kg)" - IF (OUSERV) THEN - ZRT(:,:,:,1) = PRT(:,:,:, 1) - ELSE - ZRT(:,:,:,1) = 0.0 - ENDIF -! -! "Cloud water (kg/kg)" - IF (OUSERC) THEN - ZRT(:,:,:,2) = PRT(:,:,:, 2) - ELSE - ZRT(:,:,:,2) = 0.0 - ENDIF - - IF(LCARTESIAN) THEN -! "Latitude (rad)" - ZLAT(:,:) = PLAT0 -! "Longitude (rad)" - ZLON(:,:) = PLON0 - ELSE -! "Latitude (rad)" - ZLAT(:,:) = PLAT(:,:) -! "Longitude (rad)" - ZLON(:,:) = PLON(:,:) - END IF -! -! -!* 2. TRANSFER METEO VARIABLES -! ------------------------ -! -IDTI=KVECMASK(2,KL)-KVECMASK(1,KL)+1 -IDTJ=KVECMASK(4,KL)-KVECMASK(3,KL)+1 -IDTK=KVECMASK(6,KL)-KVECMASK(5,KL)+1 -!Vectorization: -!ocl novrec -!cdir nodep -DO JM=0,KVECNPT-1 - JI=JM-IDTI*(JM/IDTI)+KVECMASK(1,KL) - JJ=JM/IDTI-IDTJ*(JM/(IDTI*IDTJ))+KVECMASK(3,KL) - JK=JM/(IDTI*IDTJ)-IDTK*(JM/(IDTI*IDTJ*IDTK))+KVECMASK(5,KL) -! -!"Model Altitude" - TPM(JM+1)%XMETEOVAR(1) = JK-1 ! assuming first model level is level 2 -! TPM(JM+1)%XMETEOVAR(1) = JK ! assuming first model level is level 1 -! -! "Air density (kg/m3)" - TPM(JM+1)%XMETEOVAR(2) = PRHODREF(JI, JJ, JK) -! -! "Temperature (K)" - TPM(JM+1)%XMETEOVAR(3) = PTHT(JI,JJ,JK)*((PABST(JI,JJ,JK)/XP00)**(XRD/XCPD)) -! -! "Water vapor (kg/kg)" - TPM(JM+1)%XMETEOVAR(4) = ZRT(JI, JJ, JK, 1) -! -! "Cloud water (kg/kg)" - TPM(JM+1)%XMETEOVAR(5) = ZRT(JI, JJ, JK, 2) -! -! "Latitude (rad)" - TPM(JM+1)%XMETEOVAR(6) = ZLAT(JI, JJ) -! "Longitude (rad)" - TPM(JM+1)%XMETEOVAR(7) = ZLON(JI, JJ) -! -! "Current date" - TPM(JM+1)%XMETEOVAR(8) = FLOAT(KYEAR) - TPM(JM+1)%XMETEOVAR(9) = FLOAT(KMONTH) - TPM(JM+1)%XMETEOVAR(10)= FLOAT(KDAY) -! -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_METEO_TRANS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_METEO_TRANS diff --git a/src/arome/chem/internals/ch_nnares.F90 b/src/arome/chem/internals/ch_nnares.F90 deleted file mode 100644 index e70579837ae21f06385f61ff750663dedbdd579f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_nnares.F90 +++ /dev/null @@ -1,131 +0,0 @@ -! ######spl - SUBROUTINE CH_NNARES (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ########################################################## -!! -!! PURPOSE -!! ------- -!! -!! Calculate the aerosol chemical speciation and water content. -!! THIS IS NEURAL NET VERSION OF THE ORIGINAL ARES CODE, -!! GENERATED AND TRAINED USING NNFIT -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! V. Crassier & K. Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!***************************************************************** -! Parameters of ARES: -! -! SO4 : Total sulfate in MICROGRAMS/M**3 as sulfate (IN) -! HNO3 : Nitric Acid in MICROGRAMS/M**3 as nitric acid (IN) -! NO3 : Total nitrate in MICROGRAMS/M**3 as nitric acid (IN) -! NH3 : Total ammonia in MICROGRAMS/M**3 as ammonia (IN) -! NH4 : Ammonium in MICROGRAMS/M**3 as ammonium (IN) -! RH : Fractional relative humidity (IN) -! TEMP : Temperature in Kelvin (IN) -! GNO3 : Gas phase nitric acid in MICROGRAMS/M**3 (OUT) -! GNH3 : Gas phase ammonia in MICROGRAMS/M**3 (OUT) -! ASO4 : Aerosol phase sulfate in MICROGRAMS/M**3 (OUT) -! ANO3 : Aerosol phase nitrate in MICROGRAMS/M**3 (OUT) -! ANH4 : Aerosol phase ammonium in MICROGRAMS/M**3 (OUT) -! AH2O : Aerosol phase water in MICROGRAMS/M**3 (OUT) -! -!*************************************************************** -!! -!! EXTERNAL -!! ------- -!! -!USE MODD_CH_M9 -USE MODD_CH_AEROSOL -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -IMPLICIT NONE -!...........ARGUMENTS and their descriptions -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC -! -! PAER(:,1) :: H2SO4 in micrograms / m**3 -! PAER(:,2) :: NH3(g) in micrograms / m**3 -! PAER(:,3) :: HNO3(g) in micrograms / m**3 -! PAER(:,4) :: H2O(a) in micrograms / m**3 -! PAER(:,5) :: NO3(a) in micrograms / m**3 -! PAER(:,6) :: NH4(a) in micrograms / m**3 -! -!...........PARAMETERS and their descriptions: - -REAL, PARAMETER :: ZMWH2O = 18.0 ! molecular weight for water -REAL, PARAMETER :: ZMWNO3 = 62.0049 ! molecular weight for NO3 -REAL, PARAMETER :: ZMWHNO3 = 63.01287 ! molecular weight for HNO3 -REAL, PARAMETER :: ZMH2SO4 = 98.07354 ! molecular weight for H2SO4 -REAL, PARAMETER :: ZMWNH3 = 17.03061 ! molecular weight for NH3 -REAL, PARAMETER :: ZMWNH4 = 18.03858 ! molecular weight for NH4 - -!----------------------------------------------------------------------------- -! .. the independant variables of the NN are: -! 1) mole fraction of total ammonium X = (NH4 + NH3) / (SO4) -! 2) mole fraction of total nitrate Y = (NO3 + HNO3) / (SO4 + NO3 + HNO3) -! 3) fractional relative humidity R = RH -! 4) temperature T = TEMP -! -! .. the output variables of the NN are: -! 1) mole fraction of water A = AH2O / (AH20+ASO4+ANO3+ANH4) -! 2) mole fraction of gas phase ammonia B = GNH3 / (GNH3 + ANH4) -! 3) mole fraction of gas phase nitrate C = GNO3 / (GNO3 + ANO3) -! -REAL, DIMENSION(SIZE(PAER,1)) :: TOTAMM,TOTNIT,TOTSUL -! .. input .. -REAL, DIMENSION(SIZE(PAER,1)) :: X, Y -! -! .. output .. -REAL, DIMENSION(SIZE(PAER,1)) :: A, B, C -! -!----------------------------------------------------------------------------- -! print *, "PAER(1:5,1) H2SO4 ", PAER(1:5,1) -! print *, "PAER(1:5,2) NH3 ", PAER(1:5,2) -! print *, "PAER(1:5,3) HNO3 ", PAER(1:5,3) - -! convert to NN input variables X, Y, R, T - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_NNARES',0,ZHOOK_HANDLE) - TOTAMM(:) = PAER(:,2)/ZMWNH3 + PAER(:,6)/ZMWNH4 - TOTNIT(:) = PAER(:,3)/ZMWHNO3 + PAER(:,5)/ZMWNO3 - TOTSUL(:) = PAER(:,1)/ZMH2SO4 - - X(:) = TOTAMM(:)/ TOTSUL(:) - Y(:) = TOTNIT(:) / (TOTNIT(:) + TOTSUL(:)) - - - -! call the neural net - CALL NN ( X, Y, PRH, PTEMP, A, B, C, SIZE(PAER,1)) - -! compute return variables in mole concentrations - PAER(:,1) = TOTSUL(:) - PAER(:,2) = B(:) * TOTAMM(:) - PAER(:,3) = C(:) * TOTNIT(:) - PAER(:,5) = (1-C(:)) * TOTNIT(:) - PAER(:,6) = (1.-B(:)) * TOTAMM(:) - PAER(:,4) = (1./(1.-A(:))) * (PAER(:,1) + PAER(:,5) + PAER(:,6)) - -! convert return variables to mass concentration - PAER(:,1)=PAER(:,1)*ZMH2SO4 - PAER(:,2)=PAER(:,2)*ZMWNH3 - PAER(:,3)=PAER(:,3)*ZMWHNO3 - PAER(:,4)=PAER(:,4)*ZMWH2O - PAER(:,5)=PAER(:,5)*ZMWNO3 - PAER(:,6)=PAER(:,6)*ZMWNH4 - -IF (LHOOK) CALL DR_HOOK('CH_NNARES',1,ZHOOK_HANDLE) -END SUBROUTINE CH_NNARES diff --git a/src/arome/chem/internals/ch_nonzeroterms.F90 b/src/arome/chem/internals/ch_nonzeroterms.F90 deleted file mode 100644 index e1f7c04528adacdcd368b83c673d23a2c8d7f712..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_nonzeroterms.F90 +++ /dev/null @@ -1,1243 +0,0 @@ -! ######spl - SUBROUTINE CH_NONZEROTERMS(KINDEX, KINDEXDIM) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *MODD_CH_NONZEROTERMS* -!! -!! PURPOSE -!! ------- -! calculation of the contribution of each term in each reaction -!! -!!** METHOD -!! ------ -!! The contribution of reaction i to the evolution of species j -!! is returned in PTERMS. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(IN) :: KINDEXDIM -INTEGER, INTENT(OUT), DIMENSION(2,KINDEXDIM) :: KINDEX -! check if output array is large enough -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_NONZEROTERMS',0,ZHOOK_HANDLE) -IF (KINDEXDIM.LT.593) THEN - STOP 'CH_NONZEROTERMS ERROR: array KINDEX is too small!' -END IF - KINDEX(1, 1)=3 - KINDEX(2, 1)=1 - KINDEX(1, 2)=4 - KINDEX(2, 2)=1 - KINDEX(1, 3)=1 - KINDEX(2, 3)=2 - KINDEX(1, 4)=1 - KINDEX(2, 4)=3 - KINDEX(1, 5)=3 - KINDEX(2, 5)=4 - KINDEX(1, 6)=7 - KINDEX(2, 6)=4 - KINDEX(1, 7)=14 - KINDEX(2, 7)=4 - KINDEX(1, 8)=4 - KINDEX(2, 8)=5 - KINDEX(1, 9)=8 - KINDEX(2, 9)=5 - KINDEX(1, 10)=14 - KINDEX(2, 10)=5 - KINDEX(1, 11)=4 - KINDEX(2, 11)=6 - KINDEX(1, 12)=5 - KINDEX(2, 12)=6 - KINDEX(1, 13)=9 - KINDEX(2, 13)=6 - KINDEX(1, 14)=14 - KINDEX(2, 14)=6 - KINDEX(1, 15)=15 - KINDEX(2, 15)=6 - KINDEX(1, 16)=3 - KINDEX(2, 16)=7 - KINDEX(1, 17)=5 - KINDEX(2, 17)=7 - KINDEX(1, 18)=4 - KINDEX(2, 18)=8 - KINDEX(1, 19)=5 - KINDEX(2, 19)=8 - KINDEX(1, 20)=2 - KINDEX(2, 20)=9 - KINDEX(1, 21)=14 - KINDEX(2, 21)=9 - KINDEX(1, 22)=13 - KINDEX(2, 22)=10 - KINDEX(1, 23)=22 - KINDEX(2, 23)=10 - KINDEX(1, 24)=13 - KINDEX(2, 24)=11 - KINDEX(1, 25)=15 - KINDEX(2, 25)=11 - KINDEX(1, 26)=22 - KINDEX(2, 26)=11 - KINDEX(1, 27)=13 - KINDEX(2, 27)=12 - KINDEX(1, 28)=15 - KINDEX(2, 28)=12 - KINDEX(1, 29)=23 - KINDEX(2, 29)=12 - KINDEX(1, 30)=31 - KINDEX(2, 30)=12 - KINDEX(1, 31)=14 - KINDEX(2, 31)=13 - KINDEX(1, 32)=15 - KINDEX(2, 32)=13 - KINDEX(1, 33)=22 - KINDEX(2, 33)=13 - KINDEX(1, 34)=28 - KINDEX(2, 34)=13 - KINDEX(1, 35)=14 - KINDEX(2, 35)=14 - KINDEX(1, 36)=15 - KINDEX(2, 36)=14 - KINDEX(1, 37)=23 - KINDEX(2, 37)=14 - KINDEX(1, 38)=29 - KINDEX(2, 38)=14 - KINDEX(1, 39)=31 - KINDEX(2, 39)=14 - KINDEX(1, 40)=24 - KINDEX(2, 40)=15 - KINDEX(1, 41)=32 - KINDEX(2, 41)=15 - KINDEX(1, 42)=38 - KINDEX(2, 42)=15 - KINDEX(1, 43)=13 - KINDEX(2, 43)=16 - KINDEX(1, 44)=15 - KINDEX(2, 44)=16 - KINDEX(1, 45)=22 - KINDEX(2, 45)=16 - KINDEX(1, 46)=25 - KINDEX(2, 46)=16 - KINDEX(1, 47)=38 - KINDEX(2, 47)=16 - KINDEX(1, 48)=4 - KINDEX(2, 48)=17 - KINDEX(1, 49)=15 - KINDEX(2, 49)=17 - KINDEX(1, 50)=23 - KINDEX(2, 50)=17 - KINDEX(1, 51)=24 - KINDEX(2, 51)=17 - KINDEX(1, 52)=26 - KINDEX(2, 52)=17 - KINDEX(1, 53)=1 - KINDEX(2, 53)=18 - KINDEX(1, 54)=1 - KINDEX(2, 54)=19 - KINDEX(1, 55)=14 - KINDEX(2, 55)=22 - KINDEX(1, 56)=1 - KINDEX(2, 56)=23 - KINDEX(1, 57)=14 - KINDEX(2, 57)=23 - KINDEX(1, 58)=15 - KINDEX(2, 58)=23 - KINDEX(1, 59)=1 - KINDEX(2, 59)=24 - KINDEX(1, 60)=14 - KINDEX(2, 60)=24 - KINDEX(1, 61)=15 - KINDEX(2, 61)=24 - KINDEX(1, 62)=14 - KINDEX(2, 62)=25 - KINDEX(1, 63)=15 - KINDEX(2, 63)=25 - KINDEX(1, 64)=2 - KINDEX(2, 64)=26 - KINDEX(1, 65)=14 - KINDEX(2, 65)=26 - KINDEX(1, 66)=15 - KINDEX(2, 66)=26 - KINDEX(1, 67)=2 - KINDEX(2, 67)=27 - KINDEX(1, 68)=15 - KINDEX(2, 68)=27 - KINDEX(1, 69)=2 - KINDEX(2, 69)=28 - KINDEX(1, 70)=15 - KINDEX(2, 70)=28 - KINDEX(1, 71)=3 - KINDEX(2, 71)=29 - KINDEX(1, 72)=4 - KINDEX(2, 72)=29 - KINDEX(1, 73)=3 - KINDEX(2, 73)=30 - KINDEX(1, 74)=4 - KINDEX(2, 74)=30 - KINDEX(1, 75)=4 - KINDEX(2, 75)=31 - KINDEX(1, 76)=5 - KINDEX(2, 76)=31 - KINDEX(1, 77)=3 - KINDEX(2, 77)=32 - KINDEX(1, 78)=7 - KINDEX(2, 78)=32 - KINDEX(1, 79)=14 - KINDEX(2, 79)=32 - KINDEX(1, 80)=4 - KINDEX(2, 80)=33 - KINDEX(1, 81)=8 - KINDEX(2, 81)=33 - KINDEX(1, 82)=14 - KINDEX(2, 82)=33 - KINDEX(1, 83)=4 - KINDEX(2, 83)=34 - KINDEX(1, 84)=5 - KINDEX(2, 84)=34 - KINDEX(1, 85)=14 - KINDEX(2, 85)=34 - KINDEX(1, 86)=15 - KINDEX(2, 86)=34 - KINDEX(1, 87)=3 - KINDEX(2, 87)=35 - KINDEX(1, 88)=4 - KINDEX(2, 88)=35 - KINDEX(1, 89)=14 - KINDEX(2, 89)=35 - KINDEX(1, 90)=15 - KINDEX(2, 90)=35 - KINDEX(1, 91)=4 - KINDEX(2, 91)=36 - KINDEX(1, 92)=9 - KINDEX(2, 92)=36 - KINDEX(1, 93)=15 - KINDEX(2, 93)=36 - KINDEX(1, 94)=4 - KINDEX(2, 94)=37 - KINDEX(1, 95)=9 - KINDEX(2, 95)=37 - KINDEX(1, 96)=15 - KINDEX(2, 96)=37 - KINDEX(1, 97)=4 - KINDEX(2, 97)=38 - KINDEX(1, 98)=5 - KINDEX(2, 98)=38 - KINDEX(1, 99)=8 - KINDEX(2, 99)=38 - KINDEX(1, 100)=14 - KINDEX(2, 100)=38 - KINDEX(1, 101)=15 - KINDEX(2, 101)=38 - KINDEX(1, 102)=4 - KINDEX(2, 102)=39 - KINDEX(1, 103)=7 - KINDEX(2, 103)=39 - KINDEX(1, 104)=14 - KINDEX(2, 104)=39 - KINDEX(1, 105)=5 - KINDEX(2, 105)=40 - KINDEX(1, 106)=8 - KINDEX(2, 106)=40 - KINDEX(1, 107)=14 - KINDEX(2, 107)=40 - KINDEX(1, 108)=4 - KINDEX(2, 108)=41 - KINDEX(1, 109)=9 - KINDEX(2, 109)=41 - KINDEX(1, 110)=14 - KINDEX(2, 110)=41 - KINDEX(1, 111)=1 - KINDEX(2, 111)=42 - KINDEX(1, 112)=3 - KINDEX(2, 112)=42 - KINDEX(1, 113)=4 - KINDEX(2, 113)=42 - KINDEX(1, 114)=1 - KINDEX(2, 114)=43 - KINDEX(1, 115)=4 - KINDEX(2, 115)=43 - KINDEX(1, 116)=5 - KINDEX(2, 116)=43 - KINDEX(1, 117)=3 - KINDEX(2, 117)=44 - KINDEX(1, 118)=4 - KINDEX(2, 118)=44 - KINDEX(1, 119)=3 - KINDEX(2, 119)=45 - KINDEX(1, 120)=4 - KINDEX(2, 120)=45 - KINDEX(1, 121)=5 - KINDEX(2, 121)=45 - KINDEX(1, 122)=3 - KINDEX(2, 122)=46 - KINDEX(1, 123)=4 - KINDEX(2, 123)=46 - KINDEX(1, 124)=5 - KINDEX(2, 124)=46 - KINDEX(1, 125)=4 - KINDEX(2, 125)=47 - KINDEX(1, 126)=5 - KINDEX(2, 126)=47 - KINDEX(1, 127)=6 - KINDEX(2, 127)=47 - KINDEX(1, 128)=4 - KINDEX(2, 128)=48 - KINDEX(1, 129)=5 - KINDEX(2, 129)=48 - KINDEX(1, 130)=6 - KINDEX(2, 130)=48 - KINDEX(1, 131)=4 - KINDEX(2, 131)=49 - KINDEX(1, 132)=5 - KINDEX(2, 132)=49 - KINDEX(1, 133)=14 - KINDEX(2, 133)=50 - KINDEX(1, 134)=15 - KINDEX(2, 134)=50 - KINDEX(1, 135)=11 - KINDEX(2, 135)=51 - KINDEX(1, 136)=12 - KINDEX(2, 136)=51 - KINDEX(1, 137)=14 - KINDEX(2, 137)=51 - KINDEX(1, 138)=15 - KINDEX(2, 138)=51 - KINDEX(1, 139)=13 - KINDEX(2, 139)=52 - KINDEX(1, 140)=14 - KINDEX(2, 140)=52 - KINDEX(1, 141)=15 - KINDEX(2, 141)=52 - KINDEX(1, 142)=13 - KINDEX(2, 142)=53 - KINDEX(1, 143)=14 - KINDEX(2, 143)=53 - KINDEX(1, 144)=15 - KINDEX(2, 144)=53 - KINDEX(1, 145)=19 - KINDEX(2, 145)=53 - KINDEX(1, 146)=20 - KINDEX(2, 146)=53 - KINDEX(1, 147)=22 - KINDEX(2, 147)=53 - KINDEX(1, 148)=25 - KINDEX(2, 148)=53 - KINDEX(1, 149)=40 - KINDEX(2, 149)=53 - KINDEX(1, 150)=23 - KINDEX(2, 150)=54 - KINDEX(1, 151)=25 - KINDEX(2, 151)=54 - KINDEX(1, 152)=14 - KINDEX(2, 152)=55 - KINDEX(1, 153)=16 - KINDEX(2, 153)=55 - KINDEX(1, 154)=31 - KINDEX(2, 154)=55 - KINDEX(1, 155)=14 - KINDEX(2, 155)=56 - KINDEX(1, 156)=17 - KINDEX(2, 156)=56 - KINDEX(1, 157)=32 - KINDEX(2, 157)=56 - KINDEX(1, 158)=13 - KINDEX(2, 158)=57 - KINDEX(1, 159)=14 - KINDEX(2, 159)=57 - KINDEX(1, 160)=15 - KINDEX(2, 160)=57 - KINDEX(1, 161)=18 - KINDEX(2, 161)=57 - KINDEX(1, 162)=22 - KINDEX(2, 162)=57 - KINDEX(1, 163)=23 - KINDEX(2, 163)=57 - KINDEX(1, 164)=24 - KINDEX(2, 164)=57 - KINDEX(1, 165)=25 - KINDEX(2, 165)=57 - KINDEX(1, 166)=32 - KINDEX(2, 166)=57 - KINDEX(1, 167)=14 - KINDEX(2, 167)=58 - KINDEX(1, 168)=19 - KINDEX(2, 168)=58 - KINDEX(1, 169)=33 - KINDEX(2, 169)=58 - KINDEX(1, 170)=34 - KINDEX(2, 170)=58 - KINDEX(1, 171)=14 - KINDEX(2, 171)=59 - KINDEX(1, 172)=20 - KINDEX(2, 172)=59 - KINDEX(1, 173)=34 - KINDEX(2, 173)=59 - KINDEX(1, 174)=14 - KINDEX(2, 174)=60 - KINDEX(1, 175)=15 - KINDEX(2, 175)=60 - KINDEX(1, 176)=21 - KINDEX(2, 176)=60 - KINDEX(1, 177)=35 - KINDEX(2, 177)=60 - KINDEX(1, 178)=36 - KINDEX(2, 178)=60 - KINDEX(1, 179)=40 - KINDEX(2, 179)=60 - KINDEX(1, 180)=13 - KINDEX(2, 180)=61 - KINDEX(1, 181)=14 - KINDEX(2, 181)=61 - KINDEX(1, 182)=15 - KINDEX(2, 182)=61 - KINDEX(1, 183)=22 - KINDEX(2, 183)=61 - KINDEX(1, 184)=14 - KINDEX(2, 184)=62 - KINDEX(1, 185)=23 - KINDEX(2, 185)=62 - KINDEX(1, 186)=38 - KINDEX(2, 186)=62 - KINDEX(1, 187)=14 - KINDEX(2, 187)=63 - KINDEX(1, 188)=24 - KINDEX(2, 188)=63 - KINDEX(1, 189)=38 - KINDEX(2, 189)=63 - KINDEX(1, 190)=13 - KINDEX(2, 190)=64 - KINDEX(1, 191)=14 - KINDEX(2, 191)=64 - KINDEX(1, 192)=15 - KINDEX(2, 192)=64 - KINDEX(1, 193)=22 - KINDEX(2, 193)=64 - KINDEX(1, 194)=23 - KINDEX(2, 194)=64 - KINDEX(1, 195)=24 - KINDEX(2, 195)=64 - KINDEX(1, 196)=25 - KINDEX(2, 196)=64 - KINDEX(1, 197)=38 - KINDEX(2, 197)=64 - KINDEX(1, 198)=40 - KINDEX(2, 198)=64 - KINDEX(1, 199)=14 - KINDEX(2, 199)=65 - KINDEX(1, 200)=22 - KINDEX(2, 200)=65 - KINDEX(1, 201)=28 - KINDEX(2, 201)=65 - KINDEX(1, 202)=31 - KINDEX(2, 202)=65 - KINDEX(1, 203)=14 - KINDEX(2, 203)=66 - KINDEX(1, 204)=15 - KINDEX(2, 204)=66 - KINDEX(1, 205)=22 - KINDEX(2, 205)=66 - KINDEX(1, 206)=23 - KINDEX(2, 206)=66 - KINDEX(1, 207)=24 - KINDEX(2, 207)=66 - KINDEX(1, 208)=29 - KINDEX(2, 208)=66 - KINDEX(1, 209)=32 - KINDEX(2, 209)=66 - KINDEX(1, 210)=38 - KINDEX(2, 210)=66 - KINDEX(1, 211)=40 - KINDEX(2, 211)=66 - KINDEX(1, 212)=5 - KINDEX(2, 212)=67 - KINDEX(1, 213)=14 - KINDEX(2, 213)=67 - KINDEX(1, 214)=15 - KINDEX(2, 214)=67 - KINDEX(1, 215)=22 - KINDEX(2, 215)=67 - KINDEX(1, 216)=25 - KINDEX(2, 216)=67 - KINDEX(1, 217)=27 - KINDEX(2, 217)=67 - KINDEX(1, 218)=40 - KINDEX(2, 218)=67 - KINDEX(1, 219)=4 - KINDEX(2, 219)=68 - KINDEX(1, 220)=14 - KINDEX(2, 220)=68 - KINDEX(1, 221)=26 - KINDEX(2, 221)=68 - KINDEX(1, 222)=32 - KINDEX(2, 222)=68 - KINDEX(1, 223)=5 - KINDEX(2, 223)=69 - KINDEX(1, 224)=8 - KINDEX(2, 224)=69 - KINDEX(1, 225)=13 - KINDEX(2, 225)=69 - KINDEX(1, 226)=15 - KINDEX(2, 226)=69 - KINDEX(1, 227)=22 - KINDEX(2, 227)=69 - KINDEX(1, 228)=5 - KINDEX(2, 228)=70 - KINDEX(1, 229)=8 - KINDEX(2, 229)=70 - KINDEX(1, 230)=23 - KINDEX(2, 230)=70 - KINDEX(1, 231)=38 - KINDEX(2, 231)=70 - KINDEX(1, 232)=4 - KINDEX(2, 232)=71 - KINDEX(1, 233)=5 - KINDEX(2, 233)=71 - KINDEX(1, 234)=8 - KINDEX(2, 234)=71 - KINDEX(1, 235)=13 - KINDEX(2, 235)=71 - KINDEX(1, 236)=15 - KINDEX(2, 236)=71 - KINDEX(1, 237)=23 - KINDEX(2, 237)=71 - KINDEX(1, 238)=24 - KINDEX(2, 238)=71 - KINDEX(1, 239)=25 - KINDEX(2, 239)=71 - KINDEX(1, 240)=38 - KINDEX(2, 240)=71 - KINDEX(1, 241)=39 - KINDEX(2, 241)=71 - KINDEX(1, 242)=40 - KINDEX(2, 242)=71 - KINDEX(1, 243)=5 - KINDEX(2, 243)=72 - KINDEX(1, 244)=8 - KINDEX(2, 244)=72 - KINDEX(1, 245)=21 - KINDEX(2, 245)=72 - KINDEX(1, 246)=35 - KINDEX(2, 246)=72 - KINDEX(1, 247)=5 - KINDEX(2, 247)=73 - KINDEX(1, 248)=19 - KINDEX(2, 248)=73 - KINDEX(1, 249)=25 - KINDEX(2, 249)=73 - KINDEX(1, 250)=39 - KINDEX(2, 250)=73 - KINDEX(1, 251)=5 - KINDEX(2, 251)=74 - KINDEX(1, 252)=20 - KINDEX(2, 252)=74 - KINDEX(1, 253)=25 - KINDEX(2, 253)=74 - KINDEX(1, 254)=39 - KINDEX(2, 254)=74 - KINDEX(1, 255)=4 - KINDEX(2, 255)=75 - KINDEX(1, 256)=5 - KINDEX(2, 256)=75 - KINDEX(1, 257)=22 - KINDEX(2, 257)=75 - KINDEX(1, 258)=26 - KINDEX(2, 258)=75 - KINDEX(1, 259)=27 - KINDEX(2, 259)=75 - KINDEX(1, 260)=40 - KINDEX(2, 260)=75 - KINDEX(1, 261)=1 - KINDEX(2, 261)=76 - KINDEX(1, 262)=2 - KINDEX(2, 262)=76 - KINDEX(1, 263)=13 - KINDEX(2, 263)=76 - KINDEX(1, 264)=14 - KINDEX(2, 264)=76 - KINDEX(1, 265)=15 - KINDEX(2, 265)=76 - KINDEX(1, 266)=16 - KINDEX(2, 266)=76 - KINDEX(1, 267)=17 - KINDEX(2, 267)=76 - KINDEX(1, 268)=19 - KINDEX(2, 268)=76 - KINDEX(1, 269)=22 - KINDEX(2, 269)=76 - KINDEX(1, 270)=23 - KINDEX(2, 270)=76 - KINDEX(1, 271)=24 - KINDEX(2, 271)=76 - KINDEX(1, 272)=25 - KINDEX(2, 272)=76 - KINDEX(1, 273)=30 - KINDEX(2, 273)=76 - KINDEX(1, 274)=31 - KINDEX(2, 274)=76 - KINDEX(1, 275)=32 - KINDEX(2, 275)=76 - KINDEX(1, 276)=38 - KINDEX(2, 276)=76 - KINDEX(1, 277)=40 - KINDEX(2, 277)=76 - KINDEX(1, 278)=1 - KINDEX(2, 278)=77 - KINDEX(1, 279)=2 - KINDEX(2, 279)=77 - KINDEX(1, 280)=13 - KINDEX(2, 280)=77 - KINDEX(1, 281)=14 - KINDEX(2, 281)=77 - KINDEX(1, 282)=15 - KINDEX(2, 282)=77 - KINDEX(1, 283)=19 - KINDEX(2, 283)=77 - KINDEX(1, 284)=20 - KINDEX(2, 284)=77 - KINDEX(1, 285)=22 - KINDEX(2, 285)=77 - KINDEX(1, 286)=23 - KINDEX(2, 286)=77 - KINDEX(1, 287)=24 - KINDEX(2, 287)=77 - KINDEX(1, 288)=25 - KINDEX(2, 288)=77 - KINDEX(1, 289)=30 - KINDEX(2, 289)=77 - KINDEX(1, 290)=31 - KINDEX(2, 290)=77 - KINDEX(1, 291)=32 - KINDEX(2, 291)=77 - KINDEX(1, 292)=38 - KINDEX(2, 292)=77 - KINDEX(1, 293)=40 - KINDEX(2, 293)=77 - KINDEX(1, 294)=1 - KINDEX(2, 294)=78 - KINDEX(1, 295)=13 - KINDEX(2, 295)=78 - KINDEX(1, 296)=14 - KINDEX(2, 296)=78 - KINDEX(1, 297)=15 - KINDEX(2, 297)=78 - KINDEX(1, 298)=22 - KINDEX(2, 298)=78 - KINDEX(1, 299)=23 - KINDEX(2, 299)=78 - KINDEX(1, 300)=25 - KINDEX(2, 300)=78 - KINDEX(1, 301)=29 - KINDEX(2, 301)=78 - KINDEX(1, 302)=30 - KINDEX(2, 302)=78 - KINDEX(1, 303)=38 - KINDEX(2, 303)=78 - KINDEX(1, 304)=1 - KINDEX(2, 304)=79 - KINDEX(1, 305)=4 - KINDEX(2, 305)=79 - KINDEX(1, 306)=13 - KINDEX(2, 306)=79 - KINDEX(1, 307)=14 - KINDEX(2, 307)=79 - KINDEX(1, 308)=15 - KINDEX(2, 308)=79 - KINDEX(1, 309)=22 - KINDEX(2, 309)=79 - KINDEX(1, 310)=27 - KINDEX(2, 310)=79 - KINDEX(1, 311)=38 - KINDEX(2, 311)=79 - KINDEX(1, 312)=4 - KINDEX(2, 312)=80 - KINDEX(1, 313)=21 - KINDEX(2, 313)=80 - KINDEX(1, 314)=26 - KINDEX(2, 314)=80 - KINDEX(1, 315)=35 - KINDEX(2, 315)=80 - KINDEX(1, 316)=15 - KINDEX(2, 316)=81 - KINDEX(1, 317)=21 - KINDEX(2, 317)=81 - KINDEX(1, 318)=35 - KINDEX(2, 318)=81 - KINDEX(1, 319)=4 - KINDEX(2, 319)=82 - KINDEX(1, 320)=7 - KINDEX(2, 320)=82 - KINDEX(1, 321)=21 - KINDEX(2, 321)=82 - KINDEX(1, 322)=36 - KINDEX(2, 322)=82 - KINDEX(1, 323)=15 - KINDEX(2, 323)=83 - KINDEX(1, 324)=21 - KINDEX(2, 324)=83 - KINDEX(1, 325)=36 - KINDEX(2, 325)=83 - KINDEX(1, 326)=37 - KINDEX(2, 326)=83 - KINDEX(1, 327)=1 - KINDEX(2, 327)=84 - KINDEX(1, 328)=14 - KINDEX(2, 328)=84 - KINDEX(1, 329)=21 - KINDEX(2, 329)=84 - KINDEX(1, 330)=36 - KINDEX(2, 330)=84 - KINDEX(1, 331)=4 - KINDEX(2, 331)=85 - KINDEX(1, 332)=27 - KINDEX(2, 332)=85 - KINDEX(1, 333)=38 - KINDEX(2, 333)=85 - KINDEX(1, 334)=4 - KINDEX(2, 334)=86 - KINDEX(1, 335)=27 - KINDEX(2, 335)=86 - KINDEX(1, 336)=38 - KINDEX(2, 336)=86 - KINDEX(1, 337)=3 - KINDEX(2, 337)=87 - KINDEX(1, 338)=4 - KINDEX(2, 338)=87 - KINDEX(1, 339)=15 - KINDEX(2, 339)=87 - KINDEX(1, 340)=22 - KINDEX(2, 340)=87 - KINDEX(1, 341)=31 - KINDEX(2, 341)=87 - KINDEX(1, 342)=3 - KINDEX(2, 342)=88 - KINDEX(1, 343)=4 - KINDEX(2, 343)=88 - KINDEX(1, 344)=15 - KINDEX(2, 344)=88 - KINDEX(1, 345)=22 - KINDEX(2, 345)=88 - KINDEX(1, 346)=23 - KINDEX(2, 346)=88 - KINDEX(1, 347)=24 - KINDEX(2, 347)=88 - KINDEX(1, 348)=25 - KINDEX(2, 348)=88 - KINDEX(1, 349)=26 - KINDEX(2, 349)=88 - KINDEX(1, 350)=31 - KINDEX(2, 350)=88 - KINDEX(1, 351)=32 - KINDEX(2, 351)=88 - KINDEX(1, 352)=40 - KINDEX(2, 352)=88 - KINDEX(1, 353)=3 - KINDEX(2, 353)=89 - KINDEX(1, 354)=4 - KINDEX(2, 354)=89 - KINDEX(1, 355)=15 - KINDEX(2, 355)=89 - KINDEX(1, 356)=22 - KINDEX(2, 356)=89 - KINDEX(1, 357)=23 - KINDEX(2, 357)=89 - KINDEX(1, 358)=24 - KINDEX(2, 358)=89 - KINDEX(1, 359)=33 - KINDEX(2, 359)=89 - KINDEX(1, 360)=3 - KINDEX(2, 360)=90 - KINDEX(1, 361)=4 - KINDEX(2, 361)=90 - KINDEX(1, 362)=15 - KINDEX(2, 362)=90 - KINDEX(1, 363)=19 - KINDEX(2, 363)=90 - KINDEX(1, 364)=22 - KINDEX(2, 364)=90 - KINDEX(1, 365)=23 - KINDEX(2, 365)=90 - KINDEX(1, 366)=24 - KINDEX(2, 366)=90 - KINDEX(1, 367)=25 - KINDEX(2, 367)=90 - KINDEX(1, 368)=26 - KINDEX(2, 368)=90 - KINDEX(1, 369)=34 - KINDEX(2, 369)=90 - KINDEX(1, 370)=3 - KINDEX(2, 370)=91 - KINDEX(1, 371)=4 - KINDEX(2, 371)=91 - KINDEX(1, 372)=15 - KINDEX(2, 372)=91 - KINDEX(1, 373)=25 - KINDEX(2, 373)=91 - KINDEX(1, 374)=26 - KINDEX(2, 374)=91 - KINDEX(1, 375)=37 - KINDEX(2, 375)=91 - KINDEX(1, 376)=3 - KINDEX(2, 376)=92 - KINDEX(1, 377)=4 - KINDEX(2, 377)=92 - KINDEX(1, 378)=15 - KINDEX(2, 378)=92 - KINDEX(1, 379)=22 - KINDEX(2, 379)=92 - KINDEX(1, 380)=23 - KINDEX(2, 380)=92 - KINDEX(1, 381)=25 - KINDEX(2, 381)=92 - KINDEX(1, 382)=31 - KINDEX(2, 382)=92 - KINDEX(1, 383)=38 - KINDEX(2, 383)=92 - KINDEX(1, 384)=40 - KINDEX(2, 384)=92 - KINDEX(1, 385)=3 - KINDEX(2, 385)=93 - KINDEX(1, 386)=4 - KINDEX(2, 386)=93 - KINDEX(1, 387)=15 - KINDEX(2, 387)=93 - KINDEX(1, 388)=22 - KINDEX(2, 388)=93 - KINDEX(1, 389)=23 - KINDEX(2, 389)=93 - KINDEX(1, 390)=24 - KINDEX(2, 390)=93 - KINDEX(1, 391)=26 - KINDEX(2, 391)=93 - KINDEX(1, 392)=39 - KINDEX(2, 392)=93 - KINDEX(1, 393)=15 - KINDEX(2, 393)=94 - KINDEX(1, 394)=28 - KINDEX(2, 394)=94 - KINDEX(1, 395)=31 - KINDEX(2, 395)=94 - KINDEX(1, 396)=15 - KINDEX(2, 396)=95 - KINDEX(1, 397)=29 - KINDEX(2, 397)=95 - KINDEX(1, 398)=32 - KINDEX(2, 398)=95 - KINDEX(1, 399)=15 - KINDEX(2, 399)=96 - KINDEX(1, 400)=29 - KINDEX(2, 400)=96 - KINDEX(1, 401)=33 - KINDEX(2, 401)=96 - KINDEX(1, 402)=15 - KINDEX(2, 402)=97 - KINDEX(1, 403)=29 - KINDEX(2, 403)=97 - KINDEX(1, 404)=34 - KINDEX(2, 404)=97 - KINDEX(1, 405)=15 - KINDEX(2, 405)=98 - KINDEX(1, 406)=29 - KINDEX(2, 406)=98 - KINDEX(1, 407)=37 - KINDEX(2, 407)=98 - KINDEX(1, 408)=1 - KINDEX(2, 408)=99 - KINDEX(1, 409)=15 - KINDEX(2, 409)=99 - KINDEX(1, 410)=29 - KINDEX(2, 410)=99 - KINDEX(1, 411)=30 - KINDEX(2, 411)=99 - KINDEX(1, 412)=38 - KINDEX(2, 412)=99 - KINDEX(1, 413)=15 - KINDEX(2, 413)=100 - KINDEX(1, 414)=26 - KINDEX(2, 414)=100 - KINDEX(1, 415)=39 - KINDEX(2, 415)=100 - KINDEX(1, 416)=15 - KINDEX(2, 416)=101 - KINDEX(1, 417)=22 - KINDEX(2, 417)=101 - KINDEX(1, 418)=31 - KINDEX(2, 418)=101 - KINDEX(1, 419)=15 - KINDEX(2, 419)=102 - KINDEX(1, 420)=22 - KINDEX(2, 420)=102 - KINDEX(1, 421)=23 - KINDEX(2, 421)=102 - KINDEX(1, 422)=24 - KINDEX(2, 422)=102 - KINDEX(1, 423)=25 - KINDEX(2, 423)=102 - KINDEX(1, 424)=31 - KINDEX(2, 424)=102 - KINDEX(1, 425)=32 - KINDEX(2, 425)=102 - KINDEX(1, 426)=40 - KINDEX(2, 426)=102 - KINDEX(1, 427)=15 - KINDEX(2, 427)=103 - KINDEX(1, 428)=22 - KINDEX(2, 428)=103 - KINDEX(1, 429)=23 - KINDEX(2, 429)=103 - KINDEX(1, 430)=24 - KINDEX(2, 430)=103 - KINDEX(1, 431)=31 - KINDEX(2, 431)=103 - KINDEX(1, 432)=33 - KINDEX(2, 432)=103 - KINDEX(1, 433)=15 - KINDEX(2, 433)=104 - KINDEX(1, 434)=19 - KINDEX(2, 434)=104 - KINDEX(1, 435)=22 - KINDEX(2, 435)=104 - KINDEX(1, 436)=23 - KINDEX(2, 436)=104 - KINDEX(1, 437)=24 - KINDEX(2, 437)=104 - KINDEX(1, 438)=25 - KINDEX(2, 438)=104 - KINDEX(1, 439)=31 - KINDEX(2, 439)=104 - KINDEX(1, 440)=34 - KINDEX(2, 440)=104 - KINDEX(1, 441)=15 - KINDEX(2, 441)=105 - KINDEX(1, 442)=22 - KINDEX(2, 442)=105 - KINDEX(1, 443)=25 - KINDEX(2, 443)=105 - KINDEX(1, 444)=31 - KINDEX(2, 444)=105 - KINDEX(1, 445)=37 - KINDEX(2, 445)=105 - KINDEX(1, 446)=15 - KINDEX(2, 446)=106 - KINDEX(1, 447)=22 - KINDEX(2, 447)=106 - KINDEX(1, 448)=23 - KINDEX(2, 448)=106 - KINDEX(1, 449)=25 - KINDEX(2, 449)=106 - KINDEX(1, 450)=30 - KINDEX(2, 450)=106 - KINDEX(1, 451)=31 - KINDEX(2, 451)=106 - KINDEX(1, 452)=38 - KINDEX(2, 452)=106 - KINDEX(1, 453)=40 - KINDEX(2, 453)=106 - KINDEX(1, 454)=4 - KINDEX(2, 454)=107 - KINDEX(1, 455)=15 - KINDEX(2, 455)=107 - KINDEX(1, 456)=22 - KINDEX(2, 456)=107 - KINDEX(1, 457)=23 - KINDEX(2, 457)=107 - KINDEX(1, 458)=24 - KINDEX(2, 458)=107 - KINDEX(1, 459)=26 - KINDEX(2, 459)=107 - KINDEX(1, 460)=31 - KINDEX(2, 460)=107 - KINDEX(1, 461)=39 - KINDEX(2, 461)=107 - KINDEX(1, 462)=15 - KINDEX(2, 462)=108 - KINDEX(1, 463)=22 - KINDEX(2, 463)=108 - KINDEX(1, 464)=23 - KINDEX(2, 464)=108 - KINDEX(1, 465)=24 - KINDEX(2, 465)=108 - KINDEX(1, 466)=25 - KINDEX(2, 466)=108 - KINDEX(1, 467)=30 - KINDEX(2, 467)=108 - KINDEX(1, 468)=31 - KINDEX(2, 468)=108 - KINDEX(1, 469)=32 - KINDEX(2, 469)=108 - KINDEX(1, 470)=38 - KINDEX(2, 470)=108 - KINDEX(1, 471)=40 - KINDEX(2, 471)=108 - KINDEX(1, 472)=15 - KINDEX(2, 472)=109 - KINDEX(1, 473)=22 - KINDEX(2, 473)=109 - KINDEX(1, 474)=23 - KINDEX(2, 474)=109 - KINDEX(1, 475)=24 - KINDEX(2, 475)=109 - KINDEX(1, 476)=30 - KINDEX(2, 476)=109 - KINDEX(1, 477)=31 - KINDEX(2, 477)=109 - KINDEX(1, 478)=33 - KINDEX(2, 478)=109 - KINDEX(1, 479)=38 - KINDEX(2, 479)=109 - KINDEX(1, 480)=15 - KINDEX(2, 480)=110 - KINDEX(1, 481)=19 - KINDEX(2, 481)=110 - KINDEX(1, 482)=22 - KINDEX(2, 482)=110 - KINDEX(1, 483)=23 - KINDEX(2, 483)=110 - KINDEX(1, 484)=24 - KINDEX(2, 484)=110 - KINDEX(1, 485)=25 - KINDEX(2, 485)=110 - KINDEX(1, 486)=30 - KINDEX(2, 486)=110 - KINDEX(1, 487)=31 - KINDEX(2, 487)=110 - KINDEX(1, 488)=34 - KINDEX(2, 488)=110 - KINDEX(1, 489)=38 - KINDEX(2, 489)=110 - KINDEX(1, 490)=15 - KINDEX(2, 490)=111 - KINDEX(1, 491)=25 - KINDEX(2, 491)=111 - KINDEX(1, 492)=31 - KINDEX(2, 492)=111 - KINDEX(1, 493)=37 - KINDEX(2, 493)=111 - KINDEX(1, 494)=38 - KINDEX(2, 494)=111 - KINDEX(1, 495)=15 - KINDEX(2, 495)=112 - KINDEX(1, 496)=22 - KINDEX(2, 496)=112 - KINDEX(1, 497)=23 - KINDEX(2, 497)=112 - KINDEX(1, 498)=24 - KINDEX(2, 498)=112 - KINDEX(1, 499)=25 - KINDEX(2, 499)=112 - KINDEX(1, 500)=30 - KINDEX(2, 500)=112 - KINDEX(1, 501)=31 - KINDEX(2, 501)=112 - KINDEX(1, 502)=38 - KINDEX(2, 502)=112 - KINDEX(1, 503)=40 - KINDEX(2, 503)=112 - KINDEX(1, 504)=4 - KINDEX(2, 504)=113 - KINDEX(1, 505)=15 - KINDEX(2, 505)=113 - KINDEX(1, 506)=22 - KINDEX(2, 506)=113 - KINDEX(1, 507)=23 - KINDEX(2, 507)=113 - KINDEX(1, 508)=24 - KINDEX(2, 508)=113 - KINDEX(1, 509)=26 - KINDEX(2, 509)=113 - KINDEX(1, 510)=30 - KINDEX(2, 510)=113 - KINDEX(1, 511)=31 - KINDEX(2, 511)=113 - KINDEX(1, 512)=38 - KINDEX(2, 512)=113 - KINDEX(1, 513)=39 - KINDEX(2, 513)=113 - KINDEX(1, 514)=15 - KINDEX(2, 514)=114 - KINDEX(1, 515)=26 - KINDEX(2, 515)=114 - KINDEX(1, 516)=39 - KINDEX(2, 516)=114 - KINDEX(1, 517)=4 - KINDEX(2, 517)=115 - KINDEX(1, 518)=15 - KINDEX(2, 518)=115 - KINDEX(1, 519)=22 - KINDEX(2, 519)=115 - KINDEX(1, 520)=23 - KINDEX(2, 520)=115 - KINDEX(1, 521)=24 - KINDEX(2, 521)=115 - KINDEX(1, 522)=26 - KINDEX(2, 522)=115 - KINDEX(1, 523)=39 - KINDEX(2, 523)=115 - KINDEX(1, 524)=4 - KINDEX(2, 524)=116 - KINDEX(1, 525)=5 - KINDEX(2, 525)=116 - KINDEX(1, 526)=15 - KINDEX(2, 526)=116 - KINDEX(1, 527)=22 - KINDEX(2, 527)=116 - KINDEX(1, 528)=31 - KINDEX(2, 528)=116 - KINDEX(1, 529)=4 - KINDEX(2, 529)=117 - KINDEX(1, 530)=5 - KINDEX(2, 530)=117 - KINDEX(1, 531)=15 - KINDEX(2, 531)=117 - KINDEX(1, 532)=22 - KINDEX(2, 532)=117 - KINDEX(1, 533)=23 - KINDEX(2, 533)=117 - KINDEX(1, 534)=24 - KINDEX(2, 534)=117 - KINDEX(1, 535)=25 - KINDEX(2, 535)=117 - KINDEX(1, 536)=31 - KINDEX(2, 536)=117 - KINDEX(1, 537)=32 - KINDEX(2, 537)=117 - KINDEX(1, 538)=40 - KINDEX(2, 538)=117 - KINDEX(1, 539)=4 - KINDEX(2, 539)=118 - KINDEX(1, 540)=5 - KINDEX(2, 540)=118 - KINDEX(1, 541)=15 - KINDEX(2, 541)=118 - KINDEX(1, 542)=22 - KINDEX(2, 542)=118 - KINDEX(1, 543)=23 - KINDEX(2, 543)=118 - KINDEX(1, 544)=24 - KINDEX(2, 544)=118 - KINDEX(1, 545)=33 - KINDEX(2, 545)=118 - KINDEX(1, 546)=4 - KINDEX(2, 546)=119 - KINDEX(1, 547)=5 - KINDEX(2, 547)=119 - KINDEX(1, 548)=15 - KINDEX(2, 548)=119 - KINDEX(1, 549)=19 - KINDEX(2, 549)=119 - KINDEX(1, 550)=22 - KINDEX(2, 550)=119 - KINDEX(1, 551)=23 - KINDEX(2, 551)=119 - KINDEX(1, 552)=24 - KINDEX(2, 552)=119 - KINDEX(1, 553)=25 - KINDEX(2, 553)=119 - KINDEX(1, 554)=34 - KINDEX(2, 554)=119 - KINDEX(1, 555)=4 - KINDEX(2, 555)=120 - KINDEX(1, 556)=5 - KINDEX(2, 556)=120 - KINDEX(1, 557)=15 - KINDEX(2, 557)=120 - KINDEX(1, 558)=25 - KINDEX(2, 558)=120 - KINDEX(1, 559)=37 - KINDEX(2, 559)=120 - KINDEX(1, 560)=4 - KINDEX(2, 560)=121 - KINDEX(1, 561)=5 - KINDEX(2, 561)=121 - KINDEX(1, 562)=15 - KINDEX(2, 562)=121 - KINDEX(1, 563)=22 - KINDEX(2, 563)=121 - KINDEX(1, 564)=23 - KINDEX(2, 564)=121 - KINDEX(1, 565)=25 - KINDEX(2, 565)=121 - KINDEX(1, 566)=31 - KINDEX(2, 566)=121 - KINDEX(1, 567)=38 - KINDEX(2, 567)=121 - KINDEX(1, 568)=40 - KINDEX(2, 568)=121 - KINDEX(1, 569)=4 - KINDEX(2, 569)=122 - KINDEX(1, 570)=5 - KINDEX(2, 570)=122 - KINDEX(1, 571)=15 - KINDEX(2, 571)=122 - KINDEX(1, 572)=22 - KINDEX(2, 572)=122 - KINDEX(1, 573)=23 - KINDEX(2, 573)=122 - KINDEX(1, 574)=24 - KINDEX(2, 574)=122 - KINDEX(1, 575)=26 - KINDEX(2, 575)=122 - KINDEX(1, 576)=39 - KINDEX(2, 576)=122 - KINDEX(1, 577)=15 - KINDEX(2, 577)=123 - KINDEX(1, 578)=29 - KINDEX(2, 578)=123 - KINDEX(1, 579)=40 - KINDEX(2, 579)=123 - KINDEX(1, 580)=15 - KINDEX(2, 580)=124 - KINDEX(1, 581)=22 - KINDEX(2, 581)=124 - KINDEX(1, 582)=31 - KINDEX(2, 582)=124 - KINDEX(1, 583)=40 - KINDEX(2, 583)=124 - KINDEX(1, 584)=31 - KINDEX(2, 584)=125 - KINDEX(1, 585)=38 - KINDEX(2, 585)=125 - KINDEX(1, 586)=40 - KINDEX(2, 586)=125 - KINDEX(1, 587)=40 - KINDEX(2, 587)=126 - KINDEX(1, 588)=3 - KINDEX(2, 588)=127 - KINDEX(1, 589)=4 - KINDEX(2, 589)=127 - KINDEX(1, 590)=40 - KINDEX(2, 590)=127 - KINDEX(1, 591)=4 - KINDEX(2, 591)=128 - KINDEX(1, 592)=5 - KINDEX(2, 592)=128 - KINDEX(1, 593)=40 - KINDEX(2, 593)=128 -IF (LHOOK) CALL DR_HOOK('CH_NONZEROTERMS',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_NONZEROTERMS diff --git a/src/arome/chem/internals/ch_orilam.F90 b/src/arome/chem/internals/ch_orilam.F90 deleted file mode 100644 index 54a333fa2074f84d007f6d5df642a710e80b8708..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_orilam.F90 +++ /dev/null @@ -1,95 +0,0 @@ -! ######spl -SUBROUTINE CH_ORILAM(PAERO, PCHEM, PM, PSIG0, PRG0, PN0, PCTOTG, PCTOTA,& - PCCTOT, PDTACT, PSEDA,& - PMU, PLAMBDA, PRHOP0, POM, PSO4RAT, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PFRAC, PMI,& - PTIME, GSCHEME, PSOLORG) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ##################################################################################### -!! -!! PURPOSE -!! ------- -!! -!! ORILAM aerosol Code -!! -!! -!! Inputs: -!! PCHEM : Chemical (gaseous and aerosol) species (in molec./cm3) -!! PSEDA : Moments -!! -!! Outputs: -!! -!! -!! -!! REFERENCE -!! --------- -!! P. Tulet, V. Crassier, F. Cousin, K. Suhre, R. Rosset, jgr -!! ORILAM, A three moment lognormal aerosol scheme for mesoscale atmospheric -!! model. -!! On-line coupling into the Meso-NH-C model and validation on the Escompte -!! campaign. -!! -!! AUTHOR -!! ------ -!! Pierre Tulet (GMEI) and Vincent Crassier (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -!! EXTERNAL -!! -------- -USE MODI_CH_AER_TRANS -USE MODI_CH_AER_DRIVER - -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -USE MODD_CH_AEROSOL -! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -REAL, INTENT(IN) :: PDTACT, PTIME -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0, POM -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCHEM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME - -REAL, DIMENSION(SIZE(PAERO,1),JPMODE) :: ZMASK -! -!------------------------------------------------------------------------------- -! transfer gas phase variables into aerosol variables -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_ORILAM',0,ZHOOK_HANDLE) -CALL CH_AER_TRANS(0, PM, PSIG0, PRG0, PN0, PRHOP0,PAERO, PCHEM, PCTOTG, PCTOTA, PCCTOT,& - PFRAC, PMI, ZMASK,GSCHEME) - -! integrate aerosol variables -CALL CH_AER_DRIVER(PM,PSIG0, PRG0, PN0, PCTOTG, PCTOTA, PCCTOT, & - PDTACT, PSEDA, PMU, PLAMBDA, PRHOP0, POM, PSO4RAT, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, ZMASK, PTIME, & - PSOLORG) -! -! transfer aerosol variables back into gas phase variables - CALL CH_AER_TRANS(1, PM, PSIG0, PRG0, PN0, PRHOP0, PAERO, PCHEM, PCTOTG, PCTOTA, PCCTOT,& - PFRAC, PMI, ZMASK,GSCHEME) -! -! -IF (LHOOK) CALL DR_HOOK('CH_ORILAM',1,ZHOOK_HANDLE) -END SUBROUTINE CH_ORILAM diff --git a/src/arome/chem/internals/ch_output.F90 b/src/arome/chem/internals/ch_output.F90 deleted file mode 100644 index 1ce6ab0f6f5487478dd489a93b27ee91d0952944..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_output.F90 +++ /dev/null @@ -1,98 +0,0 @@ -! ######spl - SUBROUTINE CH_OUTPUT(PCONC, PAERO, PMI, TPM, KMI, KVECNPT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################## -!! -!!*** *CH_OUTPUT* -!! -!! PURPOSE -!! ------- -!! save variables to disk for later visualisation -!! -!! METHOD -!! ------ -!! write all variables specified in CH_INIT_OUTPUT in the format -!! CRESULTFORMAT to unit NRESULTIO, which should have been opened -!! previously by CH_INIT_OUTPUT -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -USE MODI_CH_GET_RATES -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: NRESULTIO, XTSIMUL, CRESULTFORMAT, NVERB -USE MODD_CH_AEROSOL, ONLY: LORILAM -USE MODD_CH_M9, ONLY: NEQ, NREAC, NMETEOVARS, METEOTRANSTYPE -!! - -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -INTEGER, INTENT(IN) :: KVECNPT -REAL, DIMENSION(:,:), INTENT(IN) :: PCONC ! the chem species -REAL, DIMENSION(:,:), INTENT(IN) :: PAERO ! the chem species -REAL, DIMENSION(:,:), INTENT(IN) :: PMI ! the molecular mass -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN) :: TPM ! the meteo variables -INTEGER, INTENT(IN) :: KMI -! -!* 0.2 declaration of local variables -!! -INTEGER :: JI ! loop control -!REAL, DIMENSION(KVECNPT,NREAC) :: ZRATE ! for retrieval of reaction rates and names -REAL, DIMENSION(:,:), ALLOCATABLE :: ZRATE ! for retrieval of reaction rates and names -INTEGER :: NAERO, NMI -! -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_OUTPUT',0,ZHOOK_HANDLE) -ALLOCATE(ZRATE(KVECNPT,NREAC)) -! -!* EXECUTABLE STATEMENTS -! --------------------- -! -IF (LORILAM) THEN -NAERO=SIZE(PAERO,2) -NMI=SIZE(PMI,2) -ELSE -NAERO=0 -NMI=0 -END IF -IF (NVERB >= 5) & - PRINT *, "CH_OUTPUT: saving results to disk at XTSIMUL = ", XTSIMUL -! -! get reaction rates -CALL CH_GET_RATES(ZRATE,KMI,KVECNPT,NREAC) -! -! write all variables to file -WRITE(NRESULTIO,CRESULTFORMAT) XTSIMUL, & - (PCONC(1,JI), JI = 1, NEQ), & - (PAERO(1,JI), JI = 1, NAERO), & - (PMI(1,JI), JI = 1, NMI), & - (ZRATE(1,JI), JI = 1, NREAC), & - (TPM(1)%XMETEOVAR(JI), JI = 1, NMETEOVARS) -! -DEALLOCATE(ZRATE) -! -IF (LHOOK) CALL DR_HOOK('CH_OUTPUT',1,ZHOOK_HANDLE) -END SUBROUTINE CH_OUTPUT diff --git a/src/arome/chem/internals/ch_prodloss.F90 b/src/arome/chem/internals/ch_prodloss.F90 deleted file mode 100644 index 7e160767cb5efc73ccc23f08ad4050f7ff1a63f0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_prodloss.F90 +++ /dev/null @@ -1,709 +0,0 @@ -!OPTION! -Nfusion - SUBROUTINE CH_PRODLOSS(PTIME,PCONC,PPROD,PLOSS,KMI,KVECNPT,KEQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ################################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *MODD_CH_PRODLOSS* -!! -!! PURPOSE -!! ------- -! calculation of production and loss terms for diagnostics -!! -!!** METHOD -!! ------ -!! The terms of temporal derivative of the chemical species, -!! written as: -!! d/dt PCONC = CH_FCN = PPROD - PCONC*PLOSS, -!! are calculated for diagnostic purposes. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PPROD, PLOSS -INTEGER, INTENT(IN) :: KMI -TYPE(CCSTYPE), POINTER :: TPK -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS',0,ZHOOK_HANDLE) -TPK=>TACCS(KMI) -! /BEGIN_CODE/ - - TPK%O1D(:)=(TPK%K002(:)*PCONC(:,JP_O3))/(TPK%K020(:)*TPK%N2(:)+TPK%K021(:)*TPK%O2(:)+& - &TPK%K022(:)*TPK%H2O(:)) - - TPK%O3P(:)=(TPK%K001(:)*PCONC(:,JP_NO2)+TPK%K003(:)*PCONC(:,JP_O3)+TPK%K008(:)*PCONC(:,JP_NO3)+& - &TPK%K020(:)*TPK%O1D(:)*TPK%N2(:)+TPK%K021(:)*TPK%O1D(:)*TPK%O2(:)+& - &0.09000*TPK%K077(:)*PCONC(:,JP_BIO)*PCONC(:,JP_O3))/& - &(TPK%K018(:)*TPK%O2(:)+TPK%K019(:)*PCONC(:,JP_O3)+TPK%K029(:)*PCONC(:,JP_NO)+& - &TPK%K030(:)*PCONC(:,JP_NO2)+TPK%K031(:)*PCONC(:,JP_NO2)+TPK%K053(:)*PCONC(:,JP_BIO)+& - &TPK%K054(:)*PCONC(:,JP_CARBO)) - - -! /END_CODE/ -CALL SUB0 -CALL SUB1 -CALL SUB2 -CALL SUB3 - -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS',1,ZHOOK_HANDLE) -CONTAINS - -!OPTION! -Nfusion -SUBROUTINE SUB0 -! -!Indices 1 a 10 -! -! -!PPROD(O3) = +K018*<O3P>*<O2>+0.17307*K099*<CARBOP>*<HO2> - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB0',0,ZHOOK_HANDLE) - PPROD(:,1) = +TPK%K018(:)*TPK%O3P(:)*TPK%O2(:)+0.17307*TPK%K099(:)*PCONC(:,38)& -&*PCONC(:,15) -!PLOSS(O3) = +K002+K003+K019*<O3P>+K023*<OH>+K024*<HO2>+K042*<NO>+K043*<NO2>+K0 -!76*<ALKE>+K077*<BIO>+K078*<CARBO>+K079*<PAN>+K084*<ADD> - PLOSS(:,1) = +TPK%K002(:)+TPK%K003(:)+TPK%K019(:)*TPK%O3P(:)+TPK%K023(:)*PCONC& -&(:,14)+TPK%K024(:)*PCONC(:,15)+TPK%K042(:)*PCONC(:,3)+TPK%K043(:)*PCONC(:,4)+T& -&PK%K076(:)*PCONC(:,19)+TPK%K077(:)*PCONC(:,20)+TPK%K078(:)*PCONC(:,25)+TPK%K07& -&9(:)*PCONC(:,27)+TPK%K084(:)*PCONC(:,36) -! -!PPROD(H2O2) = +K027*<HO2>*<HO2>+K028*<HO2>*<HO2>*<H2O>+0.01833*K076*<ALKE>*<O3 -!>+0.00100*K077*<BIO>*<O3> - PPROD(:,2) = +TPK%K027(:)*PCONC(:,15)*PCONC(:,15)+TPK%K028(:)*PCONC(:,15)*PCON& -&C(:,15)*TPK%H2O(:)+0.01833*TPK%K076(:)*PCONC(:,19)*PCONC(:,1)+0.00100*TPK%K077& -&(:)*PCONC(:,20)*PCONC(:,1) -!PLOSS(H2O2) = +K009+K026*<OH> - PLOSS(:,2) = +TPK%K009(:)+TPK%K026(:)*PCONC(:,14) -! -!PPROD(NO) = +K001*<NO2>+K004*<HONO>+K007*<NO3>+K030*<O3P>*<NO2>+K046*<NO3>*<NO -!2> - PPROD(:,3) = +TPK%K001(:)*PCONC(:,4)+TPK%K004(:)*PCONC(:,7)+TPK%K007(:)*PCONC(& -&:,5)+TPK%K030(:)*TPK%O3P(:)*PCONC(:,4)+TPK%K046(:)*PCONC(:,5)*PCONC(:,4) -!PLOSS(NO) = +K029*<O3P>+K032*<OH>+K035*<HO2>+K042*<O3>+K044*<NO>*<O2>+K044*<NO -!>*<O2>+K045*<NO3>+K087*<MO2>+K088*<ALKAP>+K089*<ALKEP>+K090*<BIOP>+K091*<AROP> -!+K092*<CARBOP>+K093*<OLN>+K127*<XO2> - PLOSS(:,3) = +TPK%K029(:)*TPK%O3P(:)+TPK%K032(:)*PCONC(:,14)+TPK%K035(:)*PCONC& -&(:,15)+TPK%K042(:)*PCONC(:,1)+TPK%K044(:)*PCONC(:,3)*TPK%O2(:)+TPK%K044(:)*PCO& -&NC(:,3)*TPK%O2(:)+TPK%K045(:)*PCONC(:,5)+TPK%K087(:)*PCONC(:,31)+TPK%K088(:)*P& -&CONC(:,32)+TPK%K089(:)*PCONC(:,33)+TPK%K090(:)*PCONC(:,34)+TPK%K091(:)*PCONC(:& -&,37)+TPK%K092(:)*PCONC(:,38)+TPK%K093(:)*PCONC(:,39)+TPK%K127(:)*PCONC(:,40) -! - -!PPROD(NO2) = +K005*<HNO3>+0.65*K006*<HNO4>+K008*<NO3>+K017*<ONIT>+K029*<O3P>*< -!NO>+K034*<OH>*<NO3>+K035*<HO2>*<NO>+K037*<HNO4>+0.7*K038*<HO2>*<NO3>+K039*<OH> -!*<HONO>+K041*<OH>*<HNO4>+K042*<O3>*<NO>+K044*<NO>*<NO>*<O2>+K044*<NO>*<NO>*<O2 -!>+K045*<NO3>*<NO>+K045*<NO3>*<NO>+K046*<NO3>*<NO2>+K048*<N2O5>+K049*<NO3>*<NO3 -!>+K049*<NO3>*<NO3>+K068*<ONIT>*<OH>+0.10530*K071*<CARBO>*<NO3>+0.40*K075*<PAN> -!*<NO3>+0.70*K079*<PAN>*<O3>+K086*<PAN>+K087*<MO2>*<NO>+0.91541*K088*<ALKAP>*<N -!O>+K089*<ALKEP>*<NO>+0.84700*K090*<BIOP>*<NO>+0.95115*K091*<AROP>*<NO>+K092*<C -!ARBOP>*<NO>+1.81599*K093*<OLN>*<NO>+0.32440*K107*<OLN>*<MO2>+0.00000*K113*<OLN -!>*<CARBOP>+0.00000*K115*<OLN>*<OLN>+K116*<MO2>*<NO3>+K117*<ALKAP>*<NO3>+K118*< -!ALKEP>*<NO3>+K119*<BIOP>*<NO3>+K120*<AROP>*<NO3>+K121*<CARBOP>*<NO3>+1.74072*K -!122*<OLN>*<NO3>+K127*<XO2>*<NO>+K128*<XO2>*<NO3> - PPROD(:,4) = +TPK%K005(:)*PCONC(:,8)+0.65*TPK%K006(:)*PCONC(:,9)+TPK%K008(:)*P& -&CONC(:,5)+TPK%K017(:)*PCONC(:,26)+TPK%K029(:)*TPK%O3P(:)*PCONC(:,3)+TPK%K034(:& -&)*PCONC(:,14)*PCONC(:,5)+TPK%K035(:)*PCONC(:,15)*PCONC(:,3)+TPK%K037(:)*PCONC(& -&:,9)+0.7*TPK%K038(:)*PCONC(:,15)*PCONC(:,5)+TPK%K039(:)*PCONC(:,14)*PCONC(:,7)& -&+TPK%K041(:)*PCONC(:,14)*PCONC(:,9)+TPK%K042(:)*PCONC(:,1)*PCONC(:,3)+TPK%K044& -&(:)*PCONC(:,3)*PCONC(:,3)*TPK%O2(:)+TPK%K044(:)*PCONC(:,3)*PCONC(:,3)*TPK%O2(:& -&)+TPK%K045(:)*PCONC(:,5)*PCONC(:,3)+TPK%K045(:)*PCONC(:,5)*PCONC(:,3)+TPK%K046& -&(:)*PCONC(:,5)*PCONC(:,4)+TPK%K048(:)*PCONC(:,6)+TPK%K049(:)*PCONC(:,5)*PCONC(& -&:,5)+TPK%K049(:)*PCONC(:,5)*PCONC(:,5)+TPK%K068(:)*PCONC(:,26)*PCONC(:,14)+0.1& -&0530*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.40*TPK%K075(:)*PCONC(:,27)*PCONC(:,5& -&)+0.70*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+TPK%K086(:)*PCONC(:,27)+TPK%K087(:)*& -&PCONC(:,31)*PCONC(:,3)+0.91541*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+TPK%K089(:)*& -&PCONC(:,33)*PCONC(:,3)+0.84700*TPK%K090(:)*PCONC(:,34)*PCONC(:,3)+0.95115*TPK%& -&K091(:)*PCONC(:,37)*PCONC(:,3)+TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+1.81599*TPK%& -&K093(:)*PCONC(:,39)*PCONC(:,3)+0.32440*TPK%K107(:)*PCONC(:,39)*PCONC(:,31)+0.0& -&0000*TPK%K113(:)*PCONC(:,39)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)*PCONC& -&(:,39)+TPK%K116(:)*PCONC(:,31)*PCONC(:,5)+TPK%K117(:)*PCONC(:,32)*PCONC(:,5)+T& -&PK%K118(:)*PCONC(:,33)*PCONC(:,5)+TPK%K119(:)*PCONC(:,34)*PCONC(:,5)+TPK%K120(& -&:)*PCONC(:,37)*PCONC(:,5)+TPK%K121(:)*PCONC(:,38)*PCONC(:,5)+1.74072*TPK%K122(& -&:)*PCONC(:,39)*PCONC(:,5)+TPK%K127(:)*PCONC(:,40)*PCONC(:,3)+TPK%K128(:)*PCONC& -&(:,40)*PCONC(:,5) -!PLOSS(NO2) = +K001+K030*<O3P>+K031*<O3P>+K033*<OH>+K036*<HO2>+K043*<O3>+K046*< -!NO3>+K047*<NO3>+K080*<PHO>+K082*<ADD>+K085*<CARBOP> - PLOSS(:,4) = +TPK%K001(:)+TPK%K030(:)*TPK%O3P(:)+TPK%K031(:)*TPK%O3P(:)+TPK%K0& -&33(:)*PCONC(:,14)+TPK%K036(:)*PCONC(:,15)+TPK%K043(:)*PCONC(:,1)+TPK%K046(:)*P& -&CONC(:,5)+TPK%K047(:)*PCONC(:,5)+TPK%K080(:)*PCONC(:,35)+TPK%K082(:)*PCONC(:,3& -&6)+TPK%K085(:)*PCONC(:,38) - -! -!PPROD(NO3) = +0.35*K006*<HNO4>+K031*<O3P>*<NO2>+K040*<OH>*<HNO3>+K043*<O3>*<NO -!2>+K048*<N2O5>+0.71893*K067*<PAN>*<OH>+0.60*K075*<PAN>*<NO3> - PPROD(:,5) = +0.35*TPK%K006(:)*PCONC(:,9)+TPK%K031(:)*TPK%O3P(:)*PCONC(:,4)+TP& -&K%K040(:)*PCONC(:,14)*PCONC(:,8)+TPK%K043(:)*PCONC(:,1)*PCONC(:,4)+TPK%K048(:)& -&*PCONC(:,6)+0.71893*TPK%K067(:)*PCONC(:,27)*PCONC(:,14)+0.60*TPK%K075(:)*PCONC& -&(:,27)*PCONC(:,5) -!PLOSS(NO3) = +K007+K008+K034*<OH>+K038*<HO2>+K045*<NO>+K046*<NO2>+K047*<NO2>+K -!049*<NO3>+K049*<NO3>+K069*<HCHO>+K070*<ALD>+K071*<CARBO>+K072*<ARO>+K073*<ALKE -!>+K074*<BIO>+K075*<PAN>+K116*<MO2>+K117*<ALKAP>+K118*<ALKEP>+K119*<BIOP>+K120* -!<AROP>+K121*<CARBOP>+K122*<OLN>+K128*<XO2> - PLOSS(:,5) = +TPK%K007(:)+TPK%K008(:)+TPK%K034(:)*PCONC(:,14)+TPK%K038(:)*PCON& -&C(:,15)+TPK%K045(:)*PCONC(:,3)+TPK%K046(:)*PCONC(:,4)+TPK%K047(:)*PCONC(:,4)+T& -&PK%K049(:)*PCONC(:,5)+TPK%K049(:)*PCONC(:,5)+TPK%K069(:)*PCONC(:,22)+TPK%K070(& -&:)*PCONC(:,23)+TPK%K071(:)*PCONC(:,25)+TPK%K072(:)*PCONC(:,21)+TPK%K073(:)*PCO& -&NC(:,19)+TPK%K074(:)*PCONC(:,20)+TPK%K075(:)*PCONC(:,27)+TPK%K116(:)*PCONC(:,3& -&1)+TPK%K117(:)*PCONC(:,32)+TPK%K118(:)*PCONC(:,33)+TPK%K119(:)*PCONC(:,34)+TPK& -&%K120(:)*PCONC(:,37)+TPK%K121(:)*PCONC(:,38)+TPK%K122(:)*PCONC(:,39)+TPK%K128(& -&:)*PCONC(:,40) -! -!PPROD(N2O5) = +K047*<NO3>*<NO2> - PPROD(:,6) = +TPK%K047(:)*PCONC(:,5)*PCONC(:,4) -!PLOSS(N2O5) = +K048 - PLOSS(:,6) = +TPK%K048(:) -! -!PPROD(HONO) = +K032*<OH>*<NO>+K082*<ADD>*<NO2> - PPROD(:,7) = +TPK%K032(:)*PCONC(:,14)*PCONC(:,3)+TPK%K082(:)*PCONC(:,36)*PCONC& -&(:,4) -!PLOSS(HONO) = +K004+K039*<OH> - PLOSS(:,7) = +TPK%K004(:)+TPK%K039(:)*PCONC(:,14) -! -!PPROD(HNO3) = +K033*<OH>*<NO2>+0.3*K038*<HO2>*<NO3>+K069*<HCHO>*<NO3>+K070*<AL -!D>*<NO3>+0.91567*K071*<CARBO>*<NO3>+K072*<ARO>*<NO3> - PPROD(:,8) = +TPK%K033(:)*PCONC(:,14)*PCONC(:,4)+0.3*TPK%K038(:)*PCONC(:,15)*P& -&CONC(:,5)+TPK%K069(:)*PCONC(:,22)*PCONC(:,5)+TPK%K070(:)*PCONC(:,23)*PCONC(:,5& -&)+0.91567*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+TPK%K072(:)*PCONC(:,21)*PCONC(:,5& -&) -!PLOSS(HNO3) = +K005+K040*<OH> - PLOSS(:,8) = +TPK%K005(:)+TPK%K040(:)*PCONC(:,14) -! -!PPROD(HNO4) = +K036*<HO2>*<NO2> - PPROD(:,9) = +TPK%K036(:)*PCONC(:,15)*PCONC(:,4) -!PLOSS(HNO4) = +K006+K037+K041*<OH> - PLOSS(:,9) = +TPK%K006(:)+TPK%K037(:)+TPK%K041(:)*PCONC(:,14) -! -!PPROD(NH3) = 0.0 - PPROD(:,10) = 0.0 -!PLOSS(NH3) = 0.0 - PLOSS(:,10) = 0.0 -! -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB0',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE SUB0 -! -!OPTION! -Nfusion -SUBROUTINE SUB1 -! -!Indices 11 a 20 -! -! -!PPROD(SO2) = 0.0 - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB1',0,ZHOOK_HANDLE) - PPROD(:,11) = 0.0 -!PLOSS(SO2) = +K051*<OH> - PLOSS(:,11) = +TPK%K051(:)*PCONC(:,14) -! -!PPROD(SULF) = +K051*<OH>*<SO2> - PPROD(:,12) = +TPK%K051(:)*PCONC(:,14)*PCONC(:,11) -!PLOSS(SULF) = 0.0 - PLOSS(:,12) = 0.0 -! -!PPROD(CO) = +K010*<HCHO>+K011*<HCHO>+K012*<ALD>+0.91924*K016*<CARBO>+0.01*K053 -!*<BIO>*<O3P>+0.00878*K057*<ALKA>*<OH>+K061*<HCHO>*<OH>+1.01732*K064*<CARBO>*<O -!H>+K069*<HCHO>*<NO3>+1.33723*K071*<CARBO>*<NO3>+0.35120*K076*<ALKE>*<O3>+0.360 -!00*K077*<BIO>*<O3>+0.64728*K078*<CARBO>*<O3>+0.13*K079*<PAN>*<O3> - PPROD(:,13) = +TPK%K010(:)*PCONC(:,22)+TPK%K011(:)*PCONC(:,22)+TPK%K012(:)*PCO& -&NC(:,23)+0.91924*TPK%K016(:)*PCONC(:,25)+0.01*TPK%K053(:)*PCONC(:,20)*TPK%O3P(& -&:)+0.00878*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+TPK%K061(:)*PCONC(:,22)*PCONC(:& -&,14)+1.01732*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+TPK%K069(:)*PCONC(:,22)*PCONC& -&(:,5)+1.33723*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.35120*TPK%K076(:)*PCONC(:,1& -&9)*PCONC(:,1)+0.36000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.64728*TPK%K078(:)*P& -&CONC(:,25)*PCONC(:,1)+0.13*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) -!PLOSS(CO) = +K052*<OH> - PLOSS(:,13) = +TPK%K052(:)*PCONC(:,14) -! -!PPROD(OH) = +K004*<HONO>+K005*<HNO3>+0.35*K006*<HNO4>+K009*<H2O2>+K009*<H2O2>+ -!K013*<OP1>+K014*<OP2>+K022*<O1D>*<H2O>+K022*<O1D>*<H2O>+K024*<O3>*<HO2>+K035*< -!HO2>*<NO>+0.7*K038*<HO2>*<NO3>+0.02*K053*<BIO>*<O3P>+0.00878*K057*<ALKA>*<OH>+ -!0.35*K065*<OP1>*<OH>+0.44925*K066*<OP2>*<OH>+0.39435*K076*<ALKE>*<O3>+0.28000* -!K077*<BIO>*<O3>+0.20595*K078*<CARBO>*<O3>+0.036*K079*<PAN>*<O3>+K084*<ADD>*<O3 -!> - PPROD(:,14) = +TPK%K004(:)*PCONC(:,7)+TPK%K005(:)*PCONC(:,8)+0.35*TPK%K006(:)*& -&PCONC(:,9)+TPK%K009(:)*PCONC(:,2)+TPK%K009(:)*PCONC(:,2)+TPK%K013(:)*PCONC(:,2& -&8)+TPK%K014(:)*PCONC(:,29)+TPK%K022(:)*TPK%O1D(:)*TPK%H2O(:)+TPK%K022(:)*TPK%O& -&1D(:)*TPK%H2O(:)+TPK%K024(:)*PCONC(:,1)*PCONC(:,15)+TPK%K035(:)*PCONC(:,15)*PC& -&ONC(:,3)+0.7*TPK%K038(:)*PCONC(:,15)*PCONC(:,5)+0.02*TPK%K053(:)*PCONC(:,20)*T& -&PK%O3P(:)+0.00878*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+0.35*TPK%K065(:)*PCONC(:& -&,28)*PCONC(:,14)+0.44925*TPK%K066(:)*PCONC(:,29)*PCONC(:,14)+0.39435*TPK%K076(& -&:)*PCONC(:,19)*PCONC(:,1)+0.28000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.20595*T& -&PK%K078(:)*PCONC(:,25)*PCONC(:,1)+0.036*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+TPK& -&%K084(:)*PCONC(:,36)*PCONC(:,1) -!PLOSS(OH) = +K023*<O3>+K025*<HO2>+K026*<H2O2>+K032*<NO>+K033*<NO2>+K034*<NO3>+ -!K039*<HONO>+K040*<HNO3>+K041*<HNO4>+K050*<H2>+K051*<SO2>+K052*<CO>+K055*<CH4>+ -!K056*<ETH>+K057*<ALKA>+K058*<ALKE>+K059*<BIO>+K060*<ARO>+K061*<HCHO>+K062*<ALD -!>+K063*<KET>+K064*<CARBO>+K065*<OP1>+K066*<OP2>+K067*<PAN>+K068*<ONIT> - PLOSS(:,14) = +TPK%K023(:)*PCONC(:,1)+TPK%K025(:)*PCONC(:,15)+TPK%K026(:)*PCON& -&C(:,2)+TPK%K032(:)*PCONC(:,3)+TPK%K033(:)*PCONC(:,4)+TPK%K034(:)*PCONC(:,5)+TP& -&K%K039(:)*PCONC(:,7)+TPK%K040(:)*PCONC(:,8)+TPK%K041(:)*PCONC(:,9)+TPK%K050(:)& -&*TPK%H2(:)+TPK%K051(:)*PCONC(:,11)+TPK%K052(:)*PCONC(:,13)+TPK%K055(:)*PCONC(:& -&,16)+TPK%K056(:)*PCONC(:,17)+TPK%K057(:)*PCONC(:,18)+TPK%K058(:)*PCONC(:,19)+T& -&PK%K059(:)*PCONC(:,20)+TPK%K060(:)*PCONC(:,21)+TPK%K061(:)*PCONC(:,22)+TPK%K06& -&2(:)*PCONC(:,23)+TPK%K063(:)*PCONC(:,24)+TPK%K064(:)*PCONC(:,25)+TPK%K065(:)*P& -&CONC(:,28)+TPK%K066(:)*PCONC(:,29)+TPK%K067(:)*PCONC(:,27)+TPK%K068(:)*PCONC(:& -&,26) -! -!PPROD(HO2) = +0.65*K006*<HNO4>+K011*<HCHO>+K011*<HCHO>+K012*<ALD>+K013*<OP1>+0 -!.96205*K014*<OP2>+0.75830*K016*<CARBO>+K017*<ONIT>+K023*<O3>*<OH>+K026*<H2O2>* -!<OH>+K034*<OH>*<NO3>+K037*<HNO4>+K050*<OH>*<H2>+K051*<OH>*<SO2>+K052*<CO>*<OH> -!+0.28*K053*<BIO>*<O3P>+0.12793*K057*<ALKA>*<OH>+0.10318*K060*<ARO>*<OH>+K061*< -!HCHO>*<OH>+0.51208*K064*<CARBO>*<OH>+0.02915*K066*<OP2>*<OH>+0.28107*K067*<PAN -!>*<OH>+K069*<HCHO>*<NO3>+0.63217*K071*<CARBO>*<NO3>+0.23451*K076*<ALKE>*<O3>+0 -!.30000*K077*<BIO>*<O3>+0.28441*K078*<CARBO>*<O3>+0.08*K079*<PAN>*<O3>+0.02*K08 -!3*<ADD>*<O2>+K087*<MO2>*<NO>+0.74265*K088*<ALKAP>*<NO>+K089*<ALKEP>*<NO>+0.847 -!00*K090*<BIOP>*<NO>+0.95115*K091*<AROP>*<NO>+0.12334*K092*<CARBOP>*<NO>+0.1840 -!1*K093*<OLN>*<NO>+0.66*K101*<MO2>*<MO2>+0.98383*K102*<ALKAP>*<MO2>+K103*<ALKEP -!>*<MO2>+1.00000*K104*<BIOP>*<MO2>+1.02767*K105*<AROP>*<MO2>+0.82998*K106*<CARB -!OP>*<MO2>+0.67560*K107*<OLN>*<MO2>+0.48079*K108*<ALKAP>*<CARBOP>+0.50078*K109* -!<ALKEP>*<CARBOP>+0.50600*K110*<BIOP>*<CARBOP>+K111*<AROP>*<CARBOP>+0.07566*K11 -!2*<CARBOP>*<CARBOP>+0.17599*K113*<OLN>*<CARBOP>+K114*<OLN>*<OLN>+0.00000*K115* -!<OLN>*<OLN>+K116*<MO2>*<NO3>+0.81290*K117*<ALKAP>*<NO3>+K118*<ALKEP>*<NO3>+K11 -!9*<BIOP>*<NO3>+K120*<AROP>*<NO3>+0.04915*K121*<CARBOP>*<NO3>+0.25928*K122*<OLN -!>*<NO3>+K124*<XO2>*<MO2> - PPROD(:,15) = +0.65*TPK%K006(:)*PCONC(:,9)+TPK%K011(:)*PCONC(:,22)+TPK%K011(:)& -&*PCONC(:,22)+TPK%K012(:)*PCONC(:,23)+TPK%K013(:)*PCONC(:,28)+0.96205*TPK%K014(& -&:)*PCONC(:,29)+0.75830*TPK%K016(:)*PCONC(:,25)+TPK%K017(:)*PCONC(:,26)+TPK%K02& -&3(:)*PCONC(:,1)*PCONC(:,14)+TPK%K026(:)*PCONC(:,2)*PCONC(:,14)+TPK%K034(:)*PCO& -&NC(:,14)*PCONC(:,5)+TPK%K037(:)*PCONC(:,9)+TPK%K050(:)*PCONC(:,14)*TPK%H2(:)+T& -&PK%K051(:)*PCONC(:,14)*PCONC(:,11)+TPK%K052(:)*PCONC(:,13)*PCONC(:,14)+0.28*TP& -&K%K053(:)*PCONC(:,20)*TPK%O3P(:)+0.12793*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+0& -&.10318*TPK%K060(:)*PCONC(:,21)*PCONC(:,14)+TPK%K061(:)*PCONC(:,22)*PCONC(:,14)& -&+0.51208*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.02915*TPK%K066(:)*PCONC(:,29)*P& -&CONC(:,14)+0.28107*TPK%K067(:)*PCONC(:,27)*PCONC(:,14)+TPK%K069(:)*PCONC(:,22)& -&*PCONC(:,5)+0.63217*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.23451*TPK%K076(:)*PCO& -&NC(:,19)*PCONC(:,1)+0.30000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.28441*TPK%K07& -&8(:)*PCONC(:,25)*PCONC(:,1)+0.08*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+0.02*TPK%K& -&083(:)*PCONC(:,36)*TPK%O2(:)+TPK%K087(:)*PCONC(:,31)*PCONC(:,3)+0.74265*TPK%K0& -&88(:)*PCONC(:,32)*PCONC(:,3)+TPK%K089(:)*PCONC(:,33)*PCONC(:,3)+0.84700*TPK%K0& -&90(:)*PCONC(:,34)*PCONC(:,3)+0.95115*TPK%K091(:)*PCONC(:,37)*PCONC(:,3)+0.1233& -&4*TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+0.18401*TPK%K093(:)*PCONC(:,39)*PCONC(:,3& -&)+0.66*TPK%K101(:)*PCONC(:,31)*PCONC(:,31)+0.98383*TPK%K102(:)*PCONC(:,32)*PCO& -&NC(:,31)+TPK%K103(:)*PCONC(:,33)*PCONC(:,31)+1.00000*TPK%K104(:)*PCONC(:,34)*P& -&CONC(:,31)+1.02767*TPK%K105(:)*PCONC(:,37)*PCONC(:,31)+0.82998*TPK%K106(:)*PCO& -&NC(:,38)*PCONC(:,31)+0.67560*TPK%K107(:)*PCONC(:,39)*PCONC(:,31)+0.48079*TPK%K& -&108(:)*PCONC(:,32)*PCONC(:,38)+0.50078*TPK%K109(:)*PCONC(:,33)*PCONC(:,38)+0.5& -&0600*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+TPK%K111(:)*PCONC(:,37)*PCONC(:,38)+0& -&.07566*TPK%K112(:)*PCONC(:,38)*PCONC(:,38)+0.17599*TPK%K113(:)*PCONC(:,39)*PCO& -&NC(:,38)+TPK%K114(:)*PCONC(:,39)*PCONC(:,39)+0.00000*TPK%K115(:)*PCONC(:,39)*P& -&CONC(:,39)+TPK%K116(:)*PCONC(:,31)*PCONC(:,5)+0.81290*TPK%K117(:)*PCONC(:,32)*& -&PCONC(:,5)+TPK%K118(:)*PCONC(:,33)*PCONC(:,5)+TPK%K119(:)*PCONC(:,34)*PCONC(:,& -&5)+TPK%K120(:)*PCONC(:,37)*PCONC(:,5)+0.04915*TPK%K121(:)*PCONC(:,38)*PCONC(:,& -&5)+0.25928*TPK%K122(:)*PCONC(:,39)*PCONC(:,5)+TPK%K124(:)*PCONC(:,40)*PCONC(:,& -&31) -!PLOSS(HO2) = +K024*<O3>+K025*<OH>+K027*<HO2>+K027*<HO2>+K028*<HO2>*<H2O>+K028* -!<HO2>*<H2O>+K035*<NO>+K036*<NO2>+K038*<NO3>+K081*<PHO>+K094*<MO2>+K095*<ALKAP> -!+K096*<ALKEP>+K097*<BIOP>+K098*<AROP>+K099*<CARBOP>+K100*<OLN>+K123*<XO2> - PLOSS(:,15) = +TPK%K024(:)*PCONC(:,1)+TPK%K025(:)*PCONC(:,14)+TPK%K027(:)*PCON& -&C(:,15)+TPK%K027(:)*PCONC(:,15)+TPK%K028(:)*PCONC(:,15)*TPK%H2O(:)+TPK%K028(:)& -&*PCONC(:,15)*TPK%H2O(:)+TPK%K035(:)*PCONC(:,3)+TPK%K036(:)*PCONC(:,4)+TPK%K038& -&(:)*PCONC(:,5)+TPK%K081(:)*PCONC(:,35)+TPK%K094(:)*PCONC(:,31)+TPK%K095(:)*PCO& -&NC(:,32)+TPK%K096(:)*PCONC(:,33)+TPK%K097(:)*PCONC(:,34)+TPK%K098(:)*PCONC(:,3& -&7)+TPK%K099(:)*PCONC(:,38)+TPK%K100(:)*PCONC(:,39)+TPK%K123(:)*PCONC(:,40) -! -!PPROD(CH4) = +0.04300*K076*<ALKE>*<O3> - PPROD(:,16) = +0.04300*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) -!PLOSS(CH4) = +K055*<OH> - PLOSS(:,16) = +TPK%K055(:)*PCONC(:,14) -! -!PPROD(ETH) = +0.03196*K076*<ALKE>*<O3> - PPROD(:,17) = +0.03196*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) -!PLOSS(ETH) = +K056*<OH> - PLOSS(:,17) = +TPK%K056(:)*PCONC(:,14) -! -!PPROD(ALKA) = 0.0 - PPROD(:,18) = 0.0 -!PLOSS(ALKA) = +K057*<OH> - PLOSS(:,18) = +TPK%K057(:)*PCONC(:,14) -! -!PPROD(ALKE) = +0.91868*K053*<BIO>*<O3P>+0.00000*K076*<ALKE>*<O3>+0.37388*K077* -!<BIO>*<O3>+0.37815*K090*<BIOP>*<NO>+0.48074*K104*<BIOP>*<MO2>+0.24463*K110*<BI -!OP>*<CARBOP>+0.42729*K119*<BIOP>*<NO3> - PPROD(:,19) = +0.91868*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:)+0.00000*TPK%K076(:)*& -&PCONC(:,19)*PCONC(:,1)+0.37388*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.37815*TPK%& -&K090(:)*PCONC(:,34)*PCONC(:,3)+0.48074*TPK%K104(:)*PCONC(:,34)*PCONC(:,31)+0.2& -&4463*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+0.42729*TPK%K119(:)*PCONC(:,34)*PCONC& -&(:,5) -!PLOSS(ALKE) = +K058*<OH>+K073*<NO3>+K076*<O3> - PLOSS(:,19) = +TPK%K058(:)*PCONC(:,14)+TPK%K073(:)*PCONC(:,5)+TPK%K076(:)*PCON& -&C(:,1) -! -!PPROD(BIO) = 0.0 - PPROD(:,20) = 0.0 -!PLOSS(BIO) = +K053*<O3P>+K059*<OH>+K074*<NO3>+K077*<O3> - PLOSS(:,20) = +TPK%K053(:)*TPK%O3P(:)+TPK%K059(:)*PCONC(:,14)+TPK%K074(:)*PCON& -&C(:,5)+TPK%K077(:)*PCONC(:,1) -! -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB1',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE SUB1 -! -!OPTION! -Nfusion -SUBROUTINE SUB2 -! -!Indices 21 a 30 -! -! -!PPROD(ARO) = +0.10670*K080*<PHO>*<NO2>+1.06698*K081*<PHO>*<HO2>+K082*<ADD>*<NO -!2>+0.02*K083*<ADD>*<O2>+K084*<ADD>*<O3> - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB2',0,ZHOOK_HANDLE) - PPROD(:,21) = +0.10670*TPK%K080(:)*PCONC(:,35)*PCONC(:,4)+1.06698*TPK%K081(:)*& -&PCONC(:,35)*PCONC(:,15)+TPK%K082(:)*PCONC(:,36)*PCONC(:,4)+0.02*TPK%K083(:)*PC& -&ONC(:,36)*TPK%O2(:)+TPK%K084(:)*PCONC(:,36)*PCONC(:,1) -!PLOSS(ARO) = +K060*<OH>+K072*<NO3> - PLOSS(:,21) = +TPK%K060(:)*PCONC(:,14)+TPK%K072(:)*PCONC(:,5) -! -!PPROD(HCHO) = +K013*<OP1>+0.06517*K016*<CARBO>+0.05*K053*<BIO>*<O3P>+0.00140*K -!057*<ALKA>*<OH>+0.00000*K064*<CARBO>*<OH>+0.35*K065*<OP1>*<OH>+0.02915*K066*<O -!P2>*<OH>+0.57839*K067*<PAN>*<OH>+0.40*K075*<PAN>*<NO3>+0.48290*K076*<ALKE>*<O3 -!>+0.90000*K077*<BIO>*<O3>+0.00000*K078*<CARBO>*<O3>+0.70*K079*<PAN>*<O3>+K087* -!<MO2>*<NO>+0.03002*K088*<ALKAP>*<NO>+1.39870*K089*<ALKEP>*<NO>+0.60600*K090*<B -!IOP>*<NO>+0.05848*K092*<CARBOP>*<NO>+0.23419*K093*<OLN>*<NO>+1.33*K101*<MO2>*< -!MO2>+0.80556*K102*<ALKAP>*<MO2>+1.42894*K103*<ALKEP>*<MO2>+1.09000*K104*<BIOP> -!*<MO2>+K105*<AROP>*<MO2>+0.95723*K106*<CARBOP>*<MO2>+0.88625*K107*<OLN>*<MO2>+ -!0.07600*K108*<ALKAP>*<CARBOP>+0.68192*K109*<ALKEP>*<CARBOP>+0.34000*K110*<BIOP -!>*<CARBOP>+0.03432*K112*<CARBOP>*<CARBOP>+0.13414*K113*<OLN>*<CARBOP>+0.00000* -!K115*<OLN>*<OLN>+K116*<MO2>*<NO3>+0.03142*K117*<ALKAP>*<NO3>+1.40909*K118*<ALK -!EP>*<NO3>+0.68600*K119*<BIOP>*<NO3>+0.03175*K121*<CARBOP>*<NO3>+0.20740*K122*< -!OLN>*<NO3>+K124*<XO2>*<MO2> - PPROD(:,22) = +TPK%K013(:)*PCONC(:,28)+0.06517*TPK%K016(:)*PCONC(:,25)+0.05*TP& -&K%K053(:)*PCONC(:,20)*TPK%O3P(:)+0.00140*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+0& -&.00000*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.35*TPK%K065(:)*PCONC(:,28)*PCONC(& -&:,14)+0.02915*TPK%K066(:)*PCONC(:,29)*PCONC(:,14)+0.57839*TPK%K067(:)*PCONC(:,& -&27)*PCONC(:,14)+0.40*TPK%K075(:)*PCONC(:,27)*PCONC(:,5)+0.48290*TPK%K076(:)*PC& -&ONC(:,19)*PCONC(:,1)+0.90000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.00000*TPK%K0& -&78(:)*PCONC(:,25)*PCONC(:,1)+0.70*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+TPK%K087(& -&:)*PCONC(:,31)*PCONC(:,3)+0.03002*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+1.39870*T& -&PK%K089(:)*PCONC(:,33)*PCONC(:,3)+0.60600*TPK%K090(:)*PCONC(:,34)*PCONC(:,3)+0& -&.05848*TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+0.23419*TPK%K093(:)*PCONC(:,39)*PCON& -&C(:,3)+1.33*TPK%K101(:)*PCONC(:,31)*PCONC(:,31)+0.80556*TPK%K102(:)*PCONC(:,32& -&)*PCONC(:,31)+1.42894*TPK%K103(:)*PCONC(:,33)*PCONC(:,31)+1.09000*TPK%K104(:)*& -&PCONC(:,34)*PCONC(:,31)+TPK%K105(:)*PCONC(:,37)*PCONC(:,31)+0.95723*TPK%K106(:& -&)*PCONC(:,38)*PCONC(:,31)+0.88625*TPK%K107(:)*PCONC(:,39)*PCONC(:,31)+0.07600*& -&TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.68192*TPK%K109(:)*PCONC(:,33)*PCONC(:,38& -&)+0.34000*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+0.03432*TPK%K112(:)*PCONC(:,38)*& -&PCONC(:,38)+0.13414*TPK%K113(:)*PCONC(:,39)*PCONC(:,38)+0.00000*TPK%K115(:)*PC& -&ONC(:,39)*PCONC(:,39)+TPK%K116(:)*PCONC(:,31)*PCONC(:,5)+0.03142*TPK%K117(:)*P& -&CONC(:,32)*PCONC(:,5)+1.40909*TPK%K118(:)*PCONC(:,33)*PCONC(:,5)+0.68600*TPK%K& -&119(:)*PCONC(:,34)*PCONC(:,5)+0.03175*TPK%K121(:)*PCONC(:,38)*PCONC(:,5)+0.207& -&40*TPK%K122(:)*PCONC(:,39)*PCONC(:,5)+TPK%K124(:)*PCONC(:,40)*PCONC(:,31) -!PLOSS(HCHO) = +K010+K011+K061*<OH>+K069*<NO3> - PLOSS(:,22) = +TPK%K010(:)+TPK%K011(:)+TPK%K061(:)*PCONC(:,14)+TPK%K069(:)*PCO& -&NC(:,5) -! -!PPROD(ALD) = +0.96205*K014*<OP2>+0.20*K017*<ONIT>+K054*<CARBO>*<O3P>+0.08173*K -!057*<ALKA>*<OH>+0.06253*K064*<CARBO>*<OH>+0.07335*K066*<OP2>*<OH>+0.05265*K071 -!*<CARBO>*<NO3>+0.51468*K076*<ALKE>*<O3>+0.00000*K077*<BIO>*<O3>+0.15692*K078*< -!CARBO>*<O3>+0.33144*K088*<ALKAP>*<NO>+0.42125*K089*<ALKEP>*<NO>+0.00000*K090*< -!BIOP>*<NO>+0.07368*K092*<CARBOP>*<NO>+1.01182*K093*<OLN>*<NO>+0.56070*K102*<AL -!KAP>*<MO2>+0.46413*K103*<ALKEP>*<MO2>+0.00000*K104*<BIOP>*<MO2>+0.08295*K106*< -!CARBOP>*<MO2>+0.41524*K107*<OLN>*<MO2>+0.71461*K108*<ALKAP>*<CARBOP>+0.68374*K -!109*<ALKEP>*<CARBOP>+0.00000*K110*<BIOP>*<CARBOP>+0.06969*K112*<CARBOP>*<CARBO -!P>+0.42122*K113*<OLN>*<CARBOP>+0.00000*K115*<OLN>*<OLN>+0.33743*K117*<ALKAP>*< -!NO3>+0.43039*K118*<ALKEP>*<NO3>+0.00000*K119*<BIOP>*<NO3>+0.02936*K121*<CARBOP -!>*<NO3>+0.91850*K122*<OLN>*<NO3> - PPROD(:,23) = +0.96205*TPK%K014(:)*PCONC(:,29)+0.20*TPK%K017(:)*PCONC(:,26)+TP& -&K%K054(:)*PCONC(:,25)*TPK%O3P(:)+0.08173*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+0& -&.06253*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.07335*TPK%K066(:)*PCONC(:,29)*PCO& -&NC(:,14)+0.05265*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.51468*TPK%K076(:)*PCONC(& -&:,19)*PCONC(:,1)+0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.15692*TPK%K078(:& -&)*PCONC(:,25)*PCONC(:,1)+0.33144*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+0.42125*TP& -&K%K089(:)*PCONC(:,33)*PCONC(:,3)+0.00000*TPK%K090(:)*PCONC(:,34)*PCONC(:,3)+0.& -&07368*TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+1.01182*TPK%K093(:)*PCONC(:,39)*PCONC& -&(:,3)+0.56070*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.46413*TPK%K103(:)*PCONC(:,& -&33)*PCONC(:,31)+0.00000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31)+0.08295*TPK%K106(:& -&)*PCONC(:,38)*PCONC(:,31)+0.41524*TPK%K107(:)*PCONC(:,39)*PCONC(:,31)+0.71461*& -&TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.68374*TPK%K109(:)*PCONC(:,33)*PCONC(:,38& -&)+0.00000*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+0.06969*TPK%K112(:)*PCONC(:,38)*& -&PCONC(:,38)+0.42122*TPK%K113(:)*PCONC(:,39)*PCONC(:,38)+0.00000*TPK%K115(:)*PC& -&ONC(:,39)*PCONC(:,39)+0.33743*TPK%K117(:)*PCONC(:,32)*PCONC(:,5)+0.43039*TPK%K& -&118(:)*PCONC(:,33)*PCONC(:,5)+0.00000*TPK%K119(:)*PCONC(:,34)*PCONC(:,5)+0.029& -&36*TPK%K121(:)*PCONC(:,38)*PCONC(:,5)+0.91850*TPK%K122(:)*PCONC(:,39)*PCONC(:,& -&5) -!PLOSS(ALD) = +K012+K062*<OH>+K070*<NO3> - PLOSS(:,23) = +TPK%K012(:)+TPK%K062(:)*PCONC(:,14)+TPK%K070(:)*PCONC(:,5) -! -!PPROD(KET) = +0.80*K017*<ONIT>+0.03498*K057*<ALKA>*<OH>+0.00853*K064*<CARBO>*< -!OH>+0.37591*K066*<OP2>*<OH>+0.00632*K071*<CARBO>*<NO3>+0.07377*K076*<ALKE>*<O3 -!>+0.00000*K077*<BIO>*<O3>+0.54531*K088*<ALKAP>*<NO>+0.05220*K089*<ALKEP>*<NO>+ -!0.00000*K090*<BIOP>*<NO>+0.37862*K093*<OLN>*<NO>+0.09673*K102*<ALKAP>*<MO2>+0. -!03814*K103*<ALKEP>*<MO2>+0.00000*K104*<BIOP>*<MO2>+0.09667*K107*<OLN>*<MO2>+0. -!18819*K108*<ALKAP>*<CARBOP>+0.06579*K109*<ALKEP>*<CARBOP>+0.00000*K110*<BIOP>* -!<CARBOP>+0.02190*K112*<CARBOP>*<CARBOP>+0.10822*K113*<OLN>*<CARBOP>+0.00000*K1 -!15*<OLN>*<OLN>+0.62978*K117*<ALKAP>*<NO3>+0.02051*K118*<ALKEP>*<NO3>+0.00000*K -!119*<BIOP>*<NO3>+0.34740*K122*<OLN>*<NO3> - PPROD(:,24) = +0.80*TPK%K017(:)*PCONC(:,26)+0.03498*TPK%K057(:)*PCONC(:,18)*PC& -&ONC(:,14)+0.00853*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.37591*TPK%K066(:)*PCON& -&C(:,29)*PCONC(:,14)+0.00632*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.07377*TPK%K07& -&6(:)*PCONC(:,19)*PCONC(:,1)+0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.54531& -&*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+0.05220*TPK%K089(:)*PCONC(:,33)*PCONC(:,3)& -&+0.00000*TPK%K090(:)*PCONC(:,34)*PCONC(:,3)+0.37862*TPK%K093(:)*PCONC(:,39)*PC& -&ONC(:,3)+0.09673*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.03814*TPK%K103(:)*PCONC& -&(:,33)*PCONC(:,31)+0.00000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31)+0.09667*TPK%K10& -&7(:)*PCONC(:,39)*PCONC(:,31)+0.18819*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.065& -&79*TPK%K109(:)*PCONC(:,33)*PCONC(:,38)+0.00000*TPK%K110(:)*PCONC(:,34)*PCONC(:& -&,38)+0.02190*TPK%K112(:)*PCONC(:,38)*PCONC(:,38)+0.10822*TPK%K113(:)*PCONC(:,3& -&9)*PCONC(:,38)+0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39)+0.62978*TPK%K117(:)& -&*PCONC(:,32)*PCONC(:,5)+0.02051*TPK%K118(:)*PCONC(:,33)*PCONC(:,5)+0.00000*TPK& -&%K119(:)*PCONC(:,34)*PCONC(:,5)+0.34740*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) -!PLOSS(KET) = +K015+K063*<OH> - PLOSS(:,24) = +TPK%K015(:)+TPK%K063(:)*PCONC(:,14) -! -!PPROD(CARBO) = +0.13255*K053*<BIO>*<O3P>+0.00835*K057*<ALKA>*<OH>+0.16919*K064 -!*<CARBO>*<OH>+0.21863*K067*<PAN>*<OH>+0.10530*K071*<CARBO>*<NO3>+0.00000*K073* -!<ALKE>*<NO3>+0.91741*K074*<BIO>*<NO3>+0.00000*K076*<ALKE>*<O3>+0.39754*K077*<B -!IO>*<O3>+1.07583*K078*<CARBO>*<O3>+0.03407*K088*<ALKAP>*<NO>+0.45463*K090*<BIO -!P>*<NO>+2.06993*K091*<AROP>*<NO>+0.08670*K092*<CARBOP>*<NO>+0.07976*K102*<ALKA -!P>*<MO2>+0.56064*K104*<BIOP>*<MO2>+1.99461*K105*<AROP>*<MO2>+0.15387*K106*<CAR -!BOP>*<MO2>+0.06954*K108*<ALKAP>*<CARBOP>+0.78591*K110*<BIOP>*<CARBOP>+1.99455* -!K111*<AROP>*<CARBOP>+0.10777*K112*<CARBOP>*<CARBOP>+0.03531*K117*<ALKAP>*<NO3> -!+0.61160*K119*<BIOP>*<NO3>+2.81904*K120*<AROP>*<NO3>+0.03455*K121*<CARBOP>*<NO -!3> - PPROD(:,25) = +0.13255*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:)+0.00835*TPK%K057(:)*& -&PCONC(:,18)*PCONC(:,14)+0.16919*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.21863*TP& -&K%K067(:)*PCONC(:,27)*PCONC(:,14)+0.10530*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0& -&.00000*TPK%K073(:)*PCONC(:,19)*PCONC(:,5)+0.91741*TPK%K074(:)*PCONC(:,20)*PCON& -&C(:,5)+0.00000*TPK%K076(:)*PCONC(:,19)*PCONC(:,1)+0.39754*TPK%K077(:)*PCONC(:,& -&20)*PCONC(:,1)+1.07583*TPK%K078(:)*PCONC(:,25)*PCONC(:,1)+0.03407*TPK%K088(:)*& -&PCONC(:,32)*PCONC(:,3)+0.45463*TPK%K090(:)*PCONC(:,34)*PCONC(:,3)+2.06993*TPK%& -&K091(:)*PCONC(:,37)*PCONC(:,3)+0.08670*TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+0.07& -&976*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.56064*TPK%K104(:)*PCONC(:,34)*PCONC(& -&:,31)+1.99461*TPK%K105(:)*PCONC(:,37)*PCONC(:,31)+0.15387*TPK%K106(:)*PCONC(:,& -&38)*PCONC(:,31)+0.06954*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.78591*TPK%K110(:& -&)*PCONC(:,34)*PCONC(:,38)+1.99455*TPK%K111(:)*PCONC(:,37)*PCONC(:,38)+0.10777*& -&TPK%K112(:)*PCONC(:,38)*PCONC(:,38)+0.03531*TPK%K117(:)*PCONC(:,32)*PCONC(:,5)& -&+0.61160*TPK%K119(:)*PCONC(:,34)*PCONC(:,5)+2.81904*TPK%K120(:)*PCONC(:,37)*PC& -&ONC(:,5)+0.03455*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) -!PLOSS(CARBO) = +K016+K054*<O3P>+K064*<OH>+K071*<NO3>+K078*<O3> - PLOSS(:,25) = +TPK%K016(:)+TPK%K054(:)*TPK%O3P(:)+TPK%K064(:)*PCONC(:,14)+TPK%& -&K071(:)*PCONC(:,5)+TPK%K078(:)*PCONC(:,1) -! -!PPROD(ONIT) = +0.60*K075*<PAN>*<NO3>+K080*<PHO>*<NO2>+0.08459*K088*<ALKAP>*<NO -!>+0.15300*K090*<BIOP>*<NO>+0.04885*K091*<AROP>*<NO>+0.18401*K093*<OLN>*<NO>+K1 -!00*<OLN>*<HO2>+0.67560*K107*<OLN>*<MO2>+0.66562*K113*<OLN>*<CARBOP>+2.00*K114* -!<OLN>*<OLN>+0.00000*K115*<OLN>*<OLN>+0.25928*K122*<OLN>*<NO3> - PPROD(:,26) = +0.60*TPK%K075(:)*PCONC(:,27)*PCONC(:,5)+TPK%K080(:)*PCONC(:,35)& -&*PCONC(:,4)+0.08459*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+0.15300*TPK%K090(:)*PCO& -&NC(:,34)*PCONC(:,3)+0.04885*TPK%K091(:)*PCONC(:,37)*PCONC(:,3)+0.18401*TPK%K09& -&3(:)*PCONC(:,39)*PCONC(:,3)+TPK%K100(:)*PCONC(:,39)*PCONC(:,15)+0.67560*TPK%K1& -&07(:)*PCONC(:,39)*PCONC(:,31)+0.66562*TPK%K113(:)*PCONC(:,39)*PCONC(:,38)+2.00& -&*TPK%K114(:)*PCONC(:,39)*PCONC(:,39)+0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,3& -&9)+0.25928*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) -!PLOSS(ONIT) = +K017+K068*<OH> - PLOSS(:,26) = +TPK%K017(:)+TPK%K068(:)*PCONC(:,14) -! -!PPROD(PAN) = +0.28107*K067*<PAN>*<OH>+0.40000*K075*<PAN>*<NO3>+0.30000*K079*<P -!AN>*<O3>+1.00000*K085*<CARBOP>*<NO2> - PPROD(:,27) = +0.28107*TPK%K067(:)*PCONC(:,27)*PCONC(:,14)+0.40000*TPK%K075(:)& -&*PCONC(:,27)*PCONC(:,5)+0.30000*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+1.00000*TPK& -&%K085(:)*PCONC(:,38)*PCONC(:,4) -!PLOSS(PAN) = +K067*<OH>+K075*<NO3>+K079*<O3>+K086 - PLOSS(:,27) = +TPK%K067(:)*PCONC(:,14)+TPK%K075(:)*PCONC(:,5)+TPK%K079(:)*PCON& -&C(:,1)+TPK%K086(:) -! -!PPROD(OP1) = +K094*<MO2>*<HO2> - PPROD(:,28) = +TPK%K094(:)*PCONC(:,31)*PCONC(:,15) -!PLOSS(OP1) = +K013+K065*<OH> - PLOSS(:,28) = +TPK%K013(:)+TPK%K065(:)*PCONC(:,14) -! -!PPROD(OP2) = +0.10149*K078*<CARBO>*<O3>+1.00524*K095*<ALKAP>*<HO2>+1.00524*K09 -!6*<ALKEP>*<HO2>+1.00524*K097*<BIOP>*<HO2>+1.00524*K098*<AROP>*<HO2>+0.80904*K0 -!99*<CARBOP>*<HO2>+1.00524*K123*<XO2>*<HO2> - PPROD(:,29) = +0.10149*TPK%K078(:)*PCONC(:,25)*PCONC(:,1)+1.00524*TPK%K095(:)*& -&PCONC(:,32)*PCONC(:,15)+1.00524*TPK%K096(:)*PCONC(:,33)*PCONC(:,15)+1.00524*TP& -&K%K097(:)*PCONC(:,34)*PCONC(:,15)+1.00524*TPK%K098(:)*PCONC(:,37)*PCONC(:,15)+& -&0.80904*TPK%K099(:)*PCONC(:,38)*PCONC(:,15)+1.00524*TPK%K123(:)*PCONC(:,40)*PC& -&ONC(:,15) -!PLOSS(OP2) = +K014+K066*<OH> - PLOSS(:,29) = +TPK%K014(:)+TPK%K066(:)*PCONC(:,14) -! -!PPROD(ORA2) = +0.08143*K076*<ALKE>*<O3>+0.00000*K077*<BIO>*<O3>+0.20595*K078*< -!CARBO>*<O3>+0.17307*K099*<CARBOP>*<HO2>+0.13684*K106*<CARBOP>*<MO2>+0.49810*K1 -!08*<ALKAP>*<CARBOP>+0.49922*K109*<ALKEP>*<CARBOP>+0.49400*K110*<BIOP>*<CARBOP> -!+0.09955*K112*<CARBOP>*<CARBOP>+0.48963*K113*<OLN>*<CARBOP> - PPROD(:,30) = +0.08143*TPK%K076(:)*PCONC(:,19)*PCONC(:,1)+0.00000*TPK%K077(:)*& -&PCONC(:,20)*PCONC(:,1)+0.20595*TPK%K078(:)*PCONC(:,25)*PCONC(:,1)+0.17307*TPK%& -&K099(:)*PCONC(:,38)*PCONC(:,15)+0.13684*TPK%K106(:)*PCONC(:,38)*PCONC(:,31)+0.& -&49810*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.49922*TPK%K109(:)*PCONC(:,33)*PCON& -&C(:,38)+0.49400*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+0.09955*TPK%K112(:)*PCONC(& -&:,38)*PCONC(:,38)+0.48963*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) -!PLOSS(ORA2) = 0.0 - PLOSS(:,30) = 0.0 -! -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB2',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE SUB2 -! -!OPTION! -Nfusion -SUBROUTINE SUB3 -! -!Indices 31 a 40 -! -! -!PPROD(MO2) = +K012*<ALD>+0.03795*K014*<OP2>+K055*<CH4>*<OH>+0.65*K065*<OP1>*<O -!H>+0.13966*K076*<ALKE>*<O3>+0.03000*K077*<BIO>*<O3>+0.09016*K088*<ALKAP>*<NO>+ -!0.78134*K092*<CARBOP>*<NO>+0.01390*K102*<ALKAP>*<MO2>+0.56031*K106*<CARBOP>*<M -!O2>+0.51480*K108*<ALKAP>*<CARBOP>+0.50078*K109*<ALKEP>*<CARBOP>+0.50600*K110*< -!BIOP>*<CARBOP>+K111*<AROP>*<CARBOP>+1.66702*K112*<CARBOP>*<CARBOP>+0.51037*K11 -!3*<OLN>*<CARBOP>+0.09731*K117*<ALKAP>*<NO3>+0.91910*K121*<CARBOP>*<NO3>+K125*< -!XO2>*<CARBOP> - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB3',0,ZHOOK_HANDLE) - PPROD(:,31) = +TPK%K012(:)*PCONC(:,23)+0.03795*TPK%K014(:)*PCONC(:,29)+TPK%K05& -&5(:)*PCONC(:,16)*PCONC(:,14)+0.65*TPK%K065(:)*PCONC(:,28)*PCONC(:,14)+0.13966*& -&TPK%K076(:)*PCONC(:,19)*PCONC(:,1)+0.03000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+& -&0.09016*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+0.78134*TPK%K092(:)*PCONC(:,38)*PCO& -&NC(:,3)+0.01390*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.56031*TPK%K106(:)*PCONC(& -&:,38)*PCONC(:,31)+0.51480*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.50078*TPK%K109& -&(:)*PCONC(:,33)*PCONC(:,38)+0.50600*TPK%K110(:)*PCONC(:,34)*PCONC(:,38)+TPK%K1& -&11(:)*PCONC(:,37)*PCONC(:,38)+1.66702*TPK%K112(:)*PCONC(:,38)*PCONC(:,38)+0.51& -&037*TPK%K113(:)*PCONC(:,39)*PCONC(:,38)+0.09731*TPK%K117(:)*PCONC(:,32)*PCONC(& -&:,5)+0.91910*TPK%K121(:)*PCONC(:,38)*PCONC(:,5)+TPK%K125(:)*PCONC(:,40)*PCONC(& -&:,38) -!PLOSS(MO2) = +K087*<NO>+K094*<HO2>+K101*<MO2>+K101*<MO2>+K102*<ALKAP>+K103*<AL -!KEP>+K104*<BIOP>+K105*<AROP>+K106*<CARBOP>+K107*<OLN>+K116*<NO3>+K124*<XO2> - PLOSS(:,31) = +TPK%K087(:)*PCONC(:,3)+TPK%K094(:)*PCONC(:,15)+TPK%K101(:)*PCON& -&C(:,31)+TPK%K101(:)*PCONC(:,31)+TPK%K102(:)*PCONC(:,32)+TPK%K103(:)*PCONC(:,33& -&)+TPK%K104(:)*PCONC(:,34)+TPK%K105(:)*PCONC(:,37)+TPK%K106(:)*PCONC(:,38)+TPK%& -&K107(:)*PCONC(:,39)+TPK%K116(:)*PCONC(:,5)+TPK%K124(:)*PCONC(:,40) -! -!PPROD(ALKAP) = +1.00000*K015*<KET>+K056*<ETH>*<OH>+0.87811*K057*<ALKA>*<OH>+0. -!40341*K066*<OP2>*<OH>+1.00000*K068*<ONIT>*<OH>+0.09815*K076*<ALKE>*<O3>+0.0000 -!0*K077*<BIO>*<O3>+0.08187*K088*<ALKAP>*<NO>+0.00385*K102*<ALKAP>*<MO2>+0.00828 -!*K108*<ALKAP>*<CARBOP>+0.08994*K117*<ALKAP>*<NO3> - PPROD(:,32) = +1.00000*TPK%K015(:)*PCONC(:,24)+TPK%K056(:)*PCONC(:,17)*PCONC(:& -&,14)+0.87811*TPK%K057(:)*PCONC(:,18)*PCONC(:,14)+0.40341*TPK%K066(:)*PCONC(:,2& -&9)*PCONC(:,14)+1.00000*TPK%K068(:)*PCONC(:,26)*PCONC(:,14)+0.09815*TPK%K076(:)& -&*PCONC(:,19)*PCONC(:,1)+0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.08187*TPK& -&%K088(:)*PCONC(:,32)*PCONC(:,3)+0.00385*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.& -&00828*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.08994*TPK%K117(:)*PCONC(:,32)*PCON& -&C(:,5) -!PLOSS(ALKAP) = +K088*<NO>+K095*<HO2>+K102*<MO2>+K108*<CARBOP>+K117*<NO3> - PLOSS(:,32) = +TPK%K088(:)*PCONC(:,3)+TPK%K095(:)*PCONC(:,15)+TPK%K102(:)*PCON& -&C(:,31)+TPK%K108(:)*PCONC(:,38)+TPK%K117(:)*PCONC(:,5) -! -!PPROD(ALKEP) = +1.02529*K058*<ALKE>*<OH> - PPROD(:,33) = +1.02529*TPK%K058(:)*PCONC(:,19)*PCONC(:,14) -!PLOSS(ALKEP) = +K089*<NO>+K096*<HO2>+K103*<MO2>+K109*<CARBOP>+K118*<NO3> - PLOSS(:,33) = +TPK%K089(:)*PCONC(:,3)+TPK%K096(:)*PCONC(:,15)+TPK%K103(:)*PCON& -&C(:,31)+TPK%K109(:)*PCONC(:,38)+TPK%K118(:)*PCONC(:,5) -! -!PPROD(BIOP) = +0.00000*K058*<ALKE>*<OH>+1.00000*K059*<BIO>*<OH> - PPROD(:,34) = +0.00000*TPK%K058(:)*PCONC(:,19)*PCONC(:,14)+1.00000*TPK%K059(:)& -&*PCONC(:,20)*PCONC(:,14) -!PLOSS(BIOP) = +K090*<NO>+K097*<HO2>+K104*<MO2>+K110*<CARBOP>+K119*<NO3> - PLOSS(:,34) = +TPK%K090(:)*PCONC(:,3)+TPK%K097(:)*PCONC(:,15)+TPK%K104(:)*PCON& -&C(:,31)+TPK%K110(:)*PCONC(:,38)+TPK%K119(:)*PCONC(:,5) -! -!PPROD(PHO) = +0.00276*K060*<ARO>*<OH>+K072*<ARO>*<NO3> - PPROD(:,35) = +0.00276*TPK%K060(:)*PCONC(:,21)*PCONC(:,14)+TPK%K072(:)*PCONC(:& -&,21)*PCONC(:,5) -!PLOSS(PHO) = +K080*<NO2>+K081*<HO2> - PLOSS(:,35) = +TPK%K080(:)*PCONC(:,4)+TPK%K081(:)*PCONC(:,15) -! -!PPROD(ADD) = +0.93968*K060*<ARO>*<OH> - PPROD(:,36) = +0.93968*TPK%K060(:)*PCONC(:,21)*PCONC(:,14) -!PLOSS(ADD) = +K082*<NO2>+K083*<O2>+K084*<O3> - PLOSS(:,36) = +TPK%K082(:)*PCONC(:,4)+TPK%K083(:)*TPK%O2(:)+TPK%K084(:)*PCONC(& -&:,1) -! -!PPROD(AROP) = +0.98*K083*<ADD>*<O2> - PPROD(:,37) = +0.98*TPK%K083(:)*PCONC(:,36)*TPK%O2(:) -!PLOSS(AROP) = +K091*<NO>+K098*<HO2>+K105*<MO2>+K111*<CARBOP>+K120*<NO3> - PLOSS(:,37) = +TPK%K091(:)*PCONC(:,3)+TPK%K098(:)*PCONC(:,15)+TPK%K105(:)*PCON& -&C(:,31)+TPK%K111(:)*PCONC(:,38)+TPK%K120(:)*PCONC(:,5) -! -!PPROD(CARBOP) = +1.00000*K015*<KET>+0.69622*K016*<CARBO>+1.00000*K062*<ALD>*<O -!H>+1.00000*K063*<KET>*<OH>+0.51419*K064*<CARBO>*<OH>+0.05413*K066*<OP2>*<OH>+1 -!.00000*K070*<ALD>*<NO3>+0.38881*K071*<CARBO>*<NO3>+0.05705*K076*<ALKE>*<O3>+0. -!17000*K077*<BIO>*<O3>+0.27460*K078*<CARBO>*<O3>+0.70000*K079*<PAN>*<O3>+1.0000 -!0*K086*<PAN>+0.09532*K092*<CARBOP>*<NO>+0.05954*K106*<CARBOP>*<MO2>+0.05821*K1 -!12*<CARBOP>*<CARBOP>+0.03175*K121*<CARBOP>*<NO3> - PPROD(:,38) = +1.00000*TPK%K015(:)*PCONC(:,24)+0.69622*TPK%K016(:)*PCONC(:,25)& -&+1.00000*TPK%K062(:)*PCONC(:,23)*PCONC(:,14)+1.00000*TPK%K063(:)*PCONC(:,24)*P& -&CONC(:,14)+0.51419*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.05413*TPK%K066(:)*PCO& -&NC(:,29)*PCONC(:,14)+1.00000*TPK%K070(:)*PCONC(:,23)*PCONC(:,5)+0.38881*TPK%K0& -&71(:)*PCONC(:,25)*PCONC(:,5)+0.05705*TPK%K076(:)*PCONC(:,19)*PCONC(:,1)+0.1700& -&0*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.27460*TPK%K078(:)*PCONC(:,25)*PCONC(:,1& -&)+0.70000*TPK%K079(:)*PCONC(:,27)*PCONC(:,1)+1.00000*TPK%K086(:)*PCONC(:,27)+0& -&.09532*TPK%K092(:)*PCONC(:,38)*PCONC(:,3)+0.05954*TPK%K106(:)*PCONC(:,38)*PCON& -&C(:,31)+0.05821*TPK%K112(:)*PCONC(:,38)*PCONC(:,38)+0.03175*TPK%K121(:)*PCONC(& -&:,38)*PCONC(:,5) -!PLOSS(CARBOP) = +K085*<NO2>+K092*<NO>+K099*<HO2>+K106*<MO2>+K108*<ALKAP>+K109* -!<ALKEP>+K110*<BIOP>+K111*<AROP>+K112*<CARBOP>+K112*<CARBOP>+K113*<OLN>+K121*<N -!O3>+K125*<XO2> - PLOSS(:,38) = +TPK%K085(:)*PCONC(:,4)+TPK%K092(:)*PCONC(:,3)+TPK%K099(:)*PCONC& -&(:,15)+TPK%K106(:)*PCONC(:,31)+TPK%K108(:)*PCONC(:,32)+TPK%K109(:)*PCONC(:,33)& -&+TPK%K110(:)*PCONC(:,34)+TPK%K111(:)*PCONC(:,37)+TPK%K112(:)*PCONC(:,38)+TPK%K& -&112(:)*PCONC(:,38)+TPK%K113(:)*PCONC(:,39)+TPK%K121(:)*PCONC(:,5)+TPK%K125(:)*& -&PCONC(:,40) -! -!PPROD(OLN) = +0.00000*K071*<CARBO>*<NO3>+0.93768*K073*<ALKE>*<NO3>+1.00000*K07 -!4*<BIO>*<NO3> - PPROD(:,39) = +0.00000*TPK%K071(:)*PCONC(:,25)*PCONC(:,5)+0.93768*TPK%K073(:)*& -&PCONC(:,19)*PCONC(:,5)+1.00000*TPK%K074(:)*PCONC(:,20)*PCONC(:,5) -!PLOSS(OLN) = +K093*<NO>+K100*<HO2>+K107*<MO2>+K113*<CARBOP>+K114*<OLN>+K114*<O -!LN>+K115*<OLN>+K115*<OLN>+K122*<NO3> - PLOSS(:,39) = +TPK%K093(:)*PCONC(:,3)+TPK%K100(:)*PCONC(:,15)+TPK%K107(:)*PCON& -&C(:,31)+TPK%K113(:)*PCONC(:,38)+TPK%K114(:)*PCONC(:,39)+TPK%K114(:)*PCONC(:,39& -&)+TPK%K115(:)*PCONC(:,39)+TPK%K115(:)*PCONC(:,39)+TPK%K122(:)*PCONC(:,5) -! -!PPROD(XO2) = +0.15*K053*<BIO>*<O3P>+0.10318*K060*<ARO>*<OH>+0.10162*K064*<CARB -!O>*<OH>+0.09333*K066*<OP2>*<OH>+K067*<PAN>*<OH>+0.10530*K071*<CARBO>*<NO3>+K07 -!5*<PAN>*<NO3>+0.00000*K076*<ALKE>*<O3>+0.13000*K077*<BIO>*<O3>+0.13007*K088*<A -!LKAP>*<NO>+0.02563*K092*<CARBOP>*<NO>+0.13370*K102*<ALKAP>*<MO2>+0.02212*K106* -!<CARBOP>*<MO2>+0.11306*K108*<ALKAP>*<CARBOP>+0.01593*K112*<CARBOP>*<CARBOP>+0. -!16271*K117*<ALKAP>*<NO3>+0.01021*K121*<CARBOP>*<NO3> - PPROD(:,40) = +0.15*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:)+0.10318*TPK%K060(:)*PCO& -&NC(:,21)*PCONC(:,14)+0.10162*TPK%K064(:)*PCONC(:,25)*PCONC(:,14)+0.09333*TPK%K& -&066(:)*PCONC(:,29)*PCONC(:,14)+TPK%K067(:)*PCONC(:,27)*PCONC(:,14)+0.10530*TPK& -&%K071(:)*PCONC(:,25)*PCONC(:,5)+TPK%K075(:)*PCONC(:,27)*PCONC(:,5)+0.00000*TPK& -&%K076(:)*PCONC(:,19)*PCONC(:,1)+0.13000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1)+0.1& -&3007*TPK%K088(:)*PCONC(:,32)*PCONC(:,3)+0.02563*TPK%K092(:)*PCONC(:,38)*PCONC(& -&:,3)+0.13370*TPK%K102(:)*PCONC(:,32)*PCONC(:,31)+0.02212*TPK%K106(:)*PCONC(:,3& -&8)*PCONC(:,31)+0.11306*TPK%K108(:)*PCONC(:,32)*PCONC(:,38)+0.01593*TPK%K112(:)& -&*PCONC(:,38)*PCONC(:,38)+0.16271*TPK%K117(:)*PCONC(:,32)*PCONC(:,5)+0.01021*TP& -&K%K121(:)*PCONC(:,38)*PCONC(:,5) -!PLOSS(XO2) = +K123*<HO2>+K124*<MO2>+K125*<CARBOP>+K126*<XO2>+K126*<XO2>+K127*< -!NO>+K128*<NO3> - PLOSS(:,40) = +TPK%K123(:)*PCONC(:,15)+TPK%K124(:)*PCONC(:,31)+TPK%K125(:)*PCO& -&NC(:,38)+TPK%K126(:)*PCONC(:,40)+TPK%K126(:)*PCONC(:,40)+TPK%K127(:)*PCONC(:,3& -&)+TPK%K128(:)*PCONC(:,5) -! -IF (LHOOK) CALL DR_HOOK('CH_PRODLOSS:SUB3',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE SUB3 -! -! -END SUBROUTINE CH_PRODLOSS diff --git a/src/arome/chem/internals/ch_qssa.F90 b/src/arome/chem/internals/ch_qssa.F90 deleted file mode 100644 index de9feb3dc8119123e793d40bba824654b9f652a4..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_qssa.F90 +++ /dev/null @@ -1,122 +0,0 @@ -! ######spl -SUBROUTINE CH_QSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PSLOW, PFAST, KQSSAITER) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################################################### -!! -!!*** *CH_QSSA* -!! -!! PURPOSE -!! ------- -!! solve one time-step of the chemical differential equation d/dt C = P-L*C -!! -!! METHOD -!! ------ -!! Quasy steady state approximation (QSSA): -!! C_n+1 = P_n / L_n if lifetime < Dt/10 -!! C_n+1 = C_n + ( P_n - L_n * C_n) Dt if lifetime > 100 * Dt -!! C_n+1 = P_n / L_n + ( C_n - P_n / L_n ) exp( - L_n Dt) else -!! -!! REFERENCE -!! --------- -!! O. Hertel et al , -!! Test of two Numerical schemes for use in atmospheric transport -!! chemistry models, -!! Atmospheric environment, 16, 2591--2611, 1993. -!! -!! AUTHOR -!! ------ -!! A. Fassi Fihri *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 18/12/95 -!! 10/04/96 (K. Suhre) take out all performance analysis and -!! internal time-stepping -!! 31/07/96 (K. Suhre) restructured -!! 01/08/01 (C. Mari) add PSLOW, PFAST, KQSSAITER arguments -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -USE MODI_CH_PRODLOSS -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -REAL, INTENT(IN) :: PSLOW, PFAST -INTEGER, INTENT(IN) :: KQSSAITER -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(KVECNPT,KEQ) :: ZPROD, ZLOSS, ZCONC0, ZTMP -LOGICAL, DIMENSION(KVECNPT,KEQ) :: GSHORT, GMED, GLONG - ! mask for short, medium and long lived species -INTEGER :: ICOUNT ! counter for iteration number -! -!------------------------------------------------------------------------------ -! -!* 1. PREPARE VARIABLES -! ---------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_QSSA',0,ZHOOK_HANDLE) -PNEWCONC(:,:) = PCONC(:,:) -! -!* 2. ITERATE NQSSAITER TIMES -! ---------------------------- -! -DO ICOUNT = 1, KQSSAITER -! - ZCONC0(:,:) = PNEWCONC(:,:) -! -!* 2.1 calculate production and loss terms -! - CALL CH_PRODLOSS(PTSIMUL,ZCONC0,ZPROD,ZLOSS,KMI,KVECNPT,KEQ) -! -!* 2.2 decide which species are short, medium and long lived species -! - GSHORT(:,:) = ZLOSS(:,:) .GT. (1./(PFAST*PDTACT)) - GLONG(:,:) = ZLOSS(:,:) .LT. (1./(PSLOW*PDTACT)) - GMED(:,:) = .NOT. (GSHORT(:,:) .OR. GLONG(:,:)) -! -!* 2.3 analytical solution assuming PROD and LOSS constant throughout -! a time-step (medium long lived species) -! - WHERE (GMED) - ZTMP(:,:) = ZPROD(:,:)/ZLOSS(:,:) - PNEWCONC(:,:) = ZTMP(:,:) + (ZCONC0(:,:) - ZTMP(:,:))*EXP(-ZLOSS(:,:)*PDTACT) - END WHERE -! -!* 2.4 euler explicit integration (long lived species) -! - WHERE ( GLONG ) - PNEWCONC(:,:) = ZCONC0(:,:) + (ZPROD(:,:) - PDTACT*ZLOSS(:,:)*ZCONC0(:,:)) - ENDWHERE -! -!* 2.5 steady state approximation (short lived species) -! - WHERE ( GSHORT ) - PNEWCONC(:,:) = ZPROD(:,:) / ZLOSS(:,:) - END WHERE -! -END DO -! -IF (LHOOK) CALL DR_HOOK('CH_QSSA',1,ZHOOK_HANDLE) -END SUBROUTINE CH_QSSA diff --git a/src/arome/chem/internals/ch_read_meteo.F90 b/src/arome/chem/internals/ch_read_meteo.F90 deleted file mode 100644 index ab77d8132a646ad955597e25d51334e6ffc162fa..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_read_meteo.F90 +++ /dev/null @@ -1,69 +0,0 @@ -! ######spl - SUBROUTINE CH_READ_METEO(TPM) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################# -!! -!!*** *CH_READ_METEO* -!! -!! PURPOSE -!! ------- -!! Read a set of meteo variables -!! -!!** METHOD -!! ------ -!! read NMETEOVARS values and the time for the next update XTNEXTMETEO -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/04/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: NMETEOIO, XTNEXTMETEO, NVERB -USE MODD_CH_M9, ONLY: NMETEOVARS, METEOTRANSTYPE -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -TYPE(METEOTRANSTYPE), INTENT(INOUT) :: TPM ! the meteo variables -! -!* 0.2 declaration of local variables -! ---------------- -INTEGER :: JI ! loop control -! -!------------------------------------------------------------------------------ -! -!* EXECUTABLE STATEMENTS -! --------------------- -! -! read meteo variables and time of next update -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_READ_METEO',0,ZHOOK_HANDLE) -READ(NMETEOIO,*) (TPM%XMETEOVAR(JI), JI = 1, NMETEOVARS) -READ(NMETEOIO,*) XTNEXTMETEO -! -! print what has been read -IF (NVERB >= 7) THEN - PRINT *, 'CH_READ_METEO: new set of meteo variables has been read:' - DO JI = 1, NMETEOVARS - PRINT *, TPM%CMETEOVAR(JI), ': ', TPM%XMETEOVAR(JI) - ENDDO -END IF -IF (NVERB >= 5) THEN - PRINT *, 'CH_READ_METEO: next update at XTNEXTMETEO = ', XTNEXTMETEO -END IF -! -IF (LHOOK) CALL DR_HOOK('CH_READ_METEO',1,ZHOOK_HANDLE) -END SUBROUTINE CH_READ_METEO diff --git a/src/arome/chem/internals/ch_read_vector.F90 b/src/arome/chem/internals/ch_read_vector.F90 deleted file mode 100644 index cab6cac8795ff200dc985676ab9c66a87552f833..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_read_vector.F90 +++ /dev/null @@ -1,145 +0,0 @@ -! ######spl - SUBROUTINE CH_READ_VECTOR(KEQ, HNAMES, PVAR, PDEFAULT, KIN, KOUT, KVERB) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################### -!! -!!*** *CH_READ_VECTOR* -!! -!! PURPOSE -!! ------- -! read a vector of chemical parameters -!! -!!** METHOD -!! ------ -!! This subroutine reads from an already opened file (channel KIO) -!! pairs of character variables and values. It then associates the -!! values to an array of variable names that has been passed as argument. -!! In practice, this program will be used to read for example the initial -!! conditions of a vector of chemical variables. -!! The format of the data to be entered is as follows: -!! line 1: number of variables to be read -!! line 2: FORTRAN format e.g. (A10,E12.5) -!! line 3++: species value e.g. 'O3' 5.5E10 -!! -!! If a species is not defined in the file it will be assigned the -!! default value. If KVERB is greater or equal to 10, the full -!! association will be printed to KOUT. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 01/04/1999 -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -INTEGER, INTENT(IN) :: KEQ - ! number of variables to be defined -CHARACTER*(*), DIMENSION(KEQ), INTENT(IN) :: HNAMES - ! names of the variables to be defined -REAL, DIMENSION(KEQ), INTENT(OUT):: PVAR - ! value of the variable to be read -REAL, INTENT(IN) :: PDEFAULT - ! default value -INTEGER, INTENT(IN) :: KIN - ! I/O channel for file input -INTEGER, INTENT(IN) :: KOUT - ! I/O channel for printing -INTEGER, INTENT(IN) :: KVERB - ! verbosity level -! -!* 0.2 declarations of local variables -! -CHARACTER(LEN=40) :: YFORMAT ! format for input -! -INTEGER :: IINPUT ! number of surface values to be read -CHARACTER(LEN=40), DIMENSION(:), ALLOCATABLE :: YINPUTNAME ! species names -REAL , DIMENSION(:), ALLOCATABLE :: ZINPUTVAL ! surface val. -! -INTEGER :: JI, JN, JNREAL ! loop control variables -INTEGER :: INACT ! array pointer -! -!------------------------------------------------------------------------------- -! -!* 1. ASSOCIATE VALUES TO NAMES -! ------------------------- -! -!* 1.1 read input values -! -! read number of input lines IINPUT -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_READ_VECTOR',0,ZHOOK_HANDLE) -READ(KIN, *) IINPUT -! -! read data input format -READ(KIN,"(A)") YFORMAT -! -! allocate input fields -ALLOCATE(YINPUTNAME(IINPUT)) -ALLOCATE(ZINPUTVAL(IINPUT)) -! -! read input values -IF (KVERB >= 10) THEN - WRITE(KOUT,'(A)') '----------------------------------------------------' - WRITE(KOUT,'(A)') 'CH_READ_VECTOR: reading ...' -END IF -DO JI = 1, IINPUT - READ(KIN,YFORMAT) YINPUTNAME(JI), ZINPUTVAL(JI) - IF (KVERB >= 10) WRITE(KOUT,YFORMAT) YINPUTNAME(JI), ZINPUTVAL(JI) -END DO -! -!* 1.2 map values on PVAR -! -IF (KVERB >= 10) THEN - WRITE(KOUT,'(A)') '----------------------------------------------------' - WRITE(KOUT,'(A)') 'CH_READ_VECTOR: associating ...' - WRITE(KOUT,'(I4)') KEQ - WRITE(KOUT,'(A)') YFORMAT -END IF -! -PVAR(:) = PDEFAULT -! -DO JNREAL = 1, KEQ - INACT = 0 - search_loop1 : DO JN = 1, IINPUT - IF (HNAMES(JNREAL) .EQ. YINPUTNAME(JN)) THEN - INACT = JN - EXIT search_loop1 - END IF - END DO search_loop1 - IF (INACT .NE. 0) PVAR(JNREAL) = ZINPUTVAL(INACT) - IF (KVERB >= 10) THEN - WRITE(KOUT,YFORMAT) HNAMES(JNREAL), PVAR(JNREAL) - END IF -END DO -! -IF (KVERB >= 10) & - WRITE(KOUT,'(A)') '----------------------------------------------------' -! -DEALLOCATE(YINPUTNAME) -DEALLOCATE(ZINPUTVAL) -! -IF (LHOOK) CALL DR_HOOK('CH_READ_VECTOR',1,ZHOOK_HANDLE) -RETURN -! -END SUBROUTINE CH_READ_VECTOR diff --git a/src/arome/chem/internals/ch_set_photo_rates.F90 b/src/arome/chem/internals/ch_set_photo_rates.F90 deleted file mode 100644 index d3c87a1525ee465c261304f67a714606ee412ddc..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_set_photo_rates.F90 +++ /dev/null @@ -1,147 +0,0 @@ -! ######spl - SUBROUTINE CH_SET_PHOTO_RATES(PTIME,PCONC,KL,TPM,KMI,KOUT,KVERB,KVECNPT,KVECMASK,KEQ,PJVALUES) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################################################# -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *MODD_CH_SET_PHOTO_RATES* -!! -!! PURPOSE -!! ------- -! set or calculate photolysis rates -!! -!!** METHOD -!! ------ -!! simple -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 29/03/01: Vectorization + nesting (C. Mari) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -USE MODD_CH_M9, ONLY : METEOTRANSTYPE -USE MODI_CH_ALLOCATE_TACCS -! USER DEFINED FUNCTIONS -USE MODI_TROE -USE MODI_TROE_EQUIL -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT,KL,KEQ,KMI -INTEGER, DIMENSION(:,:), INTENT(IN) :: KVECMASK -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN) :: TPM -INTEGER, INTENT(IN) :: KOUT,KVERB -REAL,DIMENSION(:,:,:,:), INTENT(IN) :: PJVALUES ! Tuv coefficient -!! -! /BEGIN_SET_PHOTO_RATES/ - ! parameter for use by subroutine JVALUES, - ! contains the actual photolysis rates - REAL, DIMENSION(KVECNPT,21) :: ZRATESIO ! TUV photolysis rates at one level - REAL, DIMENSION(KVECNPT,17) :: ZRATES ! photolysis rates of RACM (vector) - INTEGER :: JITPK ! loop counter for J-Value transfer - INTEGER :: IDTI,IDTJ - INTEGER :: JITPKPLUS - INTEGER, DIMENSION(KVECNPT) :: ITABI, ITABJ - INTEGER, DIMENSION(KVECNPT) :: IMODELLEVEL - TYPE(CCSTYPE), POINTER :: TPK - ! - ! Normally allocated in CH_SET_RATES but who knows ? - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CH_SET_PHOTO_RATES',0,ZHOOK_HANDLE) - IF (.NOT. ASSOCIATED(TACCS(KMI)%NVERB)) THEN - CALL CH_ALLOCATE_TACCS(KMI, KVECNPT) - END IF - ! - ! TPK is set for current model - TPK=>TACCS(KMI) - - ! calculation of photolysis rates and transfer into local variables - ! - IDTI=KVECMASK(2,KL)-KVECMASK(1,KL)+1 - IDTJ=KVECMASK(4,KL)-KVECMASK(3,KL)+1 - DO JITPK = 0, KVECNPT-1 - ! - JITPKPLUS=JITPK+1 - ITABI(JITPKPLUS)=JITPK-IDTI*(JITPK/IDTI)+KVECMASK(1,KL) - ITABJ(JITPKPLUS)=JITPK/IDTI-IDTJ*(JITPK/(IDTI*IDTJ))+KVECMASK(3,KL) -! modification for VPP optimization - ZRATESIO(JITPK+1,:) = PJVALUES(ITABI(JITPKPLUS),ITABJ(JITPKPLUS),TPK%MODELLEVEL(JITPK+1),:) - ENDDO - ! - DO JITPK = 0, KVECNPT-1 - ! - ! associate TUV J-Values to ReLACS J-Values - ! - ZRATES(JITPK+1, 1) = ZRATESIO(JITPK+1,2) - ZRATES(JITPK+1, 2) = ZRATESIO(JITPK+1,3) - ZRATES(JITPK+1, 3) = ZRATESIO(JITPK+1,4) - ZRATES(JITPK+1, 4) = ZRATESIO(JITPK+1,9) - ZRATES(JITPK+1, 5) = ZRATESIO(JITPK+1,10) - ZRATES(JITPK+1, 6) = ZRATESIO(JITPK+1,11) - ZRATES(JITPK+1, 7) = ZRATESIO(JITPK+1,5) - ZRATES(JITPK+1, 8) = ZRATESIO(JITPK+1,6) - ZRATES(JITPK+1, 9) = ZRATESIO(JITPK+1,12) - ZRATES(JITPK+1, 10) = ZRATESIO(JITPK+1,14) - ZRATES(JITPK+1, 11) = ZRATESIO(JITPK+1,13) - ZRATES(JITPK+1, 12) = ZRATESIO(JITPK+1,17) - ZRATES(JITPK+1, 13) = ZRATESIO(JITPK+1,15) - ZRATES(JITPK+1, 14) = 0.962055 *ZRATESIO(JITPK+1,15)+& - & 1.06247E-02 *ZRATESIO(JITPK+1,12) - ZRATES(JITPK+1, 15) = ZRATESIO(JITPK+1,20) - ZRATES(JITPK+1, 16) = 3.16657 *ZRATESIO(JITPK+1,15)& - &+ 0.372446 *ZRATESIO(JITPK+1,15)& - &+ 8.42257 *ZRATESIO(JITPK+1,15)& - &+ 207.5913 *ZRATESIO(JITPK+1,20)& - &+ 0.0 *ZRATESIO(JITPK+1,20)& - &+ 8.44837E-04 *ZRATESIO(JITPK+1,20) - ZRATES(JITPK+1, 17) = ZRATESIO(JITPK+1,16) - ! - END DO - ! -! /END_SET_PHOTO_RATES/ - TPK%K001=ZRATES(:,001) - TPK%K002=ZRATES(:,002) - TPK%K003=ZRATES(:,003) - TPK%K004=ZRATES(:,004) - TPK%K005=ZRATES(:,005) - TPK%K006=ZRATES(:,006) - TPK%K007=ZRATES(:,007) - TPK%K008=ZRATES(:,008) - TPK%K009=ZRATES(:,009) - TPK%K010=ZRATES(:,010) - TPK%K011=ZRATES(:,011) - TPK%K012=ZRATES(:,012) - TPK%K013=ZRATES(:,013) - TPK%K014=ZRATES(:,014) - TPK%K015=ZRATES(:,015) - TPK%K016=ZRATES(:,016) - TPK%K017=ZRATES(:,017) -TPK%NOUT = KOUT -TPK%NVERB = KVERB -IF (LHOOK) CALL DR_HOOK('CH_SET_PHOTO_RATES',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_SET_PHOTO_RATES diff --git a/src/arome/chem/internals/ch_set_rates.F90 b/src/arome/chem/internals/ch_set_rates.F90 deleted file mode 100644 index 78a7491af29721ac20f379b68549f0052b524b21..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_set_rates.F90 +++ /dev/null @@ -1,253 +0,0 @@ -! ######spl - SUBROUTINE CH_SET_RATES(PTIME,PCONC,TPM,KMI,KOUT,KVERB,KVECNPT,KEQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!!*** *MODD_CH_SET_RATES* -!! -!! PURPOSE -!! ------- -! set or calculate reaction rates -!! -!!** METHOD -!! ------ -!! simple -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -USE MODD_CH_M9, ONLY : METEOTRANSTYPE -USE MODI_CH_ALLOCATE_TACCS -USE MODI_CH_DEALLOCATE_TACCS -! USER DEFINED FUNCTIONS -USE MODI_TROE -USE MODI_TROE_EQUIL -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN):: TPM -INTEGER, INTENT(IN) :: KMI -INTEGER, INTENT(IN) :: KOUT,KVERB -!! -! /BEGIN_SET_RATES/ - ! - ! transfer of meteo-variables into variables used by the - ! chemical core system (and some unit conversion): - ! - ! molecular weight of air: m_mol^air = 28.8 g/mol - ! molecular weight of H2O: m_mol^H2O = 18.0 g/mol - ! ==> m_mol^air / m_mol^H2O = 1.6 - ! density conversion factor: 1 g/cm3 = 1E+3 kg/m3 - ! n_molec (moelc./cm3): M = 1E-3*RHO(kg/m3) * Navo / m_mol - ! n_water: H2O = M * 1.6 * Rv - ! pressure = RHO * T * R * 1E-5 (in atm) - ! assuming 20.95 vol% O2 - ! - TYPE(CCSTYPE), POINTER :: TPK - !! - !!---------------------------------------------------------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SET_RATES',0,ZHOOK_HANDLE) -IF (.NOT. ASSOCIATED(TACCS(KMI)%NVERB)) THEN - CALL CH_ALLOCATE_TACCS(KMI,KVECNPT) -END IF - - IF (SIZE(TACCS(KMI)%NVERB) .NE. KVECNPT) THEN - CALL CH_DEALLOCATE_TACCS(KMI) - CALL CH_ALLOCATE_TACCS(KMI,KVECNPT) - END IF - -TPK=>TACCS(KMI) - - TPK%MODELLEVEL = TPM%XMETEOVAR(1) - TPK%M = 1E-3*TPM%XMETEOVAR(2) * 6.0221367E+23 / 28.9644 - TPK%T = TPM%XMETEOVAR(3) - TPK%H2O = TPK%M*1.6077*TPM%XMETEOVAR(4) - TPK%CLOUDWATER = TPM%XMETEOVAR(5) - TPK%LAT = TPM%XMETEOVAR(6) - TPK%LON = TPM%XMETEOVAR(7) - TPK%YEAR = INT(TPM%XMETEOVAR(8)) - TPK%MONTH = INT(TPM%XMETEOVAR(9)) - TPK%DAY = INT(TPM%XMETEOVAR(10)) - ! derived variables - TPK%PRESSURE = TPM%XMETEOVAR(2) * TPK%T * 288.290947 * 1E-5 - TPK%O2 = 0.2095 * TPK%M - TPK%N2 = TPK%M - TPK%O2 - TPK%H2 = 1.23e13 - ! - ! the following prints will be erased - IF (KVERB >= 15) THEN - WRITE(KOUT,*) "CH_SET_RATES: the following variables have been updated" - WRITE(KOUT,*) "MODELLEVEL: ", TPK%MODELLEVEL(1) - WRITE(KOUT,*) "M: ", TPK%M(1) , "molec/cm3" - WRITE(KOUT,*) "T: ", TPK%T(1) , "K" - WRITE(KOUT,*) "H2O ", TPK%H2O(1) , "molec/cm3" - WRITE(KOUT,*) "CLOUDWATER: ", TPK%CLOUDWATER(1) , "kg/kg" - WRITE(KOUT,*) "LATITUDE: ", TPK%LAT(1) , "degree" - WRITE(KOUT,*) "LONGITUDE: ", TPK%LON(1) , "degree" - WRITE(KOUT,*) "YEAR: ", TPK%YEAR(1) - WRITE(KOUT,*) "MONTH: ", TPK%MONTH(1) - WRITE(KOUT,*) "DAY: ", TPK%DAY(1) - WRITE(KOUT,*) "PRESSURE: ", TPK%PRESSURE(1) , "atm" - WRITE(KOUT,*) "O2: ", TPK%O2(1) , "molec/cm3" - WRITE(KOUT,*) "N2: ", TPK%N2(1) , "molec/cm3" - WRITE(KOUT,*) "H2: ", TPK%H2(1) , "molec/cm3" - END IF - ! -! /END_SET_RATES/ - TPK%K018=TPK%M*6.00E-34*(TPK%T/300)**(-2.3) - TPK%K019=8.00E-12*exp(-(2060.0/TPK%T)) - TPK%K020=1.80E-11*exp(-(-110.0/TPK%T)) - TPK%K021=3.20E-11*exp(-(-70.0/TPK%T)) - TPK%K022=2.20E-10 - TPK%K023=1.60E-12*exp(-(940.0/TPK%T)) - TPK%K024=1.10E-14*exp(-(500.0/TPK%T)) - TPK%K025=4.80E-11*exp(-(-250.0/TPK%T)) - TPK%K026=2.90E-12*exp(-(160.0/TPK%T)) - TPK%K027=2.3E-13*EXP(600./TPK%T)+1.7E-33*TPK%M*EXP(1000./TPK%T) - TPK%K028=3.22E-34*EXP(2800./TPK%T)+2.38E-54*TPK%M*EXP(3200./TPK%T) - TPK%K029=TROE(1.,9.00E-32,1.5,3.00E-11,0.0,TPK%M,TPK%T,KVECNPT) - TPK%K030=6.50E-12*exp(-(-120.0/TPK%T)) - TPK%K031=TROE(1.,9.00E-32,2.0,2.20E-11,0.0,TPK%M,TPK%T,KVECNPT) - TPK%K032=TROE(1.,7.00E-31,2.6,1.50E-11,0.5,TPK%M,TPK%T,KVECNPT) - TPK%K033=TROE(1.,2.60E-30,3.2,2.40E-11,1.3,TPK%M,TPK%T,KVECNPT) - TPK%K034=2.20E-11 - TPK%K035=3.70E-12*exp(-(-250.0/TPK%T)) - TPK%K036=TROE(1.,1.80E-31,3.2,4.70E-12,1.4,TPK%M,TPK%T,KVECNPT) - TPK%K037=TROE_EQUIL(1.80E-31,3.2,4.70E-12,1.4,4.76E+26,10900.,TPK%M,TPK%T,KVEC& -&NPT) - TPK%K038=3.50E-12 - TPK%K039=1.80E-11*exp(-(390.0/TPK%T)) - TPK%K040=(7.2E-15*EXP(785/TPK%T))+(1.9E-33*EXP(725/TPK%T)*TPK%M)/(1+(1.9E-33*E& -&XP(725/TPK%T)*TPK%M)/(4.1E-16*EXP(1440/TPK%T))) - TPK%K041=1.30E-12*exp(-(-380.0/TPK%T)) - TPK%K042=2.00E-12*exp(-(1400.0/TPK%T)) - TPK%K043=1.20E-13*exp(-(2450.0/TPK%T)) - TPK%K044=3.30E-39*exp(-(-530.0/TPK%T)) - TPK%K045=1.50E-11*exp(-(-170.0/TPK%T)) - TPK%K046=4.50E-14*exp(-(1260.0/TPK%T)) - TPK%K047=TROE(1.,2.20E-30,3.9,1.50E-12,0.7,TPK%M,TPK%T,KVECNPT) - TPK%K048=TROE_EQUIL(2.20E-30,3.9,1.50E-12,0.7,3.70E+26,11000.0,TPK%M,TPK%T,KVE& -&CNPT) - TPK%K049=8.50E-13*exp(-(2450.0/TPK%T)) - TPK%K050=5.50E-12*exp(-(2000.0/TPK%T)) - TPK%K051=TROE(1.,3.00E-31,3.3,1.50E-12,0.0,TPK%M,TPK%T,KVECNPT) - TPK%K052=1.5E-13*(1.+2.439E-20*TPK%M) - TPK%K053=6.00E-11 - TPK%K054=0.00E-01*exp(-(-13.0/TPK%T)) - TPK%K055=TPK%T*TPK%T*7.44E-18*exp(-(1361./TPK%T)) - TPK%K056=1.51E-17*TPK%T*TPK%T*exp(-(492./TPK%T)) - TPK%K057=3.76E-12*exp(-(260.0/TPK%T))+1.70E-12*exp(-(155.0/TPK%T))+1.21E-12*ex& -&p(-(125.0/TPK%T)) - TPK%K058=1.78E-12*exp(-(-438.0/TPK%T))+6.07E-13*exp(-(-500.0/TPK%T))+0.00E-01*& -&exp(-(-448.0/TPK%T)) - TPK%K059=2.54E-11*exp(-(-410.0/TPK%T))+0.00E-01*exp(-(-444.0/TPK%T))+0.00E-01 - TPK%K060=3.31E-12*exp(-(-355.0/TPK%T))+3.45E-13 - TPK%K061=1.00E-11 - TPK%K062=5.55E-12*exp(-(-331.0/TPK%T)) - TPK%K063=TPK%T*TPK%T*5.68E-18*exp(-(-92.0/TPK%T)) - TPK%K064=1.32E-11+1.88E-12*exp(-(-175.0/TPK%T)) - TPK%K065=2.93E-12*exp(-(-190.0/TPK%T)) - TPK%K066=3.36E-12*exp(-(-190.0/TPK%T)) - TPK%K067=3.80E-14+1.59E-14*exp(-(-500.0/TPK%T)) - TPK%K068=5.31E-12*exp(-(260.0/TPK%T)) - TPK%K069=3.40E-13*exp(-(1900.0/TPK%T)) - TPK%K070=1.40E-12*exp(-(1900.0/TPK%T)) - TPK%K071=1.62E-12*exp(-(1900.0/TPK%T))+0.00E-01*exp(-(150.0/TPK%T))+1.94E-14*e& -&xp(-(1000.0/TPK%T)) - TPK%K072=4.92E-16 - TPK%K073=4.35E-18*TPK%T*TPK%T*exp(-(2282.0/TPK%T))+1.91E-14*exp(-(450.0/TPK%T)& -&)+1.08E-15*exp(-(-450.0/TPK%T))+0.00E-01 - TPK%K074=4.00E-12*exp(-(446.0/TPK%T))+0.00E-01*exp(-(-490.0/TPK%T))+0.00E-01 - TPK%K075=3.76E-16*exp(-(500.0/TPK%T)) - TPK%K076=8.17E-15*exp(-(2580.0/TPK%T))+4.32E-16*exp(-(1800.0/TPK%T))+2.87E-17*& -&exp(-(845.0/TPK%T))+0.00E-01*exp(-(2283.0/TPK%T)) - TPK%K077=7.86E-15*exp(-(1913.0/TPK%T))+0.00E-01*exp(-(732.0/TPK%T))+0.00E-01 - TPK%K078=0.00E-01*exp(-(2112.0/TPK%T))+1.38E-19 - TPK%K079=7.20E-17*exp(-(1700.0/TPK%T)) - TPK%K080=2.00E-11 - TPK%K081=1.00E-11 - TPK%K082=3.60E-11 - TPK%K083=1.66E-17*exp(-(-1044.0/TPK%T)) - TPK%K084=2.80E-11 - TPK%K085=TROE(5.86E-01,9.70E-29,5.6,9.30E-12,1.5,TPK%M,TPK%T,KVECNPT) - TPK%K086=TROE_EQUIL(9.70E-29,5.6,9.30E-12,1.5,1.16E+28,13954.,TPK%M,TPK%T,KVEC& -&NPT) - TPK%K087=4.20E-12*exp(-(-180.0/TPK%T)) - TPK%K088=4.36E-12 - TPK%K089=6.93E-12 - TPK%K090=4.00E-12 - TPK%K091=4.00E-12 - TPK%K092=1.22E-11 - TPK%K093=4.00E-12 - TPK%K094=3.80E-13*exp(-(-800.0/TPK%T)) - TPK%K095=6.16E-14*exp(-(-700.0/TPK%T))+1.52E-13*exp(-(-1300.0/TPK%T)) - TPK%K096=1.81E-13*exp(-(-1300.0/TPK%T)) - TPK%K097=1.28E-13*exp(-(-1300.0/TPK%T))+0.00E-01 - TPK%K098=3.75E-13*exp(-(-980.0/TPK%T)) - TPK%K099=5.94E-13*exp(-(-550.0/TPK%T))+1.99E-16*exp(-(-2640.0/TPK%T))+5.56E-14& -&*exp(-(-1300.0/TPK%T)) - TPK%K100=1.66E-13*exp(-(-1300.0/TPK%T)) - TPK%K101=9.10E-14*exp(-(-416.0/TPK%T)) - TPK%K102=1.03E-14*exp(-(-158.0/TPK%T))+6.24E-14*exp(-(-431.0/TPK%T))+1.53E-14*& -&exp(-(-467.0/TPK%T))+4.34E-15*exp(-(-633.0/TPK%T)) - TPK%K103=1.57E-13*exp(-(-708.0/TPK%T)) - TPK%K104=1.36E-13*exp(-(-708.0/TPK%T)) - TPK%K105=3.56E-14*exp(-(-708.0/TPK%T)) - TPK%K106=1.77E-11*exp(-(440.0/TPK%T))+1.48E-16*exp(-(-2510.0/TPK%T))+3.10E-13*& -&exp(-(-508.0/TPK%T)) - TPK%K107=1.12E-13*exp(-(-708.0/TPK%T)) - TPK%K108=4.44E-14*exp(-(-211.0/TPK%T))+2.23E-13*exp(-(-460.0/TPK%T))+4.10E-14*& -&exp(-(-522.0/TPK%T))+1.17E-14*exp(-(-683.0/TPK%T)) - TPK%K109=4.36E-13*exp(-(-765.0/TPK%T)) - TPK%K110=7.60E-13*exp(-(-765.0/TPK%T)) - TPK%K111=3.63E-13*exp(-(-765.0/TPK%T)) - TPK%K112=7.73E-13*exp(-(-530.0/TPK%T))+1.70E-13*exp(-(-565.0/TPK%T)) - TPK%K113=4.85E-13*exp(-(-765.0/TPK%T)) - TPK%K114=4.19E-15*exp(-(-1000.0/TPK%T)) - TPK%K115=2.48E-14*exp(-(-1000.0/TPK%T)) - TPK%K116=1.20E-12 - TPK%K117=1.20E-12 - TPK%K118=1.20E-12 - TPK%K119=1.20E-12 - TPK%K120=1.20E-12 - TPK%K121=3.48E-12 - TPK%K122=1.20E-12 - TPK%K123=1.66E-13*exp(-(-1300.0/TPK%T)) - TPK%K124=5.99E-15*exp(-(-1510.0/TPK%T)) - TPK%K125=1.69E-14*exp(-(-1560.0/TPK%T)) - TPK%K126=7.13E-17*exp(-(-2950.0/TPK%T)) - TPK%K127=4.00E-12 - TPK%K128=1.20E-12 -TPK%NOUT(:) = KOUT -TPK%NVERB(:) = KVERB -IF (LHOOK) CALL DR_HOOK('CH_SET_RATES',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_SET_RATES diff --git a/src/arome/chem/internals/ch_show_chem.F90 b/src/arome/chem/internals/ch_show_chem.F90 deleted file mode 100644 index c89f367c0328fc7e9d55c135f11c846be882532b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_show_chem.F90 +++ /dev/null @@ -1,60 +0,0 @@ -! ######spl - SUBROUTINE CH_SHOW_CHEM(PCONC, HNAMES) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################# -!! -!!**** *CH_SHOW_CHEM* -!! -!! PURPOSE -!! ------- -!! print a set of values to the screen -!! -!! METHOD -!! ------ -!! NEQ values will be written to the screen, -!! the format will be as follows: -!! line 1: 'name1' value1 -!! ... -!! line NEQ: 'nameNEQ' valueNEQ -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/04/95 -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -!! PCONC: concentration vector to be read -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, DIMENSION(:), INTENT(IN) :: PCONC ! PCONC: concentration vector -CHARACTER(LEN=32), DIMENSION(:), INTENT(IN) :: HNAMES ! name of each species -! -!! DECLARATION OF LOCAL VARIABLES -!! ------------------------------ -INTEGER :: JI -! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SHOW_CHEM',0,ZHOOK_HANDLE) -DO JI = 1, SIZE(PCONC) - PRINT '(3A,E20.8)', "'", HNAMES(JI), "' ", PCONC(JI) -ENDDO -! -IF (LHOOK) CALL DR_HOOK('CH_SHOW_CHEM',1,ZHOOK_HANDLE) -END SUBROUTINE CH_SHOW_CHEM diff --git a/src/arome/chem/internals/ch_sis.F90 b/src/arome/chem/internals/ch_sis.F90 deleted file mode 100644 index 5e7968ff8bba73520b19724ca2d227cd18585165..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_sis.F90 +++ /dev/null @@ -1,121 +0,0 @@ -! ######spl - SUBROUTINE CH_SIS(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ###################################################################### -!! -!!*** *CH_SIS* -!! -!! PURPOSE -!! ------- -! solve one time-step of the chemical differential euation d/dt C = f(C) -!! -!!** METHOD -!! ------ -!! Semi-Implicit Symmetric (SIS): -!! y^n+1 = y^n + dt*(1-dt/2 J^n)^-1 f^n -!! -!! REFERENCE -!! --------- -!! Ramaroson, R. A., M. Pirre, and D.Cariolle, -!! A box model for on-line computations of diurnal variations -!! in a 1-D model: potential for application in multidimensional cases, -!! Ann. Geophysicae, 10, 416--428, 1992. -!! -!! AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 24/04/95 -!! 31/07/96 (K. Suhre) restructured -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -USE MODI_CH_FCN -USE MODI_CH_JAC -USE MODI_CH_GAUSS -!% -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(KVECNPT,KEQ) :: ZDCDTVECT -REAL, DIMENSION(KEQ) :: ZDCDT -REAL, DIMENSION(KVECNPT,KEQ,KEQ) :: ZWORKVECT -REAL, DIMENSION(KEQ,KEQ) :: ZWORK,ZINV -INTEGER :: IFAIL, JI,JJ -! -!------------------------------------------------------------------------------ -! -!* 1. CALCULATE FIRST DERIVATIVE AND JACOBIAN -! -------------------------------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SIS',0,ZHOOK_HANDLE) -CALL CH_FCN(PTSIMUL,PCONC,ZDCDTVECT,KMI,KVECNPT,KEQ) -! -!%kloos% -!Matrix ZJAC replaced by ZWORK -! -CALL CH_JAC(PTSIMUL,PCONC,ZWORKVECT,KMI,KVECNPT,KEQ) -! -!* 2. CALCULATE (1-dt/2 J^n)^-1 -! ------------------------------ -! -DO JJ=1,KVECNPT - -ZWORK(:,:) = - (0.5*PDTACT) * ZWORKVECT(JJ,:,:) -ZDCDT(:) = ZDCDTVECT(JJ,:) -!% -DO JI = 1, KEQ - ZWORK(JI,JI) = ZWORK(JI,JI) + 1.0 -ENDDO -! -!%kloos% -! Inversion of matrix modified -! -!* 3. COMPUTE LU FACTORIZATION OF MATRIX (1-dt/2) J^n with LAPACK LIBRARY -! ------------------------------------------------------------------------ -! -IFAIL = 1 -CALL CH_GAUSS(ZWORK,ZINV,KEQ,IFAIL) -IF (IFAIL.NE.0) THEN - STOP 'CH_SIS ERROR: matrix cannot be inverted by CH_GAUSS' -ENDIF -! -!* 4. CALCULATE (1-dt/2 J^n)^-1 f^n -! ----------------------------------- -! -ZDCDT(:)=MATMUL(ZINV,ZDCDT) -! -!* 5. CALCULATE y^n+1 = y^n + dt*(1-dt/2 J^n)^-1 f^n -! --------------------------------------------------- -! -PNEWCONC(JJ,:) = PCONC(JJ,:) + PDTACT * ZDCDT(:) - -ENDDO -!% -! -IF (LHOOK) CALL DR_HOOK('CH_SIS',1,ZHOOK_HANDLE) -END SUBROUTINE CH_SIS diff --git a/src/arome/chem/internals/ch_solver_n.F90 b/src/arome/chem/internals/ch_solver_n.F90 deleted file mode 100644 index 9d87e5cc626a717923c02417478c44d9441182db..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_solver_n.F90 +++ /dev/null @@ -1,145 +0,0 @@ -! ######spl - SUBROUTINE CH_SOLVER_n(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################### -!! -!!*** *CH_SOLVER_n* -!! -!! PURPOSE -!! ------- -!! solution of one timestep of the chemical differential equation -!! -!!** METHOD -!! ------ -!! Calls the individual solvers and passes the corresponding parameters -!! on. A fixed integration step is used, however, some solvers internally -!! use variable time steps. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 24/04/95 -!! 10/11/95 KS: integrate SVODE solver (AFF) -!! 10/04/96 KS: integrate QSSA and EXQSSA solver (AFF) -!! 31/07/96 KS: add TPK to parameterlist (some solver desactivated !@) -!! 01/08/01 (C. Mari) change routine to _n -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! 01/06/07 (P. Tulet) model number in argument (for AROME) -!! -!! EXTERNAL -!! -------- -!! calls the different solvers like SIS, LinSSA, NAG, etc -USE MODI_CH_SIS -USE MODI_CH_LINSSA -USE MODI_CH_CRANCK -!USE MODI_CH_SVODE -USE MODI_CH_QSSA -USE MODI_CH_EXQSSA -!@USE MODI_CH_D02EAF -!@USE MODI_CH_D02EBF -!@USE MODI_CH_D02NBF -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_SOLVER_n -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KMI ! model number -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -! -!------------------------------------------------------------------------------ -! -! -!* 1. CALL THE SOLVERS -! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SOLVER_N',0,ZHOOK_HANDLE) -SELECT CASE (CSOLVER) -! -CASE ('SIS') -! - ! call SIS - CALL CH_SIS(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT,KMI) - ! -CASE ('LINSSA', 'LinSSA') -! - ! call LinSSA - CALL CH_LINSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - NSSA, NSSAINDEX) -! -CASE ('CRANCK') -! - ! call Cranck-Nicholson method - CALL CH_CRANCK(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - XALPHA) -! -CASE ('D02EAF') -! - ! call NAG's stiff-solver D02EAF - !@CALL CH_D02EAF(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KMI) - STOP 'CH_SOLVER_n SORRY: requested solver currently not supported (CSOLVER)' -! -CASE ('D02EBF') -! - ! call NAG's stiff-solver D02EBF - !@CALL CH_D02EBF(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KMI) - STOP 'CH_SOLVER_n SORRY: requested solver currently not supported (CSOLVER)' -! -CASE ('D02NBF') -! - ! call NAG's stiff-solver D02NBF - !@CALL CH_D02NBF(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KMI) - STOP 'CH_SOLVER_n SORRY: requested solver currently not supported (CSOLVER)' -! -CASE ('SVODE') -! - ! call SVODE solver - - ! CALL CH_SVODE(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - ! XRTOL, XATOL, NPED) - STOP 'CH_SOLVER_n SORRY: requested solver currently not supported (CSOLVER) until Masdev47' -! -CASE ('QSSA') -! - ! call QSSA - CALL CH_QSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - XSLOW, XFAST, NQSSAITER) - ! -CASE ('EXQSSA') -! - ! call EXQSSA - CALL CH_EXQSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - XSLOW, XFAST, XDTMAX) - ! -CASE ('NONE') -! - ! no integration at all (for debugging purposes) - PNEWCONC(:,:) = PCONC(:,:) -! -CASE DEFAULT - STOP 'CH_SOLVER_n ERROR: requested solver not supported (CSOLVER)' -END SELECT -! -IF (LHOOK) CALL DR_HOOK('CH_SOLVER_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_SOLVER_n diff --git a/src/arome/chem/internals/ch_sparse.F90 b/src/arome/chem/internals/ch_sparse.F90 deleted file mode 100644 index 8378474b3afb05df5bc465f6b320069efe011a11..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_sparse.F90 +++ /dev/null @@ -1,1359 +0,0 @@ -! ######spl - SUBROUTINE CH_SPARSE(KSPARSE, KSPARSEDIM) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################### -!! -!!*** *MODD_CH_SPARSE* -!! -!! PURPOSE -!! ------- -! calculation of the non-zero matrix elements in the Jacobian -!! -!!** METHOD -!! ------ -!! A 2D array KSPARSE of DIMESNSION(2,*) is returned, containing -!! the indices of the non-zero matrix elements in the Jacobian. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -INTEGER, INTENT(INOUT) :: KSPARSEDIM -INTEGER, INTENT(OUT), DIMENSION(2,KSPARSEDIM) :: KSPARSE -!! -!! LOCAL VARIABLES -!! --------------- -!! none -!!---------------------------------------------------------------------- -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! check if output array is large enough -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SPARSE',0,ZHOOK_HANDLE) -IF (KSPARSEDIM.LT.432) THEN - STOP 'CH_SPARSE ERROR: array KSPARSE is too small!' -END IF -!O3/O3 - KSPARSE(1, 1)=1 - KSPARSE(2, 1)=1 -!O3/NO - KSPARSE(1, 2)=1 - KSPARSE(2, 2)=3 -!O3/NO2 - KSPARSE(1, 3)=1 - KSPARSE(2, 3)=4 -!O3/OH - KSPARSE(1, 4)=1 - KSPARSE(2, 4)=14 -!O3/HO2 - KSPARSE(1, 5)=1 - KSPARSE(2, 5)=15 -!O3/ALKE - KSPARSE(1, 6)=1 - KSPARSE(2, 6)=19 -!O3/BIO - KSPARSE(1, 7)=1 - KSPARSE(2, 7)=20 -!O3/CARBO - KSPARSE(1, 8)=1 - KSPARSE(2, 8)=25 -!O3/PAN - KSPARSE(1, 9)=1 - KSPARSE(2, 9)=27 -!O3/ADD - KSPARSE(1, 10)=1 - KSPARSE(2, 10)=36 -!O3/CARBOP - KSPARSE(1, 11)=1 - KSPARSE(2, 11)=38 -!H2O2/O3 - KSPARSE(1, 12)=2 - KSPARSE(2, 12)=1 -!H2O2/H2O2 - KSPARSE(1, 13)=2 - KSPARSE(2, 13)=2 -!H2O2/OH - KSPARSE(1, 14)=2 - KSPARSE(2, 14)=14 -!H2O2/HO2 - KSPARSE(1, 15)=2 - KSPARSE(2, 15)=15 -!H2O2/ALKE - KSPARSE(1, 16)=2 - KSPARSE(2, 16)=19 -!H2O2/BIO - KSPARSE(1, 17)=2 - KSPARSE(2, 17)=20 -!NO/O3 - KSPARSE(1, 18)=3 - KSPARSE(2, 18)=1 -!NO/NO - KSPARSE(1, 19)=3 - KSPARSE(2, 19)=3 -!NO/NO2 - KSPARSE(1, 20)=3 - KSPARSE(2, 20)=4 -!NO/NO3 - KSPARSE(1, 21)=3 - KSPARSE(2, 21)=5 -!NO/HONO - KSPARSE(1, 22)=3 - KSPARSE(2, 22)=7 -!NO/OH - KSPARSE(1, 23)=3 - KSPARSE(2, 23)=14 -!NO/HO2 - KSPARSE(1, 24)=3 - KSPARSE(2, 24)=15 -!NO/MO2 - KSPARSE(1, 25)=3 - KSPARSE(2, 25)=31 -!NO/ALKAP - KSPARSE(1, 26)=3 - KSPARSE(2, 26)=32 -!NO/ALKEP - KSPARSE(1, 27)=3 - KSPARSE(2, 27)=33 -!NO/BIOP - KSPARSE(1, 28)=3 - KSPARSE(2, 28)=34 -!NO/AROP - KSPARSE(1, 29)=3 - KSPARSE(2, 29)=37 -!NO/CARBOP - KSPARSE(1, 30)=3 - KSPARSE(2, 30)=38 -!NO/OLN - KSPARSE(1, 31)=3 - KSPARSE(2, 31)=39 -!NO/XO2 - KSPARSE(1, 32)=3 - KSPARSE(2, 32)=40 -!NO2/O3 - KSPARSE(1, 33)=4 - KSPARSE(2, 33)=1 -!NO2/NO - KSPARSE(1, 34)=4 - KSPARSE(2, 34)=3 -!NO2/NO2 - KSPARSE(1, 35)=4 - KSPARSE(2, 35)=4 -!NO2/NO3 - KSPARSE(1, 36)=4 - KSPARSE(2, 36)=5 -!NO2/N2O5 - KSPARSE(1, 37)=4 - KSPARSE(2, 37)=6 -!NO2/HONO - KSPARSE(1, 38)=4 - KSPARSE(2, 38)=7 -!NO2/HNO3 - KSPARSE(1, 39)=4 - KSPARSE(2, 39)=8 -!NO2/HNO4 - KSPARSE(1, 40)=4 - KSPARSE(2, 40)=9 -!NO2/OH - KSPARSE(1, 41)=4 - KSPARSE(2, 41)=14 -!NO2/HO2 - KSPARSE(1, 42)=4 - KSPARSE(2, 42)=15 -!NO2/CARBO - KSPARSE(1, 43)=4 - KSPARSE(2, 43)=25 -!NO2/ONIT - KSPARSE(1, 44)=4 - KSPARSE(2, 44)=26 -!NO2/PAN - KSPARSE(1, 45)=4 - KSPARSE(2, 45)=27 -!NO2/MO2 - KSPARSE(1, 46)=4 - KSPARSE(2, 46)=31 -!NO2/ALKAP - KSPARSE(1, 47)=4 - KSPARSE(2, 47)=32 -!NO2/ALKEP - KSPARSE(1, 48)=4 - KSPARSE(2, 48)=33 -!NO2/BIOP - KSPARSE(1, 49)=4 - KSPARSE(2, 49)=34 -!NO2/PHO - KSPARSE(1, 50)=4 - KSPARSE(2, 50)=35 -!NO2/ADD - KSPARSE(1, 51)=4 - KSPARSE(2, 51)=36 -!NO2/AROP - KSPARSE(1, 52)=4 - KSPARSE(2, 52)=37 -!NO2/CARBOP - KSPARSE(1, 53)=4 - KSPARSE(2, 53)=38 -!NO2/OLN - KSPARSE(1, 54)=4 - KSPARSE(2, 54)=39 -!NO2/XO2 - KSPARSE(1, 55)=4 - KSPARSE(2, 55)=40 -!NO3/O3 - KSPARSE(1, 56)=5 - KSPARSE(2, 56)=1 -!NO3/NO - KSPARSE(1, 57)=5 - KSPARSE(2, 57)=3 -!NO3/NO2 - KSPARSE(1, 58)=5 - KSPARSE(2, 58)=4 -!NO3/NO3 - KSPARSE(1, 59)=5 - KSPARSE(2, 59)=5 -!NO3/N2O5 - KSPARSE(1, 60)=5 - KSPARSE(2, 60)=6 -!NO3/HNO3 - KSPARSE(1, 61)=5 - KSPARSE(2, 61)=8 -!NO3/HNO4 - KSPARSE(1, 62)=5 - KSPARSE(2, 62)=9 -!NO3/OH - KSPARSE(1, 63)=5 - KSPARSE(2, 63)=14 -!NO3/HO2 - KSPARSE(1, 64)=5 - KSPARSE(2, 64)=15 -!NO3/ALKE - KSPARSE(1, 65)=5 - KSPARSE(2, 65)=19 -!NO3/BIO - KSPARSE(1, 66)=5 - KSPARSE(2, 66)=20 -!NO3/ARO - KSPARSE(1, 67)=5 - KSPARSE(2, 67)=21 -!NO3/HCHO - KSPARSE(1, 68)=5 - KSPARSE(2, 68)=22 -!NO3/ALD - KSPARSE(1, 69)=5 - KSPARSE(2, 69)=23 -!NO3/CARBO - KSPARSE(1, 70)=5 - KSPARSE(2, 70)=25 -!NO3/PAN - KSPARSE(1, 71)=5 - KSPARSE(2, 71)=27 -!NO3/MO2 - KSPARSE(1, 72)=5 - KSPARSE(2, 72)=31 -!NO3/ALKAP - KSPARSE(1, 73)=5 - KSPARSE(2, 73)=32 -!NO3/ALKEP - KSPARSE(1, 74)=5 - KSPARSE(2, 74)=33 -!NO3/BIOP - KSPARSE(1, 75)=5 - KSPARSE(2, 75)=34 -!NO3/AROP - KSPARSE(1, 76)=5 - KSPARSE(2, 76)=37 -!NO3/CARBOP - KSPARSE(1, 77)=5 - KSPARSE(2, 77)=38 -!NO3/OLN - KSPARSE(1, 78)=5 - KSPARSE(2, 78)=39 -!NO3/XO2 - KSPARSE(1, 79)=5 - KSPARSE(2, 79)=40 -!N2O5/NO2 - KSPARSE(1, 80)=6 - KSPARSE(2, 80)=4 -!N2O5/NO3 - KSPARSE(1, 81)=6 - KSPARSE(2, 81)=5 -!N2O5/N2O5 - KSPARSE(1, 82)=6 - KSPARSE(2, 82)=6 -!HONO/NO - KSPARSE(1, 83)=7 - KSPARSE(2, 83)=3 -!HONO/NO2 - KSPARSE(1, 84)=7 - KSPARSE(2, 84)=4 -!HONO/HONO - KSPARSE(1, 85)=7 - KSPARSE(2, 85)=7 -!HONO/OH - KSPARSE(1, 86)=7 - KSPARSE(2, 86)=14 -!HONO/ADD - KSPARSE(1, 87)=7 - KSPARSE(2, 87)=36 -!HNO3/NO2 - KSPARSE(1, 88)=8 - KSPARSE(2, 88)=4 -!HNO3/NO3 - KSPARSE(1, 89)=8 - KSPARSE(2, 89)=5 -!HNO3/HNO3 - KSPARSE(1, 90)=8 - KSPARSE(2, 90)=8 -!HNO3/OH - KSPARSE(1, 91)=8 - KSPARSE(2, 91)=14 -!HNO3/HO2 - KSPARSE(1, 92)=8 - KSPARSE(2, 92)=15 -!HNO3/ARO - KSPARSE(1, 93)=8 - KSPARSE(2, 93)=21 -!HNO3/HCHO - KSPARSE(1, 94)=8 - KSPARSE(2, 94)=22 -!HNO3/ALD - KSPARSE(1, 95)=8 - KSPARSE(2, 95)=23 -!HNO3/CARBO - KSPARSE(1, 96)=8 - KSPARSE(2, 96)=25 -!HNO4/NO2 - KSPARSE(1, 97)=9 - KSPARSE(2, 97)=4 -!HNO4/HNO4 - KSPARSE(1, 98)=9 - KSPARSE(2, 98)=9 -!HNO4/OH - KSPARSE(1, 99)=9 - KSPARSE(2, 99)=14 -!HNO4/HO2 - KSPARSE(1, 100)=9 - KSPARSE(2, 100)=15 -!SO2/SO2 - KSPARSE(1, 101)=11 - KSPARSE(2, 101)=11 -!SO2/OH - KSPARSE(1, 102)=11 - KSPARSE(2, 102)=14 -!SULF/SO2 - KSPARSE(1, 103)=12 - KSPARSE(2, 103)=11 -!SULF/OH - KSPARSE(1, 104)=12 - KSPARSE(2, 104)=14 -!CO/O3 - KSPARSE(1, 105)=13 - KSPARSE(2, 105)=1 -!CO/NO3 - KSPARSE(1, 106)=13 - KSPARSE(2, 106)=5 -!CO/CO - KSPARSE(1, 107)=13 - KSPARSE(2, 107)=13 -!CO/OH - KSPARSE(1, 108)=13 - KSPARSE(2, 108)=14 -!CO/ALKA - KSPARSE(1, 109)=13 - KSPARSE(2, 109)=18 -!CO/ALKE - KSPARSE(1, 110)=13 - KSPARSE(2, 110)=19 -!CO/BIO - KSPARSE(1, 111)=13 - KSPARSE(2, 111)=20 -!CO/HCHO - KSPARSE(1, 112)=13 - KSPARSE(2, 112)=22 -!CO/ALD - KSPARSE(1, 113)=13 - KSPARSE(2, 113)=23 -!CO/CARBO - KSPARSE(1, 114)=13 - KSPARSE(2, 114)=25 -!CO/PAN - KSPARSE(1, 115)=13 - KSPARSE(2, 115)=27 -!OH/O3 - KSPARSE(1, 116)=14 - KSPARSE(2, 116)=1 -!OH/H2O2 - KSPARSE(1, 117)=14 - KSPARSE(2, 117)=2 -!OH/NO - KSPARSE(1, 118)=14 - KSPARSE(2, 118)=3 -!OH/NO2 - KSPARSE(1, 119)=14 - KSPARSE(2, 119)=4 -!OH/NO3 - KSPARSE(1, 120)=14 - KSPARSE(2, 120)=5 -!OH/HONO - KSPARSE(1, 121)=14 - KSPARSE(2, 121)=7 -!OH/HNO3 - KSPARSE(1, 122)=14 - KSPARSE(2, 122)=8 -!OH/HNO4 - KSPARSE(1, 123)=14 - KSPARSE(2, 123)=9 -!OH/SO2 - KSPARSE(1, 124)=14 - KSPARSE(2, 124)=11 -!OH/CO - KSPARSE(1, 125)=14 - KSPARSE(2, 125)=13 -!OH/OH - KSPARSE(1, 126)=14 - KSPARSE(2, 126)=14 -!OH/HO2 - KSPARSE(1, 127)=14 - KSPARSE(2, 127)=15 -!OH/CH4 - KSPARSE(1, 128)=14 - KSPARSE(2, 128)=16 -!OH/ETH - KSPARSE(1, 129)=14 - KSPARSE(2, 129)=17 -!OH/ALKA - KSPARSE(1, 130)=14 - KSPARSE(2, 130)=18 -!OH/ALKE - KSPARSE(1, 131)=14 - KSPARSE(2, 131)=19 -!OH/BIO - KSPARSE(1, 132)=14 - KSPARSE(2, 132)=20 -!OH/ARO - KSPARSE(1, 133)=14 - KSPARSE(2, 133)=21 -!OH/HCHO - KSPARSE(1, 134)=14 - KSPARSE(2, 134)=22 -!OH/ALD - KSPARSE(1, 135)=14 - KSPARSE(2, 135)=23 -!OH/KET - KSPARSE(1, 136)=14 - KSPARSE(2, 136)=24 -!OH/CARBO - KSPARSE(1, 137)=14 - KSPARSE(2, 137)=25 -!OH/ONIT - KSPARSE(1, 138)=14 - KSPARSE(2, 138)=26 -!OH/PAN - KSPARSE(1, 139)=14 - KSPARSE(2, 139)=27 -!OH/OP1 - KSPARSE(1, 140)=14 - KSPARSE(2, 140)=28 -!OH/OP2 - KSPARSE(1, 141)=14 - KSPARSE(2, 141)=29 -!OH/ADD - KSPARSE(1, 142)=14 - KSPARSE(2, 142)=36 -!HO2/O3 - KSPARSE(1, 143)=15 - KSPARSE(2, 143)=1 -!HO2/H2O2 - KSPARSE(1, 144)=15 - KSPARSE(2, 144)=2 -!HO2/NO - KSPARSE(1, 145)=15 - KSPARSE(2, 145)=3 -!HO2/NO2 - KSPARSE(1, 146)=15 - KSPARSE(2, 146)=4 -!HO2/NO3 - KSPARSE(1, 147)=15 - KSPARSE(2, 147)=5 -!HO2/HNO4 - KSPARSE(1, 148)=15 - KSPARSE(2, 148)=9 -!HO2/SO2 - KSPARSE(1, 149)=15 - KSPARSE(2, 149)=11 -!HO2/CO - KSPARSE(1, 150)=15 - KSPARSE(2, 150)=13 -!HO2/OH - KSPARSE(1, 151)=15 - KSPARSE(2, 151)=14 -!HO2/HO2 - KSPARSE(1, 152)=15 - KSPARSE(2, 152)=15 -!HO2/ALKA - KSPARSE(1, 153)=15 - KSPARSE(2, 153)=18 -!HO2/ALKE - KSPARSE(1, 154)=15 - KSPARSE(2, 154)=19 -!HO2/BIO - KSPARSE(1, 155)=15 - KSPARSE(2, 155)=20 -!HO2/ARO - KSPARSE(1, 156)=15 - KSPARSE(2, 156)=21 -!HO2/HCHO - KSPARSE(1, 157)=15 - KSPARSE(2, 157)=22 -!HO2/ALD - KSPARSE(1, 158)=15 - KSPARSE(2, 158)=23 -!HO2/CARBO - KSPARSE(1, 159)=15 - KSPARSE(2, 159)=25 -!HO2/ONIT - KSPARSE(1, 160)=15 - KSPARSE(2, 160)=26 -!HO2/PAN - KSPARSE(1, 161)=15 - KSPARSE(2, 161)=27 -!HO2/OP1 - KSPARSE(1, 162)=15 - KSPARSE(2, 162)=28 -!HO2/OP2 - KSPARSE(1, 163)=15 - KSPARSE(2, 163)=29 -!HO2/MO2 - KSPARSE(1, 164)=15 - KSPARSE(2, 164)=31 -!HO2/ALKAP - KSPARSE(1, 165)=15 - KSPARSE(2, 165)=32 -!HO2/ALKEP - KSPARSE(1, 166)=15 - KSPARSE(2, 166)=33 -!HO2/BIOP - KSPARSE(1, 167)=15 - KSPARSE(2, 167)=34 -!HO2/PHO - KSPARSE(1, 168)=15 - KSPARSE(2, 168)=35 -!HO2/ADD - KSPARSE(1, 169)=15 - KSPARSE(2, 169)=36 -!HO2/AROP - KSPARSE(1, 170)=15 - KSPARSE(2, 170)=37 -!HO2/CARBOP - KSPARSE(1, 171)=15 - KSPARSE(2, 171)=38 -!HO2/OLN - KSPARSE(1, 172)=15 - KSPARSE(2, 172)=39 -!HO2/XO2 - KSPARSE(1, 173)=15 - KSPARSE(2, 173)=40 -!CH4/O3 - KSPARSE(1, 174)=16 - KSPARSE(2, 174)=1 -!CH4/OH - KSPARSE(1, 175)=16 - KSPARSE(2, 175)=14 -!CH4/CH4 - KSPARSE(1, 176)=16 - KSPARSE(2, 176)=16 -!CH4/ALKE - KSPARSE(1, 177)=16 - KSPARSE(2, 177)=19 -!ETH/O3 - KSPARSE(1, 178)=17 - KSPARSE(2, 178)=1 -!ETH/OH - KSPARSE(1, 179)=17 - KSPARSE(2, 179)=14 -!ETH/ETH - KSPARSE(1, 180)=17 - KSPARSE(2, 180)=17 -!ETH/ALKE - KSPARSE(1, 181)=17 - KSPARSE(2, 181)=19 -!ALKA/OH - KSPARSE(1, 182)=18 - KSPARSE(2, 182)=14 -!ALKA/ALKA - KSPARSE(1, 183)=18 - KSPARSE(2, 183)=18 -!ALKE/O3 - KSPARSE(1, 184)=19 - KSPARSE(2, 184)=1 -!ALKE/NO - KSPARSE(1, 185)=19 - KSPARSE(2, 185)=3 -!ALKE/NO3 - KSPARSE(1, 186)=19 - KSPARSE(2, 186)=5 -!ALKE/OH - KSPARSE(1, 187)=19 - KSPARSE(2, 187)=14 -!ALKE/ALKE - KSPARSE(1, 188)=19 - KSPARSE(2, 188)=19 -!ALKE/BIO - KSPARSE(1, 189)=19 - KSPARSE(2, 189)=20 -!ALKE/MO2 - KSPARSE(1, 190)=19 - KSPARSE(2, 190)=31 -!ALKE/BIOP - KSPARSE(1, 191)=19 - KSPARSE(2, 191)=34 -!ALKE/CARBOP - KSPARSE(1, 192)=19 - KSPARSE(2, 192)=38 -!BIO/O3 - KSPARSE(1, 193)=20 - KSPARSE(2, 193)=1 -!BIO/NO3 - KSPARSE(1, 194)=20 - KSPARSE(2, 194)=5 -!BIO/OH - KSPARSE(1, 195)=20 - KSPARSE(2, 195)=14 -!BIO/BIO - KSPARSE(1, 196)=20 - KSPARSE(2, 196)=20 -!ARO/O3 - KSPARSE(1, 197)=21 - KSPARSE(2, 197)=1 -!ARO/NO2 - KSPARSE(1, 198)=21 - KSPARSE(2, 198)=4 -!ARO/NO3 - KSPARSE(1, 199)=21 - KSPARSE(2, 199)=5 -!ARO/OH - KSPARSE(1, 200)=21 - KSPARSE(2, 200)=14 -!ARO/HO2 - KSPARSE(1, 201)=21 - KSPARSE(2, 201)=15 -!ARO/ARO - KSPARSE(1, 202)=21 - KSPARSE(2, 202)=21 -!ARO/PHO - KSPARSE(1, 203)=21 - KSPARSE(2, 203)=35 -!ARO/ADD - KSPARSE(1, 204)=21 - KSPARSE(2, 204)=36 -!HCHO/O3 - KSPARSE(1, 205)=22 - KSPARSE(2, 205)=1 -!HCHO/NO - KSPARSE(1, 206)=22 - KSPARSE(2, 206)=3 -!HCHO/NO3 - KSPARSE(1, 207)=22 - KSPARSE(2, 207)=5 -!HCHO/OH - KSPARSE(1, 208)=22 - KSPARSE(2, 208)=14 -!HCHO/ALKA - KSPARSE(1, 209)=22 - KSPARSE(2, 209)=18 -!HCHO/ALKE - KSPARSE(1, 210)=22 - KSPARSE(2, 210)=19 -!HCHO/BIO - KSPARSE(1, 211)=22 - KSPARSE(2, 211)=20 -!HCHO/HCHO - KSPARSE(1, 212)=22 - KSPARSE(2, 212)=22 -!HCHO/CARBO - KSPARSE(1, 213)=22 - KSPARSE(2, 213)=25 -!HCHO/PAN - KSPARSE(1, 214)=22 - KSPARSE(2, 214)=27 -!HCHO/OP1 - KSPARSE(1, 215)=22 - KSPARSE(2, 215)=28 -!HCHO/OP2 - KSPARSE(1, 216)=22 - KSPARSE(2, 216)=29 -!HCHO/MO2 - KSPARSE(1, 217)=22 - KSPARSE(2, 217)=31 -!HCHO/ALKAP - KSPARSE(1, 218)=22 - KSPARSE(2, 218)=32 -!HCHO/ALKEP - KSPARSE(1, 219)=22 - KSPARSE(2, 219)=33 -!HCHO/BIOP - KSPARSE(1, 220)=22 - KSPARSE(2, 220)=34 -!HCHO/AROP - KSPARSE(1, 221)=22 - KSPARSE(2, 221)=37 -!HCHO/CARBOP - KSPARSE(1, 222)=22 - KSPARSE(2, 222)=38 -!HCHO/OLN - KSPARSE(1, 223)=22 - KSPARSE(2, 223)=39 -!HCHO/XO2 - KSPARSE(1, 224)=22 - KSPARSE(2, 224)=40 -!ALD/O3 - KSPARSE(1, 225)=23 - KSPARSE(2, 225)=1 -!ALD/NO - KSPARSE(1, 226)=23 - KSPARSE(2, 226)=3 -!ALD/NO3 - KSPARSE(1, 227)=23 - KSPARSE(2, 227)=5 -!ALD/OH - KSPARSE(1, 228)=23 - KSPARSE(2, 228)=14 -!ALD/ALKA - KSPARSE(1, 229)=23 - KSPARSE(2, 229)=18 -!ALD/ALKE - KSPARSE(1, 230)=23 - KSPARSE(2, 230)=19 -!ALD/BIO - KSPARSE(1, 231)=23 - KSPARSE(2, 231)=20 -!ALD/ALD - KSPARSE(1, 232)=23 - KSPARSE(2, 232)=23 -!ALD/CARBO - KSPARSE(1, 233)=23 - KSPARSE(2, 233)=25 -!ALD/ONIT - KSPARSE(1, 234)=23 - KSPARSE(2, 234)=26 -!ALD/OP2 - KSPARSE(1, 235)=23 - KSPARSE(2, 235)=29 -!ALD/MO2 - KSPARSE(1, 236)=23 - KSPARSE(2, 236)=31 -!ALD/ALKAP - KSPARSE(1, 237)=23 - KSPARSE(2, 237)=32 -!ALD/ALKEP - KSPARSE(1, 238)=23 - KSPARSE(2, 238)=33 -!ALD/BIOP - KSPARSE(1, 239)=23 - KSPARSE(2, 239)=34 -!ALD/CARBOP - KSPARSE(1, 240)=23 - KSPARSE(2, 240)=38 -!ALD/OLN - KSPARSE(1, 241)=23 - KSPARSE(2, 241)=39 -!KET/O3 - KSPARSE(1, 242)=24 - KSPARSE(2, 242)=1 -!KET/NO - KSPARSE(1, 243)=24 - KSPARSE(2, 243)=3 -!KET/NO3 - KSPARSE(1, 244)=24 - KSPARSE(2, 244)=5 -!KET/OH - KSPARSE(1, 245)=24 - KSPARSE(2, 245)=14 -!KET/ALKA - KSPARSE(1, 246)=24 - KSPARSE(2, 246)=18 -!KET/ALKE - KSPARSE(1, 247)=24 - KSPARSE(2, 247)=19 -!KET/BIO - KSPARSE(1, 248)=24 - KSPARSE(2, 248)=20 -!KET/KET - KSPARSE(1, 249)=24 - KSPARSE(2, 249)=24 -!KET/CARBO - KSPARSE(1, 250)=24 - KSPARSE(2, 250)=25 -!KET/ONIT - KSPARSE(1, 251)=24 - KSPARSE(2, 251)=26 -!KET/OP2 - KSPARSE(1, 252)=24 - KSPARSE(2, 252)=29 -!KET/MO2 - KSPARSE(1, 253)=24 - KSPARSE(2, 253)=31 -!KET/ALKAP - KSPARSE(1, 254)=24 - KSPARSE(2, 254)=32 -!KET/ALKEP - KSPARSE(1, 255)=24 - KSPARSE(2, 255)=33 -!KET/BIOP - KSPARSE(1, 256)=24 - KSPARSE(2, 256)=34 -!KET/CARBOP - KSPARSE(1, 257)=24 - KSPARSE(2, 257)=38 -!KET/OLN - KSPARSE(1, 258)=24 - KSPARSE(2, 258)=39 -!CARBO/O3 - KSPARSE(1, 259)=25 - KSPARSE(2, 259)=1 -!CARBO/NO - KSPARSE(1, 260)=25 - KSPARSE(2, 260)=3 -!CARBO/NO3 - KSPARSE(1, 261)=25 - KSPARSE(2, 261)=5 -!CARBO/OH - KSPARSE(1, 262)=25 - KSPARSE(2, 262)=14 -!CARBO/ALKA - KSPARSE(1, 263)=25 - KSPARSE(2, 263)=18 -!CARBO/ALKE - KSPARSE(1, 264)=25 - KSPARSE(2, 264)=19 -!CARBO/BIO - KSPARSE(1, 265)=25 - KSPARSE(2, 265)=20 -!CARBO/CARBO - KSPARSE(1, 266)=25 - KSPARSE(2, 266)=25 -!CARBO/PAN - KSPARSE(1, 267)=25 - KSPARSE(2, 267)=27 -!CARBO/MO2 - KSPARSE(1, 268)=25 - KSPARSE(2, 268)=31 -!CARBO/ALKAP - KSPARSE(1, 269)=25 - KSPARSE(2, 269)=32 -!CARBO/BIOP - KSPARSE(1, 270)=25 - KSPARSE(2, 270)=34 -!CARBO/AROP - KSPARSE(1, 271)=25 - KSPARSE(2, 271)=37 -!CARBO/CARBOP - KSPARSE(1, 272)=25 - KSPARSE(2, 272)=38 -!ONIT/NO - KSPARSE(1, 273)=26 - KSPARSE(2, 273)=3 -!ONIT/NO2 - KSPARSE(1, 274)=26 - KSPARSE(2, 274)=4 -!ONIT/NO3 - KSPARSE(1, 275)=26 - KSPARSE(2, 275)=5 -!ONIT/OH - KSPARSE(1, 276)=26 - KSPARSE(2, 276)=14 -!ONIT/HO2 - KSPARSE(1, 277)=26 - KSPARSE(2, 277)=15 -!ONIT/ONIT - KSPARSE(1, 278)=26 - KSPARSE(2, 278)=26 -!ONIT/PAN - KSPARSE(1, 279)=26 - KSPARSE(2, 279)=27 -!ONIT/MO2 - KSPARSE(1, 280)=26 - KSPARSE(2, 280)=31 -!ONIT/ALKAP - KSPARSE(1, 281)=26 - KSPARSE(2, 281)=32 -!ONIT/BIOP - KSPARSE(1, 282)=26 - KSPARSE(2, 282)=34 -!ONIT/PHO - KSPARSE(1, 283)=26 - KSPARSE(2, 283)=35 -!ONIT/AROP - KSPARSE(1, 284)=26 - KSPARSE(2, 284)=37 -!ONIT/CARBOP - KSPARSE(1, 285)=26 - KSPARSE(2, 285)=38 -!ONIT/OLN - KSPARSE(1, 286)=26 - KSPARSE(2, 286)=39 -!PAN/O3 - KSPARSE(1, 287)=27 - KSPARSE(2, 287)=1 -!PAN/NO2 - KSPARSE(1, 288)=27 - KSPARSE(2, 288)=4 -!PAN/NO3 - KSPARSE(1, 289)=27 - KSPARSE(2, 289)=5 -!PAN/OH - KSPARSE(1, 290)=27 - KSPARSE(2, 290)=14 -!PAN/PAN - KSPARSE(1, 291)=27 - KSPARSE(2, 291)=27 -!PAN/CARBOP - KSPARSE(1, 292)=27 - KSPARSE(2, 292)=38 -!OP1/OH - KSPARSE(1, 293)=28 - KSPARSE(2, 293)=14 -!OP1/HO2 - KSPARSE(1, 294)=28 - KSPARSE(2, 294)=15 -!OP1/OP1 - KSPARSE(1, 295)=28 - KSPARSE(2, 295)=28 -!OP1/MO2 - KSPARSE(1, 296)=28 - KSPARSE(2, 296)=31 -!OP2/O3 - KSPARSE(1, 297)=29 - KSPARSE(2, 297)=1 -!OP2/OH - KSPARSE(1, 298)=29 - KSPARSE(2, 298)=14 -!OP2/HO2 - KSPARSE(1, 299)=29 - KSPARSE(2, 299)=15 -!OP2/CARBO - KSPARSE(1, 300)=29 - KSPARSE(2, 300)=25 -!OP2/OP2 - KSPARSE(1, 301)=29 - KSPARSE(2, 301)=29 -!OP2/ALKAP - KSPARSE(1, 302)=29 - KSPARSE(2, 302)=32 -!OP2/ALKEP - KSPARSE(1, 303)=29 - KSPARSE(2, 303)=33 -!OP2/BIOP - KSPARSE(1, 304)=29 - KSPARSE(2, 304)=34 -!OP2/AROP - KSPARSE(1, 305)=29 - KSPARSE(2, 305)=37 -!OP2/CARBOP - KSPARSE(1, 306)=29 - KSPARSE(2, 306)=38 -!OP2/XO2 - KSPARSE(1, 307)=29 - KSPARSE(2, 307)=40 -!ORA2/O3 - KSPARSE(1, 308)=30 - KSPARSE(2, 308)=1 -!ORA2/HO2 - KSPARSE(1, 309)=30 - KSPARSE(2, 309)=15 -!ORA2/ALKE - KSPARSE(1, 310)=30 - KSPARSE(2, 310)=19 -!ORA2/BIO - KSPARSE(1, 311)=30 - KSPARSE(2, 311)=20 -!ORA2/CARBO - KSPARSE(1, 312)=30 - KSPARSE(2, 312)=25 -!ORA2/MO2 - KSPARSE(1, 313)=30 - KSPARSE(2, 313)=31 -!ORA2/ALKAP - KSPARSE(1, 314)=30 - KSPARSE(2, 314)=32 -!ORA2/ALKEP - KSPARSE(1, 315)=30 - KSPARSE(2, 315)=33 -!ORA2/BIOP - KSPARSE(1, 316)=30 - KSPARSE(2, 316)=34 -!ORA2/CARBOP - KSPARSE(1, 317)=30 - KSPARSE(2, 317)=38 -!ORA2/OLN - KSPARSE(1, 318)=30 - KSPARSE(2, 318)=39 -!MO2/O3 - KSPARSE(1, 319)=31 - KSPARSE(2, 319)=1 -!MO2/NO - KSPARSE(1, 320)=31 - KSPARSE(2, 320)=3 -!MO2/NO3 - KSPARSE(1, 321)=31 - KSPARSE(2, 321)=5 -!MO2/OH - KSPARSE(1, 322)=31 - KSPARSE(2, 322)=14 -!MO2/HO2 - KSPARSE(1, 323)=31 - KSPARSE(2, 323)=15 -!MO2/CH4 - KSPARSE(1, 324)=31 - KSPARSE(2, 324)=16 -!MO2/ALKE - KSPARSE(1, 325)=31 - KSPARSE(2, 325)=19 -!MO2/BIO - KSPARSE(1, 326)=31 - KSPARSE(2, 326)=20 -!MO2/ALD - KSPARSE(1, 327)=31 - KSPARSE(2, 327)=23 -!MO2/OP1 - KSPARSE(1, 328)=31 - KSPARSE(2, 328)=28 -!MO2/OP2 - KSPARSE(1, 329)=31 - KSPARSE(2, 329)=29 -!MO2/MO2 - KSPARSE(1, 330)=31 - KSPARSE(2, 330)=31 -!MO2/ALKAP - KSPARSE(1, 331)=31 - KSPARSE(2, 331)=32 -!MO2/ALKEP - KSPARSE(1, 332)=31 - KSPARSE(2, 332)=33 -!MO2/BIOP - KSPARSE(1, 333)=31 - KSPARSE(2, 333)=34 -!MO2/AROP - KSPARSE(1, 334)=31 - KSPARSE(2, 334)=37 -!MO2/CARBOP - KSPARSE(1, 335)=31 - KSPARSE(2, 335)=38 -!MO2/OLN - KSPARSE(1, 336)=31 - KSPARSE(2, 336)=39 -!MO2/XO2 - KSPARSE(1, 337)=31 - KSPARSE(2, 337)=40 -!ALKAP/O3 - KSPARSE(1, 338)=32 - KSPARSE(2, 338)=1 -!ALKAP/NO - KSPARSE(1, 339)=32 - KSPARSE(2, 339)=3 -!ALKAP/NO3 - KSPARSE(1, 340)=32 - KSPARSE(2, 340)=5 -!ALKAP/OH - KSPARSE(1, 341)=32 - KSPARSE(2, 341)=14 -!ALKAP/HO2 - KSPARSE(1, 342)=32 - KSPARSE(2, 342)=15 -!ALKAP/ETH - KSPARSE(1, 343)=32 - KSPARSE(2, 343)=17 -!ALKAP/ALKA - KSPARSE(1, 344)=32 - KSPARSE(2, 344)=18 -!ALKAP/ALKE - KSPARSE(1, 345)=32 - KSPARSE(2, 345)=19 -!ALKAP/BIO - KSPARSE(1, 346)=32 - KSPARSE(2, 346)=20 -!ALKAP/KET - KSPARSE(1, 347)=32 - KSPARSE(2, 347)=24 -!ALKAP/ONIT - KSPARSE(1, 348)=32 - KSPARSE(2, 348)=26 -!ALKAP/OP2 - KSPARSE(1, 349)=32 - KSPARSE(2, 349)=29 -!ALKAP/MO2 - KSPARSE(1, 350)=32 - KSPARSE(2, 350)=31 -!ALKAP/ALKAP - KSPARSE(1, 351)=32 - KSPARSE(2, 351)=32 -!ALKAP/CARBOP - KSPARSE(1, 352)=32 - KSPARSE(2, 352)=38 -!ALKEP/NO - KSPARSE(1, 353)=33 - KSPARSE(2, 353)=3 -!ALKEP/NO3 - KSPARSE(1, 354)=33 - KSPARSE(2, 354)=5 -!ALKEP/OH - KSPARSE(1, 355)=33 - KSPARSE(2, 355)=14 -!ALKEP/HO2 - KSPARSE(1, 356)=33 - KSPARSE(2, 356)=15 -!ALKEP/ALKE - KSPARSE(1, 357)=33 - KSPARSE(2, 357)=19 -!ALKEP/MO2 - KSPARSE(1, 358)=33 - KSPARSE(2, 358)=31 -!ALKEP/ALKEP - KSPARSE(1, 359)=33 - KSPARSE(2, 359)=33 -!ALKEP/CARBOP - KSPARSE(1, 360)=33 - KSPARSE(2, 360)=38 -!BIOP/NO - KSPARSE(1, 361)=34 - KSPARSE(2, 361)=3 -!BIOP/NO3 - KSPARSE(1, 362)=34 - KSPARSE(2, 362)=5 -!BIOP/OH - KSPARSE(1, 363)=34 - KSPARSE(2, 363)=14 -!BIOP/HO2 - KSPARSE(1, 364)=34 - KSPARSE(2, 364)=15 -!BIOP/ALKE - KSPARSE(1, 365)=34 - KSPARSE(2, 365)=19 -!BIOP/BIO - KSPARSE(1, 366)=34 - KSPARSE(2, 366)=20 -!BIOP/MO2 - KSPARSE(1, 367)=34 - KSPARSE(2, 367)=31 -!BIOP/BIOP - KSPARSE(1, 368)=34 - KSPARSE(2, 368)=34 -!BIOP/CARBOP - KSPARSE(1, 369)=34 - KSPARSE(2, 369)=38 -!PHO/NO2 - KSPARSE(1, 370)=35 - KSPARSE(2, 370)=4 -!PHO/NO3 - KSPARSE(1, 371)=35 - KSPARSE(2, 371)=5 -!PHO/OH - KSPARSE(1, 372)=35 - KSPARSE(2, 372)=14 -!PHO/HO2 - KSPARSE(1, 373)=35 - KSPARSE(2, 373)=15 -!PHO/ARO - KSPARSE(1, 374)=35 - KSPARSE(2, 374)=21 -!PHO/PHO - KSPARSE(1, 375)=35 - KSPARSE(2, 375)=35 -!ADD/O3 - KSPARSE(1, 376)=36 - KSPARSE(2, 376)=1 -!ADD/NO2 - KSPARSE(1, 377)=36 - KSPARSE(2, 377)=4 -!ADD/OH - KSPARSE(1, 378)=36 - KSPARSE(2, 378)=14 -!ADD/ARO - KSPARSE(1, 379)=36 - KSPARSE(2, 379)=21 -!ADD/ADD - KSPARSE(1, 380)=36 - KSPARSE(2, 380)=36 -!AROP/NO - KSPARSE(1, 381)=37 - KSPARSE(2, 381)=3 -!AROP/NO3 - KSPARSE(1, 382)=37 - KSPARSE(2, 382)=5 -!AROP/HO2 - KSPARSE(1, 383)=37 - KSPARSE(2, 383)=15 -!AROP/MO2 - KSPARSE(1, 384)=37 - KSPARSE(2, 384)=31 -!AROP/ADD - KSPARSE(1, 385)=37 - KSPARSE(2, 385)=36 -!AROP/AROP - KSPARSE(1, 386)=37 - KSPARSE(2, 386)=37 -!AROP/CARBOP - KSPARSE(1, 387)=37 - KSPARSE(2, 387)=38 -!CARBOP/O3 - KSPARSE(1, 388)=38 - KSPARSE(2, 388)=1 -!CARBOP/NO - KSPARSE(1, 389)=38 - KSPARSE(2, 389)=3 -!CARBOP/NO2 - KSPARSE(1, 390)=38 - KSPARSE(2, 390)=4 -!CARBOP/NO3 - KSPARSE(1, 391)=38 - KSPARSE(2, 391)=5 -!CARBOP/OH - KSPARSE(1, 392)=38 - KSPARSE(2, 392)=14 -!CARBOP/HO2 - KSPARSE(1, 393)=38 - KSPARSE(2, 393)=15 -!CARBOP/ALKE - KSPARSE(1, 394)=38 - KSPARSE(2, 394)=19 -!CARBOP/BIO - KSPARSE(1, 395)=38 - KSPARSE(2, 395)=20 -!CARBOP/ALD - KSPARSE(1, 396)=38 - KSPARSE(2, 396)=23 -!CARBOP/KET - KSPARSE(1, 397)=38 - KSPARSE(2, 397)=24 -!CARBOP/CARBO - KSPARSE(1, 398)=38 - KSPARSE(2, 398)=25 -!CARBOP/PAN - KSPARSE(1, 399)=38 - KSPARSE(2, 399)=27 -!CARBOP/OP2 - KSPARSE(1, 400)=38 - KSPARSE(2, 400)=29 -!CARBOP/MO2 - KSPARSE(1, 401)=38 - KSPARSE(2, 401)=31 -!CARBOP/ALKAP - KSPARSE(1, 402)=38 - KSPARSE(2, 402)=32 -!CARBOP/ALKEP - KSPARSE(1, 403)=38 - KSPARSE(2, 403)=33 -!CARBOP/BIOP - KSPARSE(1, 404)=38 - KSPARSE(2, 404)=34 -!CARBOP/AROP - KSPARSE(1, 405)=38 - KSPARSE(2, 405)=37 -!CARBOP/CARBOP - KSPARSE(1, 406)=38 - KSPARSE(2, 406)=38 -!CARBOP/OLN - KSPARSE(1, 407)=38 - KSPARSE(2, 407)=39 -!CARBOP/XO2 - KSPARSE(1, 408)=38 - KSPARSE(2, 408)=40 -!OLN/NO - KSPARSE(1, 409)=39 - KSPARSE(2, 409)=3 -!OLN/NO3 - KSPARSE(1, 410)=39 - KSPARSE(2, 410)=5 -!OLN/HO2 - KSPARSE(1, 411)=39 - KSPARSE(2, 411)=15 -!OLN/ALKE - KSPARSE(1, 412)=39 - KSPARSE(2, 412)=19 -!OLN/BIO - KSPARSE(1, 413)=39 - KSPARSE(2, 413)=20 -!OLN/CARBO - KSPARSE(1, 414)=39 - KSPARSE(2, 414)=25 -!OLN/MO2 - KSPARSE(1, 415)=39 - KSPARSE(2, 415)=31 -!OLN/CARBOP - KSPARSE(1, 416)=39 - KSPARSE(2, 416)=38 -!OLN/OLN - KSPARSE(1, 417)=39 - KSPARSE(2, 417)=39 -!XO2/O3 - KSPARSE(1, 418)=40 - KSPARSE(2, 418)=1 -!XO2/NO - KSPARSE(1, 419)=40 - KSPARSE(2, 419)=3 -!XO2/NO3 - KSPARSE(1, 420)=40 - KSPARSE(2, 420)=5 -!XO2/OH - KSPARSE(1, 421)=40 - KSPARSE(2, 421)=14 -!XO2/HO2 - KSPARSE(1, 422)=40 - KSPARSE(2, 422)=15 -!XO2/ALKE - KSPARSE(1, 423)=40 - KSPARSE(2, 423)=19 -!XO2/BIO - KSPARSE(1, 424)=40 - KSPARSE(2, 424)=20 -!XO2/ARO - KSPARSE(1, 425)=40 - KSPARSE(2, 425)=21 -!XO2/CARBO - KSPARSE(1, 426)=40 - KSPARSE(2, 426)=25 -!XO2/PAN - KSPARSE(1, 427)=40 - KSPARSE(2, 427)=27 -!XO2/OP2 - KSPARSE(1, 428)=40 - KSPARSE(2, 428)=29 -!XO2/MO2 - KSPARSE(1, 429)=40 - KSPARSE(2, 429)=31 -!XO2/ALKAP - KSPARSE(1, 430)=40 - KSPARSE(2, 430)=32 -!XO2/CARBOP - KSPARSE(1, 431)=40 - KSPARSE(2, 431)=38 -!XO2/XO2 - KSPARSE(1, 432)=40 - KSPARSE(2, 432)=40 -KSPARSEDIM = 432 -IF (LHOOK) CALL DR_HOOK('CH_SPARSE',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_SPARSE diff --git a/src/arome/chem/internals/ch_svode.F90 b/src/arome/chem/internals/ch_svode.F90 deleted file mode 100644 index f9ff6985702b4b50201086703412f35e3ea91fae..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_svode.F90 +++ /dev/null @@ -1,132 +0,0 @@ -! ######spl -SUBROUTINE CH_SVODE(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PRTOL, PATOL, KPED ) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################################################################## -!! -!!**** *CH_SVODE* - -!! PURPOSE -!! ------- -!! solve one time-step of the chemical differential equation d/dt C = f(C) - -!! METHOD -!! ------ -!! the stiff-solver SVODE (written in FORTRAN77) -!! will be used to solve the system -!! NOTE: this subroutine is not 100% doctorized since we want -!! to conserve quasi-standard variable names used by SVODE - -!! REFERENCE -!! --------- -!! MesoNH book 2 - -!! AUTHOR -!! ------ -!! K. Suhre - -!! MODIFICATIONS -!! ------------- -!! Original 10/11/95 -!! 01/08/01 (C. Mari) add arguments -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -!! SVODE: stiff solver from NETLIB -!! CH_SVODE_FCN, CH_SVODE_JAC: argument list converters for CH_FCN, CH_JAC - -!! IMPLICIT ARGUMENTS -!! ------------------ -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC - ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC - ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model index -REAL, INTENT(IN) :: PRTOL, PATOL -INTEGER, INTENT(IN) :: KPED - -!! DECLARATION OF LOCAL VARIABLES -!! ------------------------------ -REAL, DIMENSION(KEQ) :: ZCONC ! concentration vector -REAL :: ZTBEGIN, ZTEND ! begin and end of integration step - -INTEGER :: ITOL = 1 ! type of error, don't play with this parameter -INTEGER :: ITASK = 1 ! integrate from PTSIMUL to PTSIMUL + PDTACT -INTEGER :: ISTATE ! integer flag (input and output) -INTEGER :: IOPT = 0 ! 0 to indicate no optional input used -INTEGER :: IMF ! 21=use stiff full analytical Jacobian - ! 22=use stiff full numerical Jacobian -REAL, DIMENSION(KEQ) :: ZRTOL ! relative tolerance (XRTOL) -REAL, DIMENSION(KEQ) :: ZATOL ! absolute tolerance (XATOL) - -! workspace declaration -INTEGER :: IRW ! will be set to (22 + 9*KEQ + 2*KEQ*KEQ) in the code -INTEGER :: IIW ! will be set to (30 + KEQ) in the code -REAL, DIMENSION(22 + 9*KEQ + 2*KEQ*KEQ) :: ZWORK ! workspace -INTEGER, DIMENSION(30 + KEQ) :: IWORK ! workspace - -! dummy parameters -INTEGER, DIMENSION(1) :: IPAR ! dummy parameter -REAL, DIMENSION(1) :: ZPAR ! dummy parameter - -INTEGER :: JI ! loop counter - -EXTERNAL CH_SVODE_FCN, CH_SVODE_JAC - -!* EXECUTABLE STATEMENTS -! --------------------- - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_SVODE',0,ZHOOK_HANDLE) -ZTBEGIN = PTSIMUL -ZTEND = PTSIMUL + PDTACT - -ZRTOL(:) = PRTOL -ZATOL(:) = PATOL - -! set array dimensions -IRW = (22 + 9*KEQ + 2*KEQ*KEQ) -IIW = (30 + KEQ) - -! choose calculation of Jacobian -IF (KPED .EQ. 0) THEN - IMF = 22 ! numerical calculation of Jacobian -ELSE - IMF = 21 ! analytical calculation of Jacobian using CH_JAC -ENDIF - -! at each call to SVODE start a new iteration cycle -ISTATE = 1 - -! this solver is not vectorized, we loop over all elements -DO JI = 1, KVECNPT - - ZCONC(:) = PCONC(JI,:) - - ! call SVODE solver - CALL SVODE (CH_SVODE_FCN, KEQ, ZCONC, ZTBEGIN, ZTEND, & - ITOL, ZRTOL, ZATOL, ITASK, & - ISTATE, IOPT, ZWORK, IRW, IWORK, IIW, CH_SVODE_JAC, IMF, & - ZPAR, IPAR, KMI, JI) - - IF (ISTATE.LT.0) THEN - PRINT *, "Problems !!! ISTATE = ", ISTATE - PRINT *, "at vector element ", JI, " out of ", KVECNPT - STOP "CH_SVODE: program stopped due to SVODE error!" - ENDIF - - PNEWCONC(JI,:) = ZCONC(:) - -END DO - -IF (LHOOK) CALL DR_HOOK('CH_SVODE',1,ZHOOK_HANDLE) -END SUBROUTINE CH_SVODE diff --git a/src/arome/chem/internals/ch_terms.F90 b/src/arome/chem/internals/ch_terms.F90 deleted file mode 100644 index 2377f0ed2372e39c13889f58071ee9499f622e4b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_terms.F90 +++ /dev/null @@ -1,1856 +0,0 @@ -! ######spl - SUBROUTINE CH_TERMS(PTIME,PCONC,PTERMS,KMI,KVECNPT,KEQ,KREAC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ################################################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *MODD_CH_TERMS* -!! -!! PURPOSE -!! ------- -! calculation of the contribution of each term in each reaction -!! -!!** METHOD -!! ------ -!! The contribution of reaction i to the evolution of species j -!! is returned in PTERMS. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9_SCHEME -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ, KREAC -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ,KREAC):: PTERMS -INTEGER, INTENT(IN) :: KMI -!! -TYPE(CCSTYPE), POINTER :: TPK -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_TERMS',0,ZHOOK_HANDLE) -TPK=>TACCS(KMI) -! /BEGIN_CODE/ - TPK%O1D(:)=(TPK%K002(:)*PCONC(:,JP_O3))/(TPK%K020(:)*TPK%N2(:)+TPK%K021(:)*TPK%O2(:)+& - &TPK%K022(:)*TPK%H2O(:)) - - - TPK%O3P(:)=(TPK%K001(:)*PCONC(:,JP_NO2)+TPK%K003(:)*PCONC(:,JP_O3)+TPK%K008(:)*PCONC(:,JP_NO3)+& - &TPK%K020(:)*TPK%O1D(:)*TPK%N2(:)+TPK%K021(:)*TPK%O1D(:)*TPK%O2(:)+& - &0.00000*TPK%K076(:)*PCONC(:,JP_ALKE)*PCONC(:,JP_O3)+& - &0.09000*TPK%K077(:)*PCONC(:,JP_BIO)*PCONC(:,JP_O3))/& - &(TPK%K018(:)*TPK%O2(:)+TPK%K019(:)*PCONC(:,JP_O3)+TPK%K029(:)*PCONC(:,JP_NO)+& - &TPK%K030(:)*PCONC(:,JP_NO2)+TPK%K031(:)*PCONC(:,JP_NO2)+TPK%K053(:)*PCONC(:,JP_BIO)+& - &TPK%K054(:)*PCONC(:,JP_CARBO)) - - -! /END_CODE/ -PTERMS(:,:,:) = 0.0 -!PTERMS(NO,K001) = +K001*<NO2> - PTERMS(:,3,1) = +TPK%K001(:)*PCONC(:,4) - -!PTERMS(NO2,K001) = -K001*<NO2> - PTERMS(:,4,1) = -TPK%K001(:)*PCONC(:,4) - -!PTERMS(O3,K002) = -K002*<O3> - PTERMS(:,1,2) = -TPK%K002(:)*PCONC(:,1) - -!PTERMS(O3,K003) = -K003*<O3> - PTERMS(:,1,3) = -TPK%K003(:)*PCONC(:,1) - -!PTERMS(NO,K004) = +K004*<HONO> - PTERMS(:,3,4) = +TPK%K004(:)*PCONC(:,7) - -!PTERMS(HONO,K004) = -K004*<HONO> - PTERMS(:,7,4) = -TPK%K004(:)*PCONC(:,7) - -!PTERMS(OH,K004) = +K004*<HONO> - PTERMS(:,14,4) = +TPK%K004(:)*PCONC(:,7) - -!PTERMS(NO2,K005) = +K005*<HNO3> - PTERMS(:,4,5) = +TPK%K005(:)*PCONC(:,8) - -!PTERMS(HNO3,K005) = -K005*<HNO3> - PTERMS(:,8,5) = -TPK%K005(:)*PCONC(:,8) - -!PTERMS(OH,K005) = +K005*<HNO3> - PTERMS(:,14,5) = +TPK%K005(:)*PCONC(:,8) - -!PTERMS(NO2,K006) = +0.65*K006*<HNO4> - PTERMS(:,4,6) = +0.65*TPK%K006(:)*PCONC(:,9) - -!PTERMS(NO3,K006) = +0.35*K006*<HNO4> - PTERMS(:,5,6) = +0.35*TPK%K006(:)*PCONC(:,9) - -!PTERMS(HNO4,K006) = -K006*<HNO4> - PTERMS(:,9,6) = -TPK%K006(:)*PCONC(:,9) - -!PTERMS(OH,K006) = +0.35*K006*<HNO4> - PTERMS(:,14,6) = +0.35*TPK%K006(:)*PCONC(:,9) - -!PTERMS(HO2,K006) = +0.65*K006*<HNO4> - PTERMS(:,15,6) = +0.65*TPK%K006(:)*PCONC(:,9) - -!PTERMS(NO,K007) = +K007*<NO3> - PTERMS(:,3,7) = +TPK%K007(:)*PCONC(:,5) - -!PTERMS(NO3,K007) = -K007*<NO3> - PTERMS(:,5,7) = -TPK%K007(:)*PCONC(:,5) - -!PTERMS(NO2,K008) = +K008*<NO3> - PTERMS(:,4,8) = +TPK%K008(:)*PCONC(:,5) - -!PTERMS(NO3,K008) = -K008*<NO3> - PTERMS(:,5,8) = -TPK%K008(:)*PCONC(:,5) - -!PTERMS(H2O2,K009) = -K009*<H2O2> - PTERMS(:,2,9) = -TPK%K009(:)*PCONC(:,2) - -!PTERMS(OH,K009) = +K009*<H2O2> - PTERMS(:,14,9) = +TPK%K009(:)*PCONC(:,2) - -!PTERMS(CO,K010) = +K010*<HCHO> - PTERMS(:,13,10) = +TPK%K010(:)*PCONC(:,22) - -!PTERMS(HCHO,K010) = -K010*<HCHO> - PTERMS(:,22,10) = -TPK%K010(:)*PCONC(:,22) - -!PTERMS(CO,K011) = +K011*<HCHO> - PTERMS(:,13,11) = +TPK%K011(:)*PCONC(:,22) - -!PTERMS(HO2,K011) = +K011*<HCHO> - PTERMS(:,15,11) = +TPK%K011(:)*PCONC(:,22) - -!PTERMS(HCHO,K011) = -K011*<HCHO> - PTERMS(:,22,11) = -TPK%K011(:)*PCONC(:,22) - -!PTERMS(CO,K012) = +K012*<ALD> - PTERMS(:,13,12) = +TPK%K012(:)*PCONC(:,23) - -!PTERMS(HO2,K012) = +K012*<ALD> - PTERMS(:,15,12) = +TPK%K012(:)*PCONC(:,23) - -!PTERMS(ALD,K012) = -K012*<ALD> - PTERMS(:,23,12) = -TPK%K012(:)*PCONC(:,23) - -!PTERMS(MO2,K012) = +K012*<ALD> - PTERMS(:,31,12) = +TPK%K012(:)*PCONC(:,23) - -!PTERMS(OH,K013) = +K013*<OP1> - PTERMS(:,14,13) = +TPK%K013(:)*PCONC(:,28) - -!PTERMS(HO2,K013) = +K013*<OP1> - PTERMS(:,15,13) = +TPK%K013(:)*PCONC(:,28) - -!PTERMS(HCHO,K013) = +K013*<OP1> - PTERMS(:,22,13) = +TPK%K013(:)*PCONC(:,28) - -!PTERMS(OP1,K013) = -K013*<OP1> - PTERMS(:,28,13) = -TPK%K013(:)*PCONC(:,28) - -!PTERMS(OH,K014) = +K014*<OP2> - PTERMS(:,14,14) = +TPK%K014(:)*PCONC(:,29) - -!PTERMS(HO2,K014) = +0.96205*K014*<OP2> - PTERMS(:,15,14) = +0.96205*TPK%K014(:)*PCONC(:,29) - -!PTERMS(ALD,K014) = +0.96205*K014*<OP2> - PTERMS(:,23,14) = +0.96205*TPK%K014(:)*PCONC(:,29) - -!PTERMS(OP2,K014) = -K014*<OP2> - PTERMS(:,29,14) = -TPK%K014(:)*PCONC(:,29) - -!PTERMS(MO2,K014) = +0.03795*K014*<OP2> - PTERMS(:,31,14) = +0.03795*TPK%K014(:)*PCONC(:,29) - -!PTERMS(KET,K015) = -K015*<KET> - PTERMS(:,24,15) = -TPK%K015(:)*PCONC(:,24) - -!PTERMS(ALKAP,K015) = +1.00000*K015*<KET> - PTERMS(:,32,15) = +1.00000*TPK%K015(:)*PCONC(:,24) - -!PTERMS(CARBOP,K015) = +1.00000*K015*<KET> - PTERMS(:,38,15) = +1.00000*TPK%K015(:)*PCONC(:,24) - -!PTERMS(CO,K016) = +0.91924*K016*<CARBO> - PTERMS(:,13,16) = +0.91924*TPK%K016(:)*PCONC(:,25) - -!PTERMS(HO2,K016) = +0.75830*K016*<CARBO> - PTERMS(:,15,16) = +0.75830*TPK%K016(:)*PCONC(:,25) - -!PTERMS(HCHO,K016) = +0.06517*K016*<CARBO> - PTERMS(:,22,16) = +0.06517*TPK%K016(:)*PCONC(:,25) - -!PTERMS(CARBO,K016) = -K016*<CARBO> - PTERMS(:,25,16) = -TPK%K016(:)*PCONC(:,25) - -!PTERMS(CARBOP,K016) = +0.69622*K016*<CARBO> - PTERMS(:,38,16) = +0.69622*TPK%K016(:)*PCONC(:,25) - -!PTERMS(NO2,K017) = +K017*<ONIT> - PTERMS(:,4,17) = +TPK%K017(:)*PCONC(:,26) - -!PTERMS(HO2,K017) = +K017*<ONIT> - PTERMS(:,15,17) = +TPK%K017(:)*PCONC(:,26) - -!PTERMS(ALD,K017) = +0.20*K017*<ONIT> - PTERMS(:,23,17) = +0.20*TPK%K017(:)*PCONC(:,26) - -!PTERMS(KET,K017) = +0.80*K017*<ONIT> - PTERMS(:,24,17) = +0.80*TPK%K017(:)*PCONC(:,26) - -!PTERMS(ONIT,K017) = -K017*<ONIT> - PTERMS(:,26,17) = -TPK%K017(:)*PCONC(:,26) - -!PTERMS(O3,K018) = +K018*<O3P>*<O2> - PTERMS(:,1,18) = +TPK%K018(:)*TPK%O3P(:)*TPK%O2(:) - -!PTERMS(O3,K019) = -K019*<O3P>*<O3> - PTERMS(:,1,19) = -TPK%K019(:)*TPK%O3P(:)*PCONC(:,1) - -!PTERMS(OH,K022) = +K022*<O1D>*<H2O> - PTERMS(:,14,22) = +TPK%K022(:)*TPK%O1D(:)*TPK%H2O(:) - -!PTERMS(O3,K023) = -K023*<O3>*<OH> - PTERMS(:,1,23) = -TPK%K023(:)*PCONC(:,1)*PCONC(:,14) - -!PTERMS(OH,K023) = -K023*<O3>*<OH> - PTERMS(:,14,23) = -TPK%K023(:)*PCONC(:,1)*PCONC(:,14) - -!PTERMS(HO2,K023) = +K023*<O3>*<OH> - PTERMS(:,15,23) = +TPK%K023(:)*PCONC(:,1)*PCONC(:,14) - -!PTERMS(O3,K024) = -K024*<O3>*<HO2> - PTERMS(:,1,24) = -TPK%K024(:)*PCONC(:,1)*PCONC(:,15) - -!PTERMS(OH,K024) = +K024*<O3>*<HO2> - PTERMS(:,14,24) = +TPK%K024(:)*PCONC(:,1)*PCONC(:,15) - -!PTERMS(HO2,K024) = -K024*<O3>*<HO2> - PTERMS(:,15,24) = -TPK%K024(:)*PCONC(:,1)*PCONC(:,15) - -!PTERMS(OH,K025) = -K025*<OH>*<HO2> - PTERMS(:,14,25) = -TPK%K025(:)*PCONC(:,14)*PCONC(:,15) - -!PTERMS(HO2,K025) = -K025*<OH>*<HO2> - PTERMS(:,15,25) = -TPK%K025(:)*PCONC(:,14)*PCONC(:,15) - -!PTERMS(H2O2,K026) = -K026*<H2O2>*<OH> - PTERMS(:,2,26) = -TPK%K026(:)*PCONC(:,2)*PCONC(:,14) - -!PTERMS(OH,K026) = -K026*<H2O2>*<OH> - PTERMS(:,14,26) = -TPK%K026(:)*PCONC(:,2)*PCONC(:,14) - -!PTERMS(HO2,K026) = +K026*<H2O2>*<OH> - PTERMS(:,15,26) = +TPK%K026(:)*PCONC(:,2)*PCONC(:,14) - -!PTERMS(H2O2,K027) = +K027*<HO2>*<HO2> - PTERMS(:,2,27) = +TPK%K027(:)*PCONC(:,15)*PCONC(:,15) - -!PTERMS(HO2,K027) = -K027*<HO2>*<HO2> - PTERMS(:,15,27) = -TPK%K027(:)*PCONC(:,15)*PCONC(:,15) - -!PTERMS(H2O2,K028) = +K028*<HO2>*<HO2>*<H2O> - PTERMS(:,2,28) = +TPK%K028(:)*PCONC(:,15)*PCONC(:,15)*TPK%H2O(:) - -!PTERMS(HO2,K028) = -K028*<HO2>*<HO2>*<H2O> - PTERMS(:,15,28) = -TPK%K028(:)*PCONC(:,15)*PCONC(:,15)*TPK%H2O(:) - -!PTERMS(NO,K029) = -K029*<O3P>*<NO> - PTERMS(:,3,29) = -TPK%K029(:)*TPK%O3P(:)*PCONC(:,3) - -!PTERMS(NO2,K029) = +K029*<O3P>*<NO> - PTERMS(:,4,29) = +TPK%K029(:)*TPK%O3P(:)*PCONC(:,3) - -!PTERMS(NO,K030) = +K030*<O3P>*<NO2> - PTERMS(:,3,30) = +TPK%K030(:)*TPK%O3P(:)*PCONC(:,4) - -!PTERMS(NO2,K030) = -K030*<O3P>*<NO2> - PTERMS(:,4,30) = -TPK%K030(:)*TPK%O3P(:)*PCONC(:,4) - -!PTERMS(NO2,K031) = -K031*<O3P>*<NO2> - PTERMS(:,4,31) = -TPK%K031(:)*TPK%O3P(:)*PCONC(:,4) - -!PTERMS(NO3,K031) = +K031*<O3P>*<NO2> - PTERMS(:,5,31) = +TPK%K031(:)*TPK%O3P(:)*PCONC(:,4) - -!PTERMS(NO,K032) = -K032*<OH>*<NO> - PTERMS(:,3,32) = -TPK%K032(:)*PCONC(:,14)*PCONC(:,3) - -!PTERMS(HONO,K032) = +K032*<OH>*<NO> - PTERMS(:,7,32) = +TPK%K032(:)*PCONC(:,14)*PCONC(:,3) - -!PTERMS(OH,K032) = -K032*<OH>*<NO> - PTERMS(:,14,32) = -TPK%K032(:)*PCONC(:,14)*PCONC(:,3) - -!PTERMS(NO2,K033) = -K033*<OH>*<NO2> - PTERMS(:,4,33) = -TPK%K033(:)*PCONC(:,14)*PCONC(:,4) - -!PTERMS(HNO3,K033) = +K033*<OH>*<NO2> - PTERMS(:,8,33) = +TPK%K033(:)*PCONC(:,14)*PCONC(:,4) - -!PTERMS(OH,K033) = -K033*<OH>*<NO2> - PTERMS(:,14,33) = -TPK%K033(:)*PCONC(:,14)*PCONC(:,4) - -!PTERMS(NO2,K034) = +K034*<OH>*<NO3> - PTERMS(:,4,34) = +TPK%K034(:)*PCONC(:,14)*PCONC(:,5) - -!PTERMS(NO3,K034) = -K034*<OH>*<NO3> - PTERMS(:,5,34) = -TPK%K034(:)*PCONC(:,14)*PCONC(:,5) - -!PTERMS(OH,K034) = -K034*<OH>*<NO3> - PTERMS(:,14,34) = -TPK%K034(:)*PCONC(:,14)*PCONC(:,5) - -!PTERMS(HO2,K034) = +K034*<OH>*<NO3> - PTERMS(:,15,34) = +TPK%K034(:)*PCONC(:,14)*PCONC(:,5) - -!PTERMS(NO,K035) = -K035*<HO2>*<NO> - PTERMS(:,3,35) = -TPK%K035(:)*PCONC(:,15)*PCONC(:,3) - -!PTERMS(NO2,K035) = +K035*<HO2>*<NO> - PTERMS(:,4,35) = +TPK%K035(:)*PCONC(:,15)*PCONC(:,3) - -!PTERMS(OH,K035) = +K035*<HO2>*<NO> - PTERMS(:,14,35) = +TPK%K035(:)*PCONC(:,15)*PCONC(:,3) - -!PTERMS(HO2,K035) = -K035*<HO2>*<NO> - PTERMS(:,15,35) = -TPK%K035(:)*PCONC(:,15)*PCONC(:,3) - -!PTERMS(NO2,K036) = -K036*<HO2>*<NO2> - PTERMS(:,4,36) = -TPK%K036(:)*PCONC(:,15)*PCONC(:,4) - -!PTERMS(HNO4,K036) = +K036*<HO2>*<NO2> - PTERMS(:,9,36) = +TPK%K036(:)*PCONC(:,15)*PCONC(:,4) - -!PTERMS(HO2,K036) = -K036*<HO2>*<NO2> - PTERMS(:,15,36) = -TPK%K036(:)*PCONC(:,15)*PCONC(:,4) - -!PTERMS(NO2,K037) = +K037*<HNO4> - PTERMS(:,4,37) = +TPK%K037(:)*PCONC(:,9) - -!PTERMS(HNO4,K037) = -K037*<HNO4> - PTERMS(:,9,37) = -TPK%K037(:)*PCONC(:,9) - -!PTERMS(HO2,K037) = +K037*<HNO4> - PTERMS(:,15,37) = +TPK%K037(:)*PCONC(:,9) - -!PTERMS(NO2,K038) = +0.7*K038*<HO2>*<NO3> - PTERMS(:,4,38) = +0.7*TPK%K038(:)*PCONC(:,15)*PCONC(:,5) - -!PTERMS(NO3,K038) = -K038*<HO2>*<NO3> - PTERMS(:,5,38) = -TPK%K038(:)*PCONC(:,15)*PCONC(:,5) - -!PTERMS(HNO3,K038) = +0.3*K038*<HO2>*<NO3> - PTERMS(:,8,38) = +0.3*TPK%K038(:)*PCONC(:,15)*PCONC(:,5) - -!PTERMS(OH,K038) = +0.7*K038*<HO2>*<NO3> - PTERMS(:,14,38) = +0.7*TPK%K038(:)*PCONC(:,15)*PCONC(:,5) - -!PTERMS(HO2,K038) = -K038*<HO2>*<NO3> - PTERMS(:,15,38) = -TPK%K038(:)*PCONC(:,15)*PCONC(:,5) - -!PTERMS(NO2,K039) = +K039*<OH>*<HONO> - PTERMS(:,4,39) = +TPK%K039(:)*PCONC(:,14)*PCONC(:,7) - -!PTERMS(HONO,K039) = -K039*<OH>*<HONO> - PTERMS(:,7,39) = -TPK%K039(:)*PCONC(:,14)*PCONC(:,7) - -!PTERMS(OH,K039) = -K039*<OH>*<HONO> - PTERMS(:,14,39) = -TPK%K039(:)*PCONC(:,14)*PCONC(:,7) - -!PTERMS(NO3,K040) = +K040*<OH>*<HNO3> - PTERMS(:,5,40) = +TPK%K040(:)*PCONC(:,14)*PCONC(:,8) - -!PTERMS(HNO3,K040) = -K040*<OH>*<HNO3> - PTERMS(:,8,40) = -TPK%K040(:)*PCONC(:,14)*PCONC(:,8) - -!PTERMS(OH,K040) = -K040*<OH>*<HNO3> - PTERMS(:,14,40) = -TPK%K040(:)*PCONC(:,14)*PCONC(:,8) - -!PTERMS(NO2,K041) = +K041*<OH>*<HNO4> - PTERMS(:,4,41) = +TPK%K041(:)*PCONC(:,14)*PCONC(:,9) - -!PTERMS(HNO4,K041) = -K041*<OH>*<HNO4> - PTERMS(:,9,41) = -TPK%K041(:)*PCONC(:,14)*PCONC(:,9) - -!PTERMS(OH,K041) = -K041*<OH>*<HNO4> - PTERMS(:,14,41) = -TPK%K041(:)*PCONC(:,14)*PCONC(:,9) - -!PTERMS(O3,K042) = -K042*<O3>*<NO> - PTERMS(:,1,42) = -TPK%K042(:)*PCONC(:,1)*PCONC(:,3) - -!PTERMS(NO,K042) = -K042*<O3>*<NO> - PTERMS(:,3,42) = -TPK%K042(:)*PCONC(:,1)*PCONC(:,3) - -!PTERMS(NO2,K042) = +K042*<O3>*<NO> - PTERMS(:,4,42) = +TPK%K042(:)*PCONC(:,1)*PCONC(:,3) - -!PTERMS(O3,K043) = -K043*<O3>*<NO2> - PTERMS(:,1,43) = -TPK%K043(:)*PCONC(:,1)*PCONC(:,4) - -!PTERMS(NO2,K043) = -K043*<O3>*<NO2> - PTERMS(:,4,43) = -TPK%K043(:)*PCONC(:,1)*PCONC(:,4) - -!PTERMS(NO3,K043) = +K043*<O3>*<NO2> - PTERMS(:,5,43) = +TPK%K043(:)*PCONC(:,1)*PCONC(:,4) - -!PTERMS(NO,K044) = -K044*<NO>*<NO>*<O2> - PTERMS(:,3,44) = -TPK%K044(:)*PCONC(:,3)*PCONC(:,3)*TPK%O2(:) - -!PTERMS(NO2,K044) = +K044*<NO>*<NO>*<O2> - PTERMS(:,4,44) = +TPK%K044(:)*PCONC(:,3)*PCONC(:,3)*TPK%O2(:) - -!PTERMS(NO,K045) = -K045*<NO3>*<NO> - PTERMS(:,3,45) = -TPK%K045(:)*PCONC(:,5)*PCONC(:,3) - -!PTERMS(NO2,K045) = +K045*<NO3>*<NO> - PTERMS(:,4,45) = +TPK%K045(:)*PCONC(:,5)*PCONC(:,3) - -!PTERMS(NO3,K045) = -K045*<NO3>*<NO> - PTERMS(:,5,45) = -TPK%K045(:)*PCONC(:,5)*PCONC(:,3) - -!PTERMS(NO,K046) = +K046*<NO3>*<NO2> - PTERMS(:,3,46) = +TPK%K046(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(NO2,K046) = -K046*<NO3>*<NO2> - PTERMS(:,4,46) = -TPK%K046(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(NO3,K046) = -K046*<NO3>*<NO2> - PTERMS(:,5,46) = -TPK%K046(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(NO2,K047) = -K047*<NO3>*<NO2> - PTERMS(:,4,47) = -TPK%K047(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(NO3,K047) = -K047*<NO3>*<NO2> - PTERMS(:,5,47) = -TPK%K047(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(N2O5,K047) = +K047*<NO3>*<NO2> - PTERMS(:,6,47) = +TPK%K047(:)*PCONC(:,5)*PCONC(:,4) - -!PTERMS(NO2,K048) = +K048*<N2O5> - PTERMS(:,4,48) = +TPK%K048(:)*PCONC(:,6) - -!PTERMS(NO3,K048) = +K048*<N2O5> - PTERMS(:,5,48) = +TPK%K048(:)*PCONC(:,6) - -!PTERMS(N2O5,K048) = -K048*<N2O5> - PTERMS(:,6,48) = -TPK%K048(:)*PCONC(:,6) - -!PTERMS(NO2,K049) = +K049*<NO3>*<NO3> - PTERMS(:,4,49) = +TPK%K049(:)*PCONC(:,5)*PCONC(:,5) - -!PTERMS(NO3,K049) = -K049*<NO3>*<NO3> - PTERMS(:,5,49) = -TPK%K049(:)*PCONC(:,5)*PCONC(:,5) - -!PTERMS(OH,K050) = -K050*<OH>*<H2> - PTERMS(:,14,50) = -TPK%K050(:)*PCONC(:,14)*TPK%H2(:) - -!PTERMS(HO2,K050) = +K050*<OH>*<H2> - PTERMS(:,15,50) = +TPK%K050(:)*PCONC(:,14)*TPK%H2(:) - -!PTERMS(SO2,K051) = -K051*<OH>*<SO2> - PTERMS(:,11,51) = -TPK%K051(:)*PCONC(:,14)*PCONC(:,11) - -!PTERMS(SULF,K051) = +K051*<OH>*<SO2> - PTERMS(:,12,51) = +TPK%K051(:)*PCONC(:,14)*PCONC(:,11) - -!PTERMS(OH,K051) = -K051*<OH>*<SO2> - PTERMS(:,14,51) = -TPK%K051(:)*PCONC(:,14)*PCONC(:,11) - -!PTERMS(HO2,K051) = +K051*<OH>*<SO2> - PTERMS(:,15,51) = +TPK%K051(:)*PCONC(:,14)*PCONC(:,11) - -!PTERMS(CO,K052) = -K052*<CO>*<OH> - PTERMS(:,13,52) = -TPK%K052(:)*PCONC(:,13)*PCONC(:,14) - -!PTERMS(OH,K052) = -K052*<CO>*<OH> - PTERMS(:,14,52) = -TPK%K052(:)*PCONC(:,13)*PCONC(:,14) - -!PTERMS(HO2,K052) = +K052*<CO>*<OH> - PTERMS(:,15,52) = +TPK%K052(:)*PCONC(:,13)*PCONC(:,14) - -!PTERMS(CO,K053) = +0.01*K053*<BIO>*<O3P> - PTERMS(:,13,53) = +0.01*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(OH,K053) = +0.02*K053*<BIO>*<O3P> - PTERMS(:,14,53) = +0.02*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(HO2,K053) = +0.28*K053*<BIO>*<O3P> - PTERMS(:,15,53) = +0.28*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(ALKE,K053) = +0.91868*K053*<BIO>*<O3P> - PTERMS(:,19,53) = +0.91868*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(BIO,K053) = -K053*<BIO>*<O3P> - PTERMS(:,20,53) = -TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(HCHO,K053) = +0.05*K053*<BIO>*<O3P> - PTERMS(:,22,53) = +0.05*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(CARBO,K053) = +0.13255*K053*<BIO>*<O3P> - PTERMS(:,25,53) = +0.13255*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(XO2,K053) = +0.15*K053*<BIO>*<O3P> - PTERMS(:,40,53) = +0.15*TPK%K053(:)*PCONC(:,20)*TPK%O3P(:) - -!PTERMS(ALD,K054) = +K054*<CARBO>*<O3P> - PTERMS(:,23,54) = +TPK%K054(:)*PCONC(:,25)*TPK%O3P(:) - -!PTERMS(CARBO,K054) = -K054*<CARBO>*<O3P> - PTERMS(:,25,54) = -TPK%K054(:)*PCONC(:,25)*TPK%O3P(:) - -!PTERMS(OH,K055) = -K055*<CH4>*<OH> - PTERMS(:,14,55) = -TPK%K055(:)*PCONC(:,16)*PCONC(:,14) - -!PTERMS(CH4,K055) = -K055*<CH4>*<OH> - PTERMS(:,16,55) = -TPK%K055(:)*PCONC(:,16)*PCONC(:,14) - -!PTERMS(MO2,K055) = +K055*<CH4>*<OH> - PTERMS(:,31,55) = +TPK%K055(:)*PCONC(:,16)*PCONC(:,14) - -!PTERMS(OH,K056) = -K056*<ETH>*<OH> - PTERMS(:,14,56) = -TPK%K056(:)*PCONC(:,17)*PCONC(:,14) - -!PTERMS(ETH,K056) = -K056*<ETH>*<OH> - PTERMS(:,17,56) = -TPK%K056(:)*PCONC(:,17)*PCONC(:,14) - -!PTERMS(ALKAP,K056) = +K056*<ETH>*<OH> - PTERMS(:,32,56) = +TPK%K056(:)*PCONC(:,17)*PCONC(:,14) - -!PTERMS(CO,K057) = +0.00878*K057*<ALKA>*<OH> - PTERMS(:,13,57) = +0.00878*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(OH,K057) = -K057*<ALKA>*<OH> - PTERMS(:,14,57) = -TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(HO2,K057) = +0.12793*K057*<ALKA>*<OH> - PTERMS(:,15,57) = +0.12793*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(ALKA,K057) = -K057*<ALKA>*<OH> - PTERMS(:,18,57) = -TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(HCHO,K057) = +0.00140*K057*<ALKA>*<OH> - PTERMS(:,22,57) = +0.00140*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(ALD,K057) = +0.08173*K057*<ALKA>*<OH> - PTERMS(:,23,57) = +0.08173*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(KET,K057) = +0.03498*K057*<ALKA>*<OH> - PTERMS(:,24,57) = +0.03498*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(CARBO,K057) = +0.00835*K057*<ALKA>*<OH> - PTERMS(:,25,57) = +0.00835*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(ALKAP,K057) = +0.87811*K057*<ALKA>*<OH> - PTERMS(:,32,57) = +0.87811*TPK%K057(:)*PCONC(:,18)*PCONC(:,14) - -!PTERMS(OH,K058) = -K058*<ALKE>*<OH> - PTERMS(:,14,58) = -TPK%K058(:)*PCONC(:,19)*PCONC(:,14) - -!PTERMS(ALKE,K058) = -K058*<ALKE>*<OH> - PTERMS(:,19,58) = -TPK%K058(:)*PCONC(:,19)*PCONC(:,14) - -!PTERMS(ALKEP,K058) = +1.02529*K058*<ALKE>*<OH> - PTERMS(:,33,58) = +1.02529*TPK%K058(:)*PCONC(:,19)*PCONC(:,14) - -!PTERMS(BIOP,K058) = +0.00000*K058*<ALKE>*<OH> - PTERMS(:,34,58) = +0.00000*TPK%K058(:)*PCONC(:,19)*PCONC(:,14) - -!PTERMS(OH,K059) = -K059*<BIO>*<OH> - PTERMS(:,14,59) = -TPK%K059(:)*PCONC(:,20)*PCONC(:,14) - -!PTERMS(BIO,K059) = -K059*<BIO>*<OH> - PTERMS(:,20,59) = -TPK%K059(:)*PCONC(:,20)*PCONC(:,14) - -!PTERMS(BIOP,K059) = +1.00000*K059*<BIO>*<OH> - PTERMS(:,34,59) = +1.00000*TPK%K059(:)*PCONC(:,20)*PCONC(:,14) - -!PTERMS(OH,K060) = -K060*<ARO>*<OH> - PTERMS(:,14,60) = -TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(HO2,K060) = +0.10318*K060*<ARO>*<OH> - PTERMS(:,15,60) = +0.10318*TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(ARO,K060) = -K060*<ARO>*<OH> - PTERMS(:,21,60) = -TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(PHO,K060) = +0.00276*K060*<ARO>*<OH> - PTERMS(:,35,60) = +0.00276*TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(ADD,K060) = +0.93968*K060*<ARO>*<OH> - PTERMS(:,36,60) = +0.93968*TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(XO2,K060) = +0.10318*K060*<ARO>*<OH> - PTERMS(:,40,60) = +0.10318*TPK%K060(:)*PCONC(:,21)*PCONC(:,14) - -!PTERMS(CO,K061) = +K061*<HCHO>*<OH> - PTERMS(:,13,61) = +TPK%K061(:)*PCONC(:,22)*PCONC(:,14) - -!PTERMS(OH,K061) = -K061*<HCHO>*<OH> - PTERMS(:,14,61) = -TPK%K061(:)*PCONC(:,22)*PCONC(:,14) - -!PTERMS(HO2,K061) = +K061*<HCHO>*<OH> - PTERMS(:,15,61) = +TPK%K061(:)*PCONC(:,22)*PCONC(:,14) - -!PTERMS(HCHO,K061) = -K061*<HCHO>*<OH> - PTERMS(:,22,61) = -TPK%K061(:)*PCONC(:,22)*PCONC(:,14) - -!PTERMS(OH,K062) = -K062*<ALD>*<OH> - PTERMS(:,14,62) = -TPK%K062(:)*PCONC(:,23)*PCONC(:,14) - -!PTERMS(ALD,K062) = -K062*<ALD>*<OH> - PTERMS(:,23,62) = -TPK%K062(:)*PCONC(:,23)*PCONC(:,14) - -!PTERMS(CARBOP,K062) = +1.00000*K062*<ALD>*<OH> - PTERMS(:,38,62) = +1.00000*TPK%K062(:)*PCONC(:,23)*PCONC(:,14) - -!PTERMS(OH,K063) = -K063*<KET>*<OH> - PTERMS(:,14,63) = -TPK%K063(:)*PCONC(:,24)*PCONC(:,14) - -!PTERMS(KET,K063) = -K063*<KET>*<OH> - PTERMS(:,24,63) = -TPK%K063(:)*PCONC(:,24)*PCONC(:,14) - -!PTERMS(CARBOP,K063) = +1.00000*K063*<KET>*<OH> - PTERMS(:,38,63) = +1.00000*TPK%K063(:)*PCONC(:,24)*PCONC(:,14) - -!PTERMS(CO,K064) = +1.01732*K064*<CARBO>*<OH> - PTERMS(:,13,64) = +1.01732*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(OH,K064) = -K064*<CARBO>*<OH> - PTERMS(:,14,64) = -TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(HO2,K064) = +0.51208*K064*<CARBO>*<OH> - PTERMS(:,15,64) = +0.51208*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(HCHO,K064) = +0.00000*K064*<CARBO>*<OH> - PTERMS(:,22,64) = +0.00000*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(ALD,K064) = +0.06253*K064*<CARBO>*<OH> - PTERMS(:,23,64) = +0.06253*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(KET,K064) = +0.00853*K064*<CARBO>*<OH> - PTERMS(:,24,64) = +0.00853*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(CARBO,K064) = -K064*<CARBO>*<OH> - PTERMS(:,25,64) = -TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(CARBOP,K064) = +0.51419*K064*<CARBO>*<OH> - PTERMS(:,38,64) = +0.51419*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(XO2,K064) = +0.10162*K064*<CARBO>*<OH> - PTERMS(:,40,64) = +0.10162*TPK%K064(:)*PCONC(:,25)*PCONC(:,14) - -!PTERMS(OH,K065) = -K065*<OP1>*<OH> - PTERMS(:,14,65) = -TPK%K065(:)*PCONC(:,28)*PCONC(:,14) - -!PTERMS(HCHO,K065) = +0.35*K065*<OP1>*<OH> - PTERMS(:,22,65) = +0.35*TPK%K065(:)*PCONC(:,28)*PCONC(:,14) - -!PTERMS(OP1,K065) = -K065*<OP1>*<OH> - PTERMS(:,28,65) = -TPK%K065(:)*PCONC(:,28)*PCONC(:,14) - -!PTERMS(MO2,K065) = +0.65*K065*<OP1>*<OH> - PTERMS(:,31,65) = +0.65*TPK%K065(:)*PCONC(:,28)*PCONC(:,14) - -!PTERMS(OH,K066) = -K066*<OP2>*<OH> - PTERMS(:,14,66) = -TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(HO2,K066) = +0.02915*K066*<OP2>*<OH> - PTERMS(:,15,66) = +0.02915*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(HCHO,K066) = +0.02915*K066*<OP2>*<OH> - PTERMS(:,22,66) = +0.02915*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(ALD,K066) = +0.07335*K066*<OP2>*<OH> - PTERMS(:,23,66) = +0.07335*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(KET,K066) = +0.37591*K066*<OP2>*<OH> - PTERMS(:,24,66) = +0.37591*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(OP2,K066) = -K066*<OP2>*<OH> - PTERMS(:,29,66) = -TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(ALKAP,K066) = +0.40341*K066*<OP2>*<OH> - PTERMS(:,32,66) = +0.40341*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(CARBOP,K066) = +0.05413*K066*<OP2>*<OH> - PTERMS(:,38,66) = +0.05413*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(XO2,K066) = +0.09333*K066*<OP2>*<OH> - PTERMS(:,40,66) = +0.09333*TPK%K066(:)*PCONC(:,29)*PCONC(:,14) - -!PTERMS(NO3,K067) = +0.71893*K067*<PAN>*<OH> - PTERMS(:,5,67) = +0.71893*TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(OH,K067) = -K067*<PAN>*<OH> - PTERMS(:,14,67) = -TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(HO2,K067) = +0.28107*K067*<PAN>*<OH> - PTERMS(:,15,67) = +0.28107*TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(HCHO,K067) = +0.57839*K067*<PAN>*<OH> - PTERMS(:,22,67) = +0.57839*TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(CARBO,K067) = +0.21863*K067*<PAN>*<OH> - PTERMS(:,25,67) = +0.21863*TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(PAN,K067) = -K067*<PAN>*<OH> - PTERMS(:,27,67) = -TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(XO2,K067) = +K067*<PAN>*<OH> - PTERMS(:,40,67) = +TPK%K067(:)*PCONC(:,27)*PCONC(:,14) - -!PTERMS(NO2,K068) = +K068*<ONIT>*<OH> - PTERMS(:,4,68) = +TPK%K068(:)*PCONC(:,26)*PCONC(:,14) - -!PTERMS(OH,K068) = -K068*<ONIT>*<OH> - PTERMS(:,14,68) = -TPK%K068(:)*PCONC(:,26)*PCONC(:,14) - -!PTERMS(ONIT,K068) = -K068*<ONIT>*<OH> - PTERMS(:,26,68) = -TPK%K068(:)*PCONC(:,26)*PCONC(:,14) - -!PTERMS(ALKAP,K068) = +1.00000*K068*<ONIT>*<OH> - PTERMS(:,32,68) = +1.00000*TPK%K068(:)*PCONC(:,26)*PCONC(:,14) - -!PTERMS(NO3,K069) = -K069*<HCHO>*<NO3> - PTERMS(:,5,69) = -TPK%K069(:)*PCONC(:,22)*PCONC(:,5) - -!PTERMS(HNO3,K069) = +K069*<HCHO>*<NO3> - PTERMS(:,8,69) = +TPK%K069(:)*PCONC(:,22)*PCONC(:,5) - -!PTERMS(CO,K069) = +K069*<HCHO>*<NO3> - PTERMS(:,13,69) = +TPK%K069(:)*PCONC(:,22)*PCONC(:,5) - -!PTERMS(HO2,K069) = +K069*<HCHO>*<NO3> - PTERMS(:,15,69) = +TPK%K069(:)*PCONC(:,22)*PCONC(:,5) - -!PTERMS(HCHO,K069) = -K069*<HCHO>*<NO3> - PTERMS(:,22,69) = -TPK%K069(:)*PCONC(:,22)*PCONC(:,5) - -!PTERMS(NO3,K070) = -K070*<ALD>*<NO3> - PTERMS(:,5,70) = -TPK%K070(:)*PCONC(:,23)*PCONC(:,5) - -!PTERMS(HNO3,K070) = +K070*<ALD>*<NO3> - PTERMS(:,8,70) = +TPK%K070(:)*PCONC(:,23)*PCONC(:,5) - -!PTERMS(ALD,K070) = -K070*<ALD>*<NO3> - PTERMS(:,23,70) = -TPK%K070(:)*PCONC(:,23)*PCONC(:,5) - -!PTERMS(CARBOP,K070) = +1.00000*K070*<ALD>*<NO3> - PTERMS(:,38,70) = +1.00000*TPK%K070(:)*PCONC(:,23)*PCONC(:,5) - -!PTERMS(NO2,K071) = +0.10530*K071*<CARBO>*<NO3> - PTERMS(:,4,71) = +0.10530*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(NO3,K071) = -K071*<CARBO>*<NO3> - PTERMS(:,5,71) = -TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(HNO3,K071) = +0.91567*K071*<CARBO>*<NO3> - PTERMS(:,8,71) = +0.91567*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(CO,K071) = +1.33723*K071*<CARBO>*<NO3> - PTERMS(:,13,71) = +1.33723*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(HO2,K071) = +0.63217*K071*<CARBO>*<NO3> - PTERMS(:,15,71) = +0.63217*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(ALD,K071) = +0.05265*K071*<CARBO>*<NO3> - PTERMS(:,23,71) = +0.05265*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(KET,K071) = +0.00632*K071*<CARBO>*<NO3> - PTERMS(:,24,71) = +0.00632*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(CARBO,K071) = -K071*<CARBO>*<NO3> - PTERMS(:,25,71) = -TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(CARBOP,K071) = +0.38881*K071*<CARBO>*<NO3> - PTERMS(:,38,71) = +0.38881*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(OLN,K071) = +0.00000*K071*<CARBO>*<NO3> - PTERMS(:,39,71) = +0.00000*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(XO2,K071) = +0.10530*K071*<CARBO>*<NO3> - PTERMS(:,40,71) = +0.10530*TPK%K071(:)*PCONC(:,25)*PCONC(:,5) - -!PTERMS(NO3,K072) = -K072*<ARO>*<NO3> - PTERMS(:,5,72) = -TPK%K072(:)*PCONC(:,21)*PCONC(:,5) - -!PTERMS(HNO3,K072) = +K072*<ARO>*<NO3> - PTERMS(:,8,72) = +TPK%K072(:)*PCONC(:,21)*PCONC(:,5) - -!PTERMS(ARO,K072) = -K072*<ARO>*<NO3> - PTERMS(:,21,72) = -TPK%K072(:)*PCONC(:,21)*PCONC(:,5) - -!PTERMS(PHO,K072) = +K072*<ARO>*<NO3> - PTERMS(:,35,72) = +TPK%K072(:)*PCONC(:,21)*PCONC(:,5) - -!PTERMS(NO3,K073) = -K073*<ALKE>*<NO3> - PTERMS(:,5,73) = -TPK%K073(:)*PCONC(:,19)*PCONC(:,5) - -!PTERMS(ALKE,K073) = -K073*<ALKE>*<NO3> - PTERMS(:,19,73) = -TPK%K073(:)*PCONC(:,19)*PCONC(:,5) - -!PTERMS(CARBO,K073) = +0.00000*K073*<ALKE>*<NO3> - PTERMS(:,25,73) = +0.00000*TPK%K073(:)*PCONC(:,19)*PCONC(:,5) - -!PTERMS(OLN,K073) = +0.93768*K073*<ALKE>*<NO3> - PTERMS(:,39,73) = +0.93768*TPK%K073(:)*PCONC(:,19)*PCONC(:,5) - -!PTERMS(NO3,K074) = -K074*<BIO>*<NO3> - PTERMS(:,5,74) = -TPK%K074(:)*PCONC(:,20)*PCONC(:,5) - -!PTERMS(BIO,K074) = -K074*<BIO>*<NO3> - PTERMS(:,20,74) = -TPK%K074(:)*PCONC(:,20)*PCONC(:,5) - -!PTERMS(CARBO,K074) = +0.91741*K074*<BIO>*<NO3> - PTERMS(:,25,74) = +0.91741*TPK%K074(:)*PCONC(:,20)*PCONC(:,5) - -!PTERMS(OLN,K074) = +1.00000*K074*<BIO>*<NO3> - PTERMS(:,39,74) = +1.00000*TPK%K074(:)*PCONC(:,20)*PCONC(:,5) - -!PTERMS(NO2,K075) = +0.40*K075*<PAN>*<NO3> - PTERMS(:,4,75) = +0.40*TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(NO3,K075) = -K075*<PAN>*<NO3> - PTERMS(:,5,75) = -TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(HCHO,K075) = +0.40*K075*<PAN>*<NO3> - PTERMS(:,22,75) = +0.40*TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(ONIT,K075) = +0.60*K075*<PAN>*<NO3> - PTERMS(:,26,75) = +0.60*TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(PAN,K075) = -K075*<PAN>*<NO3> - PTERMS(:,27,75) = -TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(XO2,K075) = +K075*<PAN>*<NO3> - PTERMS(:,40,75) = +TPK%K075(:)*PCONC(:,27)*PCONC(:,5) - -!PTERMS(O3,K076) = -K076*<ALKE>*<O3> - PTERMS(:,1,76) = -TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(H2O2,K076) = +0.01833*K076*<ALKE>*<O3> - PTERMS(:,2,76) = +0.01833*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(CO,K076) = +0.35120*K076*<ALKE>*<O3> - PTERMS(:,13,76) = +0.35120*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(OH,K076) = +0.39435*K076*<ALKE>*<O3> - PTERMS(:,14,76) = +0.39435*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(HO2,K076) = +0.23451*K076*<ALKE>*<O3> - PTERMS(:,15,76) = +0.23451*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(CH4,K076) = +0.04300*K076*<ALKE>*<O3> - PTERMS(:,16,76) = +0.04300*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(ETH,K076) = +0.03196*K076*<ALKE>*<O3> - PTERMS(:,17,76) = +0.03196*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(ALKE,K076) = -K076*<ALKE>*<O3> - PTERMS(:,19,76) = -TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(HCHO,K076) = +0.48290*K076*<ALKE>*<O3> - PTERMS(:,22,76) = +0.48290*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(ALD,K076) = +0.51468*K076*<ALKE>*<O3> - PTERMS(:,23,76) = +0.51468*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(KET,K076) = +0.07377*K076*<ALKE>*<O3> - PTERMS(:,24,76) = +0.07377*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(CARBO,K076) = +0.00000*K076*<ALKE>*<O3> - PTERMS(:,25,76) = +0.00000*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(ORA2,K076) = +0.08143*K076*<ALKE>*<O3> - PTERMS(:,30,76) = +0.08143*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(MO2,K076) = +0.13966*K076*<ALKE>*<O3> - PTERMS(:,31,76) = +0.13966*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(ALKAP,K076) = +0.09815*K076*<ALKE>*<O3> - PTERMS(:,32,76) = +0.09815*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(CARBOP,K076) = +0.05705*K076*<ALKE>*<O3> - PTERMS(:,38,76) = +0.05705*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(XO2,K076) = +0.00000*K076*<ALKE>*<O3> - PTERMS(:,40,76) = +0.00000*TPK%K076(:)*PCONC(:,19)*PCONC(:,1) - -!PTERMS(O3,K077) = -K077*<BIO>*<O3> - PTERMS(:,1,77) = -TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(H2O2,K077) = +0.00100*K077*<BIO>*<O3> - PTERMS(:,2,77) = +0.00100*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(CO,K077) = +0.36000*K077*<BIO>*<O3> - PTERMS(:,13,77) = +0.36000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(OH,K077) = +0.28000*K077*<BIO>*<O3> - PTERMS(:,14,77) = +0.28000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(HO2,K077) = +0.30000*K077*<BIO>*<O3> - PTERMS(:,15,77) = +0.30000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(ALKE,K077) = +0.37388*K077*<BIO>*<O3> - PTERMS(:,19,77) = +0.37388*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(BIO,K077) = -K077*<BIO>*<O3> - PTERMS(:,20,77) = -TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(HCHO,K077) = +0.90000*K077*<BIO>*<O3> - PTERMS(:,22,77) = +0.90000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(ALD,K077) = +0.00000*K077*<BIO>*<O3> - PTERMS(:,23,77) = +0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(KET,K077) = +0.00000*K077*<BIO>*<O3> - PTERMS(:,24,77) = +0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(CARBO,K077) = +0.39754*K077*<BIO>*<O3> - PTERMS(:,25,77) = +0.39754*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(ORA2,K077) = +0.00000*K077*<BIO>*<O3> - PTERMS(:,30,77) = +0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(MO2,K077) = +0.03000*K077*<BIO>*<O3> - PTERMS(:,31,77) = +0.03000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(ALKAP,K077) = +0.00000*K077*<BIO>*<O3> - PTERMS(:,32,77) = +0.00000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(CARBOP,K077) = +0.17000*K077*<BIO>*<O3> - PTERMS(:,38,77) = +0.17000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(XO2,K077) = +0.13000*K077*<BIO>*<O3> - PTERMS(:,40,77) = +0.13000*TPK%K077(:)*PCONC(:,20)*PCONC(:,1) - -!PTERMS(O3,K078) = -K078*<CARBO>*<O3> - PTERMS(:,1,78) = -TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(CO,K078) = +0.64728*K078*<CARBO>*<O3> - PTERMS(:,13,78) = +0.64728*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(OH,K078) = +0.20595*K078*<CARBO>*<O3> - PTERMS(:,14,78) = +0.20595*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(HO2,K078) = +0.28441*K078*<CARBO>*<O3> - PTERMS(:,15,78) = +0.28441*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(HCHO,K078) = +0.00000*K078*<CARBO>*<O3> - PTERMS(:,22,78) = +0.00000*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(ALD,K078) = +0.15692*K078*<CARBO>*<O3> - PTERMS(:,23,78) = +0.15692*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(CARBO,K078) = -K078*<CARBO>*<O3> - PTERMS(:,25,78) = -TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(OP2,K078) = +0.10149*K078*<CARBO>*<O3> - PTERMS(:,29,78) = +0.10149*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(ORA2,K078) = +0.20595*K078*<CARBO>*<O3> - PTERMS(:,30,78) = +0.20595*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(CARBOP,K078) = +0.27460*K078*<CARBO>*<O3> - PTERMS(:,38,78) = +0.27460*TPK%K078(:)*PCONC(:,25)*PCONC(:,1) - -!PTERMS(O3,K079) = -K079*<PAN>*<O3> - PTERMS(:,1,79) = -TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(NO2,K079) = +0.70*K079*<PAN>*<O3> - PTERMS(:,4,79) = +0.70*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(CO,K079) = +0.13*K079*<PAN>*<O3> - PTERMS(:,13,79) = +0.13*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(OH,K079) = +0.036*K079*<PAN>*<O3> - PTERMS(:,14,79) = +0.036*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(HO2,K079) = +0.08*K079*<PAN>*<O3> - PTERMS(:,15,79) = +0.08*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(HCHO,K079) = +0.70*K079*<PAN>*<O3> - PTERMS(:,22,79) = +0.70*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(PAN,K079) = -K079*<PAN>*<O3> - PTERMS(:,27,79) = -TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(CARBOP,K079) = +0.70000*K079*<PAN>*<O3> - PTERMS(:,38,79) = +0.70000*TPK%K079(:)*PCONC(:,27)*PCONC(:,1) - -!PTERMS(NO2,K080) = -K080*<PHO>*<NO2> - PTERMS(:,4,80) = -TPK%K080(:)*PCONC(:,35)*PCONC(:,4) - -!PTERMS(ARO,K080) = +0.10670*K080*<PHO>*<NO2> - PTERMS(:,21,80) = +0.10670*TPK%K080(:)*PCONC(:,35)*PCONC(:,4) - -!PTERMS(ONIT,K080) = +K080*<PHO>*<NO2> - PTERMS(:,26,80) = +TPK%K080(:)*PCONC(:,35)*PCONC(:,4) - -!PTERMS(PHO,K080) = -K080*<PHO>*<NO2> - PTERMS(:,35,80) = -TPK%K080(:)*PCONC(:,35)*PCONC(:,4) - -!PTERMS(HO2,K081) = -K081*<PHO>*<HO2> - PTERMS(:,15,81) = -TPK%K081(:)*PCONC(:,35)*PCONC(:,15) - -!PTERMS(ARO,K081) = +1.06698*K081*<PHO>*<HO2> - PTERMS(:,21,81) = +1.06698*TPK%K081(:)*PCONC(:,35)*PCONC(:,15) - -!PTERMS(PHO,K081) = -K081*<PHO>*<HO2> - PTERMS(:,35,81) = -TPK%K081(:)*PCONC(:,35)*PCONC(:,15) - -!PTERMS(NO2,K082) = -K082*<ADD>*<NO2> - PTERMS(:,4,82) = -TPK%K082(:)*PCONC(:,36)*PCONC(:,4) - -!PTERMS(HONO,K082) = +K082*<ADD>*<NO2> - PTERMS(:,7,82) = +TPK%K082(:)*PCONC(:,36)*PCONC(:,4) - -!PTERMS(ARO,K082) = +K082*<ADD>*<NO2> - PTERMS(:,21,82) = +TPK%K082(:)*PCONC(:,36)*PCONC(:,4) - -!PTERMS(ADD,K082) = -K082*<ADD>*<NO2> - PTERMS(:,36,82) = -TPK%K082(:)*PCONC(:,36)*PCONC(:,4) - -!PTERMS(HO2,K083) = +0.02*K083*<ADD>*<O2> - PTERMS(:,15,83) = +0.02*TPK%K083(:)*PCONC(:,36)*TPK%O2(:) - -!PTERMS(ARO,K083) = +0.02*K083*<ADD>*<O2> - PTERMS(:,21,83) = +0.02*TPK%K083(:)*PCONC(:,36)*TPK%O2(:) - -!PTERMS(ADD,K083) = -K083*<ADD>*<O2> - PTERMS(:,36,83) = -TPK%K083(:)*PCONC(:,36)*TPK%O2(:) - -!PTERMS(AROP,K083) = +0.98*K083*<ADD>*<O2> - PTERMS(:,37,83) = +0.98*TPK%K083(:)*PCONC(:,36)*TPK%O2(:) - -!PTERMS(O3,K084) = -K084*<ADD>*<O3> - PTERMS(:,1,84) = -TPK%K084(:)*PCONC(:,36)*PCONC(:,1) - -!PTERMS(OH,K084) = +K084*<ADD>*<O3> - PTERMS(:,14,84) = +TPK%K084(:)*PCONC(:,36)*PCONC(:,1) - -!PTERMS(ARO,K084) = +K084*<ADD>*<O3> - PTERMS(:,21,84) = +TPK%K084(:)*PCONC(:,36)*PCONC(:,1) - -!PTERMS(ADD,K084) = -K084*<ADD>*<O3> - PTERMS(:,36,84) = -TPK%K084(:)*PCONC(:,36)*PCONC(:,1) - -!PTERMS(NO2,K085) = -K085*<CARBOP>*<NO2> - PTERMS(:,4,85) = -TPK%K085(:)*PCONC(:,38)*PCONC(:,4) - -!PTERMS(PAN,K085) = +1.00000*K085*<CARBOP>*<NO2> - PTERMS(:,27,85) = +1.00000*TPK%K085(:)*PCONC(:,38)*PCONC(:,4) - -!PTERMS(CARBOP,K085) = -K085*<CARBOP>*<NO2> - PTERMS(:,38,85) = -TPK%K085(:)*PCONC(:,38)*PCONC(:,4) - -!PTERMS(NO2,K086) = +K086*<PAN> - PTERMS(:,4,86) = +TPK%K086(:)*PCONC(:,27) - -!PTERMS(PAN,K086) = -K086*<PAN> - PTERMS(:,27,86) = -TPK%K086(:)*PCONC(:,27) - -!PTERMS(CARBOP,K086) = +1.00000*K086*<PAN> - PTERMS(:,38,86) = +1.00000*TPK%K086(:)*PCONC(:,27) - -!PTERMS(NO,K087) = -K087*<MO2>*<NO> - PTERMS(:,3,87) = -TPK%K087(:)*PCONC(:,31)*PCONC(:,3) - -!PTERMS(NO2,K087) = +K087*<MO2>*<NO> - PTERMS(:,4,87) = +TPK%K087(:)*PCONC(:,31)*PCONC(:,3) - -!PTERMS(HO2,K087) = +K087*<MO2>*<NO> - PTERMS(:,15,87) = +TPK%K087(:)*PCONC(:,31)*PCONC(:,3) - -!PTERMS(HCHO,K087) = +K087*<MO2>*<NO> - PTERMS(:,22,87) = +TPK%K087(:)*PCONC(:,31)*PCONC(:,3) - -!PTERMS(MO2,K087) = -K087*<MO2>*<NO> - PTERMS(:,31,87) = -TPK%K087(:)*PCONC(:,31)*PCONC(:,3) - -!PTERMS(NO,K088) = -K088*<ALKAP>*<NO> - PTERMS(:,3,88) = -TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(NO2,K088) = +0.91541*K088*<ALKAP>*<NO> - PTERMS(:,4,88) = +0.91541*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(HO2,K088) = +0.74265*K088*<ALKAP>*<NO> - PTERMS(:,15,88) = +0.74265*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(HCHO,K088) = +0.03002*K088*<ALKAP>*<NO> - PTERMS(:,22,88) = +0.03002*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(ALD,K088) = +0.33144*K088*<ALKAP>*<NO> - PTERMS(:,23,88) = +0.33144*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(KET,K088) = +0.54531*K088*<ALKAP>*<NO> - PTERMS(:,24,88) = +0.54531*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(CARBO,K088) = +0.03407*K088*<ALKAP>*<NO> - PTERMS(:,25,88) = +0.03407*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(ONIT,K088) = +0.08459*K088*<ALKAP>*<NO> - PTERMS(:,26,88) = +0.08459*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(MO2,K088) = +0.09016*K088*<ALKAP>*<NO> - PTERMS(:,31,88) = +0.09016*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(ALKAP,K088) = -K088*<ALKAP>*<NO> - PTERMS(:,32,88) = -TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(XO2,K088) = +0.13007*K088*<ALKAP>*<NO> - PTERMS(:,40,88) = +0.13007*TPK%K088(:)*PCONC(:,32)*PCONC(:,3) - -!PTERMS(NO,K089) = -K089*<ALKEP>*<NO> - PTERMS(:,3,89) = -TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(NO2,K089) = +K089*<ALKEP>*<NO> - PTERMS(:,4,89) = +TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(HO2,K089) = +K089*<ALKEP>*<NO> - PTERMS(:,15,89) = +TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(HCHO,K089) = +1.39870*K089*<ALKEP>*<NO> - PTERMS(:,22,89) = +1.39870*TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(ALD,K089) = +0.42125*K089*<ALKEP>*<NO> - PTERMS(:,23,89) = +0.42125*TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(KET,K089) = +0.05220*K089*<ALKEP>*<NO> - PTERMS(:,24,89) = +0.05220*TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(ALKEP,K089) = -K089*<ALKEP>*<NO> - PTERMS(:,33,89) = -TPK%K089(:)*PCONC(:,33)*PCONC(:,3) - -!PTERMS(NO,K090) = -K090*<BIOP>*<NO> - PTERMS(:,3,90) = -TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(NO2,K090) = +0.84700*K090*<BIOP>*<NO> - PTERMS(:,4,90) = +0.84700*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(HO2,K090) = +0.84700*K090*<BIOP>*<NO> - PTERMS(:,15,90) = +0.84700*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(ALKE,K090) = +0.37815*K090*<BIOP>*<NO> - PTERMS(:,19,90) = +0.37815*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(HCHO,K090) = +0.60600*K090*<BIOP>*<NO> - PTERMS(:,22,90) = +0.60600*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(ALD,K090) = +0.00000*K090*<BIOP>*<NO> - PTERMS(:,23,90) = +0.00000*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(KET,K090) = +0.00000*K090*<BIOP>*<NO> - PTERMS(:,24,90) = +0.00000*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(CARBO,K090) = +0.45463*K090*<BIOP>*<NO> - PTERMS(:,25,90) = +0.45463*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(ONIT,K090) = +0.15300*K090*<BIOP>*<NO> - PTERMS(:,26,90) = +0.15300*TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(BIOP,K090) = -K090*<BIOP>*<NO> - PTERMS(:,34,90) = -TPK%K090(:)*PCONC(:,34)*PCONC(:,3) - -!PTERMS(NO,K091) = -K091*<AROP>*<NO> - PTERMS(:,3,91) = -TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(NO2,K091) = +0.95115*K091*<AROP>*<NO> - PTERMS(:,4,91) = +0.95115*TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(HO2,K091) = +0.95115*K091*<AROP>*<NO> - PTERMS(:,15,91) = +0.95115*TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(CARBO,K091) = +2.06993*K091*<AROP>*<NO> - PTERMS(:,25,91) = +2.06993*TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(ONIT,K091) = +0.04885*K091*<AROP>*<NO> - PTERMS(:,26,91) = +0.04885*TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(AROP,K091) = -K091*<AROP>*<NO> - PTERMS(:,37,91) = -TPK%K091(:)*PCONC(:,37)*PCONC(:,3) - -!PTERMS(NO,K092) = -K092*<CARBOP>*<NO> - PTERMS(:,3,92) = -TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(NO2,K092) = +K092*<CARBOP>*<NO> - PTERMS(:,4,92) = +TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(HO2,K092) = +0.12334*K092*<CARBOP>*<NO> - PTERMS(:,15,92) = +0.12334*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(HCHO,K092) = +0.05848*K092*<CARBOP>*<NO> - PTERMS(:,22,92) = +0.05848*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(ALD,K092) = +0.07368*K092*<CARBOP>*<NO> - PTERMS(:,23,92) = +0.07368*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(CARBO,K092) = +0.08670*K092*<CARBOP>*<NO> - PTERMS(:,25,92) = +0.08670*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(MO2,K092) = +0.78134*K092*<CARBOP>*<NO> - PTERMS(:,31,92) = +0.78134*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(CARBOP,K092) = -K092*<CARBOP>*<NO> - PTERMS(:,38,92) = -TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(XO2,K092) = +0.02563*K092*<CARBOP>*<NO> - PTERMS(:,40,92) = +0.02563*TPK%K092(:)*PCONC(:,38)*PCONC(:,3) - -!PTERMS(NO,K093) = -K093*<OLN>*<NO> - PTERMS(:,3,93) = -TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(NO2,K093) = +1.81599*K093*<OLN>*<NO> - PTERMS(:,4,93) = +1.81599*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(HO2,K093) = +0.18401*K093*<OLN>*<NO> - PTERMS(:,15,93) = +0.18401*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(HCHO,K093) = +0.23419*K093*<OLN>*<NO> - PTERMS(:,22,93) = +0.23419*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(ALD,K093) = +1.01182*K093*<OLN>*<NO> - PTERMS(:,23,93) = +1.01182*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(KET,K093) = +0.37862*K093*<OLN>*<NO> - PTERMS(:,24,93) = +0.37862*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(ONIT,K093) = +0.18401*K093*<OLN>*<NO> - PTERMS(:,26,93) = +0.18401*TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(OLN,K093) = -K093*<OLN>*<NO> - PTERMS(:,39,93) = -TPK%K093(:)*PCONC(:,39)*PCONC(:,3) - -!PTERMS(HO2,K094) = -K094*<MO2>*<HO2> - PTERMS(:,15,94) = -TPK%K094(:)*PCONC(:,31)*PCONC(:,15) - -!PTERMS(OP1,K094) = +K094*<MO2>*<HO2> - PTERMS(:,28,94) = +TPK%K094(:)*PCONC(:,31)*PCONC(:,15) - -!PTERMS(MO2,K094) = -K094*<MO2>*<HO2> - PTERMS(:,31,94) = -TPK%K094(:)*PCONC(:,31)*PCONC(:,15) - -!PTERMS(HO2,K095) = -K095*<ALKAP>*<HO2> - PTERMS(:,15,95) = -TPK%K095(:)*PCONC(:,32)*PCONC(:,15) - -!PTERMS(OP2,K095) = +1.00524*K095*<ALKAP>*<HO2> - PTERMS(:,29,95) = +1.00524*TPK%K095(:)*PCONC(:,32)*PCONC(:,15) - -!PTERMS(ALKAP,K095) = -K095*<ALKAP>*<HO2> - PTERMS(:,32,95) = -TPK%K095(:)*PCONC(:,32)*PCONC(:,15) - -!PTERMS(HO2,K096) = -K096*<ALKEP>*<HO2> - PTERMS(:,15,96) = -TPK%K096(:)*PCONC(:,33)*PCONC(:,15) - -!PTERMS(OP2,K096) = +1.00524*K096*<ALKEP>*<HO2> - PTERMS(:,29,96) = +1.00524*TPK%K096(:)*PCONC(:,33)*PCONC(:,15) - -!PTERMS(ALKEP,K096) = -K096*<ALKEP>*<HO2> - PTERMS(:,33,96) = -TPK%K096(:)*PCONC(:,33)*PCONC(:,15) - -!PTERMS(HO2,K097) = -K097*<BIOP>*<HO2> - PTERMS(:,15,97) = -TPK%K097(:)*PCONC(:,34)*PCONC(:,15) - -!PTERMS(OP2,K097) = +1.00524*K097*<BIOP>*<HO2> - PTERMS(:,29,97) = +1.00524*TPK%K097(:)*PCONC(:,34)*PCONC(:,15) - -!PTERMS(BIOP,K097) = -K097*<BIOP>*<HO2> - PTERMS(:,34,97) = -TPK%K097(:)*PCONC(:,34)*PCONC(:,15) - -!PTERMS(HO2,K098) = -K098*<AROP>*<HO2> - PTERMS(:,15,98) = -TPK%K098(:)*PCONC(:,37)*PCONC(:,15) - -!PTERMS(OP2,K098) = +1.00524*K098*<AROP>*<HO2> - PTERMS(:,29,98) = +1.00524*TPK%K098(:)*PCONC(:,37)*PCONC(:,15) - -!PTERMS(AROP,K098) = -K098*<AROP>*<HO2> - PTERMS(:,37,98) = -TPK%K098(:)*PCONC(:,37)*PCONC(:,15) - -!PTERMS(O3,K099) = +0.17307*K099*<CARBOP>*<HO2> - PTERMS(:,1,99) = +0.17307*TPK%K099(:)*PCONC(:,38)*PCONC(:,15) - -!PTERMS(HO2,K099) = -K099*<CARBOP>*<HO2> - PTERMS(:,15,99) = -TPK%K099(:)*PCONC(:,38)*PCONC(:,15) - -!PTERMS(OP2,K099) = +0.80904*K099*<CARBOP>*<HO2> - PTERMS(:,29,99) = +0.80904*TPK%K099(:)*PCONC(:,38)*PCONC(:,15) - -!PTERMS(ORA2,K099) = +0.17307*K099*<CARBOP>*<HO2> - PTERMS(:,30,99) = +0.17307*TPK%K099(:)*PCONC(:,38)*PCONC(:,15) - -!PTERMS(CARBOP,K099) = -K099*<CARBOP>*<HO2> - PTERMS(:,38,99) = -TPK%K099(:)*PCONC(:,38)*PCONC(:,15) - -!PTERMS(HO2,K100) = -K100*<OLN>*<HO2> - PTERMS(:,15,100) = -TPK%K100(:)*PCONC(:,39)*PCONC(:,15) - -!PTERMS(ONIT,K100) = +K100*<OLN>*<HO2> - PTERMS(:,26,100) = +TPK%K100(:)*PCONC(:,39)*PCONC(:,15) - -!PTERMS(OLN,K100) = -K100*<OLN>*<HO2> - PTERMS(:,39,100) = -TPK%K100(:)*PCONC(:,39)*PCONC(:,15) - -!PTERMS(HO2,K101) = +0.66*K101*<MO2>*<MO2> - PTERMS(:,15,101) = +0.66*TPK%K101(:)*PCONC(:,31)*PCONC(:,31) - -!PTERMS(HCHO,K101) = +1.33*K101*<MO2>*<MO2> - PTERMS(:,22,101) = +1.33*TPK%K101(:)*PCONC(:,31)*PCONC(:,31) - -!PTERMS(MO2,K101) = -K101*<MO2>*<MO2> - PTERMS(:,31,101) = -TPK%K101(:)*PCONC(:,31)*PCONC(:,31) - -!PTERMS(HO2,K102) = +0.98383*K102*<ALKAP>*<MO2> - PTERMS(:,15,102) = +0.98383*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(HCHO,K102) = +0.80556*K102*<ALKAP>*<MO2> - PTERMS(:,22,102) = +0.80556*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(ALD,K102) = +0.56070*K102*<ALKAP>*<MO2> - PTERMS(:,23,102) = +0.56070*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(KET,K102) = +0.09673*K102*<ALKAP>*<MO2> - PTERMS(:,24,102) = +0.09673*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(CARBO,K102) = +0.07976*K102*<ALKAP>*<MO2> - PTERMS(:,25,102) = +0.07976*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(MO2,K102) = -K102*<ALKAP>*<MO2> - PTERMS(:,31,102) = -TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(ALKAP,K102) = -K102*<ALKAP>*<MO2> - PTERMS(:,32,102) = -TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(XO2,K102) = +0.13370*K102*<ALKAP>*<MO2> - PTERMS(:,40,102) = +0.13370*TPK%K102(:)*PCONC(:,32)*PCONC(:,31) - -!PTERMS(HO2,K103) = +K103*<ALKEP>*<MO2> - PTERMS(:,15,103) = +TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(HCHO,K103) = +1.42894*K103*<ALKEP>*<MO2> - PTERMS(:,22,103) = +1.42894*TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(ALD,K103) = +0.46413*K103*<ALKEP>*<MO2> - PTERMS(:,23,103) = +0.46413*TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(KET,K103) = +0.03814*K103*<ALKEP>*<MO2> - PTERMS(:,24,103) = +0.03814*TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(MO2,K103) = -K103*<ALKEP>*<MO2> - PTERMS(:,31,103) = -TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(ALKEP,K103) = -K103*<ALKEP>*<MO2> - PTERMS(:,33,103) = -TPK%K103(:)*PCONC(:,33)*PCONC(:,31) - -!PTERMS(HO2,K104) = +1.00000*K104*<BIOP>*<MO2> - PTERMS(:,15,104) = +1.00000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(ALKE,K104) = +0.48074*K104*<BIOP>*<MO2> - PTERMS(:,19,104) = +0.48074*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(HCHO,K104) = +1.09000*K104*<BIOP>*<MO2> - PTERMS(:,22,104) = +1.09000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(ALD,K104) = +0.00000*K104*<BIOP>*<MO2> - PTERMS(:,23,104) = +0.00000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(KET,K104) = +0.00000*K104*<BIOP>*<MO2> - PTERMS(:,24,104) = +0.00000*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(CARBO,K104) = +0.56064*K104*<BIOP>*<MO2> - PTERMS(:,25,104) = +0.56064*TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(MO2,K104) = -K104*<BIOP>*<MO2> - PTERMS(:,31,104) = -TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(BIOP,K104) = -K104*<BIOP>*<MO2> - PTERMS(:,34,104) = -TPK%K104(:)*PCONC(:,34)*PCONC(:,31) - -!PTERMS(HO2,K105) = +1.02767*K105*<AROP>*<MO2> - PTERMS(:,15,105) = +1.02767*TPK%K105(:)*PCONC(:,37)*PCONC(:,31) - -!PTERMS(HCHO,K105) = +K105*<AROP>*<MO2> - PTERMS(:,22,105) = +TPK%K105(:)*PCONC(:,37)*PCONC(:,31) - -!PTERMS(CARBO,K105) = +1.99461*K105*<AROP>*<MO2> - PTERMS(:,25,105) = +1.99461*TPK%K105(:)*PCONC(:,37)*PCONC(:,31) - -!PTERMS(MO2,K105) = -K105*<AROP>*<MO2> - PTERMS(:,31,105) = -TPK%K105(:)*PCONC(:,37)*PCONC(:,31) - -!PTERMS(AROP,K105) = -K105*<AROP>*<MO2> - PTERMS(:,37,105) = -TPK%K105(:)*PCONC(:,37)*PCONC(:,31) - -!PTERMS(HO2,K106) = +0.82998*K106*<CARBOP>*<MO2> - PTERMS(:,15,106) = +0.82998*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(HCHO,K106) = +0.95723*K106*<CARBOP>*<MO2> - PTERMS(:,22,106) = +0.95723*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(ALD,K106) = +0.08295*K106*<CARBOP>*<MO2> - PTERMS(:,23,106) = +0.08295*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(CARBO,K106) = +0.15387*K106*<CARBOP>*<MO2> - PTERMS(:,25,106) = +0.15387*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(ORA2,K106) = +0.13684*K106*<CARBOP>*<MO2> - PTERMS(:,30,106) = +0.13684*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(MO2,K106) = -K106*<CARBOP>*<MO2> - PTERMS(:,31,106) = -TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(CARBOP,K106) = -K106*<CARBOP>*<MO2> - PTERMS(:,38,106) = -TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(XO2,K106) = +0.02212*K106*<CARBOP>*<MO2> - PTERMS(:,40,106) = +0.02212*TPK%K106(:)*PCONC(:,38)*PCONC(:,31) - -!PTERMS(NO2,K107) = +0.32440*K107*<OLN>*<MO2> - PTERMS(:,4,107) = +0.32440*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(HO2,K107) = +0.67560*K107*<OLN>*<MO2> - PTERMS(:,15,107) = +0.67560*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(HCHO,K107) = +0.88625*K107*<OLN>*<MO2> - PTERMS(:,22,107) = +0.88625*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(ALD,K107) = +0.41524*K107*<OLN>*<MO2> - PTERMS(:,23,107) = +0.41524*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(KET,K107) = +0.09667*K107*<OLN>*<MO2> - PTERMS(:,24,107) = +0.09667*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(ONIT,K107) = +0.67560*K107*<OLN>*<MO2> - PTERMS(:,26,107) = +0.67560*TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(MO2,K107) = -K107*<OLN>*<MO2> - PTERMS(:,31,107) = -TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(OLN,K107) = -K107*<OLN>*<MO2> - PTERMS(:,39,107) = -TPK%K107(:)*PCONC(:,39)*PCONC(:,31) - -!PTERMS(HO2,K108) = +0.48079*K108*<ALKAP>*<CARBOP> - PTERMS(:,15,108) = +0.48079*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(HCHO,K108) = +0.07600*K108*<ALKAP>*<CARBOP> - PTERMS(:,22,108) = +0.07600*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(ALD,K108) = +0.71461*K108*<ALKAP>*<CARBOP> - PTERMS(:,23,108) = +0.71461*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(KET,K108) = +0.18819*K108*<ALKAP>*<CARBOP> - PTERMS(:,24,108) = +0.18819*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(CARBO,K108) = +0.06954*K108*<ALKAP>*<CARBOP> - PTERMS(:,25,108) = +0.06954*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(ORA2,K108) = +0.49810*K108*<ALKAP>*<CARBOP> - PTERMS(:,30,108) = +0.49810*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(MO2,K108) = +0.51480*K108*<ALKAP>*<CARBOP> - PTERMS(:,31,108) = +0.51480*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(ALKAP,K108) = -K108*<ALKAP>*<CARBOP> - PTERMS(:,32,108) = -TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(CARBOP,K108) = -K108*<ALKAP>*<CARBOP> - PTERMS(:,38,108) = -TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(XO2,K108) = +0.11306*K108*<ALKAP>*<CARBOP> - PTERMS(:,40,108) = +0.11306*TPK%K108(:)*PCONC(:,32)*PCONC(:,38) - -!PTERMS(HO2,K109) = +0.50078*K109*<ALKEP>*<CARBOP> - PTERMS(:,15,109) = +0.50078*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(HCHO,K109) = +0.68192*K109*<ALKEP>*<CARBOP> - PTERMS(:,22,109) = +0.68192*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(ALD,K109) = +0.68374*K109*<ALKEP>*<CARBOP> - PTERMS(:,23,109) = +0.68374*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(KET,K109) = +0.06579*K109*<ALKEP>*<CARBOP> - PTERMS(:,24,109) = +0.06579*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(ORA2,K109) = +0.49922*K109*<ALKEP>*<CARBOP> - PTERMS(:,30,109) = +0.49922*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(MO2,K109) = +0.50078*K109*<ALKEP>*<CARBOP> - PTERMS(:,31,109) = +0.50078*TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(ALKEP,K109) = -K109*<ALKEP>*<CARBOP> - PTERMS(:,33,109) = -TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(CARBOP,K109) = -K109*<ALKEP>*<CARBOP> - PTERMS(:,38,109) = -TPK%K109(:)*PCONC(:,33)*PCONC(:,38) - -!PTERMS(HO2,K110) = +0.50600*K110*<BIOP>*<CARBOP> - PTERMS(:,15,110) = +0.50600*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(ALKE,K110) = +0.24463*K110*<BIOP>*<CARBOP> - PTERMS(:,19,110) = +0.24463*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(HCHO,K110) = +0.34000*K110*<BIOP>*<CARBOP> - PTERMS(:,22,110) = +0.34000*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(ALD,K110) = +0.00000*K110*<BIOP>*<CARBOP> - PTERMS(:,23,110) = +0.00000*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(KET,K110) = +0.00000*K110*<BIOP>*<CARBOP> - PTERMS(:,24,110) = +0.00000*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(CARBO,K110) = +0.78591*K110*<BIOP>*<CARBOP> - PTERMS(:,25,110) = +0.78591*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(ORA2,K110) = +0.49400*K110*<BIOP>*<CARBOP> - PTERMS(:,30,110) = +0.49400*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(MO2,K110) = +0.50600*K110*<BIOP>*<CARBOP> - PTERMS(:,31,110) = +0.50600*TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(BIOP,K110) = -K110*<BIOP>*<CARBOP> - PTERMS(:,34,110) = -TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(CARBOP,K110) = -K110*<BIOP>*<CARBOP> - PTERMS(:,38,110) = -TPK%K110(:)*PCONC(:,34)*PCONC(:,38) - -!PTERMS(HO2,K111) = +K111*<AROP>*<CARBOP> - PTERMS(:,15,111) = +TPK%K111(:)*PCONC(:,37)*PCONC(:,38) - -!PTERMS(CARBO,K111) = +1.99455*K111*<AROP>*<CARBOP> - PTERMS(:,25,111) = +1.99455*TPK%K111(:)*PCONC(:,37)*PCONC(:,38) - -!PTERMS(MO2,K111) = +K111*<AROP>*<CARBOP> - PTERMS(:,31,111) = +TPK%K111(:)*PCONC(:,37)*PCONC(:,38) - -!PTERMS(AROP,K111) = -K111*<AROP>*<CARBOP> - PTERMS(:,37,111) = -TPK%K111(:)*PCONC(:,37)*PCONC(:,38) - -!PTERMS(CARBOP,K111) = -K111*<AROP>*<CARBOP> - PTERMS(:,38,111) = -TPK%K111(:)*PCONC(:,37)*PCONC(:,38) - -!PTERMS(HO2,K112) = +0.07566*K112*<CARBOP>*<CARBOP> - PTERMS(:,15,112) = +0.07566*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(HCHO,K112) = +0.03432*K112*<CARBOP>*<CARBOP> - PTERMS(:,22,112) = +0.03432*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(ALD,K112) = +0.06969*K112*<CARBOP>*<CARBOP> - PTERMS(:,23,112) = +0.06969*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(KET,K112) = +0.02190*K112*<CARBOP>*<CARBOP> - PTERMS(:,24,112) = +0.02190*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(CARBO,K112) = +0.10777*K112*<CARBOP>*<CARBOP> - PTERMS(:,25,112) = +0.10777*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(ORA2,K112) = +0.09955*K112*<CARBOP>*<CARBOP> - PTERMS(:,30,112) = +0.09955*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(MO2,K112) = +1.66702*K112*<CARBOP>*<CARBOP> - PTERMS(:,31,112) = +1.66702*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(CARBOP,K112) = -K112*<CARBOP>*<CARBOP> - PTERMS(:,38,112) = -TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(XO2,K112) = +0.01593*K112*<CARBOP>*<CARBOP> - PTERMS(:,40,112) = +0.01593*TPK%K112(:)*PCONC(:,38)*PCONC(:,38) - -!PTERMS(NO2,K113) = +0.00000*K113*<OLN>*<CARBOP> - PTERMS(:,4,113) = +0.00000*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(HO2,K113) = +0.17599*K113*<OLN>*<CARBOP> - PTERMS(:,15,113) = +0.17599*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(HCHO,K113) = +0.13414*K113*<OLN>*<CARBOP> - PTERMS(:,22,113) = +0.13414*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(ALD,K113) = +0.42122*K113*<OLN>*<CARBOP> - PTERMS(:,23,113) = +0.42122*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(KET,K113) = +0.10822*K113*<OLN>*<CARBOP> - PTERMS(:,24,113) = +0.10822*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(ONIT,K113) = +0.66562*K113*<OLN>*<CARBOP> - PTERMS(:,26,113) = +0.66562*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(ORA2,K113) = +0.48963*K113*<OLN>*<CARBOP> - PTERMS(:,30,113) = +0.48963*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(MO2,K113) = +0.51037*K113*<OLN>*<CARBOP> - PTERMS(:,31,113) = +0.51037*TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(CARBOP,K113) = -K113*<OLN>*<CARBOP> - PTERMS(:,38,113) = -TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(OLN,K113) = -K113*<OLN>*<CARBOP> - PTERMS(:,39,113) = -TPK%K113(:)*PCONC(:,39)*PCONC(:,38) - -!PTERMS(HO2,K114) = +K114*<OLN>*<OLN> - PTERMS(:,15,114) = +TPK%K114(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(ONIT,K114) = +2.00*K114*<OLN>*<OLN> - PTERMS(:,26,114) = +2.00*TPK%K114(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(OLN,K114) = -K114*<OLN>*<OLN> - PTERMS(:,39,114) = -TPK%K114(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(NO2,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,4,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(HO2,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,15,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(HCHO,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,22,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(ALD,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,23,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(KET,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,24,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(ONIT,K115) = +0.00000*K115*<OLN>*<OLN> - PTERMS(:,26,115) = +0.00000*TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(OLN,K115) = -K115*<OLN>*<OLN> - PTERMS(:,39,115) = -TPK%K115(:)*PCONC(:,39)*PCONC(:,39) - -!PTERMS(NO2,K116) = +K116*<MO2>*<NO3> - PTERMS(:,4,116) = +TPK%K116(:)*PCONC(:,31)*PCONC(:,5) - -!PTERMS(NO3,K116) = -K116*<MO2>*<NO3> - PTERMS(:,5,116) = -TPK%K116(:)*PCONC(:,31)*PCONC(:,5) - -!PTERMS(HO2,K116) = +K116*<MO2>*<NO3> - PTERMS(:,15,116) = +TPK%K116(:)*PCONC(:,31)*PCONC(:,5) - -!PTERMS(HCHO,K116) = +K116*<MO2>*<NO3> - PTERMS(:,22,116) = +TPK%K116(:)*PCONC(:,31)*PCONC(:,5) - -!PTERMS(MO2,K116) = -K116*<MO2>*<NO3> - PTERMS(:,31,116) = -TPK%K116(:)*PCONC(:,31)*PCONC(:,5) - -!PTERMS(NO2,K117) = +K117*<ALKAP>*<NO3> - PTERMS(:,4,117) = +TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(NO3,K117) = -K117*<ALKAP>*<NO3> - PTERMS(:,5,117) = -TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(HO2,K117) = +0.81290*K117*<ALKAP>*<NO3> - PTERMS(:,15,117) = +0.81290*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(HCHO,K117) = +0.03142*K117*<ALKAP>*<NO3> - PTERMS(:,22,117) = +0.03142*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(ALD,K117) = +0.33743*K117*<ALKAP>*<NO3> - PTERMS(:,23,117) = +0.33743*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(KET,K117) = +0.62978*K117*<ALKAP>*<NO3> - PTERMS(:,24,117) = +0.62978*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(CARBO,K117) = +0.03531*K117*<ALKAP>*<NO3> - PTERMS(:,25,117) = +0.03531*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(MO2,K117) = +0.09731*K117*<ALKAP>*<NO3> - PTERMS(:,31,117) = +0.09731*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(ALKAP,K117) = -K117*<ALKAP>*<NO3> - PTERMS(:,32,117) = -TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(XO2,K117) = +0.16271*K117*<ALKAP>*<NO3> - PTERMS(:,40,117) = +0.16271*TPK%K117(:)*PCONC(:,32)*PCONC(:,5) - -!PTERMS(NO2,K118) = +K118*<ALKEP>*<NO3> - PTERMS(:,4,118) = +TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(NO3,K118) = -K118*<ALKEP>*<NO3> - PTERMS(:,5,118) = -TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(HO2,K118) = +K118*<ALKEP>*<NO3> - PTERMS(:,15,118) = +TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(HCHO,K118) = +1.40909*K118*<ALKEP>*<NO3> - PTERMS(:,22,118) = +1.40909*TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(ALD,K118) = +0.43039*K118*<ALKEP>*<NO3> - PTERMS(:,23,118) = +0.43039*TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(KET,K118) = +0.02051*K118*<ALKEP>*<NO3> - PTERMS(:,24,118) = +0.02051*TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(ALKEP,K118) = -K118*<ALKEP>*<NO3> - PTERMS(:,33,118) = -TPK%K118(:)*PCONC(:,33)*PCONC(:,5) - -!PTERMS(NO2,K119) = +K119*<BIOP>*<NO3> - PTERMS(:,4,119) = +TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(NO3,K119) = -K119*<BIOP>*<NO3> - PTERMS(:,5,119) = -TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(HO2,K119) = +K119*<BIOP>*<NO3> - PTERMS(:,15,119) = +TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(ALKE,K119) = +0.42729*K119*<BIOP>*<NO3> - PTERMS(:,19,119) = +0.42729*TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(HCHO,K119) = +0.68600*K119*<BIOP>*<NO3> - PTERMS(:,22,119) = +0.68600*TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(ALD,K119) = +0.00000*K119*<BIOP>*<NO3> - PTERMS(:,23,119) = +0.00000*TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(KET,K119) = +0.00000*K119*<BIOP>*<NO3> - PTERMS(:,24,119) = +0.00000*TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(CARBO,K119) = +0.61160*K119*<BIOP>*<NO3> - PTERMS(:,25,119) = +0.61160*TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(BIOP,K119) = -K119*<BIOP>*<NO3> - PTERMS(:,34,119) = -TPK%K119(:)*PCONC(:,34)*PCONC(:,5) - -!PTERMS(NO2,K120) = +K120*<AROP>*<NO3> - PTERMS(:,4,120) = +TPK%K120(:)*PCONC(:,37)*PCONC(:,5) - -!PTERMS(NO3,K120) = -K120*<AROP>*<NO3> - PTERMS(:,5,120) = -TPK%K120(:)*PCONC(:,37)*PCONC(:,5) - -!PTERMS(HO2,K120) = +K120*<AROP>*<NO3> - PTERMS(:,15,120) = +TPK%K120(:)*PCONC(:,37)*PCONC(:,5) - -!PTERMS(CARBO,K120) = +2.81904*K120*<AROP>*<NO3> - PTERMS(:,25,120) = +2.81904*TPK%K120(:)*PCONC(:,37)*PCONC(:,5) - -!PTERMS(AROP,K120) = -K120*<AROP>*<NO3> - PTERMS(:,37,120) = -TPK%K120(:)*PCONC(:,37)*PCONC(:,5) - -!PTERMS(NO2,K121) = +K121*<CARBOP>*<NO3> - PTERMS(:,4,121) = +TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(NO3,K121) = -K121*<CARBOP>*<NO3> - PTERMS(:,5,121) = -TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(HO2,K121) = +0.04915*K121*<CARBOP>*<NO3> - PTERMS(:,15,121) = +0.04915*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(HCHO,K121) = +0.03175*K121*<CARBOP>*<NO3> - PTERMS(:,22,121) = +0.03175*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(ALD,K121) = +0.02936*K121*<CARBOP>*<NO3> - PTERMS(:,23,121) = +0.02936*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(CARBO,K121) = +0.03455*K121*<CARBOP>*<NO3> - PTERMS(:,25,121) = +0.03455*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(MO2,K121) = +0.91910*K121*<CARBOP>*<NO3> - PTERMS(:,31,121) = +0.91910*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(CARBOP,K121) = -K121*<CARBOP>*<NO3> - PTERMS(:,38,121) = -TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(XO2,K121) = +0.01021*K121*<CARBOP>*<NO3> - PTERMS(:,40,121) = +0.01021*TPK%K121(:)*PCONC(:,38)*PCONC(:,5) - -!PTERMS(NO2,K122) = +1.74072*K122*<OLN>*<NO3> - PTERMS(:,4,122) = +1.74072*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(NO3,K122) = -K122*<OLN>*<NO3> - PTERMS(:,5,122) = -TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(HO2,K122) = +0.25928*K122*<OLN>*<NO3> - PTERMS(:,15,122) = +0.25928*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(HCHO,K122) = +0.20740*K122*<OLN>*<NO3> - PTERMS(:,22,122) = +0.20740*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(ALD,K122) = +0.91850*K122*<OLN>*<NO3> - PTERMS(:,23,122) = +0.91850*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(KET,K122) = +0.34740*K122*<OLN>*<NO3> - PTERMS(:,24,122) = +0.34740*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(ONIT,K122) = +0.25928*K122*<OLN>*<NO3> - PTERMS(:,26,122) = +0.25928*TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(OLN,K122) = -K122*<OLN>*<NO3> - PTERMS(:,39,122) = -TPK%K122(:)*PCONC(:,39)*PCONC(:,5) - -!PTERMS(HO2,K123) = -K123*<XO2>*<HO2> - PTERMS(:,15,123) = -TPK%K123(:)*PCONC(:,40)*PCONC(:,15) - -!PTERMS(OP2,K123) = +1.00524*K123*<XO2>*<HO2> - PTERMS(:,29,123) = +1.00524*TPK%K123(:)*PCONC(:,40)*PCONC(:,15) - -!PTERMS(XO2,K123) = -K123*<XO2>*<HO2> - PTERMS(:,40,123) = -TPK%K123(:)*PCONC(:,40)*PCONC(:,15) - -!PTERMS(HO2,K124) = +K124*<XO2>*<MO2> - PTERMS(:,15,124) = +TPK%K124(:)*PCONC(:,40)*PCONC(:,31) - -!PTERMS(HCHO,K124) = +K124*<XO2>*<MO2> - PTERMS(:,22,124) = +TPK%K124(:)*PCONC(:,40)*PCONC(:,31) - -!PTERMS(MO2,K124) = -K124*<XO2>*<MO2> - PTERMS(:,31,124) = -TPK%K124(:)*PCONC(:,40)*PCONC(:,31) - -!PTERMS(XO2,K124) = -K124*<XO2>*<MO2> - PTERMS(:,40,124) = -TPK%K124(:)*PCONC(:,40)*PCONC(:,31) - -!PTERMS(MO2,K125) = +K125*<XO2>*<CARBOP> - PTERMS(:,31,125) = +TPK%K125(:)*PCONC(:,40)*PCONC(:,38) - -!PTERMS(CARBOP,K125) = -K125*<XO2>*<CARBOP> - PTERMS(:,38,125) = -TPK%K125(:)*PCONC(:,40)*PCONC(:,38) - -!PTERMS(XO2,K125) = -K125*<XO2>*<CARBOP> - PTERMS(:,40,125) = -TPK%K125(:)*PCONC(:,40)*PCONC(:,38) - -!PTERMS(XO2,K126) = -K126*<XO2>*<XO2> - PTERMS(:,40,126) = -TPK%K126(:)*PCONC(:,40)*PCONC(:,40) - -!PTERMS(NO,K127) = -K127*<XO2>*<NO> - PTERMS(:,3,127) = -TPK%K127(:)*PCONC(:,40)*PCONC(:,3) - -!PTERMS(NO2,K127) = +K127*<XO2>*<NO> - PTERMS(:,4,127) = +TPK%K127(:)*PCONC(:,40)*PCONC(:,3) - -!PTERMS(XO2,K127) = -K127*<XO2>*<NO> - PTERMS(:,40,127) = -TPK%K127(:)*PCONC(:,40)*PCONC(:,3) - -!PTERMS(NO2,K128) = +K128*<XO2>*<NO3> - PTERMS(:,4,128) = +TPK%K128(:)*PCONC(:,40)*PCONC(:,5) - -!PTERMS(NO3,K128) = -K128*<XO2>*<NO3> - PTERMS(:,5,128) = -TPK%K128(:)*PCONC(:,40)*PCONC(:,5) - -!PTERMS(XO2,K128) = -K128*<XO2>*<NO3> - PTERMS(:,40,128) = -TPK%K128(:)*PCONC(:,40)*PCONC(:,5) - -IF (LHOOK) CALL DR_HOOK('CH_TERMS',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE CH_TERMS diff --git a/src/arome/chem/internals/ch_update_jvalues.F90 b/src/arome/chem/internals/ch_update_jvalues.F90 deleted file mode 100644 index 166894799b399b6435579b9c045ba0521a347fb2..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_update_jvalues.F90 +++ /dev/null @@ -1,256 +0,0 @@ -! ######spl - SUBROUTINE CH_UPDATE_JVALUES(KLUOUT, PZENITH, PRT, & - PALB_UV, PZS, PZZ, PLAT0, PLON0, & - KLON, KLAT, KLEV, KRR, & - KDAY, KMONTH, KYEAR, PTIME, & - OCH_TUV_ONLINE, HCH_TUV_CLOUDS, & - PALBNEW, PDOBNEW, PRHODREF, PJVALUES, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ##################################################### -!! -!!*** *CH_UPDATE_JVALUES* updates photolysis rates -!! -!! PURPOSE -!! ------- -!! Update photolysis rates in MODD_CH_JVALUES_n for later extraction -!! by CH_JVALUES -!! -!!** METHOD -!! ------ -!! It converts some input information into the format expected by the -!! FORTRAN90 subroutine tuvmain, which is then called in order to -!! calculate the photolysis rates. -!! -!! -!! REFERENCE -!! --------- -!! MesoNH documentation -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 05/03/97 -!! 05/03/05 P. Tulet (CNRM/GMEI) Update for Arome -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -USE MODI_CH_INTERP_JVALUES -USE MODI_CH_JVALUES_CLOUDS -USE MODE_MODELN_HANDLER -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CST -USE MODD_PARAMETERS -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX -USE MODD_CONF -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE - -INTEGER, INTENT(IN) :: KLON !NPROMA under CPG -INTEGER, INTENT(IN) :: KLAT !NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV !Number of vertical levels -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PLAT0, PLON0 -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALB_UV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PRHODREF -REAL, DIMENSION(KLON,KLAT,KLEV,KRR), INTENT(IN) :: PRT -INTEGER, INTENT(IN) :: KDAY, KMONTH, KYEAR ! current date -REAL, INTENT(IN) :: PTIME ! current time (s) -INTEGER, INTENT(IN) :: KLUOUT -LOGICAL, INTENT(IN) :: OCH_TUV_ONLINE ! online/lookup table -CHARACTER*4, INTENT(IN) :: HCH_TUV_CLOUDS ! clouds and radiation -REAL, INTENT(IN) :: PALBNEW ! surface albedo -REAL, INTENT(IN) :: PDOBNEW ! ozone column dobson -REAL,DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES ! Tuv coefficients -INTEGER, INTENT(IN) :: KVERB ! verbosity level -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -!! -!! LOCAL VARIABLES -!! --------------- -INTEGER :: JVLEVEL ! loop counter -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSZA -LOGICAL, SAVE :: GSFIRSTCALL = .TRUE. ! flag for initialization on first call -INTEGER :: IDATE ! date in format yymmdd -INTEGER :: JJ ! loop counter -! -REAL,DIMENSION(:,:), ALLOCATABLE :: ZJOUT1D ! dummy parameter -!REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZJOUT3D ! dummy parameter -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZFCLD ! cloud correction -CHARACTER*40, DIMENSION(JPJVMAX) :: YJLABELOUT ! names of J-reacts. -!! -REAL, DIMENSION(:), ALLOCATABLE :: ZAZ -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZAZ3D, ZLWC3D -INTEGER :: IIU,IJU,IKU,IKB,IKE, JPV -REAL :: ZALBNEW, ZDOBNEW -REAL, DIMENSION(:), ALLOCATABLE :: ZLWC -INTEGER :: IMI -! -!------------------------------------------------------------------------------ -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_JVALUES',0,ZHOOK_HANDLE) -IF (CPROGRAM == "MOD0D") THEN - -IIU=1 -IJU=1 -IKB=1 -IKE=1 -IKU=1 -JPV=0 - -ELSE - -IIU=NIU -IJU=NJU -IKU=SIZE(PZZ,3) -IKB=1+JPVEXT -IKE=IKU-JPVEXT -JPV=JPVEXT - -END IF -! -IF (.NOT.ALLOCATED(ZSZA)) ALLOCATE(ZSZA(IIU,IJU)) - -IF (OCH_TUV_ONLINE) THEN -! - IF ((.NOT.L1D).OR.(CPROGRAM .EQ. "AROME")) THEN - WRITE(KLUOUT,*)"ERROR in CH_UPDATE_JVALUES: " - WRITE(KLUOUT,*)"you want to use ON-LINE calculation of photolysis rates " - WRITE(KLUOUT,*)"but you are not runnning in 1D " - WRITE(KLUOUT,*)"Program is STOPPED now " - STOP - ENDIF - -!* 1. TUV 3D ON LINE -! ------------------- - IDATE = 10000*MOD(KYEAR,100) + 100*KMONTH + KDAY -! - ZALBNEW = PALBNEW - ZDOBNEW = PDOBNEW -! - IF (.NOT.ALLOCATED(ZAZ)) THEN - ALLOCATE(ZAZ(IKE-IKB+1)) - ENDIF - IF (.NOT.ALLOCATED(ZLWC)) THEN - ALLOCATE(ZLWC(IKE-IKB+1)) - ENDIF - ZAZ(1:IKE-IKB+1) = PZZ(1+JPV,1+JPV,1:IKE-IKB+1) -! - IF (HCH_TUV_CLOUDS .EQ. "NONE") THEN - ZLWC(1:IKE-IKB+1) = 0.0 - ELSE - ZLWC(1:IKE-IKB+1) = PRT(1+JPV,1+JPV,1:IKE-IKB+1,2) * PRHODREF(1+JPV,1+JPV,1:IKE-IKB+1) - END IF -! - JVLEVEL = IKE-IKB+1 -! - ALLOCATE(ZJOUT1D(JVLEVEL,JPJVMAX)) -! - ZSZA(:,:) = PZENITH(:,:) * 180. / XPI - - CALL TUVMAIN(ZSZA, IDATE, ZALBNEW, ZDOBNEW, & - JVLEVEL, ZAZ, ZLWC, & - JPJVMAX, ZJOUT1D, YJLABELOUT ) -! - PJVALUES(:,:,:,:) = SPREAD(SPREAD(ZJOUT1D(1:JVLEVEL,1:JPJVMAX),1,IIU),2,IJU) - IF (KVERB >= 6) THEN - WRITE(KLUOUT,*)'PJVALUES',SIZE(PJVALUES,1),SIZE(PJVALUES,2),SIZE(PJVALUES,3),SIZE(PJVALUES,4) - WRITE(KLUOUT,*)'MAX',MAXVAL(PJVALUES), MAXLOC(PJVALUES) - WRITE(KLUOUT,*)'MIN',MINVAL(PJVALUES), MINLOC(PJVALUES) - ENDIF -! - IF ((GSFIRSTCALL).AND.(KVERB >= 6)) THEN -! - WRITE(KLUOUT,*) "CH_UPDATE_JVALUES information on first call" - WRITE(KLUOUT,*) "-------------------------------------------" - WRITE(KLUOUT,*) "You are using ON LINE computation of photolysis rates " - WRITE(KLUOUT,*) "with CH_TUV_CLOUDS ",HCH_TUV_CLOUDS - WRITE(KLUOUT,*) "-------------------------------------------" - WRITE(KLUOUT,*) "J-Values at the bottom, at the center of the domain: Z = " , ZAZ(1) - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, YJLABELOUT(JJ), PJVALUES(IIU/2+1,IJU/2+1,1,JJ) - ENDDO - WRITE(KLUOUT,*) "J-Values at the top, at the center of the domain: Z = ", ZAZ(JVLEVEL) - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, YJLABELOUT(JJ), PJVALUES(IIU/2+1,IJU/2+1,JVLEVEL,JJ) - ENDDO - WRITE(KLUOUT,*) "-------------------------------------------" -! - ENDIF - IF (ALLOCATED(ZAZ)) THEN - DEALLOCATE(ZAZ) - ENDIF - IF (ALLOCATED(ZLWC)) THEN - DEALLOCATE(ZLWC) - ENDIF -! - -ELSE -!* 2. TUV 3D OFF LINE -! ------------------- -! -! - CALL CH_INTERP_JVALUES(PJVALUES,PZZ, PZS, PALB_UV, PZENITH,& - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU,KVERB, KLUOUT) - IF (KVERB >= 6) THEN - WRITE(KLUOUT,*) "-------------------------------------------" - WRITE(KLUOUT,*) "J-Values at the bottom, at the center of the domain" - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, PJVALUES(IIU/2+1,IJU/2+1,IKB,JJ) - ENDDO - WRITE(KLUOUT,*) "J-Values at the top, at the center of the domain" - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, PJVALUES(IIU/2+1,IJU/2+1,IKE-IKB+1,JJ) - ENDDO - WRITE(KLUOUT,*) "-------------------------------------------" - ENDIF -! - IF (HCH_TUV_CLOUDS .EQ. "CHAN") THEN -! - IF (.NOT.ALLOCATED(ZAZ3D)) ALLOCATE(ZAZ3D(1:IIU,1:IJU,1:IKU)) - IF (.NOT.ALLOCATED(ZLWC3D)) ALLOCATE(ZLWC3D(1:IIU,1:IJU,1:IKU)) - IF (.NOT.ALLOCATED(ZFCLD)) ALLOCATE(ZFCLD(1:IIU,1:IJU,1:IKU,JPJVMAX)) -! - ZAZ3D(:,:,:) = PZZ(:,:,:) - IF (SIZE(PRT,4) == 2 ) THEN - ZLWC3D(:,:,:) = PRT(:,:,:,2) * PRHODREF(:,:,:) - ELSE - ZLWC3D(:,:,:) = 0. - END IF -! - ZFCLD(:,:,:,:) = 1. -! - CALL CH_JVALUES_CLOUDS(PZENITH, JPJVMAX, IKU, ZAZ3D, ZLWC3D, ZFCLD) -! - PJVALUES(:,:,:,:) = PJVALUES(:,:,:,:) * ZFCLD(:,:,:,:) - IF (KVERB >= 6) WRITE(KLUOUT,*)" J VALUES CLOUD CORR MAX/MIN", MAXVAL(ZFCLD), MINVAL(ZFCLD) -! - ENDIF -! - IF (ALLOCATED(ZAZ3D)) THEN - DEALLOCATE(ZAZ3D) - ENDIF - IF (ALLOCATED(ZLWC3D)) THEN - DEALLOCATE(ZLWC3D) - ENDIF -! -END IF -GSFIRSTCALL = .FALSE. -! -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_JVALUES',1,ZHOOK_HANDLE) -END SUBROUTINE CH_UPDATE_JVALUES diff --git a/src/arome/chem/internals/ch_update_jvalues_n.F90 b/src/arome/chem/internals/ch_update_jvalues_n.F90 deleted file mode 100644 index 492c5f39adc9703c0ef7062a298dae3b0bb882df..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_update_jvalues_n.F90 +++ /dev/null @@ -1,252 +0,0 @@ -! ######spl - SUBROUTINE CH_UPDATE_JVALUES_n(KLUOUT, PZENITH, PRT, & - PALB_UV, PZS, PZZ, PLAT0, PLON0, & - KLON, KLAT, KLEV, KRR, & - KDAY, KMONTH, KYEAR, PTIME, & - OCH_TUV_ONLINE, HCH_TUV_CLOUDS, & - PALBNEW, PDOBNEW, PRHODREF, PJVALUES, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################################### -!! -!!*** *CH_UPDATE_JVALUES_n* updates photolysis rates -!! -!! PURPOSE -!! ------- -!! Update photolysis rates in MODD_CH_JVALUES_n for later extraction -!! by CH_JVALUES -!! -!!** METHOD -!! ------ -!! It converts some input information into the format expected by the -!! FORTRAN90 subroutine tuvmain, which is then called in order to -!! calculate the photolysis rates. -!! -!! -!! REFERENCE -!! --------- -!! MesoNH documentation -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 05/03/97 -!! 05/03/05 P. Tulet (CNRM/GMEI) Update for Arome -!! -!!------------------------------------------------------------------------------ -!! -!! EXTERNAL -!! -------- -USE MODI_CH_INTERP_JVALUES_n -USE MODI_CH_JVALUES_CLOUDS_n -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CST -USE MODD_PARAMETERS -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX -USE MODD_CONF -!! -!! EXPLICIT ARGUMENTS -!! ------------------ -IMPLICIT NONE - -INTEGER, INTENT(IN) :: KLON !NPROMA under CPG -INTEGER, INTENT(IN) :: KLAT !NPROMA under CPG -INTEGER, INTENT(IN) :: KLEV !Number of vertical levels -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PLAT0, PLON0 -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALB_UV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PRHODREF -REAL, DIMENSION(KLON,KLAT,KLEV,KRR), INTENT(IN) :: PRT -INTEGER, INTENT(IN) :: KDAY, KMONTH, KYEAR ! current date -REAL, INTENT(IN) :: PTIME ! current time (s) -INTEGER, INTENT(IN) :: KLUOUT -LOGICAL, INTENT(IN) :: OCH_TUV_ONLINE ! online/lookup table -CHARACTER*4, INTENT(IN) :: HCH_TUV_CLOUDS ! clouds and radiation -REAL, INTENT(IN) :: PALBNEW ! surface albedo -REAL, INTENT(IN) :: PDOBNEW ! ozone column dobson -REAL,DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES ! Tuv coefficients -INTEGER, INTENT(IN) :: KVERB ! verbosity level -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -!! -!! LOCAL VARIABLES -!! --------------- -INTEGER :: JVLEVEL ! loop counter -REAL, DIMENSION(:,:), ALLOCATABLE :: ZSZA -LOGICAL, SAVE :: GSFIRSTCALL = .TRUE. ! flag for initialization on first call -INTEGER :: IDATE ! date in format yymmdd -INTEGER :: JJ ! loop counter -! -REAL,DIMENSION(:,:), ALLOCATABLE :: ZJOUT1D ! dummy parameter -!REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZJOUT3D ! dummy parameter -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZFCLD ! cloud correction -CHARACTER*40, DIMENSION(JPJVMAX) :: YJLABELOUT ! names of J-reacts. -!! -REAL, DIMENSION(:), ALLOCATABLE :: ZAZ -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZAZ3D, ZLWC3D -INTEGER :: IIU,IJU,IKU,IKB,IKE, JPV -REAL :: ZALBNEW, ZDOBNEW -REAL, DIMENSION(:), ALLOCATABLE :: ZLWC - - -! -!------------------------------------------------------------------------------ -!! -!! EXECUTABLE STATEMENTS -!! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_JVALUES_N',0,ZHOOK_HANDLE) -IF (CPROGRAM == "MOD0D") THEN - -IIU=1 -IJU=1 -IKB=1 -IKE=1 -IKU=1 -JPV=0 - -ELSE - -IIU=NIU -IJU=NJU -IKU=SIZE(PZZ,3) -IKB=1+JPVEXT -IKE=IKU-JPVEXT -JPV=JPVEXT - -END IF -! -IF (.NOT.ALLOCATED(ZSZA)) ALLOCATE(ZSZA(IIU,IJU)) -! -IF (OCH_TUV_ONLINE) THEN -! - IF ((.NOT.L1D).OR.(CPROGRAM .EQ. "AROME")) THEN - WRITE(KLUOUT,*)"ERROR in CH_UPDATE_JVALUES_n: " - WRITE(KLUOUT,*)"you want to use ON-LINE calculation of photolysis rates " - WRITE(KLUOUT,*)"but you are not runnning in 1D " - WRITE(KLUOUT,*)"Program is STOPPED now " - STOP - ENDIF - -!* 1. TUV 3D ON LINE -! ------------------- - IDATE = 10000*MOD(KYEAR,100) + 100*KMONTH + KDAY -! - ZALBNEW = PALBNEW - ZDOBNEW = PDOBNEW -! - IF (.NOT.ALLOCATED(ZAZ)) THEN - ALLOCATE(ZAZ(IKE-IKB+1)) - ENDIF - IF (.NOT.ALLOCATED(ZLWC)) THEN - ALLOCATE(ZLWC(IKE-IKB+1)) - ENDIF - ZAZ(1:IKE-IKB+1) = PZZ(1+JPV,1+JPV,1:IKE-IKB+1) -! - IF (HCH_TUV_CLOUDS .EQ. "NONE") THEN - ZLWC(1:IKE-IKB+1) = 0.0 - ELSE - ZLWC(1:IKE-IKB+1) = PRT(1+JPV,1+JPV,1:IKE-IKB+1,2) * PRHODREF(1+JPV,1+JPV,1:IKE-IKB+1) - END IF -! - JVLEVEL = IKE-IKB+1 -! - ALLOCATE(ZJOUT1D(JVLEVEL,JPJVMAX)) -! - ZSZA(:,:) = PZENITH(:,:) * 180. / XPI - - CALL TUVMAIN(ZSZA, IDATE, ZALBNEW, ZDOBNEW, & - JVLEVEL, ZAZ, ZLWC, & - JPJVMAX, ZJOUT1D, YJLABELOUT ) -! - PJVALUES(:,:,:,:) = SPREAD(SPREAD(ZJOUT1D(1:JVLEVEL,1:JPJVMAX),1,IIU),2,IJU) - IF (KVERB >= 6) THEN - WRITE(KLUOUT,*)'PJVALUES',SIZE(PJVALUES,1),SIZE(PJVALUES,2),SIZE(PJVALUES,3),SIZE(PJVALUES,4) - WRITE(KLUOUT,*)'MAX',MAXVAL(PJVALUES), MAXLOC(PJVALUES) - WRITE(KLUOUT,*)'MIN',MINVAL(PJVALUES), MINLOC(PJVALUES) - ENDIF -! - IF ((GSFIRSTCALL).AND.(KVERB >= 6)) THEN -! -WRITE(KLUOUT,*) "CH_UPDATE_JVALUES_n information on first call" -WRITE(KLUOUT,*) "-------------------------------------------" -WRITE(KLUOUT,*) "You are using ON LINE computation of photolysis rates " -WRITE(KLUOUT,*) "with CH_TUV_CLOUDS ",HCH_TUV_CLOUDS -WRITE(KLUOUT,*) "-------------------------------------------" -WRITE(KLUOUT,*) "J-Values at the bottom, at the center of the domain: Z = " , ZAZ(1) - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, YJLABELOUT(JJ), PJVALUES(IIU/2+1,IJU/2+1,1,JJ) - ENDDO - WRITE(KLUOUT,*) "J-Values at the top, at the center of the domain: Z = ", ZAZ(JVLEVEL) - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, YJLABELOUT(JJ), PJVALUES(IIU/2+1,IJU/2+1,JVLEVEL,JJ) - ENDDO - WRITE(KLUOUT,*) "-------------------------------------------" -! - ENDIF - IF (ALLOCATED(ZAZ)) THEN - DEALLOCATE(ZAZ) - ENDIF - IF (ALLOCATED(ZLWC)) THEN - DEALLOCATE(ZLWC) - ENDIF -! - -ELSE -!* 2. TUV 3D OFF LINE -! ------------------- -! -! - CALL CH_INTERP_JVALUES_n(PJVALUES,PZZ, PZS, PALB_UV, PZENITH,& - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU,KVERB, KLUOUT) - IF (KVERB >= 6) THEN - WRITE(KLUOUT,*) "-------------------------------------------" - WRITE(KLUOUT,*) "J-Values at the bottom, at the center of the domain" - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, PJVALUES(IIU/2+1,IJU/2+1,IKB,JJ) - ENDDO - WRITE(KLUOUT,*) "J-Values at the top, at the center of the domain" - DO JJ = 1, JPJVMAX - WRITE(KLUOUT,*) JJ, PJVALUES(IIU/2+1,IJU/2+1,IKE-IKB+1,JJ) - ENDDO - WRITE(KLUOUT,*) "-------------------------------------------" - ENDIF -! - IF (HCH_TUV_CLOUDS .EQ. "CHAN") THEN -! - IF (.NOT.ALLOCATED(ZAZ3D)) ALLOCATE(ZAZ3D(1:IIU,1:IJU,1:IKU)) - IF (.NOT.ALLOCATED(ZLWC3D)) ALLOCATE(ZLWC3D(1:IIU,1:IJU,1:IKU)) - IF (.NOT.ALLOCATED(ZFCLD)) ALLOCATE(ZFCLD(1:IIU,1:IJU,1:IKU,JPJVMAX)) -! - ZAZ3D(:,:,:) = PZZ(:,:,:) - ZLWC3D(:,:,:) = PRT(:,:,:,2) * PRHODREF(:,:,:) -! - ZFCLD(:,:,:,:) = 1. -! - CALL CH_JVALUES_CLOUDS_n(PZENITH, JPJVMAX, IKU, ZAZ3D, ZLWC3D, ZFCLD) -! - PJVALUES(:,:,:,:) = PJVALUES(:,:,:,:) * ZFCLD(:,:,:,:) - IF (KVERB >= 6) WRITE(KLUOUT,*)" J VALUES CLOUD CORR MAX/MIN", MAXVAL(ZFCLD), MINVAL(ZFCLD) -! - ENDIF -! - IF (ALLOCATED(ZAZ3D)) THEN - DEALLOCATE(ZAZ3D) - ENDIF - IF (ALLOCATED(ZLWC3D)) THEN - DEALLOCATE(ZLWC3D) - ENDIF -! -END IF -GSFIRSTCALL = .FALSE. -! -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_JVALUES_N',1,ZHOOK_HANDLE) -END SUBROUTINE CH_UPDATE_JVALUES_n diff --git a/src/arome/chem/internals/ch_update_meteo.F90 b/src/arome/chem/internals/ch_update_meteo.F90 deleted file mode 100644 index 16e5369e02de2856551305c876ce87a3078c56c9..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_update_meteo.F90 +++ /dev/null @@ -1,78 +0,0 @@ -! ######spl - SUBROUTINE CH_UPDATE_METEO(TPM,PTIME) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ##################################### -!! -!!*** *CH_UPDATE_METEO* -!! -!! PURPOSE -!! ------- -!! update a set of meteo variables -!! -!!** METHOD -!! ------ -!! interpolate NMETEOVARS variables in time -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/04/95 -!! 27/07/96 (K. Suhre) restructured -!! 20/04/99 (K. Suhre) meteo variables are now interpolated in time -!! 01/12/03 (D. Gazen) change Chemical scheme interface!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_M9, ONLY: NMETEOVARS, METEOTRANSTYPE -USE MODD_CH_METEO, ONLY: NMETEORECS, XMETEOTIME, XMETEODATA, NMETEORECACT -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -! -!* 0.1 declaration of arguments -! -TYPE(METEOTRANSTYPE), INTENT(INOUT) :: TPM ! the meteo variables -REAL, INTENT(IN) :: PTIME ! current simulation time -! -!* 0.2 declaration of local variables -! ---------------- -REAL :: ZALPHA ! interpolation weight -! -!------------------------------------------------------------------------------ -! -!* EXECUTABLE STATEMENTS -! --------------------- -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_METEO',0,ZHOOK_HANDLE) -IF (PTIME .LE. XMETEOTIME(1)) THEN -! -! take first record - TPM%XMETEOVAR(:) = XMETEODATA(:,1) -! -ELSE IF (PTIME .GE. XMETEOTIME(NMETEORECS)) THEN -! -! take last record - TPM%XMETEOVAR(1:NMETEOVARS) = XMETEODATA(1:NMETEOVARS,NMETEORECS) -! -ELSE -! -! interpolate meteo variables in time - IF (PTIME .GE. XMETEOTIME(NMETEORECACT+1)) NMETEORECACT = NMETEORECACT+1 -! - ZALPHA = (PTIME - XMETEOTIME(NMETEORECACT)) & - / (XMETEOTIME(NMETEORECACT+1) - XMETEOTIME(NMETEORECACT)) -! - TPM%XMETEOVAR(1:NMETEOVARS) = ZALPHA * XMETEODATA(1:NMETEOVARS,NMETEORECACT+1) & - + (1.-ZALPHA) * XMETEODATA(1:NMETEOVARS,NMETEORECACT) -! -END IF -! -IF (LHOOK) CALL DR_HOOK('CH_UPDATE_METEO',1,ZHOOK_HANDLE) -END SUBROUTINE CH_UPDATE_METEO diff --git a/src/arome/chem/internals/ch_write_chem.F90 b/src/arome/chem/internals/ch_write_chem.F90 deleted file mode 100644 index 8589c4176ffd2255be38b742176f4dd1c4f5d69e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ch_write_chem.F90 +++ /dev/null @@ -1,189 +0,0 @@ -! ######spl - SUBROUTINE CH_WRITE_CHEM(PCONC, PAERO, PRHODREF, HFILE) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################# -!! -!!*** *CH_WRITE_CHEM* -!! -!! PURPOSE -!! ------- -!! write a set of values to a file -!! -!!** METHOD -!! ------ -!! NEQ values will be written to a file, -!! the format of the file will be as follows: -!! line 1: 'name1' value1 -!! ... -!! line NEQ: 'nameNEQ' valueNEQ -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 21/04/95 -!! 01/12/03 (D. Gazen) change Chemical scheme interface -!! -!! EXTERNAL -!! -------- -!! none -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_MODEL0D, ONLY: NFILEIO -USE MODD_CH_M9, ONLY: NEQ, CNAMES -USE MODD_CH_AEROSOL -!! -!! EXPLICIT ARGUMENTS -!! ---------------- -IMPLICIT NONE -!REAL, DIMENSION(NEQ), INTENT(IN) :: PCONC ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(INOUT) :: PCONC ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(INOUT) :: PAERO ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF ! air density -CHARACTER(LEN=*), INTENT(IN) :: HFILE ! HFILE: name of the file for write -! -!! DECLARATION OF LOCAL VARIABLES -!! ------------------------------ -INTEGER :: JI, NAERO -REAL :: ZMD -REAL, DIMENSION(NSP+NCARB+NSOA) :: ZMI ! aerosol molecular mass in g/mol - -! -!* EXECUTABLE STATEMENTS -! --------------------- -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_WRITE_CHEM',0,ZHOOK_HANDLE) -IF (LORILAM) THEN -NAERO=SIZE(PAERO) -ELSE -NAERO=0 -END IF -! -! open file -PRINT *, 'CH_WRITE_CHEM: opening file ', HFILE -OPEN(UNIT = NFILEIO, & - FILE = HFILE, & - FORM = 'FORMATTED', & - STATUS = 'UNKNOWN' ) -! -DO JI = 1, NEQ - WRITE(NFILEIO,'(3A,E20.8)') "'", CNAMES(JI), "' ", PCONC(JI)*1.E9 ! convert ppp to ppb -ENDDO -IF (LORILAM) THEN -!Conversion ppp to microgram/m3 -ZMD = 28.9644E-3 -! Constants initialization -ZMI(:) = 250. -ZMI(JP_AER_SO4) = 98. -ZMI(JP_AER_NO3) = 63. -ZMI(JP_AER_NH3) = 17. -ZMI(JP_AER_H2O) = 18. -IF (NSOA == 10) THEN -ZMI(JP_AER_SOA1) = 88. -ZMI(JP_AER_SOA2) = 180. -ZMI(JP_AER_SOA3) = 1.5374857E+02 -ZMI(JP_AER_SOA4) = 1.9586780E+02 -ZMI(JP_AER_SOA5) = 195. -ZMI(JP_AER_SOA6) = 195. -ZMI(JP_AER_SOA7) = 165. -ZMI(JP_AER_SOA8) = 195. -ZMI(JP_AER_SOA9) = 270. -ZMI(JP_AER_SOA10) = 210. -END IF - -! mineral phase - PAERO(JP_CH_SO4i) = PAERO(JP_CH_SO4i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SO4)) - PAERO(JP_CH_SO4j) = PAERO(JP_CH_SO4j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SO4)) - - PAERO(JP_CH_NO3i) = PAERO(JP_CH_NO3i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_NO3)) - PAERO(JP_CH_NO3j) = PAERO(JP_CH_NO3j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_NO3)) - - PAERO(JP_CH_NH3i) = PAERO(JP_CH_NH3i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_NH3)) - PAERO(JP_CH_NH3j) = PAERO(JP_CH_NH3j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_NH3)) - -! water - PAERO(JP_CH_H2Oi) = PAERO(JP_CH_H2Oi)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_H2O)) - PAERO(JP_CH_H2Oj) = PAERO(JP_CH_H2Oj)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_H2O)) - -! primary organic carbon - PAERO(JP_CH_OCi) = PAERO(JP_CH_OCi)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_OC)) - PAERO(JP_CH_OCj) = PAERO(JP_CH_OCj)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_OC)) - -! primary black carbon - PAERO(JP_CH_BCi) = PAERO(JP_CH_BCi)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_BC)) - PAERO(JP_CH_BCj) = PAERO(JP_CH_BCj)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_BC)) -! -IF (NSOA .EQ. 10) THEN - PAERO(JP_CH_SOA1i) = PAERO(JP_CH_SOA1i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA1)) - PAERO(JP_CH_SOA1j) = PAERO(JP_CH_SOA1j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA1)) - PAERO(JP_CH_SOA2i) = PAERO(JP_CH_SOA2i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA2)) - PAERO(JP_CH_SOA2j) = PAERO(JP_CH_SOA2j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA2)) - PAERO(JP_CH_SOA3i) = PAERO(JP_CH_SOA3i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA3)) - PAERO(JP_CH_SOA3j) = PAERO(JP_CH_SOA3j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA3)) - PAERO(JP_CH_SOA4i) = PAERO(JP_CH_SOA4i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA4)) - PAERO(JP_CH_SOA4j) = PAERO(JP_CH_SOA4j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA4)) - PAERO(JP_CH_SOA5i) = PAERO(JP_CH_SOA5i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA5)) - PAERO(JP_CH_SOA5j) = PAERO(JP_CH_SOA5j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA5)) - PAERO(JP_CH_SOA6i) = PAERO(JP_CH_SOA6i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA6)) - PAERO(JP_CH_SOA6j) = PAERO(JP_CH_SOA6j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA6)) - PAERO(JP_CH_SOA7i) = PAERO(JP_CH_SOA7i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA7)) - PAERO(JP_CH_SOA7j) = PAERO(JP_CH_SOA7j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA7)) - PAERO(JP_CH_SOA8i) = PAERO(JP_CH_SOA8i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA8)) - PAERO(JP_CH_SOA8j) = PAERO(JP_CH_SOA8j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA8)) - PAERO(JP_CH_SOA9i) = PAERO(JP_CH_SOA9i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA9)) - PAERO(JP_CH_SOA9j) = PAERO(JP_CH_SOA9j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA9)) - PAERO(JP_CH_SOA10i) = PAERO(JP_CH_SOA10i)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA10)) - PAERO(JP_CH_SOA10j) = PAERO(JP_CH_SOA10j)/ZMD*1.E6 * & - (PRHODREF(1) * ZMI(JP_AER_SOA10)) -END IF -END IF - -DO JI = 1, NAERO - WRITE(NFILEIO,'(3A,E20.8)') "'", CAERONAMES(JI), "' ", PAERO(JI) -ENDDO - -! -! close file -CLOSE(NFILEIO) -! -IF (LHOOK) CALL DR_HOOK('CH_WRITE_CHEM',1,ZHOOK_HANDLE) -END SUBROUTINE CH_WRITE_CHEM diff --git a/src/arome/chem/internals/data_kmcf198.F b/src/arome/chem/internals/data_kmcf198.F deleted file mode 100644 index b094996a2af3013e796a9689dfdd4beb2ef281f5..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf198.F +++ /dev/null @@ -1,2205 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf198.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:29 $ -!----------------------------------------------------------------- - BLOCK DATA KMCF198 -! - IMPLICIT NONE -! -! *** Common block definition -! - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC198/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - INTEGER :: I - DATA (BNC01M(I),I=1,100)/ & - &-0.49640E-01,-0.10303E+00,-0.12698E+00,-0.14245E+00,-0.15358E+00, & - &-0.16202E+00,-0.16860E+00,-0.17383E+00,-0.17802E+00,-0.18139E+00, & - &-0.18410E+00,-0.18626E+00,-0.18796E+00,-0.18927E+00,-0.19024E+00, & - &-0.19093E+00,-0.19135E+00,-0.19156E+00,-0.19156E+00,-0.19139E+00, & - &-0.19106E+00,-0.19059E+00,-0.18999E+00,-0.18928E+00,-0.18846E+00, & - &-0.18756E+00,-0.18657E+00,-0.18550E+00,-0.18436E+00,-0.18316E+00, & - &-0.18191E+00,-0.18060E+00,-0.17925E+00,-0.17786E+00,-0.17643E+00, & - &-0.17496E+00,-0.17347E+00,-0.17194E+00,-0.17040E+00,-0.16883E+00, & - &-0.16724E+00,-0.16563E+00,-0.16401E+00,-0.16238E+00,-0.16073E+00, & - &-0.15908E+00,-0.15741E+00,-0.15574E+00,-0.15406E+00,-0.15237E+00, & - &-0.15068E+00,-0.14899E+00,-0.14729E+00,-0.14558E+00,-0.14388E+00, & - &-0.14217E+00,-0.14046E+00,-0.13874E+00,-0.13702E+00,-0.13530E+00, & - &-0.13357E+00,-0.13184E+00,-0.13011E+00,-0.12837E+00,-0.12663E+00, & - &-0.12488E+00,-0.12312E+00,-0.12136E+00,-0.11959E+00,-0.11781E+00, & - &-0.11603E+00,-0.11423E+00,-0.11243E+00,-0.11061E+00,-0.10878E+00, & - &-0.10694E+00,-0.10509E+00,-0.10322E+00,-0.10134E+00,-0.99450E-01, & - &-0.97542E-01,-0.95618E-01,-0.93679E-01,-0.91723E-01,-0.89752E-01, & - &-0.87764E-01,-0.85759E-01,-0.83737E-01,-0.81699E-01,-0.79643E-01, & - &-0.77570E-01,-0.75481E-01,-0.73375E-01,-0.71252E-01,-0.69113E-01, & - &-0.66957E-01,-0.64786E-01,-0.62600E-01,-0.60399E-01,-0.58183E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.55953E-01,-0.53709E-01,-0.51453E-01,-0.49184E-01,-0.46903E-01, & - &-0.44610E-01,-0.42307E-01,-0.39994E-01,-0.37670E-01,-0.35338E-01, & - &-0.32997E-01,-0.30649E-01,-0.28293E-01,-0.25931E-01,-0.23562E-01, & - &-0.21188E-01,-0.18808E-01,-0.16424E-01,-0.14036E-01,-0.11644E-01, & - &-0.92495E-02,-0.68520E-02,-0.44521E-02,-0.20502E-02, 0.35305E-03, & - & 0.27576E-02, 0.51630E-02, 0.75689E-02, 0.99750E-02, 0.12381E-01, & - & 0.14787E-01, 0.17192E-01, 0.19597E-01, 0.22000E-01, 0.24402E-01, & - & 0.26803E-01, 0.29203E-01, 0.31600E-01, 0.33996E-01, 0.36390E-01, & - & 0.38782E-01, 0.41172E-01, 0.43559E-01, 0.45944E-01, 0.48326E-01, & - & 0.50706E-01, 0.53083E-01, 0.55458E-01, 0.57830E-01, 0.60198E-01, & - & 0.62564E-01, 0.64927E-01, 0.67287E-01, 0.69644E-01, 0.71998E-01, & - & 0.74349E-01, 0.76696E-01, 0.79041E-01, 0.81382E-01, 0.83719E-01, & - & 0.86054E-01, 0.88385E-01, 0.90713E-01, 0.93037E-01, 0.95358E-01, & - & 0.97676E-01, 0.99990E-01, 0.10230E+00, 0.10461E+00, 0.10691E+00, & - & 0.10921E+00, 0.11151E+00, 0.11380E+00, 0.11609E+00, 0.11837E+00, & - & 0.12066E+00, 0.12293E+00, 0.12521E+00, 0.12748E+00, 0.12975E+00, & - & 0.13201E+00, 0.13427E+00, 0.13653E+00, 0.13878E+00, 0.14103E+00, & - & 0.14327E+00, 0.14551E+00, 0.14775E+00, 0.14998E+00, 0.15221E+00, & - & 0.15444E+00, 0.15666E+00, 0.15888E+00, 0.16109E+00, 0.16330E+00, & - & 0.16551E+00, 0.16771E+00, 0.16991E+00, 0.17211E+00, 0.17430E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.17649E+00, 0.17867E+00, 0.18085E+00, 0.18302E+00, 0.18520E+00, & - & 0.18736E+00, 0.18953E+00, 0.19169E+00, 0.19384E+00, 0.19600E+00, & - & 0.19814E+00, 0.20029E+00, 0.20243E+00, 0.20457E+00, 0.20670E+00, & - & 0.20883E+00, 0.21095E+00, 0.21307E+00, 0.21519E+00, 0.21730E+00, & - & 0.21941E+00, 0.22151E+00, 0.22362E+00, 0.22571E+00, 0.22781E+00, & - & 0.22990E+00, 0.23198E+00, 0.23406E+00, 0.23614E+00, 0.23821E+00, & - & 0.24028E+00, 0.24235E+00, 0.24441E+00, 0.24647E+00, 0.24852E+00, & - & 0.25057E+00, 0.25262E+00, 0.25466E+00, 0.25670E+00, 0.25873E+00, & - & 0.26076E+00, 0.26279E+00, 0.26481E+00, 0.26683E+00, 0.26885E+00, & - & 0.27086E+00, 0.27286E+00, 0.27487E+00, 0.27687E+00, 0.27886E+00, & - & 0.28085E+00, 0.28284E+00, 0.28483E+00, 0.28681E+00, 0.28878E+00, & - & 0.29075E+00, 0.29272E+00, 0.29469E+00, 0.29665E+00, 0.29861E+00, & - & 0.30056E+00, 0.30251E+00, 0.30445E+00, 0.30640E+00, 0.30833E+00, & - & 0.31027E+00, 0.31220E+00, 0.31412E+00, 0.31605E+00, 0.31797E+00, & - & 0.31988E+00, 0.32179E+00, 0.32370E+00, 0.32561E+00, 0.32751E+00, & - & 0.32940E+00, 0.33129E+00, 0.33318E+00, 0.33507E+00, 0.33695E+00, & - & 0.33883E+00, 0.34070E+00, 0.34257E+00, 0.34444E+00, 0.34630E+00, & - & 0.34816E+00, 0.35002E+00, 0.35187E+00, 0.35372E+00, 0.35556E+00, & - & 0.35741E+00, 0.35924E+00, 0.36108E+00, 0.36291E+00, 0.36473E+00, & - & 0.36656E+00, 0.36838E+00, 0.37019E+00, 0.37200E+00, 0.37381E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.37562E+00, 0.37742E+00, 0.37922E+00, 0.38101E+00, 0.38280E+00, & - & 0.38459E+00, 0.38637E+00, 0.38815E+00, 0.38993E+00, 0.39170E+00, & - & 0.39347E+00, 0.39524E+00, 0.39700E+00, 0.39876E+00, 0.40052E+00, & - & 0.40227E+00, 0.40402E+00, 0.40576E+00, 0.40751E+00, 0.40924E+00, & - & 0.41098E+00, 0.41271E+00, 0.41444E+00, 0.41616E+00, 0.41788E+00, & - & 0.41960E+00, 0.42132E+00, 0.42303E+00, 0.42474E+00, 0.42644E+00, & - & 0.42814E+00, 0.42984E+00, 0.43153E+00, 0.43322E+00, 0.43491E+00, & - & 0.43659E+00, 0.43828E+00, 0.43995E+00, 0.44163E+00, 0.44330E+00, & - & 0.44497E+00, 0.44663E+00, 0.44829E+00, 0.44995E+00, 0.45160E+00, & - & 0.45325E+00, 0.45490E+00, 0.45655E+00, 0.45819E+00, 0.45983E+00, & - & 0.46146E+00, 0.46309E+00, 0.46472E+00, 0.46635E+00, 0.46797E+00, & - & 0.46959E+00, 0.47120E+00, 0.47282E+00, 0.47442E+00, 0.47603E+00, & - & 0.47763E+00, 0.47923E+00, 0.48083E+00, 0.48242E+00, 0.48401E+00, & - & 0.48560E+00, 0.48719E+00, 0.48877E+00, 0.49035E+00, 0.49192E+00, & - & 0.49349E+00, 0.49506E+00, 0.49663E+00, 0.49819E+00, 0.49975E+00, & - & 0.50130E+00, 0.50286E+00, 0.50441E+00, 0.50596E+00, 0.50750E+00, & - & 0.50904E+00, 0.51058E+00, 0.51212E+00, 0.51365E+00, 0.51518E+00, & - & 0.51670E+00, 0.51823E+00, 0.51975E+00, 0.52126E+00, 0.52278E+00, & - & 0.52429E+00, 0.52580E+00, 0.52730E+00, 0.52881E+00, 0.53031E+00, & - & 0.53180E+00, 0.53330E+00, 0.53479E+00, 0.53628E+00, 0.53776E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.53924E+00, 0.54072E+00, 0.54220E+00, 0.54367E+00, 0.54514E+00, & - & 0.54661E+00, 0.54808E+00, 0.54954E+00, 0.55100E+00, 0.55246E+00, & - & 0.55391E+00, 0.55536E+00, 0.55681E+00, 0.55825E+00, 0.55970E+00, & - & 0.56114E+00, 0.56257E+00, 0.56401E+00, 0.56544E+00, 0.56687E+00, & - & 0.56829E+00, 0.56972E+00, 0.57114E+00, 0.57256E+00, 0.57397E+00, & - & 0.57538E+00, 0.57679E+00, 0.57820E+00, 0.57960E+00, 0.58101E+00, & - & 0.58240E+00, 0.58380E+00, 0.58519E+00, 0.58659E+00, 0.58797E+00, & - & 0.58936E+00, 0.59074E+00, 0.59212E+00, 0.59350E+00, 0.59487E+00, & - & 0.59625E+00, 0.59762E+00, 0.59898E+00, 0.60035E+00, 0.60171E+00, & - & 0.60307E+00, 0.60442E+00, 0.60578E+00, 0.60713E+00, 0.60848E+00, & - & 0.60982E+00, 0.61117E+00, 0.61251E+00, 0.61385E+00, 0.61518E+00, & - & 0.61652E+00, 0.61785E+00, 0.61918E+00, 0.62050E+00, 0.62183E+00, & - & 0.62315E+00, 0.62447E+00, 0.62578E+00, 0.62709E+00, 0.62841E+00, & - & 0.62971E+00, 0.63102E+00, 0.63232E+00, 0.63362E+00, 0.63492E+00, & - & 0.63622E+00, 0.63751E+00, 0.63880E+00, 0.64009E+00, 0.64138E+00, & - & 0.64266E+00, 0.64394E+00, 0.64522E+00, 0.64650E+00, 0.64777E+00, & - & 0.64905E+00, 0.65032E+00, 0.65158E+00, 0.65285E+00, 0.65411E+00, & - & 0.65537E+00, 0.65663E+00, 0.65788E+00, 0.65913E+00, 0.66039E+00, & - & 0.66163E+00, 0.66288E+00, 0.66412E+00, 0.66536E+00, 0.66660E+00, & - & 0.66784E+00, 0.66907E+00, 0.67031E+00, 0.67153E+00, 0.67276E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.67399E+00, 0.67521E+00, 0.67643E+00, 0.67765E+00, 0.67886E+00, & - & 0.68008E+00, 0.68129E+00, 0.68250E+00, 0.68371E+00, 0.68491E+00, & - & 0.68611E+00, 0.68731E+00, 0.68851E+00, 0.68971E+00, 0.69090E+00, & - & 0.69209E+00, 0.69328E+00, 0.69447E+00, 0.69565E+00, 0.69683E+00, & - & 0.69801E+00, 0.69919E+00, 0.70037E+00, 0.70154E+00, 0.70271E+00, & - & 0.70388E+00, 0.70505E+00, 0.70621E+00, 0.70738E+00, 0.70854E+00, & - & 0.70970E+00, 0.71085E+00, 0.71201E+00, 0.71316E+00, 0.71431E+00, & - & 0.71546E+00, 0.71660E+00, 0.71775E+00, 0.71889E+00, 0.72003E+00, & - & 0.72117E+00, 0.72230E+00, 0.72343E+00, 0.72456E+00, 0.72569E+00, & - & 0.72682E+00, 0.72795E+00, 0.72907E+00, 0.73019E+00, 0.73131E+00, & - & 0.73242E+00, 0.73354E+00, 0.73465E+00, 0.73576E+00, 0.73687E+00, & - & 0.73798E+00, 0.73908E+00, 0.74019E+00, 0.74129E+00, 0.74238E+00, & - & 0.74348E+00, 0.74457E+00, 0.74567E+00, 0.74676E+00, 0.74785E+00, & - & 0.74893E+00, 0.75002E+00, 0.75110E+00, 0.75218E+00, 0.75326E+00, & - & 0.75434E+00, 0.75541E+00, 0.75648E+00, 0.75755E+00, 0.75862E+00, & - & 0.75969E+00, 0.76075E+00, 0.76182E+00, 0.76288E+00, 0.76394E+00, & - & 0.76500E+00, 0.76605E+00, 0.76710E+00, 0.76816E+00, 0.76921E+00, & - & 0.77025E+00, 0.77130E+00, 0.77234E+00, 0.77339E+00, 0.77443E+00, & - & 0.77546E+00, 0.77650E+00, 0.77754E+00, 0.77857E+00, 0.77960E+00, & - & 0.78063E+00, 0.78165E+00, 0.78268E+00, 0.78370E+00, 0.78473E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.79565E+00, 0.80557E+00, 0.81531E+00, 0.82489E+00, 0.83429E+00, & - & 0.84353E+00, 0.85261E+00, 0.86153E+00, 0.87029E+00, 0.87890E+00, & - & 0.88737E+00, 0.89568E+00, 0.90385E+00, 0.91188E+00, 0.91978E+00, & - & 0.92754E+00, 0.93516E+00, 0.94265E+00, 0.95002E+00, 0.95726E+00, & - & 0.96438E+00, 0.97138E+00, 0.97825E+00, 0.98501E+00, 0.99166E+00, & - & 0.99819E+00, 0.10046E+01, 0.10109E+01, 0.10171E+01, 0.10232E+01, & - & 0.10292E+01, 0.10351E+01, 0.10409E+01, 0.10466E+01, 0.10522E+01, & - & 0.10577E+01, 0.10632E+01, 0.10685E+01, 0.10737E+01, 0.10788E+01, & - & 0.10839E+01, 0.10889E+01, 0.10938E+01, 0.10986E+01, 0.11033E+01, & - & 0.11079E+01, 0.11125E+01, 0.11169E+01, 0.11213E+01, 0.11257E+01, & - & 0.11299E+01, 0.11341E+01, 0.11382E+01, 0.11422E+01, 0.11462E+01, & - & 0.11501E+01, 0.11539E+01, 0.11577E+01, 0.11613E+01, 0.11650E+01, & - & 0.11685E+01, 0.11720E+01, 0.11754E+01, 0.11788E+01, 0.11821E+01, & - & 0.11853E+01, 0.11885E+01, 0.11917E+01, 0.11947E+01, 0.11977E+01, & - & 0.12007E+01, 0.12036E+01, 0.12064E+01, 0.12092E+01, 0.12119E+01, & - & 0.12146E+01, 0.12172E+01, 0.12198E+01, 0.12223E+01, 0.12248E+01, & - & 0.12272E+01, 0.12296E+01, 0.12319E+01, 0.12342E+01, 0.12364E+01, & - & 0.12386E+01, 0.12407E+01, 0.12428E+01, 0.12449E+01, 0.12469E+01, & - & 0.12488E+01, 0.12507E+01, 0.12526E+01, 0.12544E+01, 0.12562E+01, & - & 0.12579E+01, 0.12596E+01, 0.12613E+01, 0.12629E+01, 0.12645E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.12660E+01, 0.12675E+01, 0.12690E+01, 0.12704E+01, 0.12718E+01, & - & 0.12731E+01, 0.12744E+01, 0.12757E+01, 0.12769E+01, 0.12781E+01, & - & 0.12793E+01, 0.12804E+01, 0.12815E+01, 0.12825E+01, 0.12836E+01, & - & 0.12846E+01, 0.12855E+01, 0.12864E+01, 0.12873E+01, 0.12882E+01, & - & 0.12890E+01, 0.12898E+01, 0.12906E+01, 0.12913E+01, 0.12920E+01, & - & 0.12927E+01, 0.12933E+01, 0.12939E+01, 0.12945E+01, 0.12951E+01, & - & 0.12956E+01, 0.12961E+01, 0.12966E+01, 0.12970E+01, 0.12974E+01, & - & 0.12978E+01, 0.12981E+01, 0.12985E+01, 0.12988E+01, 0.12991E+01, & - & 0.12993E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.10289E+00,-0.22546E+00,-0.28765E+00,-0.33213E+00,-0.36741E+00, & - &-0.39691E+00,-0.42240E+00,-0.44495E+00,-0.46522E+00,-0.48367E+00, & - &-0.50064E+00,-0.51637E+00,-0.53106E+00,-0.54484E+00,-0.55785E+00, & - &-0.57017E+00,-0.58189E+00,-0.59306E+00,-0.60376E+00,-0.61401E+00, & - &-0.62387E+00,-0.63337E+00,-0.64254E+00,-0.65140E+00,-0.65998E+00, & - &-0.66830E+00,-0.67639E+00,-0.68424E+00,-0.69189E+00,-0.69934E+00, & - &-0.70661E+00,-0.71370E+00,-0.72063E+00,-0.72740E+00,-0.73403E+00, & - &-0.74052E+00,-0.74688E+00,-0.75312E+00,-0.75923E+00,-0.76524E+00, & - &-0.77113E+00,-0.77693E+00,-0.78262E+00,-0.78822E+00,-0.79373E+00, & - &-0.79915E+00,-0.80450E+00,-0.80976E+00,-0.81494E+00,-0.82005E+00, & - &-0.82509E+00,-0.83006E+00,-0.83497E+00,-0.83981E+00,-0.84459E+00, & - &-0.84931E+00,-0.85398E+00,-0.85859E+00,-0.86315E+00,-0.86766E+00, & - &-0.87211E+00,-0.87652E+00,-0.88089E+00,-0.88521E+00,-0.88948E+00, & - &-0.89372E+00,-0.89791E+00,-0.90207E+00,-0.90619E+00,-0.91027E+00, & - &-0.91432E+00,-0.91833E+00,-0.92231E+00,-0.92626E+00,-0.93018E+00, & - &-0.93406E+00,-0.93792E+00,-0.94175E+00,-0.94556E+00,-0.94933E+00, & - &-0.95308E+00,-0.95681E+00,-0.96051E+00,-0.96419E+00,-0.96785E+00, & - &-0.97149E+00,-0.97510E+00,-0.97869E+00,-0.98226E+00,-0.98582E+00, & - &-0.98935E+00,-0.99286E+00,-0.99636E+00,-0.99984E+00,-0.10033E+01, & - &-0.10067E+01,-0.10102E+01,-0.10136E+01,-0.10170E+01,-0.10203E+01/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.10237E+01,-0.10271E+01,-0.10304E+01,-0.10337E+01,-0.10370E+01, & - &-0.10403E+01,-0.10436E+01,-0.10468E+01,-0.10501E+01,-0.10533E+01, & - &-0.10565E+01,-0.10597E+01,-0.10629E+01,-0.10661E+01,-0.10692E+01, & - &-0.10724E+01,-0.10755E+01,-0.10787E+01,-0.10818E+01,-0.10849E+01, & - &-0.10880E+01,-0.10911E+01,-0.10941E+01,-0.10972E+01,-0.11002E+01, & - &-0.11033E+01,-0.11063E+01,-0.11093E+01,-0.11123E+01,-0.11153E+01, & - &-0.11182E+01,-0.11212E+01,-0.11242E+01,-0.11271E+01,-0.11301E+01, & - &-0.11330E+01,-0.11359E+01,-0.11388E+01,-0.11417E+01,-0.11446E+01, & - &-0.11475E+01,-0.11503E+01,-0.11532E+01,-0.11560E+01,-0.11589E+01, & - &-0.11617E+01,-0.11645E+01,-0.11673E+01,-0.11701E+01,-0.11729E+01, & - &-0.11757E+01,-0.11785E+01,-0.11813E+01,-0.11840E+01,-0.11868E+01, & - &-0.11895E+01,-0.11923E+01,-0.11950E+01,-0.11977E+01,-0.12004E+01, & - &-0.12032E+01,-0.12059E+01,-0.12085E+01,-0.12112E+01,-0.12139E+01, & - &-0.12166E+01,-0.12192E+01,-0.12219E+01,-0.12246E+01,-0.12272E+01, & - &-0.12298E+01,-0.12325E+01,-0.12351E+01,-0.12377E+01,-0.12403E+01, & - &-0.12429E+01,-0.12455E+01,-0.12481E+01,-0.12507E+01,-0.12533E+01, & - &-0.12558E+01,-0.12584E+01,-0.12610E+01,-0.12635E+01,-0.12661E+01, & - &-0.12686E+01,-0.12712E+01,-0.12737E+01,-0.12762E+01,-0.12787E+01, & - &-0.12813E+01,-0.12838E+01,-0.12863E+01,-0.12888E+01,-0.12913E+01, & - &-0.12937E+01,-0.12962E+01,-0.12987E+01,-0.13012E+01,-0.13036E+01/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.13061E+01,-0.13086E+01,-0.13110E+01,-0.13135E+01,-0.13159E+01, & - &-0.13183E+01,-0.13208E+01,-0.13232E+01,-0.13256E+01,-0.13280E+01, & - &-0.13305E+01,-0.13329E+01,-0.13353E+01,-0.13377E+01,-0.13401E+01, & - &-0.13425E+01,-0.13449E+01,-0.13472E+01,-0.13496E+01,-0.13520E+01, & - &-0.13544E+01,-0.13567E+01,-0.13591E+01,-0.13614E+01,-0.13638E+01, & - &-0.13661E+01,-0.13685E+01,-0.13708E+01,-0.13732E+01,-0.13755E+01, & - &-0.13778E+01,-0.13802E+01,-0.13825E+01,-0.13848E+01,-0.13871E+01, & - &-0.13894E+01,-0.13917E+01,-0.13940E+01,-0.13963E+01,-0.13986E+01, & - &-0.14009E+01,-0.14032E+01,-0.14055E+01,-0.14078E+01,-0.14100E+01, & - &-0.14123E+01,-0.14146E+01,-0.14168E+01,-0.14191E+01,-0.14214E+01, & - &-0.14236E+01,-0.14259E+01,-0.14281E+01,-0.14304E+01,-0.14326E+01, & - &-0.14349E+01,-0.14371E+01,-0.14393E+01,-0.14415E+01,-0.14438E+01, & - &-0.14460E+01,-0.14482E+01,-0.14504E+01,-0.14526E+01,-0.14549E+01, & - &-0.14571E+01,-0.14593E+01,-0.14615E+01,-0.14637E+01,-0.14659E+01, & - &-0.14681E+01,-0.14702E+01,-0.14724E+01,-0.14746E+01,-0.14768E+01, & - &-0.14790E+01,-0.14812E+01,-0.14833E+01,-0.14855E+01,-0.14877E+01, & - &-0.14898E+01,-0.14920E+01,-0.14941E+01,-0.14963E+01,-0.14985E+01, & - &-0.15006E+01,-0.15028E+01,-0.15049E+01,-0.15070E+01,-0.15092E+01, & - &-0.15113E+01,-0.15134E+01,-0.15156E+01,-0.15177E+01,-0.15198E+01, & - &-0.15220E+01,-0.15241E+01,-0.15262E+01,-0.15283E+01,-0.15304E+01/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.15325E+01,-0.15347E+01,-0.15368E+01,-0.15389E+01,-0.15410E+01, & - &-0.15431E+01,-0.15452E+01,-0.15473E+01,-0.15493E+01,-0.15514E+01, & - &-0.15535E+01,-0.15556E+01,-0.15577E+01,-0.15598E+01,-0.15618E+01, & - &-0.15639E+01,-0.15660E+01,-0.15681E+01,-0.15701E+01,-0.15722E+01, & - &-0.15743E+01,-0.15763E+01,-0.15784E+01,-0.15805E+01,-0.15825E+01, & - &-0.15846E+01,-0.15866E+01,-0.15887E+01,-0.15907E+01,-0.15928E+01, & - &-0.15948E+01,-0.15968E+01,-0.15989E+01,-0.16009E+01,-0.16030E+01, & - &-0.16050E+01,-0.16070E+01,-0.16090E+01,-0.16111E+01,-0.16131E+01, & - &-0.16151E+01,-0.16171E+01,-0.16192E+01,-0.16212E+01,-0.16232E+01, & - &-0.16252E+01,-0.16272E+01,-0.16292E+01,-0.16312E+01,-0.16332E+01, & - &-0.16352E+01,-0.16372E+01,-0.16392E+01,-0.16412E+01,-0.16432E+01, & - &-0.16452E+01,-0.16472E+01,-0.16492E+01,-0.16512E+01,-0.16532E+01, & - &-0.16552E+01,-0.16572E+01,-0.16591E+01,-0.16611E+01,-0.16631E+01, & - &-0.16651E+01,-0.16671E+01,-0.16690E+01,-0.16710E+01,-0.16730E+01, & - &-0.16749E+01,-0.16769E+01,-0.16789E+01,-0.16808E+01,-0.16828E+01, & - &-0.16847E+01,-0.16867E+01,-0.16887E+01,-0.16906E+01,-0.16926E+01, & - &-0.16945E+01,-0.16965E+01,-0.16984E+01,-0.17004E+01,-0.17023E+01, & - &-0.17042E+01,-0.17062E+01,-0.17081E+01,-0.17101E+01,-0.17120E+01, & - &-0.17139E+01,-0.17159E+01,-0.17178E+01,-0.17197E+01,-0.17217E+01, & - &-0.17236E+01,-0.17255E+01,-0.17274E+01,-0.17294E+01,-0.17313E+01/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.17332E+01,-0.17351E+01,-0.17370E+01,-0.17390E+01,-0.17409E+01, & - &-0.17428E+01,-0.17447E+01,-0.17466E+01,-0.17485E+01,-0.17504E+01, & - &-0.17523E+01,-0.17542E+01,-0.17561E+01,-0.17580E+01,-0.17599E+01, & - &-0.17618E+01,-0.17637E+01,-0.17656E+01,-0.17675E+01,-0.17694E+01, & - &-0.17713E+01,-0.17732E+01,-0.17751E+01,-0.17770E+01,-0.17788E+01, & - &-0.17807E+01,-0.17826E+01,-0.17845E+01,-0.17864E+01,-0.17883E+01, & - &-0.17901E+01,-0.17920E+01,-0.17939E+01,-0.17958E+01,-0.17976E+01, & - &-0.17995E+01,-0.18014E+01,-0.18032E+01,-0.18051E+01,-0.18070E+01, & - &-0.18088E+01,-0.18107E+01,-0.18126E+01,-0.18144E+01,-0.18163E+01, & - &-0.18181E+01,-0.18200E+01,-0.18218E+01,-0.18237E+01,-0.18256E+01, & - &-0.18274E+01,-0.18293E+01,-0.18311E+01,-0.18330E+01,-0.18348E+01, & - &-0.18367E+01,-0.18385E+01,-0.18403E+01,-0.18422E+01,-0.18440E+01, & - &-0.18459E+01,-0.18477E+01,-0.18495E+01,-0.18514E+01,-0.18532E+01, & - &-0.18550E+01,-0.18569E+01,-0.18587E+01,-0.18605E+01,-0.18624E+01, & - &-0.18642E+01,-0.18660E+01,-0.18679E+01,-0.18697E+01,-0.18715E+01, & - &-0.18733E+01,-0.18751E+01,-0.18770E+01,-0.18788E+01,-0.18806E+01, & - &-0.18824E+01,-0.18842E+01,-0.18861E+01,-0.18879E+01,-0.18897E+01, & - &-0.18915E+01,-0.18933E+01,-0.18951E+01,-0.18969E+01,-0.18987E+01, & - &-0.19005E+01,-0.19023E+01,-0.19041E+01,-0.19060E+01,-0.19078E+01, & - &-0.19096E+01,-0.19114E+01,-0.19132E+01,-0.19150E+01,-0.19167E+01/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.19185E+01,-0.19203E+01,-0.19221E+01,-0.19239E+01,-0.19257E+01, & - &-0.19275E+01,-0.19293E+01,-0.19311E+01,-0.19329E+01,-0.19347E+01, & - &-0.19365E+01,-0.19382E+01,-0.19400E+01,-0.19418E+01,-0.19436E+01, & - &-0.19454E+01,-0.19472E+01,-0.19489E+01,-0.19507E+01,-0.19525E+01, & - &-0.19543E+01,-0.19560E+01,-0.19578E+01,-0.19596E+01,-0.19614E+01, & - &-0.19631E+01,-0.19649E+01,-0.19667E+01,-0.19684E+01,-0.19702E+01, & - &-0.19720E+01,-0.19737E+01,-0.19755E+01,-0.19773E+01,-0.19790E+01, & - &-0.19808E+01,-0.19826E+01,-0.19843E+01,-0.19861E+01,-0.19878E+01, & - &-0.19896E+01,-0.19914E+01,-0.19931E+01,-0.19949E+01,-0.19966E+01, & - &-0.19984E+01,-0.20001E+01,-0.20019E+01,-0.20036E+01,-0.20054E+01, & - &-0.20071E+01,-0.20089E+01,-0.20106E+01,-0.20124E+01,-0.20141E+01, & - &-0.20159E+01,-0.20176E+01,-0.20193E+01,-0.20211E+01,-0.20228E+01, & - &-0.20246E+01,-0.20263E+01,-0.20281E+01,-0.20298E+01,-0.20315E+01, & - &-0.20333E+01,-0.20350E+01,-0.20367E+01,-0.20385E+01,-0.20402E+01, & - &-0.20419E+01,-0.20437E+01,-0.20454E+01,-0.20471E+01,-0.20489E+01, & - &-0.20506E+01,-0.20523E+01,-0.20540E+01,-0.20558E+01,-0.20575E+01, & - &-0.20592E+01,-0.20609E+01,-0.20627E+01,-0.20644E+01,-0.20661E+01, & - &-0.20678E+01,-0.20695E+01,-0.20713E+01,-0.20730E+01,-0.20747E+01, & - &-0.20764E+01,-0.20781E+01,-0.20798E+01,-0.20816E+01,-0.20833E+01, & - &-0.20850E+01,-0.20867E+01,-0.20884E+01,-0.20901E+01,-0.20918E+01/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.21103E+01,-0.21272E+01,-0.21441E+01,-0.21610E+01,-0.21778E+01, & - &-0.21945E+01,-0.22111E+01,-0.22277E+01,-0.22442E+01,-0.22607E+01, & - &-0.22771E+01,-0.22934E+01,-0.23097E+01,-0.23260E+01,-0.23422E+01, & - &-0.23583E+01,-0.23744E+01,-0.23904E+01,-0.24064E+01,-0.24224E+01, & - &-0.24383E+01,-0.24541E+01,-0.24699E+01,-0.24857E+01,-0.25014E+01, & - &-0.25171E+01,-0.25327E+01,-0.25483E+01,-0.25639E+01,-0.25794E+01, & - &-0.25949E+01,-0.26104E+01,-0.26258E+01,-0.26412E+01,-0.26565E+01, & - &-0.26718E+01,-0.26871E+01,-0.27023E+01,-0.27175E+01,-0.27327E+01, & - &-0.27479E+01,-0.27630E+01,-0.27781E+01,-0.27931E+01,-0.28082E+01, & - &-0.28232E+01,-0.28381E+01,-0.28531E+01,-0.28680E+01,-0.28829E+01, & - &-0.28977E+01,-0.29125E+01,-0.29274E+01,-0.29421E+01,-0.29569E+01, & - &-0.29716E+01,-0.29863E+01,-0.30010E+01,-0.30157E+01,-0.30303E+01, & - &-0.30449E+01,-0.30595E+01,-0.30740E+01,-0.30886E+01,-0.31031E+01, & - &-0.31176E+01,-0.31321E+01,-0.31465E+01,-0.31610E+01,-0.31754E+01, & - &-0.31898E+01,-0.32042E+01,-0.32185E+01,-0.32328E+01,-0.32472E+01, & - &-0.32614E+01,-0.32757E+01,-0.32900E+01,-0.33042E+01,-0.33184E+01, & - &-0.33326E+01,-0.33468E+01,-0.33610E+01,-0.33751E+01,-0.33893E+01, & - &-0.34034E+01,-0.34175E+01,-0.34316E+01,-0.34456E+01,-0.34597E+01, & - &-0.34737E+01,-0.34877E+01,-0.35017E+01,-0.35157E+01,-0.35297E+01, & - &-0.35436E+01,-0.35576E+01,-0.35715E+01,-0.35854E+01,-0.35993E+01/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.36132E+01,-0.36270E+01,-0.36409E+01,-0.36547E+01,-0.36685E+01, & - &-0.36823E+01,-0.36961E+01,-0.37099E+01,-0.37237E+01,-0.37374E+01, & - &-0.37512E+01,-0.37649E+01,-0.37786E+01,-0.37923E+01,-0.38060E+01, & - &-0.38197E+01,-0.38333E+01,-0.38470E+01,-0.38606E+01,-0.38743E+01, & - &-0.38879E+01,-0.39015E+01,-0.39151E+01,-0.39286E+01,-0.39422E+01, & - &-0.39558E+01,-0.39693E+01,-0.39828E+01,-0.39964E+01,-0.40099E+01, & - &-0.40234E+01,-0.40369E+01,-0.40503E+01,-0.40638E+01,-0.40773E+01, & - &-0.40907E+01,-0.41041E+01,-0.41176E+01,-0.41310E+01,-0.41444E+01, & - &-0.41578E+01 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.51619E-01,-0.11367E+00,-0.14547E+00,-0.16839E+00,-0.18667E+00, & - &-0.20205E+00,-0.21542E+00,-0.22729E+00,-0.23802E+00,-0.24783E+00, & - &-0.25689E+00,-0.26532E+00,-0.27322E+00,-0.28066E+00,-0.28771E+00, & - &-0.29440E+00,-0.30079E+00,-0.30691E+00,-0.31277E+00,-0.31841E+00, & - &-0.32385E+00,-0.32910E+00,-0.33418E+00,-0.33911E+00,-0.34388E+00, & - &-0.34853E+00,-0.35304E+00,-0.35744E+00,-0.36173E+00,-0.36592E+00, & - &-0.37001E+00,-0.37401E+00,-0.37792E+00,-0.38175E+00,-0.38550E+00, & - &-0.38918E+00,-0.39279E+00,-0.39633E+00,-0.39981E+00,-0.40323E+00, & - &-0.40658E+00,-0.40989E+00,-0.41313E+00,-0.41633E+00,-0.41948E+00, & - &-0.42258E+00,-0.42563E+00,-0.42864E+00,-0.43161E+00,-0.43454E+00, & - &-0.43743E+00,-0.44028E+00,-0.44309E+00,-0.44587E+00,-0.44861E+00, & - &-0.45133E+00,-0.45401E+00,-0.45666E+00,-0.45928E+00,-0.46187E+00, & - &-0.46443E+00,-0.46697E+00,-0.46948E+00,-0.47197E+00,-0.47443E+00, & - &-0.47688E+00,-0.47929E+00,-0.48169E+00,-0.48407E+00,-0.48643E+00, & - &-0.48877E+00,-0.49109E+00,-0.49339E+00,-0.49567E+00,-0.49794E+00, & - &-0.50020E+00,-0.50243E+00,-0.50466E+00,-0.50687E+00,-0.50906E+00, & - &-0.51124E+00,-0.51341E+00,-0.51557E+00,-0.51771E+00,-0.51985E+00, & - &-0.52197E+00,-0.52408E+00,-0.52618E+00,-0.52827E+00,-0.53035E+00, & - &-0.53242E+00,-0.53448E+00,-0.53654E+00,-0.53858E+00,-0.54062E+00, & - &-0.54264E+00,-0.54466E+00,-0.54667E+00,-0.54867E+00,-0.55066E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.55265E+00,-0.55463E+00,-0.55660E+00,-0.55856E+00,-0.56051E+00, & - &-0.56246E+00,-0.56440E+00,-0.56633E+00,-0.56826E+00,-0.57018E+00, & - &-0.57209E+00,-0.57399E+00,-0.57589E+00,-0.57778E+00,-0.57966E+00, & - &-0.58154E+00,-0.58341E+00,-0.58527E+00,-0.58713E+00,-0.58898E+00, & - &-0.59082E+00,-0.59265E+00,-0.59448E+00,-0.59631E+00,-0.59812E+00, & - &-0.59993E+00,-0.60174E+00,-0.60353E+00,-0.60532E+00,-0.60711E+00, & - &-0.60888E+00,-0.61066E+00,-0.61242E+00,-0.61418E+00,-0.61593E+00, & - &-0.61768E+00,-0.61942E+00,-0.62116E+00,-0.62289E+00,-0.62461E+00, & - &-0.62633E+00,-0.62805E+00,-0.62975E+00,-0.63146E+00,-0.63315E+00, & - &-0.63484E+00,-0.63653E+00,-0.63821E+00,-0.63988E+00,-0.64155E+00, & - &-0.64322E+00,-0.64488E+00,-0.64653E+00,-0.64818E+00,-0.64983E+00, & - &-0.65147E+00,-0.65310E+00,-0.65473E+00,-0.65636E+00,-0.65798E+00, & - &-0.65960E+00,-0.66121E+00,-0.66282E+00,-0.66442E+00,-0.66602E+00, & - &-0.66761E+00,-0.66920E+00,-0.67079E+00,-0.67237E+00,-0.67395E+00, & - &-0.67552E+00,-0.67709E+00,-0.67865E+00,-0.68021E+00,-0.68177E+00, & - &-0.68332E+00,-0.68487E+00,-0.68641E+00,-0.68795E+00,-0.68949E+00, & - &-0.69102E+00,-0.69255E+00,-0.69408E+00,-0.69560E+00,-0.69712E+00, & - &-0.69863E+00,-0.70014E+00,-0.70165E+00,-0.70316E+00,-0.70466E+00, & - &-0.70615E+00,-0.70765E+00,-0.70914E+00,-0.71062E+00,-0.71211E+00, & - &-0.71358E+00,-0.71506E+00,-0.71653E+00,-0.71800E+00,-0.71947E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.72093E+00,-0.72239E+00,-0.72385E+00,-0.72531E+00,-0.72676E+00, & - &-0.72820E+00,-0.72965E+00,-0.73109E+00,-0.73253E+00,-0.73397E+00, & - &-0.73540E+00,-0.73683E+00,-0.73825E+00,-0.73968E+00,-0.74110E+00, & - &-0.74252E+00,-0.74393E+00,-0.74535E+00,-0.74676E+00,-0.74816E+00, & - &-0.74957E+00,-0.75097E+00,-0.75237E+00,-0.75376E+00,-0.75516E+00, & - &-0.75655E+00,-0.75794E+00,-0.75932E+00,-0.76071E+00,-0.76209E+00, & - &-0.76346E+00,-0.76484E+00,-0.76621E+00,-0.76758E+00,-0.76895E+00, & - &-0.77032E+00,-0.77168E+00,-0.77304E+00,-0.77440E+00,-0.77575E+00, & - &-0.77711E+00,-0.77846E+00,-0.77981E+00,-0.78115E+00,-0.78250E+00, & - &-0.78384E+00,-0.78518E+00,-0.78652E+00,-0.78785E+00,-0.78918E+00, & - &-0.79051E+00,-0.79184E+00,-0.79317E+00,-0.79449E+00,-0.79581E+00, & - &-0.79713E+00,-0.79845E+00,-0.79977E+00,-0.80108E+00,-0.80239E+00, & - &-0.80370E+00,-0.80500E+00,-0.80631E+00,-0.80761E+00,-0.80891E+00, & - &-0.81021E+00,-0.81151E+00,-0.81280E+00,-0.81410E+00,-0.81539E+00, & - &-0.81667E+00,-0.81796E+00,-0.81925E+00,-0.82053E+00,-0.82181E+00, & - &-0.82309E+00,-0.82437E+00,-0.82564E+00,-0.82691E+00,-0.82819E+00, & - &-0.82946E+00,-0.83072E+00,-0.83199E+00,-0.83325E+00,-0.83452E+00, & - &-0.83578E+00,-0.83703E+00,-0.83829E+00,-0.83955E+00,-0.84080E+00, & - &-0.84205E+00,-0.84330E+00,-0.84455E+00,-0.84580E+00,-0.84704E+00, & - &-0.84828E+00,-0.84952E+00,-0.85076E+00,-0.85200E+00,-0.85324E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.85447E+00,-0.85571E+00,-0.85694E+00,-0.85817E+00,-0.85939E+00, & - &-0.86062E+00,-0.86185E+00,-0.86307E+00,-0.86429E+00,-0.86551E+00, & - &-0.86673E+00,-0.86795E+00,-0.86916E+00,-0.87038E+00,-0.87159E+00, & - &-0.87280E+00,-0.87401E+00,-0.87522E+00,-0.87642E+00,-0.87763E+00, & - &-0.87883E+00,-0.88003E+00,-0.88123E+00,-0.88243E+00,-0.88363E+00, & - &-0.88482E+00,-0.88602E+00,-0.88721E+00,-0.88840E+00,-0.88959E+00, & - &-0.89078E+00,-0.89197E+00,-0.89315E+00,-0.89434E+00,-0.89552E+00, & - &-0.89670E+00,-0.89788E+00,-0.89906E+00,-0.90024E+00,-0.90142E+00, & - &-0.90259E+00,-0.90376E+00,-0.90494E+00,-0.90611E+00,-0.90728E+00, & - &-0.90845E+00,-0.90961E+00,-0.91078E+00,-0.91194E+00,-0.91310E+00, & - &-0.91427E+00,-0.91543E+00,-0.91659E+00,-0.91774E+00,-0.91890E+00, & - &-0.92006E+00,-0.92121E+00,-0.92236E+00,-0.92351E+00,-0.92466E+00, & - &-0.92581E+00,-0.92696E+00,-0.92811E+00,-0.92925E+00,-0.93040E+00, & - &-0.93154E+00,-0.93268E+00,-0.93382E+00,-0.93496E+00,-0.93610E+00, & - &-0.93724E+00,-0.93837E+00,-0.93951E+00,-0.94064E+00,-0.94177E+00, & - &-0.94290E+00,-0.94404E+00,-0.94516E+00,-0.94629E+00,-0.94742E+00, & - &-0.94854E+00,-0.94967E+00,-0.95079E+00,-0.95191E+00,-0.95303E+00, & - &-0.95416E+00,-0.95527E+00,-0.95639E+00,-0.95751E+00,-0.95862E+00, & - &-0.95974E+00,-0.96085E+00,-0.96196E+00,-0.96308E+00,-0.96419E+00, & - &-0.96530E+00,-0.96640E+00,-0.96751E+00,-0.96862E+00,-0.96972E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.97083E+00,-0.97193E+00,-0.97303E+00,-0.97413E+00,-0.97523E+00, & - &-0.97633E+00,-0.97743E+00,-0.97852E+00,-0.97962E+00,-0.98072E+00, & - &-0.98181E+00,-0.98290E+00,-0.98399E+00,-0.98508E+00,-0.98617E+00, & - &-0.98726E+00,-0.98835E+00,-0.98944E+00,-0.99052E+00,-0.99161E+00, & - &-0.99269E+00,-0.99378E+00,-0.99486E+00,-0.99594E+00,-0.99702E+00, & - &-0.99810E+00,-0.99918E+00,-0.10003E+01,-0.10013E+01,-0.10024E+01, & - &-0.10035E+01,-0.10046E+01,-0.10056E+01,-0.10067E+01,-0.10078E+01, & - &-0.10088E+01,-0.10099E+01,-0.10110E+01,-0.10120E+01,-0.10131E+01, & - &-0.10142E+01,-0.10152E+01,-0.10163E+01,-0.10174E+01,-0.10184E+01, & - &-0.10195E+01,-0.10206E+01,-0.10216E+01,-0.10227E+01,-0.10237E+01, & - &-0.10248E+01,-0.10258E+01,-0.10269E+01,-0.10280E+01,-0.10290E+01, & - &-0.10301E+01,-0.10311E+01,-0.10322E+01,-0.10332E+01,-0.10343E+01, & - &-0.10353E+01,-0.10364E+01,-0.10374E+01,-0.10385E+01,-0.10395E+01, & - &-0.10405E+01,-0.10416E+01,-0.10426E+01,-0.10437E+01,-0.10447E+01, & - &-0.10458E+01,-0.10468E+01,-0.10478E+01,-0.10489E+01,-0.10499E+01, & - &-0.10509E+01,-0.10520E+01,-0.10530E+01,-0.10541E+01,-0.10551E+01, & - &-0.10561E+01,-0.10572E+01,-0.10582E+01,-0.10592E+01,-0.10602E+01, & - &-0.10613E+01,-0.10623E+01,-0.10633E+01,-0.10644E+01,-0.10654E+01, & - &-0.10664E+01,-0.10674E+01,-0.10685E+01,-0.10695E+01,-0.10705E+01, & - &-0.10715E+01,-0.10725E+01,-0.10736E+01,-0.10746E+01,-0.10756E+01/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.10766E+01,-0.10776E+01,-0.10787E+01,-0.10797E+01,-0.10807E+01, & - &-0.10817E+01,-0.10827E+01,-0.10837E+01,-0.10847E+01,-0.10857E+01, & - &-0.10868E+01,-0.10878E+01,-0.10888E+01,-0.10898E+01,-0.10908E+01, & - &-0.10918E+01,-0.10928E+01,-0.10938E+01,-0.10948E+01,-0.10958E+01, & - &-0.10968E+01,-0.10978E+01,-0.10988E+01,-0.10998E+01,-0.11008E+01, & - &-0.11018E+01,-0.11028E+01,-0.11038E+01,-0.11048E+01,-0.11058E+01, & - &-0.11068E+01,-0.11078E+01,-0.11088E+01,-0.11098E+01,-0.11108E+01, & - &-0.11118E+01,-0.11128E+01,-0.11138E+01,-0.11148E+01,-0.11158E+01, & - &-0.11168E+01,-0.11178E+01,-0.11188E+01,-0.11197E+01,-0.11207E+01, & - &-0.11217E+01,-0.11227E+01,-0.11237E+01,-0.11247E+01,-0.11257E+01, & - &-0.11267E+01,-0.11276E+01,-0.11286E+01,-0.11296E+01,-0.11306E+01, & - &-0.11316E+01,-0.11326E+01,-0.11335E+01,-0.11345E+01,-0.11355E+01, & - &-0.11365E+01,-0.11374E+01,-0.11384E+01,-0.11394E+01,-0.11404E+01, & - &-0.11414E+01,-0.11423E+01,-0.11433E+01,-0.11443E+01,-0.11453E+01, & - &-0.11462E+01,-0.11472E+01,-0.11482E+01,-0.11491E+01,-0.11501E+01, & - &-0.11511E+01,-0.11521E+01,-0.11530E+01,-0.11540E+01,-0.11550E+01, & - &-0.11559E+01,-0.11569E+01,-0.11579E+01,-0.11588E+01,-0.11598E+01, & - &-0.11608E+01,-0.11617E+01,-0.11627E+01,-0.11636E+01,-0.11646E+01, & - &-0.11656E+01,-0.11665E+01,-0.11675E+01,-0.11685E+01,-0.11694E+01, & - &-0.11704E+01,-0.11713E+01,-0.11723E+01,-0.11732E+01,-0.11742E+01/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.11845E+01,-0.11940E+01,-0.12034E+01,-0.12128E+01,-0.12222E+01, & - &-0.12315E+01,-0.12407E+01,-0.12499E+01,-0.12591E+01,-0.12682E+01, & - &-0.12773E+01,-0.12863E+01,-0.12953E+01,-0.13043E+01,-0.13132E+01, & - &-0.13221E+01,-0.13310E+01,-0.13398E+01,-0.13486E+01,-0.13573E+01, & - &-0.13660E+01,-0.13747E+01,-0.13834E+01,-0.13920E+01,-0.14006E+01, & - &-0.14092E+01,-0.14177E+01,-0.14262E+01,-0.14347E+01,-0.14432E+01, & - &-0.14516E+01,-0.14600E+01,-0.14684E+01,-0.14768E+01,-0.14851E+01, & - &-0.14934E+01,-0.15017E+01,-0.15099E+01,-0.15182E+01,-0.15264E+01, & - &-0.15346E+01,-0.15427E+01,-0.15509E+01,-0.15590E+01,-0.15671E+01, & - &-0.15752E+01,-0.15833E+01,-0.15913E+01,-0.15993E+01,-0.16073E+01, & - &-0.16153E+01,-0.16233E+01,-0.16313E+01,-0.16392E+01,-0.16471E+01, & - &-0.16550E+01,-0.16629E+01,-0.16707E+01,-0.16786E+01,-0.16864E+01, & - &-0.16942E+01,-0.17020E+01,-0.17098E+01,-0.17176E+01,-0.17253E+01, & - &-0.17331E+01,-0.17408E+01,-0.17485E+01,-0.17562E+01,-0.17639E+01, & - &-0.17715E+01,-0.17792E+01,-0.17868E+01,-0.17944E+01,-0.18021E+01, & - &-0.18096E+01,-0.18172E+01,-0.18248E+01,-0.18324E+01,-0.18399E+01, & - &-0.18474E+01,-0.18550E+01,-0.18625E+01,-0.18700E+01,-0.18774E+01, & - &-0.18849E+01,-0.18924E+01,-0.18998E+01,-0.19073E+01,-0.19147E+01, & - &-0.19221E+01,-0.19295E+01,-0.19369E+01,-0.19443E+01,-0.19516E+01, & - &-0.19590E+01,-0.19664E+01,-0.19737E+01,-0.19810E+01,-0.19883E+01/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.19957E+01,-0.20030E+01,-0.20102E+01,-0.20175E+01,-0.20248E+01, & - &-0.20321E+01,-0.20393E+01,-0.20466E+01,-0.20538E+01,-0.20610E+01, & - &-0.20682E+01,-0.20754E+01,-0.20826E+01,-0.20898E+01,-0.20970E+01, & - &-0.21042E+01,-0.21113E+01,-0.21185E+01,-0.21256E+01,-0.21328E+01, & - &-0.21399E+01,-0.21470E+01,-0.21542E+01,-0.21613E+01,-0.21684E+01, & - &-0.21754E+01,-0.21825E+01,-0.21896E+01,-0.21967E+01,-0.22037E+01, & - &-0.22108E+01,-0.22178E+01,-0.22249E+01,-0.22319E+01,-0.22389E+01, & - &-0.22459E+01,-0.22530E+01,-0.22600E+01,-0.22670E+01,-0.22739E+01, & - &-0.22809E+01 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.10300E+00,-0.22602E+00,-0.28863E+00,-0.33351E+00,-0.36917E+00, & - &-0.39905E+00,-0.42491E+00,-0.44782E+00,-0.46843E+00,-0.48723E+00, & - &-0.50454E+00,-0.52061E+00,-0.53563E+00,-0.54974E+00,-0.56307E+00, & - &-0.57571E+00,-0.58774E+00,-0.59923E+00,-0.61023E+00,-0.62079E+00, & - &-0.63096E+00,-0.64075E+00,-0.65021E+00,-0.65937E+00,-0.66824E+00, & - &-0.67685E+00,-0.68522E+00,-0.69335E+00,-0.70128E+00,-0.70900E+00, & - &-0.71654E+00,-0.72390E+00,-0.73110E+00,-0.73814E+00,-0.74503E+00, & - &-0.75178E+00,-0.75839E+00,-0.76488E+00,-0.77125E+00,-0.77750E+00, & - &-0.78364E+00,-0.78967E+00,-0.79561E+00,-0.80144E+00,-0.80719E+00, & - &-0.81284E+00,-0.81841E+00,-0.82390E+00,-0.82931E+00,-0.83464E+00, & - &-0.83990E+00,-0.84509E+00,-0.85021E+00,-0.85527E+00,-0.86026E+00, & - &-0.86519E+00,-0.87007E+00,-0.87488E+00,-0.87964E+00,-0.88435E+00, & - &-0.88901E+00,-0.89362E+00,-0.89818E+00,-0.90270E+00,-0.90717E+00, & - &-0.91160E+00,-0.91599E+00,-0.92033E+00,-0.92464E+00,-0.92891E+00, & - &-0.93315E+00,-0.93735E+00,-0.94152E+00,-0.94565E+00,-0.94975E+00, & - &-0.95383E+00,-0.95787E+00,-0.96188E+00,-0.96587E+00,-0.96983E+00, & - &-0.97377E+00,-0.97768E+00,-0.98156E+00,-0.98543E+00,-0.98927E+00, & - &-0.99308E+00,-0.99688E+00,-0.10007E+01,-0.10044E+01,-0.10081E+01, & - &-0.10119E+01,-0.10156E+01,-0.10192E+01,-0.10229E+01,-0.10265E+01, & - &-0.10302E+01,-0.10338E+01,-0.10374E+01,-0.10409E+01,-0.10445E+01/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.10480E+01,-0.10516E+01,-0.10551E+01,-0.10586E+01,-0.10621E+01, & - &-0.10655E+01,-0.10690E+01,-0.10724E+01,-0.10759E+01,-0.10793E+01, & - &-0.10827E+01,-0.10861E+01,-0.10894E+01,-0.10928E+01,-0.10961E+01, & - &-0.10995E+01,-0.11028E+01,-0.11061E+01,-0.11094E+01,-0.11127E+01, & - &-0.11159E+01,-0.11192E+01,-0.11224E+01,-0.11257E+01,-0.11289E+01, & - &-0.11321E+01,-0.11353E+01,-0.11385E+01,-0.11417E+01,-0.11448E+01, & - &-0.11480E+01,-0.11511E+01,-0.11543E+01,-0.11574E+01,-0.11605E+01, & - &-0.11636E+01,-0.11667E+01,-0.11697E+01,-0.11728E+01,-0.11759E+01, & - &-0.11789E+01,-0.11819E+01,-0.11850E+01,-0.11880E+01,-0.11910E+01, & - &-0.11940E+01,-0.11970E+01,-0.12000E+01,-0.12029E+01,-0.12059E+01, & - &-0.12088E+01,-0.12118E+01,-0.12147E+01,-0.12176E+01,-0.12206E+01, & - &-0.12235E+01,-0.12264E+01,-0.12293E+01,-0.12321E+01,-0.12350E+01, & - &-0.12379E+01,-0.12407E+01,-0.12436E+01,-0.12464E+01,-0.12493E+01, & - &-0.12521E+01,-0.12549E+01,-0.12577E+01,-0.12605E+01,-0.12633E+01, & - &-0.12661E+01,-0.12689E+01,-0.12717E+01,-0.12745E+01,-0.12772E+01, & - &-0.12800E+01,-0.12827E+01,-0.12855E+01,-0.12882E+01,-0.12909E+01, & - &-0.12936E+01,-0.12964E+01,-0.12991E+01,-0.13018E+01,-0.13045E+01, & - &-0.13072E+01,-0.13098E+01,-0.13125E+01,-0.13152E+01,-0.13179E+01, & - &-0.13205E+01,-0.13232E+01,-0.13258E+01,-0.13285E+01,-0.13311E+01, & - &-0.13337E+01,-0.13364E+01,-0.13390E+01,-0.13416E+01,-0.13442E+01/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.13468E+01,-0.13494E+01,-0.13520E+01,-0.13546E+01,-0.13572E+01, & - &-0.13597E+01,-0.13623E+01,-0.13649E+01,-0.13674E+01,-0.13700E+01, & - &-0.13726E+01,-0.13751E+01,-0.13776E+01,-0.13802E+01,-0.13827E+01, & - &-0.13852E+01,-0.13878E+01,-0.13903E+01,-0.13928E+01,-0.13953E+01, & - &-0.13978E+01,-0.14003E+01,-0.14028E+01,-0.14053E+01,-0.14078E+01, & - &-0.14102E+01,-0.14127E+01,-0.14152E+01,-0.14177E+01,-0.14201E+01, & - &-0.14226E+01,-0.14250E+01,-0.14275E+01,-0.14299E+01,-0.14324E+01, & - &-0.14348E+01,-0.14373E+01,-0.14397E+01,-0.14421E+01,-0.14445E+01, & - &-0.14469E+01,-0.14494E+01,-0.14518E+01,-0.14542E+01,-0.14566E+01, & - &-0.14590E+01,-0.14614E+01,-0.14638E+01,-0.14662E+01,-0.14685E+01, & - &-0.14709E+01,-0.14733E+01,-0.14757E+01,-0.14780E+01,-0.14804E+01, & - &-0.14828E+01,-0.14851E+01,-0.14875E+01,-0.14898E+01,-0.14922E+01, & - &-0.14945E+01,-0.14969E+01,-0.14992E+01,-0.15015E+01,-0.15039E+01, & - &-0.15062E+01,-0.15085E+01,-0.15108E+01,-0.15131E+01,-0.15155E+01, & - &-0.15178E+01,-0.15201E+01,-0.15224E+01,-0.15247E+01,-0.15270E+01, & - &-0.15293E+01,-0.15316E+01,-0.15338E+01,-0.15361E+01,-0.15384E+01, & - &-0.15407E+01,-0.15430E+01,-0.15452E+01,-0.15475E+01,-0.15498E+01, & - &-0.15520E+01,-0.15543E+01,-0.15566E+01,-0.15588E+01,-0.15611E+01, & - &-0.15633E+01,-0.15656E+01,-0.15678E+01,-0.15700E+01,-0.15723E+01, & - &-0.15745E+01,-0.15767E+01,-0.15790E+01,-0.15812E+01,-0.15834E+01/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.15857E+01,-0.15879E+01,-0.15901E+01,-0.15923E+01,-0.15945E+01, & - &-0.15967E+01,-0.15989E+01,-0.16011E+01,-0.16033E+01,-0.16055E+01, & - &-0.16077E+01,-0.16099E+01,-0.16121E+01,-0.16143E+01,-0.16165E+01, & - &-0.16187E+01,-0.16208E+01,-0.16230E+01,-0.16252E+01,-0.16274E+01, & - &-0.16295E+01,-0.16317E+01,-0.16339E+01,-0.16360E+01,-0.16382E+01, & - &-0.16403E+01,-0.16425E+01,-0.16446E+01,-0.16468E+01,-0.16489E+01, & - &-0.16511E+01,-0.16532E+01,-0.16554E+01,-0.16575E+01,-0.16597E+01, & - &-0.16618E+01,-0.16639E+01,-0.16661E+01,-0.16682E+01,-0.16703E+01, & - &-0.16724E+01,-0.16746E+01,-0.16767E+01,-0.16788E+01,-0.16809E+01, & - &-0.16830E+01,-0.16851E+01,-0.16872E+01,-0.16893E+01,-0.16914E+01, & - &-0.16935E+01,-0.16956E+01,-0.16977E+01,-0.16998E+01,-0.17019E+01, & - &-0.17040E+01,-0.17061E+01,-0.17082E+01,-0.17103E+01,-0.17124E+01, & - &-0.17145E+01,-0.17165E+01,-0.17186E+01,-0.17207E+01,-0.17228E+01, & - &-0.17248E+01,-0.17269E+01,-0.17290E+01,-0.17310E+01,-0.17331E+01, & - &-0.17352E+01,-0.17372E+01,-0.17393E+01,-0.17413E+01,-0.17434E+01, & - &-0.17455E+01,-0.17475E+01,-0.17496E+01,-0.17516E+01,-0.17536E+01, & - &-0.17557E+01,-0.17577E+01,-0.17598E+01,-0.17618E+01,-0.17638E+01, & - &-0.17659E+01,-0.17679E+01,-0.17699E+01,-0.17720E+01,-0.17740E+01, & - &-0.17760E+01,-0.17781E+01,-0.17801E+01,-0.17821E+01,-0.17841E+01, & - &-0.17861E+01,-0.17881E+01,-0.17902E+01,-0.17922E+01,-0.17942E+01/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.17962E+01,-0.17982E+01,-0.18002E+01,-0.18022E+01,-0.18042E+01, & - &-0.18062E+01,-0.18082E+01,-0.18102E+01,-0.18122E+01,-0.18142E+01, & - &-0.18162E+01,-0.18182E+01,-0.18202E+01,-0.18222E+01,-0.18241E+01, & - &-0.18261E+01,-0.18281E+01,-0.18301E+01,-0.18321E+01,-0.18341E+01, & - &-0.18360E+01,-0.18380E+01,-0.18400E+01,-0.18420E+01,-0.18439E+01, & - &-0.18459E+01,-0.18479E+01,-0.18498E+01,-0.18518E+01,-0.18538E+01, & - &-0.18557E+01,-0.18577E+01,-0.18596E+01,-0.18616E+01,-0.18636E+01, & - &-0.18655E+01,-0.18675E+01,-0.18694E+01,-0.18714E+01,-0.18733E+01, & - &-0.18753E+01,-0.18772E+01,-0.18792E+01,-0.18811E+01,-0.18830E+01, & - &-0.18850E+01,-0.18869E+01,-0.18889E+01,-0.18908E+01,-0.18927E+01, & - &-0.18947E+01,-0.18966E+01,-0.18985E+01,-0.19005E+01,-0.19024E+01, & - &-0.19043E+01,-0.19062E+01,-0.19082E+01,-0.19101E+01,-0.19120E+01, & - &-0.19139E+01,-0.19158E+01,-0.19178E+01,-0.19197E+01,-0.19216E+01, & - &-0.19235E+01,-0.19254E+01,-0.19273E+01,-0.19292E+01,-0.19311E+01, & - &-0.19331E+01,-0.19350E+01,-0.19369E+01,-0.19388E+01,-0.19407E+01, & - &-0.19426E+01,-0.19445E+01,-0.19464E+01,-0.19483E+01,-0.19502E+01, & - &-0.19521E+01,-0.19539E+01,-0.19558E+01,-0.19577E+01,-0.19596E+01, & - &-0.19615E+01,-0.19634E+01,-0.19653E+01,-0.19672E+01,-0.19691E+01, & - &-0.19709E+01,-0.19728E+01,-0.19747E+01,-0.19766E+01,-0.19785E+01, & - &-0.19803E+01,-0.19822E+01,-0.19841E+01,-0.19860E+01,-0.19878E+01/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.19897E+01,-0.19916E+01,-0.19934E+01,-0.19953E+01,-0.19972E+01, & - &-0.19990E+01,-0.20009E+01,-0.20028E+01,-0.20046E+01,-0.20065E+01, & - &-0.20084E+01,-0.20102E+01,-0.20121E+01,-0.20139E+01,-0.20158E+01, & - &-0.20176E+01,-0.20195E+01,-0.20213E+01,-0.20232E+01,-0.20250E+01, & - &-0.20269E+01,-0.20287E+01,-0.20306E+01,-0.20324E+01,-0.20343E+01, & - &-0.20361E+01,-0.20380E+01,-0.20398E+01,-0.20416E+01,-0.20435E+01, & - &-0.20453E+01,-0.20472E+01,-0.20490E+01,-0.20508E+01,-0.20527E+01, & - &-0.20545E+01,-0.20563E+01,-0.20582E+01,-0.20600E+01,-0.20618E+01, & - &-0.20637E+01,-0.20655E+01,-0.20673E+01,-0.20691E+01,-0.20710E+01, & - &-0.20728E+01,-0.20746E+01,-0.20764E+01,-0.20782E+01,-0.20801E+01, & - &-0.20819E+01,-0.20837E+01,-0.20855E+01,-0.20873E+01,-0.20891E+01, & - &-0.20910E+01,-0.20928E+01,-0.20946E+01,-0.20964E+01,-0.20982E+01, & - &-0.21000E+01,-0.21018E+01,-0.21036E+01,-0.21054E+01,-0.21072E+01, & - &-0.21090E+01,-0.21109E+01,-0.21127E+01,-0.21145E+01,-0.21163E+01, & - &-0.21181E+01,-0.21199E+01,-0.21217E+01,-0.21234E+01,-0.21252E+01, & - &-0.21270E+01,-0.21288E+01,-0.21306E+01,-0.21324E+01,-0.21342E+01, & - &-0.21360E+01,-0.21378E+01,-0.21396E+01,-0.21414E+01,-0.21432E+01, & - &-0.21449E+01,-0.21467E+01,-0.21485E+01,-0.21503E+01,-0.21521E+01, & - &-0.21539E+01,-0.21556E+01,-0.21574E+01,-0.21592E+01,-0.21610E+01, & - &-0.21628E+01,-0.21645E+01,-0.21663E+01,-0.21681E+01,-0.21699E+01/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.21890E+01,-0.22066E+01,-0.22241E+01,-0.22416E+01,-0.22589E+01, & - &-0.22762E+01,-0.22935E+01,-0.23106E+01,-0.23277E+01,-0.23448E+01, & - &-0.23617E+01,-0.23786E+01,-0.23955E+01,-0.24122E+01,-0.24290E+01, & - &-0.24456E+01,-0.24622E+01,-0.24788E+01,-0.24953E+01,-0.25117E+01, & - &-0.25281E+01,-0.25445E+01,-0.25608E+01,-0.25770E+01,-0.25932E+01, & - &-0.26094E+01,-0.26255E+01,-0.26415E+01,-0.26575E+01,-0.26735E+01, & - &-0.26894E+01,-0.27053E+01,-0.27212E+01,-0.27370E+01,-0.27528E+01, & - &-0.27685E+01,-0.27842E+01,-0.27998E+01,-0.28155E+01,-0.28310E+01, & - &-0.28466E+01,-0.28621E+01,-0.28776E+01,-0.28930E+01,-0.29084E+01, & - &-0.29238E+01,-0.29392E+01,-0.29545E+01,-0.29698E+01,-0.29850E+01, & - &-0.30002E+01,-0.30154E+01,-0.30306E+01,-0.30457E+01,-0.30608E+01, & - &-0.30759E+01,-0.30910E+01,-0.31060E+01,-0.31210E+01,-0.31360E+01, & - &-0.31509E+01,-0.31658E+01,-0.31807E+01,-0.31956E+01,-0.32104E+01, & - &-0.32252E+01,-0.32400E+01,-0.32548E+01,-0.32696E+01,-0.32843E+01, & - &-0.32990E+01,-0.33137E+01,-0.33283E+01,-0.33430E+01,-0.33576E+01, & - &-0.33722E+01,-0.33867E+01,-0.34013E+01,-0.34158E+01,-0.34303E+01, & - &-0.34448E+01,-0.34593E+01,-0.34737E+01,-0.34882E+01,-0.35026E+01, & - &-0.35170E+01,-0.35313E+01,-0.35457E+01,-0.35600E+01,-0.35743E+01, & - &-0.35886E+01,-0.36029E+01,-0.36172E+01,-0.36314E+01,-0.36456E+01, & - &-0.36599E+01,-0.36741E+01,-0.36882E+01,-0.37024E+01,-0.37165E+01/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.37307E+01,-0.37448E+01,-0.37589E+01,-0.37730E+01,-0.37870E+01, & - &-0.38011E+01,-0.38151E+01,-0.38291E+01,-0.38431E+01,-0.38571E+01, & - &-0.38711E+01,-0.38850E+01,-0.38990E+01,-0.39129E+01,-0.39268E+01, & - &-0.39407E+01,-0.39546E+01,-0.39685E+01,-0.39824E+01,-0.39962E+01, & - &-0.40100E+01,-0.40239E+01,-0.40377E+01,-0.40515E+01,-0.40653E+01, & - &-0.40790E+01,-0.40928E+01,-0.41065E+01,-0.41203E+01,-0.41340E+01, & - &-0.41477E+01,-0.41614E+01,-0.41751E+01,-0.41887E+01,-0.42024E+01, & - &-0.42160E+01,-0.42297E+01,-0.42433E+01,-0.42569E+01,-0.42705E+01, & - &-0.42841E+01 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.52307E-01,-0.11745E+00,-0.15210E+00,-0.17773E+00,-0.19864E+00, & - &-0.21658E+00,-0.23244E+00,-0.24676E+00,-0.25988E+00,-0.27205E+00, & - &-0.28343E+00,-0.29415E+00,-0.30431E+00,-0.31398E+00,-0.32322E+00, & - &-0.33209E+00,-0.34063E+00,-0.34886E+00,-0.35683E+00,-0.36454E+00, & - &-0.37203E+00,-0.37931E+00,-0.38640E+00,-0.39330E+00,-0.40004E+00, & - &-0.40662E+00,-0.41306E+00,-0.41936E+00,-0.42552E+00,-0.43157E+00, & - &-0.43749E+00,-0.44330E+00,-0.44901E+00,-0.45461E+00,-0.46012E+00, & - &-0.46553E+00,-0.47085E+00,-0.47609E+00,-0.48124E+00,-0.48631E+00, & - &-0.49130E+00,-0.49622E+00,-0.50107E+00,-0.50584E+00,-0.51055E+00, & - &-0.51519E+00,-0.51977E+00,-0.52429E+00,-0.52875E+00,-0.53315E+00, & - &-0.53750E+00,-0.54179E+00,-0.54603E+00,-0.55022E+00,-0.55436E+00, & - &-0.55846E+00,-0.56250E+00,-0.56651E+00,-0.57047E+00,-0.57439E+00, & - &-0.57828E+00,-0.58212E+00,-0.58593E+00,-0.58970E+00,-0.59344E+00, & - &-0.59715E+00,-0.60083E+00,-0.60448E+00,-0.60810E+00,-0.61169E+00, & - &-0.61526E+00,-0.61880E+00,-0.62232E+00,-0.62582E+00,-0.62930E+00, & - &-0.63275E+00,-0.63619E+00,-0.63960E+00,-0.64300E+00,-0.64639E+00, & - &-0.64976E+00,-0.65311E+00,-0.65645E+00,-0.65977E+00,-0.66308E+00, & - &-0.66638E+00,-0.66966E+00,-0.67294E+00,-0.67620E+00,-0.67945E+00, & - &-0.68269E+00,-0.68592E+00,-0.68914E+00,-0.69236E+00,-0.69556E+00, & - &-0.69875E+00,-0.70193E+00,-0.70511E+00,-0.70827E+00,-0.71143E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.71457E+00,-0.71771E+00,-0.72084E+00,-0.72396E+00,-0.72707E+00, & - &-0.73017E+00,-0.73326E+00,-0.73635E+00,-0.73942E+00,-0.74248E+00, & - &-0.74554E+00,-0.74859E+00,-0.75162E+00,-0.75465E+00,-0.75766E+00, & - &-0.76067E+00,-0.76367E+00,-0.76665E+00,-0.76963E+00,-0.77260E+00, & - &-0.77555E+00,-0.77850E+00,-0.78143E+00,-0.78436E+00,-0.78727E+00, & - &-0.79018E+00,-0.79307E+00,-0.79596E+00,-0.79883E+00,-0.80169E+00, & - &-0.80455E+00,-0.80739E+00,-0.81022E+00,-0.81304E+00,-0.81586E+00, & - &-0.81866E+00,-0.82145E+00,-0.82423E+00,-0.82700E+00,-0.82976E+00, & - &-0.83252E+00,-0.83526E+00,-0.83799E+00,-0.84071E+00,-0.84343E+00, & - &-0.84613E+00,-0.84882E+00,-0.85151E+00,-0.85418E+00,-0.85685E+00, & - &-0.85950E+00,-0.86215E+00,-0.86479E+00,-0.86742E+00,-0.87004E+00, & - &-0.87265E+00,-0.87525E+00,-0.87785E+00,-0.88043E+00,-0.88301E+00, & - &-0.88558E+00,-0.88814E+00,-0.89069E+00,-0.89323E+00,-0.89577E+00, & - &-0.89829E+00,-0.90081E+00,-0.90332E+00,-0.90583E+00,-0.90832E+00, & - &-0.91081E+00,-0.91329E+00,-0.91576E+00,-0.91822E+00,-0.92068E+00, & - &-0.92313E+00,-0.92557E+00,-0.92800E+00,-0.93043E+00,-0.93284E+00, & - &-0.93526E+00,-0.93766E+00,-0.94006E+00,-0.94245E+00,-0.94483E+00, & - &-0.94721E+00,-0.94958E+00,-0.95194E+00,-0.95429E+00,-0.95664E+00, & - &-0.95898E+00,-0.96132E+00,-0.96365E+00,-0.96597E+00,-0.96828E+00, & - &-0.97059E+00,-0.97290E+00,-0.97519E+00,-0.97748E+00,-0.97976E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.98204E+00,-0.98431E+00,-0.98657E+00,-0.98883E+00,-0.99108E+00, & - &-0.99333E+00,-0.99557E+00,-0.99780E+00,-0.10000E+01,-0.10023E+01, & - &-0.10045E+01,-0.10067E+01,-0.10089E+01,-0.10111E+01,-0.10133E+01, & - &-0.10155E+01,-0.10176E+01,-0.10198E+01,-0.10220E+01,-0.10242E+01, & - &-0.10263E+01,-0.10285E+01,-0.10306E+01,-0.10328E+01,-0.10349E+01, & - &-0.10370E+01,-0.10392E+01,-0.10413E+01,-0.10434E+01,-0.10455E+01, & - &-0.10476E+01,-0.10497E+01,-0.10518E+01,-0.10539E+01,-0.10560E+01, & - &-0.10581E+01,-0.10601E+01,-0.10622E+01,-0.10643E+01,-0.10663E+01, & - &-0.10684E+01,-0.10704E+01,-0.10725E+01,-0.10745E+01,-0.10766E+01, & - &-0.10786E+01,-0.10806E+01,-0.10826E+01,-0.10847E+01,-0.10867E+01, & - &-0.10887E+01,-0.10907E+01,-0.10927E+01,-0.10947E+01,-0.10967E+01, & - &-0.10987E+01,-0.11006E+01,-0.11026E+01,-0.11046E+01,-0.11066E+01, & - &-0.11085E+01,-0.11105E+01,-0.11124E+01,-0.11144E+01,-0.11163E+01, & - &-0.11183E+01,-0.11202E+01,-0.11221E+01,-0.11241E+01,-0.11260E+01, & - &-0.11279E+01,-0.11298E+01,-0.11317E+01,-0.11337E+01,-0.11356E+01, & - &-0.11375E+01,-0.11394E+01,-0.11413E+01,-0.11431E+01,-0.11450E+01, & - &-0.11469E+01,-0.11488E+01,-0.11507E+01,-0.11525E+01,-0.11544E+01, & - &-0.11563E+01,-0.11581E+01,-0.11600E+01,-0.11618E+01,-0.11637E+01, & - &-0.11655E+01,-0.11673E+01,-0.11692E+01,-0.11710E+01,-0.11728E+01, & - &-0.11747E+01,-0.11765E+01,-0.11783E+01,-0.11801E+01,-0.11819E+01/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.11837E+01,-0.11855E+01,-0.11873E+01,-0.11891E+01,-0.11909E+01, & - &-0.11927E+01,-0.11945E+01,-0.11963E+01,-0.11981E+01,-0.11998E+01, & - &-0.12016E+01,-0.12034E+01,-0.12051E+01,-0.12069E+01,-0.12087E+01, & - &-0.12104E+01,-0.12122E+01,-0.12139E+01,-0.12157E+01,-0.12174E+01, & - &-0.12192E+01,-0.12209E+01,-0.12226E+01,-0.12244E+01,-0.12261E+01, & - &-0.12278E+01,-0.12295E+01,-0.12312E+01,-0.12330E+01,-0.12347E+01, & - &-0.12364E+01,-0.12381E+01,-0.12398E+01,-0.12415E+01,-0.12432E+01, & - &-0.12449E+01,-0.12466E+01,-0.12482E+01,-0.12499E+01,-0.12516E+01, & - &-0.12533E+01,-0.12550E+01,-0.12566E+01,-0.12583E+01,-0.12600E+01, & - &-0.12616E+01,-0.12633E+01,-0.12650E+01,-0.12666E+01,-0.12683E+01, & - &-0.12699E+01,-0.12716E+01,-0.12732E+01,-0.12748E+01,-0.12765E+01, & - &-0.12781E+01,-0.12798E+01,-0.12814E+01,-0.12830E+01,-0.12846E+01, & - &-0.12863E+01,-0.12879E+01,-0.12895E+01,-0.12911E+01,-0.12927E+01, & - &-0.12943E+01,-0.12959E+01,-0.12975E+01,-0.12991E+01,-0.13007E+01, & - &-0.13023E+01,-0.13039E+01,-0.13055E+01,-0.13071E+01,-0.13087E+01, & - &-0.13103E+01,-0.13119E+01,-0.13134E+01,-0.13150E+01,-0.13166E+01, & - &-0.13182E+01,-0.13197E+01,-0.13213E+01,-0.13229E+01,-0.13244E+01, & - &-0.13260E+01,-0.13275E+01,-0.13291E+01,-0.13306E+01,-0.13322E+01, & - &-0.13337E+01,-0.13353E+01,-0.13368E+01,-0.13384E+01,-0.13399E+01, & - &-0.13414E+01,-0.13430E+01,-0.13445E+01,-0.13460E+01,-0.13476E+01/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.13491E+01,-0.13506E+01,-0.13521E+01,-0.13536E+01,-0.13552E+01, & - &-0.13567E+01,-0.13582E+01,-0.13597E+01,-0.13612E+01,-0.13627E+01, & - &-0.13642E+01,-0.13657E+01,-0.13672E+01,-0.13687E+01,-0.13702E+01, & - &-0.13717E+01,-0.13732E+01,-0.13747E+01,-0.13761E+01,-0.13776E+01, & - &-0.13791E+01,-0.13806E+01,-0.13821E+01,-0.13835E+01,-0.13850E+01, & - &-0.13865E+01,-0.13879E+01,-0.13894E+01,-0.13909E+01,-0.13923E+01, & - &-0.13938E+01,-0.13953E+01,-0.13967E+01,-0.13982E+01,-0.13996E+01, & - &-0.14011E+01,-0.14025E+01,-0.14040E+01,-0.14054E+01,-0.14068E+01, & - &-0.14083E+01,-0.14097E+01,-0.14112E+01,-0.14126E+01,-0.14140E+01, & - &-0.14155E+01,-0.14169E+01,-0.14183E+01,-0.14197E+01,-0.14212E+01, & - &-0.14226E+01,-0.14240E+01,-0.14254E+01,-0.14268E+01,-0.14283E+01, & - &-0.14297E+01,-0.14311E+01,-0.14325E+01,-0.14339E+01,-0.14353E+01, & - &-0.14367E+01,-0.14381E+01,-0.14395E+01,-0.14409E+01,-0.14423E+01, & - &-0.14437E+01,-0.14451E+01,-0.14465E+01,-0.14479E+01,-0.14492E+01, & - &-0.14506E+01,-0.14520E+01,-0.14534E+01,-0.14548E+01,-0.14562E+01, & - &-0.14575E+01,-0.14589E+01,-0.14603E+01,-0.14616E+01,-0.14630E+01, & - &-0.14644E+01,-0.14658E+01,-0.14671E+01,-0.14685E+01,-0.14698E+01, & - &-0.14712E+01,-0.14726E+01,-0.14739E+01,-0.14753E+01,-0.14766E+01, & - &-0.14780E+01,-0.14793E+01,-0.14807E+01,-0.14820E+01,-0.14834E+01, & - &-0.14847E+01,-0.14861E+01,-0.14874E+01,-0.14887E+01,-0.14901E+01/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.14914E+01,-0.14927E+01,-0.14941E+01,-0.14954E+01,-0.14967E+01, & - &-0.14981E+01,-0.14994E+01,-0.15007E+01,-0.15020E+01,-0.15034E+01, & - &-0.15047E+01,-0.15060E+01,-0.15073E+01,-0.15086E+01,-0.15099E+01, & - &-0.15113E+01,-0.15126E+01,-0.15139E+01,-0.15152E+01,-0.15165E+01, & - &-0.15178E+01,-0.15191E+01,-0.15204E+01,-0.15217E+01,-0.15230E+01, & - &-0.15243E+01,-0.15256E+01,-0.15269E+01,-0.15282E+01,-0.15295E+01, & - &-0.15308E+01,-0.15321E+01,-0.15334E+01,-0.15346E+01,-0.15359E+01, & - &-0.15372E+01,-0.15385E+01,-0.15398E+01,-0.15411E+01,-0.15423E+01, & - &-0.15436E+01,-0.15449E+01,-0.15462E+01,-0.15474E+01,-0.15487E+01, & - &-0.15500E+01,-0.15512E+01,-0.15525E+01,-0.15538E+01,-0.15550E+01, & - &-0.15563E+01,-0.15576E+01,-0.15588E+01,-0.15601E+01,-0.15613E+01, & - &-0.15626E+01,-0.15639E+01,-0.15651E+01,-0.15664E+01,-0.15676E+01, & - &-0.15689E+01,-0.15701E+01,-0.15714E+01,-0.15726E+01,-0.15739E+01, & - &-0.15751E+01,-0.15764E+01,-0.15776E+01,-0.15788E+01,-0.15801E+01, & - &-0.15813E+01,-0.15825E+01,-0.15838E+01,-0.15850E+01,-0.15862E+01, & - &-0.15875E+01,-0.15887E+01,-0.15899E+01,-0.15912E+01,-0.15924E+01, & - &-0.15936E+01,-0.15948E+01,-0.15961E+01,-0.15973E+01,-0.15985E+01, & - &-0.15997E+01,-0.16010E+01,-0.16022E+01,-0.16034E+01,-0.16046E+01, & - &-0.16058E+01,-0.16070E+01,-0.16082E+01,-0.16094E+01,-0.16107E+01, & - &-0.16119E+01,-0.16131E+01,-0.16143E+01,-0.16155E+01,-0.16167E+01/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.16296E+01,-0.16415E+01,-0.16532E+01,-0.16649E+01,-0.16764E+01, & - &-0.16878E+01,-0.16992E+01,-0.17104E+01,-0.17216E+01,-0.17327E+01, & - &-0.17437E+01,-0.17546E+01,-0.17654E+01,-0.17761E+01,-0.17868E+01, & - &-0.17974E+01,-0.18079E+01,-0.18184E+01,-0.18287E+01,-0.18391E+01, & - &-0.18493E+01,-0.18595E+01,-0.18696E+01,-0.18796E+01,-0.18896E+01, & - &-0.18996E+01,-0.19094E+01,-0.19193E+01,-0.19290E+01,-0.19387E+01, & - &-0.19484E+01,-0.19580E+01,-0.19675E+01,-0.19770E+01,-0.19865E+01, & - &-0.19959E+01,-0.20053E+01,-0.20146E+01,-0.20238E+01,-0.20331E+01, & - &-0.20423E+01,-0.20514E+01,-0.20605E+01,-0.20695E+01,-0.20786E+01, & - &-0.20875E+01,-0.20965E+01,-0.21054E+01,-0.21143E+01,-0.21231E+01, & - &-0.21319E+01,-0.21407E+01,-0.21494E+01,-0.21581E+01,-0.21667E+01, & - &-0.21754E+01,-0.21840E+01,-0.21925E+01,-0.22011E+01,-0.22096E+01, & - &-0.22180E+01,-0.22265E+01,-0.22349E+01,-0.22433E+01,-0.22517E+01, & - &-0.22600E+01,-0.22683E+01,-0.22766E+01,-0.22848E+01,-0.22931E+01, & - &-0.23013E+01,-0.23095E+01,-0.23176E+01,-0.23257E+01,-0.23338E+01, & - &-0.23419E+01,-0.23500E+01,-0.23580E+01,-0.23661E+01,-0.23741E+01, & - &-0.23820E+01,-0.23900E+01,-0.23979E+01,-0.24058E+01,-0.24137E+01, & - &-0.24216E+01,-0.24294E+01,-0.24373E+01,-0.24451E+01,-0.24529E+01, & - &-0.24607E+01,-0.24684E+01,-0.24762E+01,-0.24839E+01,-0.24916E+01, & - &-0.24993E+01,-0.25070E+01,-0.25146E+01,-0.25223E+01,-0.25299E+01/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.25375E+01,-0.25451E+01,-0.25526E+01,-0.25602E+01,-0.25677E+01, & - &-0.25753E+01,-0.25828E+01,-0.25903E+01,-0.25978E+01,-0.26052E+01, & - &-0.26127E+01,-0.26201E+01,-0.26276E+01,-0.26350E+01,-0.26424E+01, & - &-0.26498E+01,-0.26571E+01,-0.26645E+01,-0.26718E+01,-0.26792E+01, & - &-0.26865E+01,-0.26938E+01,-0.27011E+01,-0.27084E+01,-0.27157E+01, & - &-0.27229E+01,-0.27302E+01,-0.27374E+01,-0.27446E+01,-0.27519E+01, & - &-0.27591E+01,-0.27663E+01,-0.27734E+01,-0.27806E+01,-0.27878E+01, & - &-0.27949E+01,-0.28021E+01,-0.28092E+01,-0.28163E+01,-0.28234E+01, & - &-0.28305E+01 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.50630E-01,-0.10830E+00,-0.13610E+00,-0.15521E+00,-0.16983E+00, & - &-0.18165E+00,-0.19155E+00,-0.20002E+00,-0.20740E+00,-0.21392E+00, & - &-0.21974E+00,-0.22498E+00,-0.22973E+00,-0.23406E+00,-0.23803E+00, & - &-0.24168E+00,-0.24506E+00,-0.24819E+00,-0.25111E+00,-0.25383E+00, & - &-0.25638E+00,-0.25876E+00,-0.26101E+00,-0.26312E+00,-0.26512E+00, & - &-0.26700E+00,-0.26879E+00,-0.27049E+00,-0.27210E+00,-0.27363E+00, & - &-0.27509E+00,-0.27649E+00,-0.27782E+00,-0.27910E+00,-0.28032E+00, & - &-0.28149E+00,-0.28262E+00,-0.28371E+00,-0.28475E+00,-0.28576E+00, & - &-0.28673E+00,-0.28767E+00,-0.28858E+00,-0.28946E+00,-0.29032E+00, & - &-0.29115E+00,-0.29195E+00,-0.29273E+00,-0.29350E+00,-0.29424E+00, & - &-0.29496E+00,-0.29566E+00,-0.29635E+00,-0.29702E+00,-0.29767E+00, & - &-0.29831E+00,-0.29894E+00,-0.29955E+00,-0.30014E+00,-0.30073E+00, & - &-0.30130E+00,-0.30185E+00,-0.30240E+00,-0.30293E+00,-0.30345E+00, & - &-0.30396E+00,-0.30445E+00,-0.30494E+00,-0.30541E+00,-0.30587E+00, & - &-0.30632E+00,-0.30675E+00,-0.30718E+00,-0.30759E+00,-0.30799E+00, & - &-0.30838E+00,-0.30876E+00,-0.30912E+00,-0.30948E+00,-0.30982E+00, & - &-0.31015E+00,-0.31046E+00,-0.31077E+00,-0.31106E+00,-0.31134E+00, & - &-0.31161E+00,-0.31187E+00,-0.31212E+00,-0.31235E+00,-0.31257E+00, & - &-0.31279E+00,-0.31299E+00,-0.31318E+00,-0.31336E+00,-0.31352E+00, & - &-0.31368E+00,-0.31383E+00,-0.31397E+00,-0.31410E+00,-0.31422E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.31433E+00,-0.31443E+00,-0.31452E+00,-0.31461E+00,-0.31469E+00, & - &-0.31475E+00,-0.31482E+00,-0.31487E+00,-0.31492E+00,-0.31496E+00, & - &-0.31499E+00,-0.31502E+00,-0.31505E+00,-0.31506E+00,-0.31508E+00, & - &-0.31508E+00,-0.31509E+00,-0.31509E+00,-0.31508E+00,-0.31507E+00, & - &-0.31506E+00,-0.31504E+00,-0.31502E+00,-0.31500E+00,-0.31497E+00, & - &-0.31494E+00,-0.31491E+00,-0.31487E+00,-0.31483E+00,-0.31479E+00, & - &-0.31475E+00,-0.31471E+00,-0.31466E+00,-0.31461E+00,-0.31456E+00, & - &-0.31451E+00,-0.31446E+00,-0.31441E+00,-0.31435E+00,-0.31430E+00, & - &-0.31424E+00,-0.31418E+00,-0.31412E+00,-0.31406E+00,-0.31400E+00, & - &-0.31393E+00,-0.31387E+00,-0.31381E+00,-0.31374E+00,-0.31367E+00, & - &-0.31361E+00,-0.31354E+00,-0.31347E+00,-0.31340E+00,-0.31334E+00, & - &-0.31327E+00,-0.31320E+00,-0.31313E+00,-0.31305E+00,-0.31298E+00, & - &-0.31291E+00,-0.31284E+00,-0.31277E+00,-0.31270E+00,-0.31262E+00, & - &-0.31255E+00,-0.31248E+00,-0.31240E+00,-0.31233E+00,-0.31226E+00, & - &-0.31218E+00,-0.31211E+00,-0.31204E+00,-0.31196E+00,-0.31189E+00, & - &-0.31182E+00,-0.31174E+00,-0.31167E+00,-0.31159E+00,-0.31152E+00, & - &-0.31145E+00,-0.31137E+00,-0.31130E+00,-0.31123E+00,-0.31115E+00, & - &-0.31108E+00,-0.31101E+00,-0.31094E+00,-0.31086E+00,-0.31079E+00, & - &-0.31072E+00,-0.31065E+00,-0.31058E+00,-0.31050E+00,-0.31043E+00, & - &-0.31036E+00,-0.31029E+00,-0.31022E+00,-0.31015E+00,-0.31008E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.31001E+00,-0.30994E+00,-0.30988E+00,-0.30981E+00,-0.30974E+00, & - &-0.30967E+00,-0.30960E+00,-0.30954E+00,-0.30947E+00,-0.30941E+00, & - &-0.30934E+00,-0.30928E+00,-0.30921E+00,-0.30915E+00,-0.30908E+00, & - &-0.30902E+00,-0.30896E+00,-0.30889E+00,-0.30883E+00,-0.30877E+00, & - &-0.30871E+00,-0.30865E+00,-0.30859E+00,-0.30853E+00,-0.30847E+00, & - &-0.30841E+00,-0.30835E+00,-0.30830E+00,-0.30824E+00,-0.30818E+00, & - &-0.30813E+00,-0.30807E+00,-0.30802E+00,-0.30796E+00,-0.30791E+00, & - &-0.30786E+00,-0.30780E+00,-0.30775E+00,-0.30770E+00,-0.30765E+00, & - &-0.30760E+00,-0.30755E+00,-0.30750E+00,-0.30745E+00,-0.30740E+00, & - &-0.30736E+00,-0.30731E+00,-0.30726E+00,-0.30722E+00,-0.30717E+00, & - &-0.30713E+00,-0.30708E+00,-0.30704E+00,-0.30700E+00,-0.30696E+00, & - &-0.30692E+00,-0.30687E+00,-0.30683E+00,-0.30680E+00,-0.30676E+00, & - &-0.30672E+00,-0.30668E+00,-0.30664E+00,-0.30661E+00,-0.30657E+00, & - &-0.30654E+00,-0.30650E+00,-0.30647E+00,-0.30644E+00,-0.30640E+00, & - &-0.30637E+00,-0.30634E+00,-0.30631E+00,-0.30628E+00,-0.30625E+00, & - &-0.30622E+00,-0.30620E+00,-0.30617E+00,-0.30614E+00,-0.30612E+00, & - &-0.30609E+00,-0.30607E+00,-0.30604E+00,-0.30602E+00,-0.30600E+00, & - &-0.30598E+00,-0.30595E+00,-0.30593E+00,-0.30591E+00,-0.30590E+00, & - &-0.30588E+00,-0.30586E+00,-0.30584E+00,-0.30583E+00,-0.30581E+00, & - &-0.30579E+00,-0.30578E+00,-0.30577E+00,-0.30575E+00,-0.30574E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.30573E+00,-0.30572E+00,-0.30571E+00,-0.30570E+00,-0.30569E+00, & - &-0.30568E+00,-0.30567E+00,-0.30567E+00,-0.30566E+00,-0.30565E+00, & - &-0.30565E+00,-0.30564E+00,-0.30564E+00,-0.30564E+00,-0.30563E+00, & - &-0.30563E+00,-0.30563E+00,-0.30563E+00,-0.30563E+00,-0.30563E+00, & - &-0.30564E+00,-0.30564E+00,-0.30564E+00,-0.30564E+00,-0.30565E+00, & - &-0.30565E+00,-0.30566E+00,-0.30567E+00,-0.30567E+00,-0.30568E+00, & - &-0.30569E+00,-0.30570E+00,-0.30571E+00,-0.30572E+00,-0.30573E+00, & - &-0.30574E+00,-0.30575E+00,-0.30577E+00,-0.30578E+00,-0.30580E+00, & - &-0.30581E+00,-0.30583E+00,-0.30584E+00,-0.30586E+00,-0.30588E+00, & - &-0.30590E+00,-0.30592E+00,-0.30594E+00,-0.30596E+00,-0.30598E+00, & - &-0.30600E+00,-0.30602E+00,-0.30605E+00,-0.30607E+00,-0.30609E+00, & - &-0.30612E+00,-0.30614E+00,-0.30617E+00,-0.30620E+00,-0.30623E+00, & - &-0.30625E+00,-0.30628E+00,-0.30631E+00,-0.30634E+00,-0.30637E+00, & - &-0.30641E+00,-0.30644E+00,-0.30647E+00,-0.30650E+00,-0.30654E+00, & - &-0.30657E+00,-0.30661E+00,-0.30665E+00,-0.30668E+00,-0.30672E+00, & - &-0.30676E+00,-0.30680E+00,-0.30684E+00,-0.30688E+00,-0.30692E+00, & - &-0.30696E+00,-0.30700E+00,-0.30704E+00,-0.30709E+00,-0.30713E+00, & - &-0.30717E+00,-0.30722E+00,-0.30726E+00,-0.30731E+00,-0.30736E+00, & - &-0.30741E+00,-0.30745E+00,-0.30750E+00,-0.30755E+00,-0.30760E+00, & - &-0.30765E+00,-0.30770E+00,-0.30776E+00,-0.30781E+00,-0.30786E+00/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.30792E+00,-0.30797E+00,-0.30803E+00,-0.30808E+00,-0.30814E+00, & - &-0.30820E+00,-0.30825E+00,-0.30831E+00,-0.30837E+00,-0.30843E+00, & - &-0.30849E+00,-0.30855E+00,-0.30861E+00,-0.30867E+00,-0.30874E+00, & - &-0.30880E+00,-0.30886E+00,-0.30893E+00,-0.30899E+00,-0.30906E+00, & - &-0.30912E+00,-0.30919E+00,-0.30926E+00,-0.30932E+00,-0.30939E+00, & - &-0.30946E+00,-0.30953E+00,-0.30960E+00,-0.30967E+00,-0.30974E+00, & - &-0.30982E+00,-0.30989E+00,-0.30996E+00,-0.31004E+00,-0.31011E+00, & - &-0.31019E+00,-0.31026E+00,-0.31034E+00,-0.31041E+00,-0.31049E+00, & - &-0.31057E+00,-0.31065E+00,-0.31073E+00,-0.31081E+00,-0.31089E+00, & - &-0.31097E+00,-0.31105E+00,-0.31113E+00,-0.31121E+00,-0.31130E+00, & - &-0.31138E+00,-0.31146E+00,-0.31155E+00,-0.31163E+00,-0.31172E+00, & - &-0.31181E+00,-0.31189E+00,-0.31198E+00,-0.31207E+00,-0.31216E+00, & - &-0.31225E+00,-0.31234E+00,-0.31243E+00,-0.31252E+00,-0.31261E+00, & - &-0.31270E+00,-0.31279E+00,-0.31289E+00,-0.31298E+00,-0.31308E+00, & - &-0.31317E+00,-0.31327E+00,-0.31336E+00,-0.31346E+00,-0.31356E+00, & - &-0.31365E+00,-0.31375E+00,-0.31385E+00,-0.31395E+00,-0.31405E+00, & - &-0.31415E+00,-0.31425E+00,-0.31435E+00,-0.31445E+00,-0.31456E+00, & - &-0.31466E+00,-0.31476E+00,-0.31487E+00,-0.31497E+00,-0.31508E+00, & - &-0.31518E+00,-0.31529E+00,-0.31539E+00,-0.31550E+00,-0.31561E+00, & - &-0.31572E+00,-0.31583E+00,-0.31594E+00,-0.31605E+00,-0.31616E+00/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.31627E+00,-0.31638E+00,-0.31649E+00,-0.31660E+00,-0.31672E+00, & - &-0.31683E+00,-0.31694E+00,-0.31706E+00,-0.31717E+00,-0.31729E+00, & - &-0.31740E+00,-0.31752E+00,-0.31764E+00,-0.31776E+00,-0.31787E+00, & - &-0.31799E+00,-0.31811E+00,-0.31823E+00,-0.31835E+00,-0.31847E+00, & - &-0.31859E+00,-0.31871E+00,-0.31884E+00,-0.31896E+00,-0.31908E+00, & - &-0.31921E+00,-0.31933E+00,-0.31945E+00,-0.31958E+00,-0.31971E+00, & - &-0.31983E+00,-0.31996E+00,-0.32009E+00,-0.32021E+00,-0.32034E+00, & - &-0.32047E+00,-0.32060E+00,-0.32073E+00,-0.32086E+00,-0.32099E+00, & - &-0.32112E+00,-0.32125E+00,-0.32138E+00,-0.32151E+00,-0.32165E+00, & - &-0.32178E+00,-0.32191E+00,-0.32205E+00,-0.32218E+00,-0.32232E+00, & - &-0.32246E+00,-0.32259E+00,-0.32273E+00,-0.32287E+00,-0.32300E+00, & - &-0.32314E+00,-0.32328E+00,-0.32342E+00,-0.32356E+00,-0.32370E+00, & - &-0.32384E+00,-0.32398E+00,-0.32412E+00,-0.32426E+00,-0.32440E+00, & - &-0.32455E+00,-0.32469E+00,-0.32483E+00,-0.32498E+00,-0.32512E+00, & - &-0.32527E+00,-0.32541E+00,-0.32556E+00,-0.32571E+00,-0.32585E+00, & - &-0.32600E+00,-0.32615E+00,-0.32630E+00,-0.32644E+00,-0.32659E+00, & - &-0.32674E+00,-0.32689E+00,-0.32704E+00,-0.32719E+00,-0.32735E+00, & - &-0.32750E+00,-0.32765E+00,-0.32780E+00,-0.32796E+00,-0.32811E+00, & - &-0.32826E+00,-0.32842E+00,-0.32857E+00,-0.32873E+00,-0.32888E+00, & - &-0.32904E+00,-0.32920E+00,-0.32935E+00,-0.32951E+00,-0.32967E+00/ - - DATA (BNC06M(I),I=601,700)/ & - &-0.33140E+00,-0.33305E+00,-0.33474E+00,-0.33647E+00,-0.33824E+00, & - &-0.34005E+00,-0.34190E+00,-0.34379E+00,-0.34571E+00,-0.34767E+00, & - &-0.34966E+00,-0.35169E+00,-0.35376E+00,-0.35586E+00,-0.35799E+00, & - &-0.36016E+00,-0.36235E+00,-0.36458E+00,-0.36684E+00,-0.36913E+00, & - &-0.37146E+00,-0.37381E+00,-0.37619E+00,-0.37859E+00,-0.38103E+00, & - &-0.38349E+00,-0.38598E+00,-0.38850E+00,-0.39105E+00,-0.39361E+00, & - &-0.39621E+00,-0.39883E+00,-0.40147E+00,-0.40414E+00,-0.40684E+00, & - &-0.40955E+00,-0.41229E+00,-0.41506E+00,-0.41784E+00,-0.42065E+00, & - &-0.42348E+00,-0.42633E+00,-0.42920E+00,-0.43209E+00,-0.43500E+00, & - &-0.43793E+00,-0.44089E+00,-0.44386E+00,-0.44685E+00,-0.44986E+00, & - &-0.45289E+00,-0.45594E+00,-0.45901E+00,-0.46209E+00,-0.46519E+00, & - &-0.46831E+00,-0.47145E+00,-0.47460E+00,-0.47777E+00,-0.48096E+00, & - &-0.48416E+00,-0.48738E+00,-0.49062E+00,-0.49387E+00,-0.49713E+00, & - &-0.50042E+00,-0.50371E+00,-0.50702E+00,-0.51035E+00,-0.51369E+00, & - &-0.51705E+00,-0.52042E+00,-0.52380E+00,-0.52720E+00,-0.53061E+00, & - &-0.53403E+00,-0.53747E+00,-0.54092E+00,-0.54438E+00,-0.54786E+00, & - &-0.55135E+00,-0.55485E+00,-0.55836E+00,-0.56189E+00,-0.56543E+00, & - &-0.56898E+00,-0.57254E+00,-0.57611E+00,-0.57970E+00,-0.58329E+00, & - &-0.58690E+00,-0.59052E+00,-0.59415E+00,-0.59779E+00,-0.60144E+00, & - &-0.60510E+00,-0.60877E+00,-0.61245E+00,-0.61614E+00,-0.61985E+00/ - - DATA (BNC06M(I),I=701,741)/ & - &-0.62356E+00,-0.62728E+00,-0.63101E+00,-0.63475E+00,-0.63851E+00, & - &-0.64227E+00,-0.64604E+00,-0.64982E+00,-0.65360E+00,-0.65740E+00, & - &-0.66121E+00,-0.66502E+00,-0.66885E+00,-0.67268E+00,-0.67652E+00, & - &-0.68037E+00,-0.68423E+00,-0.68809E+00,-0.69197E+00,-0.69585E+00, & - &-0.69974E+00,-0.70364E+00,-0.70755E+00,-0.71146E+00,-0.71539E+00, & - &-0.71932E+00,-0.72325E+00,-0.72720E+00,-0.73115E+00,-0.73511E+00, & - &-0.73908E+00,-0.74305E+00,-0.74703E+00,-0.75102E+00,-0.75502E+00, & - &-0.75902E+00,-0.76303E+00,-0.76705E+00,-0.77107E+00,-0.77510E+00, & - &-0.77914E+00 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.10274E+00,-0.22462E+00,-0.28619E+00,-0.33008E+00,-0.36478E+00, & - &-0.39372E+00,-0.41868E+00,-0.44069E+00,-0.46044E+00,-0.47838E+00, & - &-0.49484E+00,-0.51007E+00,-0.52427E+00,-0.53757E+00,-0.55009E+00, & - &-0.56194E+00,-0.57319E+00,-0.58390E+00,-0.59414E+00,-0.60394E+00, & - &-0.61335E+00,-0.62240E+00,-0.63113E+00,-0.63956E+00,-0.64771E+00, & - &-0.65561E+00,-0.66327E+00,-0.67070E+00,-0.67794E+00,-0.68498E+00, & - &-0.69184E+00,-0.69853E+00,-0.70506E+00,-0.71145E+00,-0.71769E+00, & - &-0.72379E+00,-0.72977E+00,-0.73563E+00,-0.74138E+00,-0.74701E+00, & - &-0.75254E+00,-0.75798E+00,-0.76331E+00,-0.76856E+00,-0.77372E+00, & - &-0.77880E+00,-0.78380E+00,-0.78872E+00,-0.79357E+00,-0.79835E+00, & - &-0.80306E+00,-0.80771E+00,-0.81229E+00,-0.81682E+00,-0.82128E+00, & - &-0.82569E+00,-0.83005E+00,-0.83435E+00,-0.83860E+00,-0.84281E+00, & - &-0.84697E+00,-0.85108E+00,-0.85515E+00,-0.85917E+00,-0.86316E+00, & - &-0.86710E+00,-0.87101E+00,-0.87488E+00,-0.87871E+00,-0.88251E+00, & - &-0.88628E+00,-0.89001E+00,-0.89371E+00,-0.89738E+00,-0.90102E+00, & - &-0.90463E+00,-0.90821E+00,-0.91176E+00,-0.91529E+00,-0.91879E+00, & - &-0.92227E+00,-0.92572E+00,-0.92915E+00,-0.93256E+00,-0.93594E+00, & - &-0.93930E+00,-0.94264E+00,-0.94596E+00,-0.94926E+00,-0.95253E+00, & - &-0.95579E+00,-0.95903E+00,-0.96225E+00,-0.96546E+00,-0.96864E+00, & - &-0.97181E+00,-0.97496E+00,-0.97810E+00,-0.98121E+00,-0.98432E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.98740E+00,-0.99047E+00,-0.99353E+00,-0.99657E+00,-0.99960E+00, & - &-0.10026E+01,-0.10056E+01,-0.10086E+01,-0.10116E+01,-0.10145E+01, & - &-0.10175E+01,-0.10204E+01,-0.10233E+01,-0.10262E+01,-0.10291E+01, & - &-0.10320E+01,-0.10349E+01,-0.10377E+01,-0.10406E+01,-0.10434E+01, & - &-0.10462E+01,-0.10490E+01,-0.10518E+01,-0.10546E+01,-0.10574E+01, & - &-0.10601E+01,-0.10629E+01,-0.10656E+01,-0.10684E+01,-0.10711E+01, & - &-0.10738E+01,-0.10765E+01,-0.10792E+01,-0.10819E+01,-0.10846E+01, & - &-0.10872E+01,-0.10899E+01,-0.10926E+01,-0.10952E+01,-0.10978E+01, & - &-0.11004E+01,-0.11031E+01,-0.11057E+01,-0.11083E+01,-0.11108E+01, & - &-0.11134E+01,-0.11160E+01,-0.11186E+01,-0.11211E+01,-0.11237E+01, & - &-0.11262E+01,-0.11287E+01,-0.11313E+01,-0.11338E+01,-0.11363E+01, & - &-0.11388E+01,-0.11413E+01,-0.11438E+01,-0.11463E+01,-0.11487E+01, & - &-0.11512E+01,-0.11537E+01,-0.11561E+01,-0.11586E+01,-0.11610E+01, & - &-0.11634E+01,-0.11659E+01,-0.11683E+01,-0.11707E+01,-0.11731E+01, & - &-0.11755E+01,-0.11779E+01,-0.11803E+01,-0.11827E+01,-0.11851E+01, & - &-0.11874E+01,-0.11898E+01,-0.11922E+01,-0.11945E+01,-0.11969E+01, & - &-0.11992E+01,-0.12016E+01,-0.12039E+01,-0.12062E+01,-0.12086E+01, & - &-0.12109E+01,-0.12132E+01,-0.12155E+01,-0.12178E+01,-0.12201E+01, & - &-0.12224E+01,-0.12247E+01,-0.12270E+01,-0.12293E+01,-0.12315E+01, & - &-0.12338E+01,-0.12361E+01,-0.12383E+01,-0.12406E+01,-0.12428E+01/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.12451E+01,-0.12473E+01,-0.12496E+01,-0.12518E+01,-0.12540E+01, & - &-0.12563E+01,-0.12585E+01,-0.12607E+01,-0.12629E+01,-0.12651E+01, & - &-0.12673E+01,-0.12695E+01,-0.12717E+01,-0.12739E+01,-0.12761E+01, & - &-0.12783E+01,-0.12805E+01,-0.12827E+01,-0.12848E+01,-0.12870E+01, & - &-0.12892E+01,-0.12913E+01,-0.12935E+01,-0.12956E+01,-0.12978E+01, & - &-0.12999E+01,-0.13021E+01,-0.13042E+01,-0.13064E+01,-0.13085E+01, & - &-0.13106E+01,-0.13128E+01,-0.13149E+01,-0.13170E+01,-0.13191E+01, & - &-0.13212E+01,-0.13233E+01,-0.13254E+01,-0.13275E+01,-0.13296E+01, & - &-0.13317E+01,-0.13338E+01,-0.13359E+01,-0.13380E+01,-0.13401E+01, & - &-0.13422E+01,-0.13443E+01,-0.13463E+01,-0.13484E+01,-0.13505E+01, & - &-0.13526E+01,-0.13546E+01,-0.13567E+01,-0.13587E+01,-0.13608E+01, & - &-0.13628E+01,-0.13649E+01,-0.13669E+01,-0.13690E+01,-0.13710E+01, & - &-0.13731E+01,-0.13751E+01,-0.13771E+01,-0.13792E+01,-0.13812E+01, & - &-0.13832E+01,-0.13852E+01,-0.13873E+01,-0.13893E+01,-0.13913E+01, & - &-0.13933E+01,-0.13953E+01,-0.13973E+01,-0.13993E+01,-0.14013E+01, & - &-0.14033E+01,-0.14053E+01,-0.14073E+01,-0.14093E+01,-0.14113E+01, & - &-0.14133E+01,-0.14153E+01,-0.14173E+01,-0.14192E+01,-0.14212E+01, & - &-0.14232E+01,-0.14252E+01,-0.14271E+01,-0.14291E+01,-0.14311E+01, & - &-0.14330E+01,-0.14350E+01,-0.14370E+01,-0.14389E+01,-0.14409E+01, & - &-0.14428E+01,-0.14448E+01,-0.14467E+01,-0.14487E+01,-0.14506E+01/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.14526E+01,-0.14545E+01,-0.14564E+01,-0.14584E+01,-0.14603E+01, & - &-0.14622E+01,-0.14642E+01,-0.14661E+01,-0.14680E+01,-0.14700E+01, & - &-0.14719E+01,-0.14738E+01,-0.14757E+01,-0.14776E+01,-0.14795E+01, & - &-0.14815E+01,-0.14834E+01,-0.14853E+01,-0.14872E+01,-0.14891E+01, & - &-0.14910E+01,-0.14929E+01,-0.14948E+01,-0.14967E+01,-0.14986E+01, & - &-0.15005E+01,-0.15024E+01,-0.15043E+01,-0.15062E+01,-0.15080E+01, & - &-0.15099E+01,-0.15118E+01,-0.15137E+01,-0.15156E+01,-0.15174E+01, & - &-0.15193E+01,-0.15212E+01,-0.15231E+01,-0.15249E+01,-0.15268E+01, & - &-0.15287E+01,-0.15305E+01,-0.15324E+01,-0.15343E+01,-0.15361E+01, & - &-0.15380E+01,-0.15399E+01,-0.15417E+01,-0.15436E+01,-0.15454E+01, & - &-0.15473E+01,-0.15491E+01,-0.15510E+01,-0.15528E+01,-0.15547E+01, & - &-0.15565E+01,-0.15583E+01,-0.15602E+01,-0.15620E+01,-0.15639E+01, & - &-0.15657E+01,-0.15675E+01,-0.15694E+01,-0.15712E+01,-0.15730E+01, & - &-0.15749E+01,-0.15767E+01,-0.15785E+01,-0.15803E+01,-0.15822E+01, & - &-0.15840E+01,-0.15858E+01,-0.15876E+01,-0.15894E+01,-0.15913E+01, & - &-0.15931E+01,-0.15949E+01,-0.15967E+01,-0.15985E+01,-0.16003E+01, & - &-0.16021E+01,-0.16039E+01,-0.16057E+01,-0.16075E+01,-0.16093E+01, & - &-0.16111E+01,-0.16129E+01,-0.16147E+01,-0.16165E+01,-0.16183E+01, & - &-0.16201E+01,-0.16219E+01,-0.16237E+01,-0.16255E+01,-0.16273E+01, & - &-0.16291E+01,-0.16309E+01,-0.16326E+01,-0.16344E+01,-0.16362E+01/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.16380E+01,-0.16398E+01,-0.16415E+01,-0.16433E+01,-0.16451E+01, & - &-0.16469E+01,-0.16486E+01,-0.16504E+01,-0.16522E+01,-0.16540E+01, & - &-0.16557E+01,-0.16575E+01,-0.16593E+01,-0.16610E+01,-0.16628E+01, & - &-0.16646E+01,-0.16663E+01,-0.16681E+01,-0.16698E+01,-0.16716E+01, & - &-0.16734E+01,-0.16751E+01,-0.16769E+01,-0.16786E+01,-0.16804E+01, & - &-0.16821E+01,-0.16839E+01,-0.16856E+01,-0.16874E+01,-0.16891E+01, & - &-0.16909E+01,-0.16926E+01,-0.16944E+01,-0.16961E+01,-0.16978E+01, & - &-0.16996E+01,-0.17013E+01,-0.17031E+01,-0.17048E+01,-0.17065E+01, & - &-0.17083E+01,-0.17100E+01,-0.17117E+01,-0.17135E+01,-0.17152E+01, & - &-0.17169E+01,-0.17187E+01,-0.17204E+01,-0.17221E+01,-0.17238E+01, & - &-0.17256E+01,-0.17273E+01,-0.17290E+01,-0.17307E+01,-0.17325E+01, & - &-0.17342E+01,-0.17359E+01,-0.17376E+01,-0.17393E+01,-0.17411E+01, & - &-0.17428E+01,-0.17445E+01,-0.17462E+01,-0.17479E+01,-0.17496E+01, & - &-0.17513E+01,-0.17530E+01,-0.17547E+01,-0.17565E+01,-0.17582E+01, & - &-0.17599E+01,-0.17616E+01,-0.17633E+01,-0.17650E+01,-0.17667E+01, & - &-0.17684E+01,-0.17701E+01,-0.17718E+01,-0.17735E+01,-0.17752E+01, & - &-0.17769E+01,-0.17786E+01,-0.17803E+01,-0.17820E+01,-0.17836E+01, & - &-0.17853E+01,-0.17870E+01,-0.17887E+01,-0.17904E+01,-0.17921E+01, & - &-0.17938E+01,-0.17955E+01,-0.17972E+01,-0.17988E+01,-0.18005E+01, & - &-0.18022E+01,-0.18039E+01,-0.18056E+01,-0.18073E+01,-0.18089E+01/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.18106E+01,-0.18123E+01,-0.18140E+01,-0.18157E+01,-0.18173E+01, & - &-0.18190E+01,-0.18207E+01,-0.18223E+01,-0.18240E+01,-0.18257E+01, & - &-0.18274E+01,-0.18290E+01,-0.18307E+01,-0.18324E+01,-0.18340E+01, & - &-0.18357E+01,-0.18374E+01,-0.18390E+01,-0.18407E+01,-0.18424E+01, & - &-0.18440E+01,-0.18457E+01,-0.18474E+01,-0.18490E+01,-0.18507E+01, & - &-0.18523E+01,-0.18540E+01,-0.18556E+01,-0.18573E+01,-0.18590E+01, & - &-0.18606E+01,-0.18623E+01,-0.18639E+01,-0.18656E+01,-0.18672E+01, & - &-0.18689E+01,-0.18705E+01,-0.18722E+01,-0.18738E+01,-0.18755E+01, & - &-0.18771E+01,-0.18788E+01,-0.18804E+01,-0.18821E+01,-0.18837E+01, & - &-0.18854E+01,-0.18870E+01,-0.18886E+01,-0.18903E+01,-0.18919E+01, & - &-0.18936E+01,-0.18952E+01,-0.18968E+01,-0.18985E+01,-0.19001E+01, & - &-0.19018E+01,-0.19034E+01,-0.19050E+01,-0.19067E+01,-0.19083E+01, & - &-0.19099E+01,-0.19116E+01,-0.19132E+01,-0.19148E+01,-0.19165E+01, & - &-0.19181E+01,-0.19197E+01,-0.19214E+01,-0.19230E+01,-0.19246E+01, & - &-0.19262E+01,-0.19279E+01,-0.19295E+01,-0.19311E+01,-0.19327E+01, & - &-0.19344E+01,-0.19360E+01,-0.19376E+01,-0.19392E+01,-0.19408E+01, & - &-0.19425E+01,-0.19441E+01,-0.19457E+01,-0.19473E+01,-0.19489E+01, & - &-0.19506E+01,-0.19522E+01,-0.19538E+01,-0.19554E+01,-0.19570E+01, & - &-0.19586E+01,-0.19602E+01,-0.19619E+01,-0.19635E+01,-0.19651E+01, & - &-0.19667E+01,-0.19683E+01,-0.19699E+01,-0.19715E+01,-0.19731E+01/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.19905E+01,-0.20065E+01,-0.20224E+01,-0.20383E+01,-0.20541E+01, & - &-0.20698E+01,-0.20856E+01,-0.21012E+01,-0.21168E+01,-0.21324E+01, & - &-0.21479E+01,-0.21634E+01,-0.21788E+01,-0.21942E+01,-0.22096E+01, & - &-0.22249E+01,-0.22401E+01,-0.22554E+01,-0.22705E+01,-0.22857E+01, & - &-0.23008E+01,-0.23159E+01,-0.23309E+01,-0.23459E+01,-0.23609E+01, & - &-0.23758E+01,-0.23907E+01,-0.24056E+01,-0.24204E+01,-0.24352E+01, & - &-0.24500E+01,-0.24647E+01,-0.24795E+01,-0.24941E+01,-0.25088E+01, & - &-0.25234E+01,-0.25380E+01,-0.25526E+01,-0.25672E+01,-0.25817E+01, & - &-0.25962E+01,-0.26107E+01,-0.26251E+01,-0.26395E+01,-0.26539E+01, & - &-0.26683E+01,-0.26827E+01,-0.26970E+01,-0.27113E+01,-0.27256E+01, & - &-0.27399E+01,-0.27541E+01,-0.27683E+01,-0.27825E+01,-0.27967E+01, & - &-0.28109E+01,-0.28250E+01,-0.28391E+01,-0.28532E+01,-0.28673E+01, & - &-0.28814E+01,-0.28954E+01,-0.29094E+01,-0.29235E+01,-0.29374E+01, & - &-0.29514E+01,-0.29654E+01,-0.29793E+01,-0.29932E+01,-0.30071E+01, & - &-0.30210E+01,-0.30349E+01,-0.30487E+01,-0.30626E+01,-0.30764E+01, & - &-0.30902E+01,-0.31040E+01,-0.31178E+01,-0.31315E+01,-0.31453E+01, & - &-0.31590E+01,-0.31727E+01,-0.31864E+01,-0.32001E+01,-0.32138E+01, & - &-0.32274E+01,-0.32411E+01,-0.32547E+01,-0.32683E+01,-0.32819E+01, & - &-0.32955E+01,-0.33091E+01,-0.33226E+01,-0.33362E+01,-0.33497E+01, & - &-0.33632E+01,-0.33767E+01,-0.33902E+01,-0.34037E+01,-0.34172E+01/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.34307E+01,-0.34441E+01,-0.34576E+01,-0.34710E+01,-0.34844E+01, & - &-0.34978E+01,-0.35112E+01,-0.35246E+01,-0.35380E+01,-0.35513E+01, & - &-0.35647E+01,-0.35780E+01,-0.35913E+01,-0.36046E+01,-0.36179E+01, & - &-0.36312E+01,-0.36445E+01,-0.36578E+01,-0.36711E+01,-0.36843E+01, & - &-0.36976E+01,-0.37108E+01,-0.37240E+01,-0.37372E+01,-0.37504E+01, & - &-0.37636E+01,-0.37768E+01,-0.37900E+01,-0.38032E+01,-0.38163E+01, & - &-0.38295E+01,-0.38426E+01,-0.38557E+01,-0.38689E+01,-0.38820E+01, & - &-0.38951E+01,-0.39082E+01,-0.39213E+01,-0.39343E+01,-0.39474E+01, & - &-0.39605E+01 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.47406E-01,-0.92542E-01,-0.10989E+00,-0.11949E+00,-0.12516E+00, & - &-0.12837E+00,-0.12988E+00,-0.13012E+00,-0.12936E+00,-0.12778E+00, & - &-0.12553E+00,-0.12268E+00,-0.11932E+00,-0.11550E+00,-0.11127E+00, & - &-0.10666E+00,-0.10171E+00,-0.96432E-01,-0.90858E-01,-0.85004E-01, & - &-0.78885E-01,-0.72517E-01,-0.65912E-01,-0.59082E-01,-0.52037E-01, & - &-0.44788E-01,-0.37343E-01,-0.29710E-01,-0.21898E-01,-0.13914E-01, & - &-0.57643E-02, 0.25435E-02, 0.11003E-01, 0.19609E-01, 0.28355E-01, & - & 0.37235E-01, 0.46244E-01, 0.55377E-01, 0.64628E-01, 0.73993E-01, & - & 0.83468E-01, 0.93047E-01, 0.10273E+00, 0.11250E+00, 0.12237E+00, & - & 0.13232E+00, 0.14236E+00, 0.15248E+00, 0.16268E+00, 0.17295E+00, & - & 0.18330E+00, 0.19371E+00, 0.20419E+00, 0.21473E+00, 0.22534E+00, & - & 0.23600E+00, 0.24672E+00, 0.25750E+00, 0.26834E+00, 0.27922E+00, & - & 0.29016E+00, 0.30116E+00, 0.31220E+00, 0.32330E+00, 0.33445E+00, & - & 0.34564E+00, 0.35689E+00, 0.36820E+00, 0.37955E+00, 0.39095E+00, & - & 0.40241E+00, 0.41392E+00, 0.42549E+00, 0.43711E+00, 0.44879E+00, & - & 0.46052E+00, 0.47232E+00, 0.48417E+00, 0.49608E+00, 0.50805E+00, & - & 0.52009E+00, 0.53219E+00, 0.54435E+00, 0.55657E+00, 0.56886E+00, & - & 0.58121E+00, 0.59362E+00, 0.60610E+00, 0.61865E+00, 0.63125E+00, & - & 0.64392E+00, 0.65665E+00, 0.66945E+00, 0.68230E+00, 0.69522E+00, & - & 0.70819E+00, 0.72121E+00, 0.73429E+00, 0.74743E+00, 0.76061E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.77385E+00, 0.78713E+00, 0.80045E+00, 0.81382E+00, 0.82722E+00, & - & 0.84066E+00, 0.85414E+00, 0.86765E+00, 0.88119E+00, 0.89476E+00, & - & 0.90835E+00, 0.92196E+00, 0.93559E+00, 0.94924E+00, 0.96290E+00, & - & 0.97658E+00, 0.99027E+00, 0.10040E+01, 0.10177E+01, 0.10314E+01, & - & 0.10451E+01, 0.10588E+01, 0.10725E+01, 0.10862E+01, 0.10999E+01, & - & 0.11136E+01, 0.11273E+01, 0.11409E+01, 0.11546E+01, 0.11682E+01, & - & 0.11819E+01, 0.11955E+01, 0.12091E+01, 0.12227E+01, 0.12363E+01, & - & 0.12498E+01, 0.12633E+01, 0.12769E+01, 0.12904E+01, 0.13038E+01, & - & 0.13173E+01, 0.13307E+01, 0.13441E+01, 0.13575E+01, 0.13709E+01, & - & 0.13842E+01, 0.13976E+01, 0.14108E+01, 0.14241E+01, 0.14374E+01, & - & 0.14506E+01, 0.14638E+01, 0.14769E+01, 0.14901E+01, 0.15032E+01, & - & 0.15163E+01, 0.15294E+01, 0.15424E+01, 0.15554E+01, 0.15684E+01, & - & 0.15814E+01, 0.15943E+01, 0.16072E+01, 0.16201E+01, 0.16329E+01, & - & 0.16458E+01, 0.16586E+01, 0.16713E+01, 0.16841E+01, 0.16968E+01, & - & 0.17095E+01, 0.17221E+01, 0.17348E+01, 0.17474E+01, 0.17599E+01, & - & 0.17725E+01, 0.17850E+01, 0.17975E+01, 0.18100E+01, 0.18224E+01, & - & 0.18348E+01, 0.18472E+01, 0.18596E+01, 0.18719E+01, 0.18842E+01, & - & 0.18965E+01, 0.19087E+01, 0.19210E+01, 0.19332E+01, 0.19453E+01, & - & 0.19575E+01, 0.19696E+01, 0.19817E+01, 0.19937E+01, 0.20057E+01, & - & 0.20177E+01, 0.20297E+01, 0.20417E+01, 0.20536E+01, 0.20655E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.20773E+01, 0.20892E+01, 0.21010E+01, 0.21128E+01, 0.21245E+01, & - & 0.21363E+01, 0.21480E+01, 0.21597E+01, 0.21713E+01, 0.21829E+01, & - & 0.21945E+01, 0.22061E+01, 0.22177E+01, 0.22292E+01, 0.22407E+01, & - & 0.22521E+01, 0.22636E+01, 0.22750E+01, 0.22864E+01, 0.22978E+01, & - & 0.23091E+01, 0.23204E+01, 0.23317E+01, 0.23430E+01, 0.23542E+01, & - & 0.23654E+01, 0.23766E+01, 0.23878E+01, 0.23989E+01, 0.24100E+01, & - & 0.24211E+01, 0.24322E+01, 0.24432E+01, 0.24542E+01, 0.24652E+01, & - & 0.24762E+01, 0.24871E+01, 0.24980E+01, 0.25089E+01, 0.25198E+01, & - & 0.25306E+01, 0.25414E+01, 0.25522E+01, 0.25630E+01, 0.25737E+01, & - & 0.25845E+01, 0.25952E+01, 0.26058E+01, 0.26165E+01, 0.26271E+01, & - & 0.26377E+01, 0.26483E+01, 0.26589E+01, 0.26694E+01, 0.26799E+01, & - & 0.26904E+01, 0.27009E+01, 0.27113E+01, 0.27217E+01, 0.27321E+01, & - & 0.27425E+01, 0.27528E+01, 0.27632E+01, 0.27735E+01, 0.27838E+01, & - & 0.27940E+01, 0.28043E+01, 0.28145E+01, 0.28247E+01, 0.28348E+01, & - & 0.28450E+01, 0.28551E+01, 0.28652E+01, 0.28753E+01, 0.28854E+01, & - & 0.28954E+01, 0.29055E+01, 0.29155E+01, 0.29254E+01, 0.29354E+01, & - & 0.29453E+01, 0.29552E+01, 0.29651E+01, 0.29750E+01, 0.29849E+01, & - & 0.29947E+01, 0.30045E+01, 0.30143E+01, 0.30241E+01, 0.30338E+01, & - & 0.30436E+01, 0.30533E+01, 0.30630E+01, 0.30726E+01, 0.30823E+01, & - & 0.30919E+01, 0.31015E+01, 0.31111E+01, 0.31207E+01, 0.31302E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.31398E+01, 0.31493E+01, 0.31588E+01, 0.31682E+01, 0.31777E+01, & - & 0.31871E+01, 0.31966E+01, 0.32059E+01, 0.32153E+01, 0.32247E+01, & - & 0.32340E+01, 0.32433E+01, 0.32526E+01, 0.32619E+01, 0.32712E+01, & - & 0.32804E+01, 0.32897E+01, 0.32989E+01, 0.33081E+01, 0.33172E+01, & - & 0.33264E+01, 0.33355E+01, 0.33446E+01, 0.33537E+01, 0.33628E+01, & - & 0.33719E+01, 0.33809E+01, 0.33899E+01, 0.33989E+01, 0.34079E+01, & - & 0.34169E+01, 0.34259E+01, 0.34348E+01, 0.34437E+01, 0.34526E+01, & - & 0.34615E+01, 0.34704E+01, 0.34792E+01, 0.34881E+01, 0.34969E+01, & - & 0.35057E+01, 0.35145E+01, 0.35232E+01, 0.35320E+01, 0.35407E+01, & - & 0.35494E+01, 0.35581E+01, 0.35668E+01, 0.35755E+01, 0.35841E+01, & - & 0.35928E+01, 0.36014E+01, 0.36100E+01, 0.36186E+01, 0.36271E+01, & - & 0.36357E+01, 0.36442E+01, 0.36527E+01, 0.36612E+01, 0.36697E+01, & - & 0.36782E+01, 0.36866E+01, 0.36951E+01, 0.37035E+01, 0.37119E+01, & - & 0.37203E+01, 0.37287E+01, 0.37370E+01, 0.37454E+01, 0.37537E+01, & - & 0.37620E+01, 0.37703E+01, 0.37786E+01, 0.37869E+01, 0.37951E+01, & - & 0.38034E+01, 0.38116E+01, 0.38198E+01, 0.38280E+01, 0.38362E+01, & - & 0.38443E+01, 0.38525E+01, 0.38606E+01, 0.38687E+01, 0.38768E+01, & - & 0.38849E+01, 0.38930E+01, 0.39011E+01, 0.39091E+01, 0.39171E+01, & - & 0.39252E+01, 0.39332E+01, 0.39411E+01, 0.39491E+01, 0.39571E+01, & - & 0.39650E+01, 0.39730E+01, 0.39809E+01, 0.39888E+01, 0.39967E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.40045E+01, 0.40124E+01, 0.40202E+01, 0.40281E+01, 0.40359E+01, & - & 0.40437E+01, 0.40515E+01, 0.40593E+01, 0.40670E+01, 0.40748E+01, & - & 0.40825E+01, 0.40903E+01, 0.40980E+01, 0.41057E+01, 0.41133E+01, & - & 0.41210E+01, 0.41287E+01, 0.41363E+01, 0.41440E+01, 0.41516E+01, & - & 0.41592E+01, 0.41668E+01, 0.41743E+01, 0.41819E+01, 0.41895E+01, & - & 0.41970E+01, 0.42045E+01, 0.42120E+01, 0.42195E+01, 0.42270E+01, & - & 0.42345E+01, 0.42420E+01, 0.42494E+01, 0.42569E+01, 0.42643E+01, & - & 0.42717E+01, 0.42791E+01, 0.42865E+01, 0.42939E+01, 0.43012E+01, & - & 0.43086E+01, 0.43159E+01, 0.43232E+01, 0.43306E+01, 0.43379E+01, & - & 0.43452E+01, 0.43524E+01, 0.43597E+01, 0.43670E+01, 0.43742E+01, & - & 0.43814E+01, 0.43886E+01, 0.43959E+01, 0.44030E+01, 0.44102E+01, & - & 0.44174E+01, 0.44246E+01, 0.44317E+01, 0.44388E+01, 0.44460E+01, & - & 0.44531E+01, 0.44602E+01, 0.44673E+01, 0.44743E+01, 0.44814E+01, & - & 0.44885E+01, 0.44955E+01, 0.45025E+01, 0.45096E+01, 0.45166E+01, & - & 0.45236E+01, 0.45306E+01, 0.45375E+01, 0.45445E+01, 0.45515E+01, & - & 0.45584E+01, 0.45653E+01, 0.45723E+01, 0.45792E+01, 0.45861E+01, & - & 0.45930E+01, 0.45998E+01, 0.46067E+01, 0.46135E+01, 0.46204E+01, & - & 0.46272E+01, 0.46341E+01, 0.46409E+01, 0.46477E+01, 0.46545E+01, & - & 0.46612E+01, 0.46680E+01, 0.46748E+01, 0.46815E+01, 0.46883E+01, & - & 0.46950E+01, 0.47017E+01, 0.47084E+01, 0.47151E+01, 0.47218E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.47285E+01, 0.47351E+01, 0.47418E+01, 0.47484E+01, 0.47551E+01, & - & 0.47617E+01, 0.47683E+01, 0.47749E+01, 0.47815E+01, 0.47881E+01, & - & 0.47947E+01, 0.48012E+01, 0.48078E+01, 0.48143E+01, 0.48209E+01, & - & 0.48274E+01, 0.48339E+01, 0.48404E+01, 0.48469E+01, 0.48534E+01, & - & 0.48598E+01, 0.48663E+01, 0.48728E+01, 0.48792E+01, 0.48857E+01, & - & 0.48921E+01, 0.48985E+01, 0.49049E+01, 0.49113E+01, 0.49177E+01, & - & 0.49241E+01, 0.49304E+01, 0.49368E+01, 0.49431E+01, 0.49495E+01, & - & 0.49558E+01, 0.49621E+01, 0.49685E+01, 0.49748E+01, 0.49811E+01, & - & 0.49873E+01, 0.49936E+01, 0.49999E+01, 0.50061E+01, 0.50124E+01, & - & 0.50186E+01, 0.50249E+01, 0.50311E+01, 0.50373E+01, 0.50435E+01, & - & 0.50497E+01, 0.50559E+01, 0.50621E+01, 0.50682E+01, 0.50744E+01, & - & 0.50805E+01, 0.50867E+01, 0.50928E+01, 0.50989E+01, 0.51050E+01, & - & 0.51111E+01, 0.51172E+01, 0.51233E+01, 0.51294E+01, 0.51355E+01, & - & 0.51415E+01, 0.51476E+01, 0.51536E+01, 0.51597E+01, 0.51657E+01, & - & 0.51717E+01, 0.51777E+01, 0.51837E+01, 0.51897E+01, 0.51957E+01, & - & 0.52017E+01, 0.52076E+01, 0.52136E+01, 0.52196E+01, 0.52255E+01, & - & 0.52314E+01, 0.52374E+01, 0.52433E+01, 0.52492E+01, 0.52551E+01, & - & 0.52610E+01, 0.52669E+01, 0.52727E+01, 0.52786E+01, 0.52845E+01, & - & 0.52903E+01, 0.52962E+01, 0.53020E+01, 0.53078E+01, 0.53137E+01, & - & 0.53195E+01, 0.53253E+01, 0.53311E+01, 0.53369E+01, 0.53426E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.54046E+01, 0.54611E+01, 0.55169E+01, 0.55719E+01, 0.56263E+01, & - & 0.56799E+01, 0.57328E+01, 0.57851E+01, 0.58367E+01, 0.58877E+01, & - & 0.59380E+01, 0.59878E+01, 0.60369E+01, 0.60855E+01, 0.61334E+01, & - & 0.61809E+01, 0.62277E+01, 0.62740E+01, 0.63198E+01, 0.63651E+01, & - & 0.64099E+01, 0.64542E+01, 0.64979E+01, 0.65413E+01, 0.65841E+01, & - & 0.66265E+01, 0.66684E+01, 0.67099E+01, 0.67509E+01, 0.67916E+01, & - & 0.68318E+01, 0.68715E+01, 0.69109E+01, 0.69499E+01, 0.69885E+01, & - & 0.70267E+01, 0.70646E+01, 0.71020E+01, 0.71391E+01, 0.71759E+01, & - & 0.72123E+01, 0.72483E+01, 0.72840E+01, 0.73194E+01, 0.73544E+01, & - & 0.73891E+01, 0.74235E+01, 0.74576E+01, 0.74914E+01, 0.75248E+01, & - & 0.75580E+01, 0.75909E+01, 0.76234E+01, 0.76557E+01, 0.76877E+01, & - & 0.77195E+01, 0.77509E+01, 0.77821E+01, 0.78130E+01, 0.78437E+01, & - & 0.78741E+01, 0.79042E+01, 0.79341E+01, 0.79637E+01, 0.79931E+01, & - & 0.80223E+01, 0.80512E+01, 0.80799E+01, 0.81083E+01, 0.81365E+01, & - & 0.81645E+01, 0.81923E+01, 0.82199E+01, 0.82472E+01, 0.82743E+01, & - & 0.83012E+01, 0.83279E+01, 0.83544E+01, 0.83807E+01, 0.84068E+01, & - & 0.84327E+01, 0.84584E+01, 0.84839E+01, 0.85093E+01, 0.85344E+01, & - & 0.85593E+01, 0.85841E+01, 0.86087E+01, 0.86331E+01, 0.86573E+01, & - & 0.86813E+01, 0.87052E+01, 0.87289E+01, 0.87524E+01, 0.87758E+01, & - & 0.87990E+01, 0.88220E+01, 0.88449E+01, 0.88676E+01, 0.88902E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.89126E+01, 0.89348E+01, 0.89569E+01, 0.89789E+01, 0.90006E+01, & - & 0.90223E+01, 0.90438E+01, 0.90651E+01, 0.90863E+01, 0.91074E+01, & - & 0.91283E+01, 0.91491E+01, 0.91698E+01, 0.91903E+01, 0.92107E+01, & - & 0.92309E+01, 0.92510E+01, 0.92710E+01, 0.92909E+01, 0.93106E+01, & - & 0.93302E+01, 0.93497E+01, 0.93690E+01, 0.93883E+01, 0.94074E+01, & - & 0.94264E+01, 0.94452E+01, 0.94640E+01, 0.94826E+01, 0.95011E+01, & - & 0.95195E+01, 0.95378E+01, 0.95560E+01, 0.95741E+01, 0.95920E+01, & - & 0.96099E+01, 0.96276E+01, 0.96452E+01, 0.96628E+01, 0.96802E+01, & - & 0.96975E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.50187E-01,-0.10669E+00,-0.13390E+00,-0.15267E+00,-0.16708E+00, & - &-0.17876E+00,-0.18855E+00,-0.19694E+00,-0.20423E+00,-0.21065E+00, & - &-0.21635E+00,-0.22143E+00,-0.22598E+00,-0.23007E+00,-0.23375E+00, & - &-0.23707E+00,-0.24005E+00,-0.24274E+00,-0.24514E+00,-0.24730E+00, & - &-0.24921E+00,-0.25090E+00,-0.25238E+00,-0.25366E+00,-0.25476E+00, & - &-0.25568E+00,-0.25644E+00,-0.25703E+00,-0.25747E+00,-0.25776E+00, & - &-0.25791E+00,-0.25793E+00,-0.25781E+00,-0.25758E+00,-0.25722E+00, & - &-0.25674E+00,-0.25615E+00,-0.25546E+00,-0.25466E+00,-0.25376E+00, & - &-0.25276E+00,-0.25167E+00,-0.25049E+00,-0.24922E+00,-0.24787E+00, & - &-0.24644E+00,-0.24492E+00,-0.24333E+00,-0.24167E+00,-0.23994E+00, & - &-0.23813E+00,-0.23626E+00,-0.23433E+00,-0.23233E+00,-0.23027E+00, & - &-0.22816E+00,-0.22599E+00,-0.22376E+00,-0.22148E+00,-0.21915E+00, & - &-0.21677E+00,-0.21434E+00,-0.21186E+00,-0.20934E+00,-0.20677E+00, & - &-0.20415E+00,-0.20150E+00,-0.19880E+00,-0.19606E+00,-0.19328E+00, & - &-0.19046E+00,-0.18760E+00,-0.18470E+00,-0.18176E+00,-0.17878E+00, & - &-0.17577E+00,-0.17272E+00,-0.16963E+00,-0.16651E+00,-0.16334E+00, & - &-0.16015E+00,-0.15692E+00,-0.15365E+00,-0.15035E+00,-0.14701E+00, & - &-0.14364E+00,-0.14024E+00,-0.13681E+00,-0.13334E+00,-0.12984E+00, & - &-0.12631E+00,-0.12274E+00,-0.11915E+00,-0.11553E+00,-0.11188E+00, & - &-0.10820E+00,-0.10450E+00,-0.10077E+00,-0.97011E-01,-0.93232E-01/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.89429E-01,-0.85605E-01,-0.81759E-01,-0.77893E-01,-0.74009E-01, & - &-0.70107E-01,-0.66188E-01,-0.62254E-01,-0.58306E-01,-0.54343E-01, & - &-0.50369E-01,-0.46384E-01,-0.42388E-01,-0.38383E-01,-0.34370E-01, & - &-0.30350E-01,-0.26323E-01,-0.22291E-01,-0.18255E-01,-0.14216E-01, & - &-0.10173E-01,-0.61287E-02,-0.20831E-02, 0.19630E-02, 0.60090E-02, & - & 0.10054E-01, 0.14098E-01, 0.18140E-01, 0.22179E-01, 0.26215E-01, & - & 0.30247E-01, 0.34276E-01, 0.38300E-01, 0.42319E-01, 0.46333E-01, & - & 0.50341E-01, 0.54344E-01, 0.58340E-01, 0.62330E-01, 0.66313E-01, & - & 0.70289E-01, 0.74258E-01, 0.78219E-01, 0.82173E-01, 0.86120E-01, & - & 0.90058E-01, 0.93988E-01, 0.97910E-01, 0.10182E+00, 0.10573E+00, & - & 0.10962E+00, 0.11351E+00, 0.11739E+00, 0.12126E+00, 0.12512E+00, & - & 0.12897E+00, 0.13282E+00, 0.13665E+00, 0.14048E+00, 0.14429E+00, & - & 0.14810E+00, 0.15189E+00, 0.15568E+00, 0.15946E+00, 0.16323E+00, & - & 0.16698E+00, 0.17073E+00, 0.17447E+00, 0.17820E+00, 0.18192E+00, & - & 0.18563E+00, 0.18934E+00, 0.19303E+00, 0.19671E+00, 0.20038E+00, & - & 0.20404E+00, 0.20770E+00, 0.21134E+00, 0.21497E+00, 0.21860E+00, & - & 0.22221E+00, 0.22582E+00, 0.22941E+00, 0.23300E+00, 0.23658E+00, & - & 0.24014E+00, 0.24370E+00, 0.24725E+00, 0.25078E+00, 0.25431E+00, & - & 0.25783E+00, 0.26134E+00, 0.26484E+00, 0.26833E+00, 0.27181E+00, & - & 0.27528E+00, 0.27875E+00, 0.28220E+00, 0.28564E+00, 0.28908E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.29250E+00, 0.29592E+00, 0.29932E+00, 0.30272E+00, 0.30611E+00, & - & 0.30949E+00, 0.31286E+00, 0.31622E+00, 0.31957E+00, 0.32291E+00, & - & 0.32625E+00, 0.32957E+00, 0.33289E+00, 0.33620E+00, 0.33949E+00, & - & 0.34278E+00, 0.34606E+00, 0.34934E+00, 0.35260E+00, 0.35585E+00, & - & 0.35910E+00, 0.36234E+00, 0.36557E+00, 0.36879E+00, 0.37200E+00, & - & 0.37520E+00, 0.37839E+00, 0.38158E+00, 0.38476E+00, 0.38793E+00, & - & 0.39109E+00, 0.39424E+00, 0.39738E+00, 0.40052E+00, 0.40365E+00, & - & 0.40677E+00, 0.40988E+00, 0.41298E+00, 0.41608E+00, 0.41916E+00, & - & 0.42224E+00, 0.42531E+00, 0.42838E+00, 0.43143E+00, 0.43448E+00, & - & 0.43752E+00, 0.44055E+00, 0.44357E+00, 0.44659E+00, 0.44960E+00, & - & 0.45260E+00, 0.45559E+00, 0.45857E+00, 0.46155E+00, 0.46452E+00, & - & 0.46748E+00, 0.47044E+00, 0.47339E+00, 0.47633E+00, 0.47926E+00, & - & 0.48218E+00, 0.48510E+00, 0.48801E+00, 0.49092E+00, 0.49381E+00, & - & 0.49670E+00, 0.49958E+00, 0.50246E+00, 0.50532E+00, 0.50818E+00, & - & 0.51104E+00, 0.51388E+00, 0.51672E+00, 0.51955E+00, 0.52238E+00, & - & 0.52519E+00, 0.52800E+00, 0.53081E+00, 0.53361E+00, 0.53640E+00, & - & 0.53918E+00, 0.54196E+00, 0.54473E+00, 0.54749E+00, 0.55025E+00, & - & 0.55300E+00, 0.55574E+00, 0.55848E+00, 0.56121E+00, 0.56393E+00, & - & 0.56665E+00, 0.56936E+00, 0.57206E+00, 0.57476E+00, 0.57745E+00, & - & 0.58013E+00, 0.58281E+00, 0.58548E+00, 0.58815E+00, 0.59081E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.59346E+00, 0.59611E+00, 0.59875E+00, 0.60138E+00, 0.60401E+00, & - & 0.60663E+00, 0.60925E+00, 0.61186E+00, 0.61446E+00, 0.61706E+00, & - & 0.61965E+00, 0.62223E+00, 0.62481E+00, 0.62739E+00, 0.62996E+00, & - & 0.63252E+00, 0.63507E+00, 0.63762E+00, 0.64017E+00, 0.64270E+00, & - & 0.64524E+00, 0.64776E+00, 0.65028E+00, 0.65280E+00, 0.65531E+00, & - & 0.65781E+00, 0.66031E+00, 0.66280E+00, 0.66529E+00, 0.66777E+00, & - & 0.67024E+00, 0.67271E+00, 0.67518E+00, 0.67764E+00, 0.68009E+00, & - & 0.68254E+00, 0.68498E+00, 0.68742E+00, 0.68985E+00, 0.69227E+00, & - & 0.69470E+00, 0.69711E+00, 0.69952E+00, 0.70192E+00, 0.70432E+00, & - & 0.70672E+00, 0.70911E+00, 0.71149E+00, 0.71387E+00, 0.71624E+00, & - & 0.71861E+00, 0.72097E+00, 0.72333E+00, 0.72568E+00, 0.72803E+00, & - & 0.73037E+00, 0.73271E+00, 0.73504E+00, 0.73737E+00, 0.73969E+00, & - & 0.74201E+00, 0.74432E+00, 0.74662E+00, 0.74893E+00, 0.75122E+00, & - & 0.75352E+00, 0.75580E+00, 0.75809E+00, 0.76036E+00, 0.76263E+00, & - & 0.76490E+00, 0.76717E+00, 0.76942E+00, 0.77168E+00, 0.77393E+00, & - & 0.77617E+00, 0.77841E+00, 0.78064E+00, 0.78287E+00, 0.78510E+00, & - & 0.78732E+00, 0.78953E+00, 0.79174E+00, 0.79395E+00, 0.79615E+00, & - & 0.79835E+00, 0.80054E+00, 0.80273E+00, 0.80491E+00, 0.80709E+00, & - & 0.80927E+00, 0.81144E+00, 0.81360E+00, 0.81576E+00, 0.81792E+00, & - & 0.82007E+00, 0.82222E+00, 0.82436E+00, 0.82650E+00, 0.82864E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.83077E+00, 0.83289E+00, 0.83501E+00, 0.83713E+00, 0.83924E+00, & - & 0.84135E+00, 0.84346E+00, 0.84556E+00, 0.84765E+00, 0.84974E+00, & - & 0.85183E+00, 0.85391E+00, 0.85599E+00, 0.85807E+00, 0.86014E+00, & - & 0.86220E+00, 0.86427E+00, 0.86632E+00, 0.86838E+00, 0.87043E+00, & - & 0.87247E+00, 0.87451E+00, 0.87655E+00, 0.87859E+00, 0.88061E+00, & - & 0.88264E+00, 0.88466E+00, 0.88668E+00, 0.88869E+00, 0.89070E+00, & - & 0.89271E+00, 0.89471E+00, 0.89671E+00, 0.89870E+00, 0.90069E+00, & - & 0.90268E+00, 0.90466E+00, 0.90664E+00, 0.90861E+00, 0.91058E+00, & - & 0.91255E+00, 0.91451E+00, 0.91647E+00, 0.91842E+00, 0.92037E+00, & - & 0.92232E+00, 0.92426E+00, 0.92620E+00, 0.92814E+00, 0.93007E+00, & - & 0.93200E+00, 0.93393E+00, 0.93585E+00, 0.93777E+00, 0.93968E+00, & - & 0.94159E+00, 0.94350E+00, 0.94540E+00, 0.94730E+00, 0.94919E+00, & - & 0.95108E+00, 0.95297E+00, 0.95486E+00, 0.95674E+00, 0.95862E+00, & - & 0.96049E+00, 0.96236E+00, 0.96423E+00, 0.96609E+00, 0.96795E+00, & - & 0.96981E+00, 0.97166E+00, 0.97351E+00, 0.97536E+00, 0.97720E+00, & - & 0.97904E+00, 0.98087E+00, 0.98270E+00, 0.98453E+00, 0.98636E+00, & - & 0.98818E+00, 0.99000E+00, 0.99181E+00, 0.99362E+00, 0.99543E+00, & - & 0.99724E+00, 0.99904E+00, 0.10008E+01, 0.10026E+01, 0.10044E+01, & - & 0.10062E+01, 0.10080E+01, 0.10098E+01, 0.10116E+01, 0.10133E+01, & - & 0.10151E+01, 0.10169E+01, 0.10186E+01, 0.10204E+01, 0.10222E+01/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.10239E+01, 0.10257E+01, 0.10274E+01, 0.10292E+01, 0.10309E+01, & - & 0.10326E+01, 0.10344E+01, 0.10361E+01, 0.10378E+01, 0.10396E+01, & - & 0.10413E+01, 0.10430E+01, 0.10447E+01, 0.10464E+01, 0.10482E+01, & - & 0.10499E+01, 0.10516E+01, 0.10533E+01, 0.10550E+01, 0.10567E+01, & - & 0.10584E+01, 0.10600E+01, 0.10617E+01, 0.10634E+01, 0.10651E+01, & - & 0.10668E+01, 0.10684E+01, 0.10701E+01, 0.10718E+01, 0.10735E+01, & - & 0.10751E+01, 0.10768E+01, 0.10784E+01, 0.10801E+01, 0.10817E+01, & - & 0.10834E+01, 0.10850E+01, 0.10867E+01, 0.10883E+01, 0.10899E+01, & - & 0.10916E+01, 0.10932E+01, 0.10948E+01, 0.10965E+01, 0.10981E+01, & - & 0.10997E+01, 0.11013E+01, 0.11029E+01, 0.11045E+01, 0.11062E+01, & - & 0.11078E+01, 0.11094E+01, 0.11110E+01, 0.11126E+01, 0.11142E+01, & - & 0.11157E+01, 0.11173E+01, 0.11189E+01, 0.11205E+01, 0.11221E+01, & - & 0.11237E+01, 0.11252E+01, 0.11268E+01, 0.11284E+01, 0.11299E+01, & - & 0.11315E+01, 0.11331E+01, 0.11346E+01, 0.11362E+01, 0.11377E+01, & - & 0.11393E+01, 0.11408E+01, 0.11424E+01, 0.11439E+01, 0.11454E+01, & - & 0.11470E+01, 0.11485E+01, 0.11501E+01, 0.11516E+01, 0.11531E+01, & - & 0.11546E+01, 0.11562E+01, 0.11577E+01, 0.11592E+01, 0.11607E+01, & - & 0.11622E+01, 0.11637E+01, 0.11652E+01, 0.11667E+01, 0.11682E+01, & - & 0.11697E+01, 0.11712E+01, 0.11727E+01, 0.11742E+01, 0.11757E+01, & - & 0.11772E+01, 0.11787E+01, 0.11801E+01, 0.11816E+01, 0.11831E+01/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.11989E+01, 0.12132E+01, 0.12273E+01, 0.12412E+01, 0.12549E+01, & - & 0.12683E+01, 0.12816E+01, 0.12946E+01, 0.13074E+01, 0.13200E+01, & - & 0.13324E+01, 0.13446E+01, 0.13566E+01, 0.13685E+01, 0.13801E+01, & - & 0.13916E+01, 0.14029E+01, 0.14141E+01, 0.14250E+01, 0.14358E+01, & - & 0.14465E+01, 0.14570E+01, 0.14673E+01, 0.14775E+01, 0.14875E+01, & - & 0.14974E+01, 0.15072E+01, 0.15168E+01, 0.15262E+01, 0.15356E+01, & - & 0.15448E+01, 0.15538E+01, 0.15628E+01, 0.15716E+01, 0.15803E+01, & - & 0.15888E+01, 0.15973E+01, 0.16056E+01, 0.16138E+01, 0.16219E+01, & - & 0.16299E+01, 0.16378E+01, 0.16455E+01, 0.16532E+01, 0.16608E+01, & - & 0.16682E+01, 0.16756E+01, 0.16828E+01, 0.16900E+01, 0.16970E+01, & - & 0.17040E+01, 0.17108E+01, 0.17176E+01, 0.17243E+01, 0.17308E+01, & - & 0.17373E+01, 0.17438E+01, 0.17501E+01, 0.17563E+01, 0.17625E+01, & - & 0.17685E+01, 0.17745E+01, 0.17804E+01, 0.17863E+01, 0.17920E+01, & - & 0.17977E+01, 0.18033E+01, 0.18088E+01, 0.18142E+01, 0.18196E+01, & - & 0.18249E+01, 0.18302E+01, 0.18353E+01, 0.18404E+01, 0.18454E+01, & - & 0.18504E+01, 0.18553E+01, 0.18601E+01, 0.18649E+01, 0.18695E+01, & - & 0.18742E+01, 0.18787E+01, 0.18832E+01, 0.18877E+01, 0.18921E+01, & - & 0.18964E+01, 0.19007E+01, 0.19049E+01, 0.19090E+01, 0.19131E+01, & - & 0.19171E+01, 0.19211E+01, 0.19250E+01, 0.19289E+01, 0.19327E+01, & - & 0.19365E+01, 0.19402E+01, 0.19439E+01, 0.19475E+01, 0.19510E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19545E+01, 0.19580E+01, 0.19614E+01, 0.19647E+01, 0.19681E+01, & - & 0.19713E+01, 0.19745E+01, 0.19777E+01, 0.19808E+01, 0.19839E+01, & - & 0.19869E+01, 0.19899E+01, 0.19929E+01, 0.19958E+01, 0.19986E+01, & - & 0.20014E+01, 0.20042E+01, 0.20069E+01, 0.20096E+01, 0.20123E+01, & - & 0.20149E+01, 0.20175E+01, 0.20200E+01, 0.20225E+01, 0.20249E+01, & - & 0.20273E+01, 0.20297E+01, 0.20320E+01, 0.20343E+01, 0.20366E+01, & - & 0.20388E+01, 0.20410E+01, 0.20432E+01, 0.20453E+01, 0.20473E+01, & - & 0.20494E+01, 0.20514E+01, 0.20534E+01, 0.20553E+01, 0.20572E+01, & - & 0.20591E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.49409E-01,-0.10182E+00,-0.12490E+00,-0.13957E+00,-0.14992E+00, & - &-0.15759E+00,-0.16343E+00,-0.16794E+00,-0.17141E+00,-0.17407E+00, & - &-0.17608E+00,-0.17754E+00,-0.17855E+00,-0.17917E+00,-0.17946E+00, & - &-0.17946E+00,-0.17921E+00,-0.17873E+00,-0.17806E+00,-0.17722E+00, & - &-0.17621E+00,-0.17507E+00,-0.17380E+00,-0.17242E+00,-0.17094E+00, & - &-0.16937E+00,-0.16771E+00,-0.16598E+00,-0.16418E+00,-0.16232E+00, & - &-0.16041E+00,-0.15845E+00,-0.15644E+00,-0.15439E+00,-0.15230E+00, & - &-0.15019E+00,-0.14804E+00,-0.14587E+00,-0.14368E+00,-0.14146E+00, & - &-0.13923E+00,-0.13699E+00,-0.13473E+00,-0.13245E+00,-0.13017E+00, & - &-0.12788E+00,-0.12559E+00,-0.12329E+00,-0.12098E+00,-0.11867E+00, & - &-0.11635E+00,-0.11404E+00,-0.11172E+00,-0.10939E+00,-0.10707E+00, & - &-0.10475E+00,-0.10242E+00,-0.10009E+00,-0.97766E-01,-0.95435E-01, & - &-0.93102E-01,-0.90766E-01,-0.88427E-01,-0.86084E-01,-0.83737E-01, & - &-0.81385E-01,-0.79027E-01,-0.76663E-01,-0.74291E-01,-0.71912E-01, & - &-0.69524E-01,-0.67126E-01,-0.64718E-01,-0.62299E-01,-0.59868E-01, & - &-0.57424E-01,-0.54967E-01,-0.52495E-01,-0.50009E-01,-0.47506E-01, & - &-0.44988E-01,-0.42453E-01,-0.39901E-01,-0.37331E-01,-0.34744E-01, & - &-0.32138E-01,-0.29513E-01,-0.26869E-01,-0.24207E-01,-0.21526E-01, & - &-0.18825E-01,-0.16106E-01,-0.13368E-01,-0.10611E-01,-0.78361E-02, & - &-0.50430E-02,-0.22323E-02, 0.59576E-03, 0.34406E-02, 0.63019E-02/ - - DATA (BNC10M(I),I=101,200)/ & - & 0.91788E-02, 0.12071E-01, 0.14978E-01, 0.17899E-01, 0.20833E-01, & - & 0.23781E-01, 0.26740E-01, 0.29711E-01, 0.32692E-01, 0.35683E-01, & - & 0.38684E-01, 0.41694E-01, 0.44711E-01, 0.47736E-01, 0.50768E-01, & - & 0.53805E-01, 0.56848E-01, 0.59896E-01, 0.62949E-01, 0.66005E-01, & - & 0.69064E-01, 0.72126E-01, 0.75190E-01, 0.78257E-01, 0.81324E-01, & - & 0.84392E-01, 0.87461E-01, 0.90530E-01, 0.93599E-01, 0.96668E-01, & - & 0.99735E-01, 0.10280E+00, 0.10587E+00, 0.10893E+00, 0.11199E+00, & - & 0.11505E+00, 0.11811E+00, 0.12117E+00, 0.12422E+00, 0.12727E+00, & - & 0.13031E+00, 0.13336E+00, 0.13640E+00, 0.13944E+00, 0.14247E+00, & - & 0.14550E+00, 0.14853E+00, 0.15155E+00, 0.15457E+00, 0.15759E+00, & - & 0.16060E+00, 0.16361E+00, 0.16662E+00, 0.16962E+00, 0.17262E+00, & - & 0.17561E+00, 0.17860E+00, 0.18158E+00, 0.18456E+00, 0.18754E+00, & - & 0.19051E+00, 0.19348E+00, 0.19644E+00, 0.19940E+00, 0.20235E+00, & - & 0.20530E+00, 0.20825E+00, 0.21119E+00, 0.21413E+00, 0.21706E+00, & - & 0.21998E+00, 0.22291E+00, 0.22583E+00, 0.22874E+00, 0.23165E+00, & - & 0.23455E+00, 0.23745E+00, 0.24035E+00, 0.24324E+00, 0.24612E+00, & - & 0.24900E+00, 0.25188E+00, 0.25475E+00, 0.25762E+00, 0.26048E+00, & - & 0.26334E+00, 0.26619E+00, 0.26903E+00, 0.27188E+00, 0.27471E+00, & - & 0.27755E+00, 0.28037E+00, 0.28320E+00, 0.28602E+00, 0.28883E+00, & - & 0.29164E+00, 0.29444E+00, 0.29724E+00, 0.30003E+00, 0.30282E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.30560E+00, 0.30838E+00, 0.31116E+00, 0.31393E+00, 0.31669E+00, & - & 0.31945E+00, 0.32220E+00, 0.32495E+00, 0.32769E+00, 0.33043E+00, & - & 0.33317E+00, 0.33590E+00, 0.33862E+00, 0.34134E+00, 0.34405E+00, & - & 0.34676E+00, 0.34947E+00, 0.35217E+00, 0.35486E+00, 0.35755E+00, & - & 0.36024E+00, 0.36291E+00, 0.36559E+00, 0.36826E+00, 0.37092E+00, & - & 0.37358E+00, 0.37624E+00, 0.37889E+00, 0.38153E+00, 0.38417E+00, & - & 0.38681E+00, 0.38944E+00, 0.39206E+00, 0.39468E+00, 0.39730E+00, & - & 0.39991E+00, 0.40251E+00, 0.40511E+00, 0.40771E+00, 0.41030E+00, & - & 0.41288E+00, 0.41546E+00, 0.41804E+00, 0.42061E+00, 0.42317E+00, & - & 0.42574E+00, 0.42829E+00, 0.43084E+00, 0.43339E+00, 0.43593E+00, & - & 0.43847E+00, 0.44100E+00, 0.44353E+00, 0.44605E+00, 0.44856E+00, & - & 0.45108E+00, 0.45358E+00, 0.45609E+00, 0.45858E+00, 0.46108E+00, & - & 0.46357E+00, 0.46605E+00, 0.46853E+00, 0.47100E+00, 0.47347E+00, & - & 0.47594E+00, 0.47840E+00, 0.48085E+00, 0.48330E+00, 0.48575E+00, & - & 0.48819E+00, 0.49062E+00, 0.49305E+00, 0.49548E+00, 0.49790E+00, & - & 0.50032E+00, 0.50273E+00, 0.50514E+00, 0.50754E+00, 0.50994E+00, & - & 0.51233E+00, 0.51472E+00, 0.51711E+00, 0.51949E+00, 0.52186E+00, & - & 0.52423E+00, 0.52660E+00, 0.52896E+00, 0.53132E+00, 0.53367E+00, & - & 0.53602E+00, 0.53836E+00, 0.54070E+00, 0.54303E+00, 0.54536E+00, & - & 0.54769E+00, 0.55001E+00, 0.55232E+00, 0.55464E+00, 0.55694E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.55925E+00, 0.56154E+00, 0.56384E+00, 0.56613E+00, 0.56841E+00, & - & 0.57069E+00, 0.57297E+00, 0.57524E+00, 0.57751E+00, 0.57977E+00, & - & 0.58203E+00, 0.58428E+00, 0.58653E+00, 0.58878E+00, 0.59102E+00, & - & 0.59325E+00, 0.59549E+00, 0.59771E+00, 0.59994E+00, 0.60216E+00, & - & 0.60437E+00, 0.60658E+00, 0.60879E+00, 0.61099E+00, 0.61319E+00, & - & 0.61538E+00, 0.61757E+00, 0.61976E+00, 0.62194E+00, 0.62411E+00, & - & 0.62629E+00, 0.62845E+00, 0.63062E+00, 0.63278E+00, 0.63493E+00, & - & 0.63709E+00, 0.63923E+00, 0.64138E+00, 0.64351E+00, 0.64565E+00, & - & 0.64778E+00, 0.64991E+00, 0.65203E+00, 0.65415E+00, 0.65626E+00, & - & 0.65837E+00, 0.66048E+00, 0.66258E+00, 0.66468E+00, 0.66678E+00, & - & 0.66887E+00, 0.67095E+00, 0.67304E+00, 0.67511E+00, 0.67719E+00, & - & 0.67926E+00, 0.68132E+00, 0.68339E+00, 0.68545E+00, 0.68750E+00, & - & 0.68955E+00, 0.69160E+00, 0.69364E+00, 0.69568E+00, 0.69771E+00, & - & 0.69975E+00, 0.70177E+00, 0.70380E+00, 0.70582E+00, 0.70783E+00, & - & 0.70984E+00, 0.71185E+00, 0.71386E+00, 0.71586E+00, 0.71785E+00, & - & 0.71985E+00, 0.72184E+00, 0.72382E+00, 0.72580E+00, 0.72778E+00, & - & 0.72975E+00, 0.73172E+00, 0.73369E+00, 0.73565E+00, 0.73761E+00, & - & 0.73957E+00, 0.74152E+00, 0.74347E+00, 0.74541E+00, 0.74735E+00, & - & 0.74929E+00, 0.75122E+00, 0.75315E+00, 0.75508E+00, 0.75700E+00, & - & 0.75892E+00, 0.76084E+00, 0.76275E+00, 0.76466E+00, 0.76656E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.76846E+00, 0.77036E+00, 0.77225E+00, 0.77414E+00, 0.77603E+00, & - & 0.77791E+00, 0.77979E+00, 0.78167E+00, 0.78354E+00, 0.78541E+00, & - & 0.78728E+00, 0.78914E+00, 0.79100E+00, 0.79285E+00, 0.79471E+00, & - & 0.79656E+00, 0.79840E+00, 0.80024E+00, 0.80208E+00, 0.80391E+00, & - & 0.80575E+00, 0.80757E+00, 0.80940E+00, 0.81122E+00, 0.81304E+00, & - & 0.81485E+00, 0.81666E+00, 0.81847E+00, 0.82028E+00, 0.82208E+00, & - & 0.82387E+00, 0.82567E+00, 0.82746E+00, 0.82925E+00, 0.83103E+00, & - & 0.83281E+00, 0.83459E+00, 0.83637E+00, 0.83814E+00, 0.83991E+00, & - & 0.84167E+00, 0.84343E+00, 0.84519E+00, 0.84695E+00, 0.84870E+00, & - & 0.85045E+00, 0.85219E+00, 0.85394E+00, 0.85568E+00, 0.85741E+00, & - & 0.85914E+00, 0.86087E+00, 0.86260E+00, 0.86432E+00, 0.86604E+00, & - & 0.86776E+00, 0.86948E+00, 0.87119E+00, 0.87290E+00, 0.87460E+00, & - & 0.87630E+00, 0.87800E+00, 0.87970E+00, 0.88139E+00, 0.88308E+00, & - & 0.88476E+00, 0.88645E+00, 0.88813E+00, 0.88980E+00, 0.89148E+00, & - & 0.89315E+00, 0.89482E+00, 0.89648E+00, 0.89815E+00, 0.89980E+00, & - & 0.90146E+00, 0.90311E+00, 0.90476E+00, 0.90641E+00, 0.90806E+00, & - & 0.90970E+00, 0.91134E+00, 0.91297E+00, 0.91460E+00, 0.91623E+00, & - & 0.91786E+00, 0.91948E+00, 0.92110E+00, 0.92272E+00, 0.92434E+00, & - & 0.92595E+00, 0.92756E+00, 0.92917E+00, 0.93077E+00, 0.93237E+00, & - & 0.93397E+00, 0.93556E+00, 0.93716E+00, 0.93875E+00, 0.94033E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.94192E+00, 0.94350E+00, 0.94508E+00, 0.94665E+00, 0.94822E+00, & - & 0.94979E+00, 0.95136E+00, 0.95292E+00, 0.95449E+00, 0.95604E+00, & - & 0.95760E+00, 0.95915E+00, 0.96070E+00, 0.96225E+00, 0.96380E+00, & - & 0.96534E+00, 0.96688E+00, 0.96842E+00, 0.96995E+00, 0.97148E+00, & - & 0.97301E+00, 0.97454E+00, 0.97606E+00, 0.97758E+00, 0.97910E+00, & - & 0.98062E+00, 0.98213E+00, 0.98364E+00, 0.98515E+00, 0.98665E+00, & - & 0.98815E+00, 0.98965E+00, 0.99115E+00, 0.99265E+00, 0.99414E+00, & - & 0.99563E+00, 0.99711E+00, 0.99860E+00, 0.10001E+01, 0.10016E+01, & - & 0.10030E+01, 0.10045E+01, 0.10060E+01, 0.10074E+01, 0.10089E+01, & - & 0.10104E+01, 0.10118E+01, 0.10133E+01, 0.10148E+01, 0.10162E+01, & - & 0.10177E+01, 0.10191E+01, 0.10206E+01, 0.10220E+01, 0.10234E+01, & - & 0.10249E+01, 0.10263E+01, 0.10277E+01, 0.10292E+01, 0.10306E+01, & - & 0.10320E+01, 0.10335E+01, 0.10349E+01, 0.10363E+01, 0.10377E+01, & - & 0.10391E+01, 0.10405E+01, 0.10420E+01, 0.10434E+01, 0.10448E+01, & - & 0.10462E+01, 0.10476E+01, 0.10490E+01, 0.10504E+01, 0.10518E+01, & - & 0.10531E+01, 0.10545E+01, 0.10559E+01, 0.10573E+01, 0.10587E+01, & - & 0.10601E+01, 0.10614E+01, 0.10628E+01, 0.10642E+01, 0.10655E+01, & - & 0.10669E+01, 0.10683E+01, 0.10696E+01, 0.10710E+01, 0.10724E+01, & - & 0.10737E+01, 0.10751E+01, 0.10764E+01, 0.10778E+01, 0.10791E+01, & - & 0.10805E+01, 0.10818E+01, 0.10831E+01, 0.10845E+01, 0.10858E+01/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.11001E+01, 0.11131E+01, 0.11259E+01, 0.11384E+01, 0.11508E+01, & - & 0.11629E+01, 0.11749E+01, 0.11867E+01, 0.11983E+01, 0.12097E+01, & - & 0.12209E+01, 0.12319E+01, 0.12428E+01, 0.12535E+01, 0.12640E+01, & - & 0.12744E+01, 0.12846E+01, 0.12946E+01, 0.13045E+01, 0.13142E+01, & - & 0.13238E+01, 0.13333E+01, 0.13426E+01, 0.13517E+01, 0.13607E+01, & - & 0.13696E+01, 0.13784E+01, 0.13870E+01, 0.13955E+01, 0.14038E+01, & - & 0.14121E+01, 0.14202E+01, 0.14282E+01, 0.14361E+01, 0.14438E+01, & - & 0.14515E+01, 0.14590E+01, 0.14664E+01, 0.14738E+01, 0.14810E+01, & - & 0.14881E+01, 0.14951E+01, 0.15020E+01, 0.15088E+01, 0.15155E+01, & - & 0.15221E+01, 0.15286E+01, 0.15350E+01, 0.15413E+01, 0.15475E+01, & - & 0.15536E+01, 0.15597E+01, 0.15656E+01, 0.15715E+01, 0.15773E+01, & - & 0.15830E+01, 0.15886E+01, 0.15942E+01, 0.15996E+01, 0.16050E+01, & - & 0.16103E+01, 0.16155E+01, 0.16207E+01, 0.16258E+01, 0.16308E+01, & - & 0.16357E+01, 0.16406E+01, 0.16453E+01, 0.16501E+01, 0.16547E+01, & - & 0.16593E+01, 0.16638E+01, 0.16682E+01, 0.16726E+01, 0.16769E+01, & - & 0.16812E+01, 0.16854E+01, 0.16895E+01, 0.16936E+01, 0.16976E+01, & - & 0.17015E+01, 0.17054E+01, 0.17092E+01, 0.17130E+01, 0.17167E+01, & - & 0.17204E+01, 0.17240E+01, 0.17275E+01, 0.17310E+01, 0.17345E+01, & - & 0.17379E+01, 0.17412E+01, 0.17445E+01, 0.17477E+01, 0.17509E+01, & - & 0.17540E+01, 0.17571E+01, 0.17601E+01, 0.17631E+01, 0.17660E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17689E+01, 0.17718E+01, 0.17746E+01, 0.17773E+01, 0.17800E+01, & - & 0.17827E+01, 0.17853E+01, 0.17879E+01, 0.17904E+01, 0.17929E+01, & - & 0.17953E+01, 0.17977E+01, 0.18001E+01, 0.18024E+01, 0.18047E+01, & - & 0.18069E+01, 0.18091E+01, 0.18113E+01, 0.18134E+01, 0.18155E+01, & - & 0.18175E+01, 0.18195E+01, 0.18215E+01, 0.18234E+01, 0.18253E+01, & - & 0.18271E+01, 0.18290E+01, 0.18307E+01, 0.18325E+01, 0.18342E+01, & - & 0.18359E+01, 0.18375E+01, 0.18391E+01, 0.18407E+01, 0.18423E+01, & - & 0.18438E+01, 0.18453E+01, 0.18467E+01, 0.18481E+01, 0.18495E+01, & - & 0.18509E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.47849E-01,-0.94150E-01,-0.11209E+00,-0.12203E+00,-0.12791E+00, & - &-0.13126E+00,-0.13288E+00,-0.13320E+00,-0.13253E+00,-0.13106E+00, & - &-0.12892E+00,-0.12624E+00,-0.12307E+00,-0.11949E+00,-0.11555E+00, & - &-0.11128E+00,-0.10671E+00,-0.10189E+00,-0.96822E-01,-0.91537E-01, & - &-0.86052E-01,-0.80381E-01,-0.74539E-01,-0.68539E-01,-0.62391E-01, & - &-0.56107E-01,-0.49696E-01,-0.43167E-01,-0.36526E-01,-0.29783E-01, & - &-0.22944E-01,-0.16015E-01,-0.90018E-02,-0.19110E-02, 0.52525E-02, & - & 0.12484E-01, 0.19778E-01, 0.27131E-01, 0.34538E-01, 0.41996E-01, & - & 0.49501E-01, 0.57049E-01, 0.64637E-01, 0.72262E-01, 0.79922E-01, & - & 0.87613E-01, 0.95334E-01, 0.10308E+00, 0.11085E+00, 0.11865E+00, & - & 0.12647E+00, 0.13431E+00, 0.14217E+00, 0.15004E+00, 0.15794E+00, & - & 0.16585E+00, 0.17377E+00, 0.18172E+00, 0.18967E+00, 0.19765E+00, & - & 0.20564E+00, 0.21364E+00, 0.22167E+00, 0.22971E+00, 0.23776E+00, & - & 0.24584E+00, 0.25394E+00, 0.26206E+00, 0.27020E+00, 0.27836E+00, & - & 0.28655E+00, 0.29476E+00, 0.30301E+00, 0.31128E+00, 0.31958E+00, & - & 0.32791E+00, 0.33628E+00, 0.34468E+00, 0.35311E+00, 0.36158E+00, & - & 0.37009E+00, 0.37864E+00, 0.38723E+00, 0.39586E+00, 0.40453E+00, & - & 0.41324E+00, 0.42200E+00, 0.43079E+00, 0.43963E+00, 0.44852E+00, & - & 0.45744E+00, 0.46641E+00, 0.47542E+00, 0.48448E+00, 0.49357E+00, & - & 0.50270E+00, 0.51188E+00, 0.52109E+00, 0.53034E+00, 0.53963E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.54895E+00, 0.55830E+00, 0.56769E+00, 0.57710E+00, 0.58655E+00, & - & 0.59602E+00, 0.60551E+00, 0.61503E+00, 0.62458E+00, 0.63414E+00, & - & 0.64372E+00, 0.65332E+00, 0.66293E+00, 0.67256E+00, 0.68220E+00, & - & 0.69184E+00, 0.70150E+00, 0.71117E+00, 0.72084E+00, 0.73051E+00, & - & 0.74019E+00, 0.74987E+00, 0.75955E+00, 0.76923E+00, 0.77890E+00, & - & 0.78858E+00, 0.79825E+00, 0.80791E+00, 0.81757E+00, 0.82722E+00, & - & 0.83687E+00, 0.84651E+00, 0.85613E+00, 0.86575E+00, 0.87536E+00, & - & 0.88496E+00, 0.89454E+00, 0.90412E+00, 0.91368E+00, 0.92323E+00, & - & 0.93277E+00, 0.94229E+00, 0.95180E+00, 0.96129E+00, 0.97078E+00, & - & 0.98024E+00, 0.98969E+00, 0.99913E+00, 0.10086E+01, 0.10180E+01, & - & 0.10273E+01, 0.10367E+01, 0.10461E+01, 0.10554E+01, 0.10647E+01, & - & 0.10741E+01, 0.10833E+01, 0.10926E+01, 0.11019E+01, 0.11111E+01, & - & 0.11203E+01, 0.11296E+01, 0.11387E+01, 0.11479E+01, 0.11571E+01, & - & 0.11662E+01, 0.11753E+01, 0.11844E+01, 0.11935E+01, 0.12026E+01, & - & 0.12116E+01, 0.12207E+01, 0.12297E+01, 0.12387E+01, 0.12477E+01, & - & 0.12566E+01, 0.12656E+01, 0.12745E+01, 0.12834E+01, 0.12923E+01, & - & 0.13012E+01, 0.13100E+01, 0.13189E+01, 0.13277E+01, 0.13365E+01, & - & 0.13453E+01, 0.13540E+01, 0.13628E+01, 0.13715E+01, 0.13802E+01, & - & 0.13889E+01, 0.13976E+01, 0.14062E+01, 0.14149E+01, 0.14235E+01, & - & 0.14321E+01, 0.14407E+01, 0.14492E+01, 0.14578E+01, 0.14663E+01/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.14748E+01, 0.14833E+01, 0.14918E+01, 0.15003E+01, 0.15087E+01, & - & 0.15171E+01, 0.15255E+01, 0.15339E+01, 0.15423E+01, 0.15506E+01, & - & 0.15589E+01, 0.15673E+01, 0.15756E+01, 0.15838E+01, 0.15921E+01, & - & 0.16003E+01, 0.16086E+01, 0.16168E+01, 0.16250E+01, 0.16331E+01, & - & 0.16413E+01, 0.16494E+01, 0.16576E+01, 0.16657E+01, 0.16737E+01, & - & 0.16818E+01, 0.16899E+01, 0.16979E+01, 0.17059E+01, 0.17139E+01, & - & 0.17219E+01, 0.17299E+01, 0.17378E+01, 0.17457E+01, 0.17536E+01, & - & 0.17615E+01, 0.17694E+01, 0.17773E+01, 0.17851E+01, 0.17930E+01, & - & 0.18008E+01, 0.18086E+01, 0.18164E+01, 0.18241E+01, 0.18319E+01, & - & 0.18396E+01, 0.18473E+01, 0.18550E+01, 0.18627E+01, 0.18703E+01, & - & 0.18780E+01, 0.18856E+01, 0.18932E+01, 0.19008E+01, 0.19084E+01, & - & 0.19160E+01, 0.19235E+01, 0.19311E+01, 0.19386E+01, 0.19461E+01, & - & 0.19536E+01, 0.19611E+01, 0.19685E+01, 0.19759E+01, 0.19834E+01, & - & 0.19908E+01, 0.19982E+01, 0.20055E+01, 0.20129E+01, 0.20203E+01, & - & 0.20276E+01, 0.20349E+01, 0.20422E+01, 0.20495E+01, 0.20568E+01, & - & 0.20640E+01, 0.20713E+01, 0.20785E+01, 0.20857E+01, 0.20929E+01, & - & 0.21001E+01, 0.21072E+01, 0.21144E+01, 0.21215E+01, 0.21286E+01, & - & 0.21357E+01, 0.21428E+01, 0.21499E+01, 0.21570E+01, 0.21640E+01, & - & 0.21710E+01, 0.21781E+01, 0.21851E+01, 0.21921E+01, 0.21990E+01, & - & 0.22060E+01, 0.22129E+01, 0.22199E+01, 0.22268E+01, 0.22337E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.22406E+01, 0.22475E+01, 0.22543E+01, 0.22612E+01, 0.22680E+01, & - & 0.22748E+01, 0.22816E+01, 0.22884E+01, 0.22952E+01, 0.23020E+01, & - & 0.23087E+01, 0.23155E+01, 0.23222E+01, 0.23289E+01, 0.23356E+01, & - & 0.23423E+01, 0.23490E+01, 0.23556E+01, 0.23623E+01, 0.23689E+01, & - & 0.23755E+01, 0.23821E+01, 0.23887E+01, 0.23953E+01, 0.24019E+01, & - & 0.24084E+01, 0.24149E+01, 0.24215E+01, 0.24280E+01, 0.24345E+01, & - & 0.24410E+01, 0.24475E+01, 0.24539E+01, 0.24604E+01, 0.24668E+01, & - & 0.24732E+01, 0.24796E+01, 0.24860E+01, 0.24924E+01, 0.24988E+01, & - & 0.25052E+01, 0.25115E+01, 0.25179E+01, 0.25242E+01, 0.25305E+01, & - & 0.25368E+01, 0.25431E+01, 0.25494E+01, 0.25557E+01, 0.25619E+01, & - & 0.25681E+01, 0.25744E+01, 0.25806E+01, 0.25868E+01, 0.25930E+01, & - & 0.25992E+01, 0.26054E+01, 0.26115E+01, 0.26177E+01, 0.26238E+01, & - & 0.26299E+01, 0.26360E+01, 0.26421E+01, 0.26482E+01, 0.26543E+01, & - & 0.26604E+01, 0.26664E+01, 0.26725E+01, 0.26785E+01, 0.26845E+01, & - & 0.26906E+01, 0.26966E+01, 0.27025E+01, 0.27085E+01, 0.27145E+01, & - & 0.27204E+01, 0.27264E+01, 0.27323E+01, 0.27382E+01, 0.27442E+01, & - & 0.27501E+01, 0.27560E+01, 0.27618E+01, 0.27677E+01, 0.27736E+01, & - & 0.27794E+01, 0.27852E+01, 0.27911E+01, 0.27969E+01, 0.28027E+01, & - & 0.28085E+01, 0.28143E+01, 0.28200E+01, 0.28258E+01, 0.28316E+01, & - & 0.28373E+01, 0.28430E+01, 0.28488E+01, 0.28545E+01, 0.28602E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.28659E+01, 0.28715E+01, 0.28772E+01, 0.28829E+01, 0.28885E+01, & - & 0.28942E+01, 0.28998E+01, 0.29054E+01, 0.29110E+01, 0.29166E+01, & - & 0.29222E+01, 0.29278E+01, 0.29334E+01, 0.29389E+01, 0.29445E+01, & - & 0.29500E+01, 0.29555E+01, 0.29611E+01, 0.29666E+01, 0.29721E+01, & - & 0.29776E+01, 0.29831E+01, 0.29885E+01, 0.29940E+01, 0.29995E+01, & - & 0.30049E+01, 0.30103E+01, 0.30158E+01, 0.30212E+01, 0.30266E+01, & - & 0.30320E+01, 0.30374E+01, 0.30428E+01, 0.30481E+01, 0.30535E+01, & - & 0.30588E+01, 0.30642E+01, 0.30695E+01, 0.30748E+01, 0.30802E+01, & - & 0.30855E+01, 0.30908E+01, 0.30961E+01, 0.31013E+01, 0.31066E+01, & - & 0.31119E+01, 0.31171E+01, 0.31224E+01, 0.31276E+01, 0.31328E+01, & - & 0.31380E+01, 0.31433E+01, 0.31485E+01, 0.31536E+01, 0.31588E+01, & - & 0.31640E+01, 0.31692E+01, 0.31743E+01, 0.31795E+01, 0.31846E+01, & - & 0.31897E+01, 0.31949E+01, 0.32000E+01, 0.32051E+01, 0.32102E+01, & - & 0.32153E+01, 0.32204E+01, 0.32254E+01, 0.32305E+01, 0.32356E+01, & - & 0.32406E+01, 0.32456E+01, 0.32507E+01, 0.32557E+01, 0.32607E+01, & - & 0.32657E+01, 0.32707E+01, 0.32757E+01, 0.32807E+01, 0.32857E+01, & - & 0.32906E+01, 0.32956E+01, 0.33005E+01, 0.33055E+01, 0.33104E+01, & - & 0.33153E+01, 0.33202E+01, 0.33252E+01, 0.33301E+01, 0.33350E+01, & - & 0.33398E+01, 0.33447E+01, 0.33496E+01, 0.33545E+01, 0.33593E+01, & - & 0.33642E+01, 0.33690E+01, 0.33738E+01, 0.33787E+01, 0.33835E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.33883E+01, 0.33931E+01, 0.33979E+01, 0.34027E+01, 0.34074E+01, & - & 0.34122E+01, 0.34170E+01, 0.34217E+01, 0.34265E+01, 0.34312E+01, & - & 0.34360E+01, 0.34407E+01, 0.34454E+01, 0.34501E+01, 0.34548E+01, & - & 0.34595E+01, 0.34642E+01, 0.34689E+01, 0.34736E+01, 0.34782E+01, & - & 0.34829E+01, 0.34876E+01, 0.34922E+01, 0.34968E+01, 0.35015E+01, & - & 0.35061E+01, 0.35107E+01, 0.35153E+01, 0.35199E+01, 0.35245E+01, & - & 0.35291E+01, 0.35337E+01, 0.35383E+01, 0.35428E+01, 0.35474E+01, & - & 0.35520E+01, 0.35565E+01, 0.35611E+01, 0.35656E+01, 0.35701E+01, & - & 0.35746E+01, 0.35792E+01, 0.35837E+01, 0.35882E+01, 0.35927E+01, & - & 0.35971E+01, 0.36016E+01, 0.36061E+01, 0.36106E+01, 0.36150E+01, & - & 0.36195E+01, 0.36239E+01, 0.36284E+01, 0.36328E+01, 0.36372E+01, & - & 0.36416E+01, 0.36461E+01, 0.36505E+01, 0.36549E+01, 0.36593E+01, & - & 0.36636E+01, 0.36680E+01, 0.36724E+01, 0.36768E+01, 0.36811E+01, & - & 0.36855E+01, 0.36898E+01, 0.36942E+01, 0.36985E+01, 0.37028E+01, & - & 0.37072E+01, 0.37115E+01, 0.37158E+01, 0.37201E+01, 0.37244E+01, & - & 0.37287E+01, 0.37330E+01, 0.37373E+01, 0.37415E+01, 0.37458E+01, & - & 0.37501E+01, 0.37543E+01, 0.37586E+01, 0.37628E+01, 0.37670E+01, & - & 0.37713E+01, 0.37755E+01, 0.37797E+01, 0.37839E+01, 0.37881E+01, & - & 0.37923E+01, 0.37965E+01, 0.38007E+01, 0.38049E+01, 0.38091E+01, & - & 0.38133E+01, 0.38174E+01, 0.38216E+01, 0.38257E+01, 0.38299E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.38743E+01, 0.39148E+01, 0.39548E+01, 0.39942E+01, 0.40331E+01, & - & 0.40715E+01, 0.41094E+01, 0.41467E+01, 0.41836E+01, 0.42200E+01, & - & 0.42560E+01, 0.42915E+01, 0.43265E+01, 0.43611E+01, 0.43953E+01, & - & 0.44291E+01, 0.44624E+01, 0.44954E+01, 0.45280E+01, 0.45601E+01, & - & 0.45919E+01, 0.46234E+01, 0.46544E+01, 0.46852E+01, 0.47155E+01, & - & 0.47456E+01, 0.47752E+01, 0.48046E+01, 0.48336E+01, 0.48624E+01, & - & 0.48908E+01, 0.49189E+01, 0.49467E+01, 0.49742E+01, 0.50014E+01, & - & 0.50283E+01, 0.50550E+01, 0.50814E+01, 0.51075E+01, 0.51333E+01, & - & 0.51589E+01, 0.51842E+01, 0.52093E+01, 0.52341E+01, 0.52587E+01, & - & 0.52830E+01, 0.53071E+01, 0.53309E+01, 0.53546E+01, 0.53780E+01, & - & 0.54011E+01, 0.54241E+01, 0.54468E+01, 0.54694E+01, 0.54917E+01, & - & 0.55138E+01, 0.55357E+01, 0.55574E+01, 0.55789E+01, 0.56002E+01, & - & 0.56214E+01, 0.56423E+01, 0.56630E+01, 0.56836E+01, 0.57040E+01, & - & 0.57242E+01, 0.57442E+01, 0.57640E+01, 0.57837E+01, 0.58032E+01, & - & 0.58226E+01, 0.58417E+01, 0.58608E+01, 0.58796E+01, 0.58983E+01, & - & 0.59168E+01, 0.59352E+01, 0.59534E+01, 0.59715E+01, 0.59894E+01, & - & 0.60072E+01, 0.60248E+01, 0.60423E+01, 0.60597E+01, 0.60769E+01, & - & 0.60940E+01, 0.61109E+01, 0.61277E+01, 0.61444E+01, 0.61609E+01, & - & 0.61773E+01, 0.61936E+01, 0.62097E+01, 0.62257E+01, 0.62416E+01, & - & 0.62574E+01, 0.62731E+01, 0.62886E+01, 0.63040E+01, 0.63193E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.63345E+01, 0.63496E+01, 0.63645E+01, 0.63794E+01, 0.63941E+01, & - & 0.64087E+01, 0.64232E+01, 0.64376E+01, 0.64519E+01, 0.64661E+01, & - & 0.64802E+01, 0.64942E+01, 0.65081E+01, 0.65218E+01, 0.65355E+01, & - & 0.65491E+01, 0.65626E+01, 0.65760E+01, 0.65893E+01, 0.66025E+01, & - & 0.66156E+01, 0.66286E+01, 0.66415E+01, 0.66543E+01, 0.66671E+01, & - & 0.66797E+01, 0.66923E+01, 0.67047E+01, 0.67171E+01, 0.67294E+01, & - & 0.67416E+01, 0.67538E+01, 0.67658E+01, 0.67778E+01, 0.67897E+01, & - & 0.68015E+01, 0.68132E+01, 0.68248E+01, 0.68364E+01, 0.68479E+01, & - & 0.68593E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.49197E-01,-0.10142E+00,-0.12478E+00,-0.13991E+00,-0.15083E+00, & - &-0.15912E+00,-0.16560E+00,-0.17074E+00,-0.17485E+00,-0.17812E+00, & - &-0.18070E+00,-0.18270E+00,-0.18421E+00,-0.18528E+00,-0.18597E+00, & - &-0.18631E+00,-0.18635E+00,-0.18610E+00,-0.18560E+00,-0.18485E+00, & - &-0.18389E+00,-0.18272E+00,-0.18136E+00,-0.17982E+00,-0.17811E+00, & - &-0.17624E+00,-0.17421E+00,-0.17204E+00,-0.16973E+00,-0.16730E+00, & - &-0.16473E+00,-0.16205E+00,-0.15925E+00,-0.15634E+00,-0.15333E+00, & - &-0.15021E+00,-0.14700E+00,-0.14370E+00,-0.14031E+00,-0.13683E+00, & - &-0.13327E+00,-0.12964E+00,-0.12592E+00,-0.12214E+00,-0.11829E+00, & - &-0.11437E+00,-0.11038E+00,-0.10634E+00,-0.10223E+00,-0.98072E-01, & - &-0.93855E-01,-0.89586E-01,-0.85265E-01,-0.80895E-01,-0.76477E-01, & - &-0.72014E-01,-0.67505E-01,-0.62952E-01,-0.58357E-01,-0.53721E-01, & - &-0.49044E-01,-0.44327E-01,-0.39571E-01,-0.34777E-01,-0.29944E-01, & - &-0.25074E-01,-0.20167E-01,-0.15222E-01,-0.10240E-01,-0.52212E-02, & - &-0.16537E-03, 0.49275E-02, 0.10057E-01, 0.15225E-01, 0.20429E-01, & - & 0.25672E-01, 0.30952E-01, 0.36270E-01, 0.41626E-01, 0.47021E-01, & - & 0.52455E-01, 0.57927E-01, 0.63438E-01, 0.68988E-01, 0.74576E-01, & - & 0.80203E-01, 0.85868E-01, 0.91572E-01, 0.97314E-01, 0.10309E+00, & - & 0.10891E+00, 0.11476E+00, 0.12065E+00, 0.12657E+00, 0.13253E+00, & - & 0.13852E+00, 0.14455E+00, 0.15060E+00, 0.15669E+00, 0.16280E+00/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.16895E+00, 0.17512E+00, 0.18131E+00, 0.18753E+00, 0.19377E+00, & - & 0.20004E+00, 0.20632E+00, 0.21262E+00, 0.21894E+00, 0.22528E+00, & - & 0.23163E+00, 0.23799E+00, 0.24437E+00, 0.25075E+00, 0.25715E+00, & - & 0.26355E+00, 0.26996E+00, 0.27637E+00, 0.28279E+00, 0.28921E+00, & - & 0.29563E+00, 0.30206E+00, 0.30848E+00, 0.31491E+00, 0.32133E+00, & - & 0.32775E+00, 0.33417E+00, 0.34058E+00, 0.34699E+00, 0.35339E+00, & - & 0.35979E+00, 0.36618E+00, 0.37256E+00, 0.37893E+00, 0.38530E+00, & - & 0.39166E+00, 0.39801E+00, 0.40435E+00, 0.41068E+00, 0.41700E+00, & - & 0.42331E+00, 0.42961E+00, 0.43590E+00, 0.44218E+00, 0.44844E+00, & - & 0.45470E+00, 0.46094E+00, 0.46717E+00, 0.47339E+00, 0.47960E+00, & - & 0.48580E+00, 0.49198E+00, 0.49815E+00, 0.50431E+00, 0.51046E+00, & - & 0.51659E+00, 0.52271E+00, 0.52882E+00, 0.53491E+00, 0.54099E+00, & - & 0.54706E+00, 0.55312E+00, 0.55916E+00, 0.56519E+00, 0.57121E+00, & - & 0.57721E+00, 0.58320E+00, 0.58918E+00, 0.59514E+00, 0.60109E+00, & - & 0.60703E+00, 0.61295E+00, 0.61886E+00, 0.62476E+00, 0.63065E+00, & - & 0.63652E+00, 0.64237E+00, 0.64822E+00, 0.65405E+00, 0.65987E+00, & - & 0.66567E+00, 0.67146E+00, 0.67724E+00, 0.68301E+00, 0.68876E+00, & - & 0.69450E+00, 0.70022E+00, 0.70593E+00, 0.71163E+00, 0.71732E+00, & - & 0.72299E+00, 0.72865E+00, 0.73430E+00, 0.73993E+00, 0.74555E+00, & - & 0.75116E+00, 0.75675E+00, 0.76233E+00, 0.76790E+00, 0.77346E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.77900E+00, 0.78453E+00, 0.79005E+00, 0.79555E+00, 0.80105E+00, & - & 0.80653E+00, 0.81199E+00, 0.81745E+00, 0.82289E+00, 0.82832E+00, & - & 0.83373E+00, 0.83914E+00, 0.84453E+00, 0.84991E+00, 0.85528E+00, & - & 0.86063E+00, 0.86597E+00, 0.87130E+00, 0.87662E+00, 0.88193E+00, & - & 0.88722E+00, 0.89250E+00, 0.89777E+00, 0.90303E+00, 0.90827E+00, & - & 0.91351E+00, 0.91873E+00, 0.92394E+00, 0.92914E+00, 0.93432E+00, & - & 0.93950E+00, 0.94466E+00, 0.94981E+00, 0.95495E+00, 0.96008E+00, & - & 0.96519E+00, 0.97030E+00, 0.97539E+00, 0.98047E+00, 0.98554E+00, & - & 0.99060E+00, 0.99565E+00, 0.10007E+01, 0.10057E+01, 0.10107E+01, & - & 0.10157E+01, 0.10207E+01, 0.10257E+01, 0.10307E+01, 0.10356E+01, & - & 0.10406E+01, 0.10455E+01, 0.10504E+01, 0.10554E+01, 0.10603E+01, & - & 0.10652E+01, 0.10700E+01, 0.10749E+01, 0.10798E+01, 0.10846E+01, & - & 0.10895E+01, 0.10943E+01, 0.10991E+01, 0.11039E+01, 0.11087E+01, & - & 0.11135E+01, 0.11183E+01, 0.11230E+01, 0.11278E+01, 0.11326E+01, & - & 0.11373E+01, 0.11420E+01, 0.11467E+01, 0.11514E+01, 0.11561E+01, & - & 0.11608E+01, 0.11655E+01, 0.11702E+01, 0.11748E+01, 0.11795E+01, & - & 0.11841E+01, 0.11887E+01, 0.11933E+01, 0.11980E+01, 0.12025E+01, & - & 0.12071E+01, 0.12117E+01, 0.12163E+01, 0.12208E+01, 0.12254E+01, & - & 0.12299E+01, 0.12345E+01, 0.12390E+01, 0.12435E+01, 0.12480E+01, & - & 0.12525E+01, 0.12570E+01, 0.12614E+01, 0.12659E+01, 0.12704E+01/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.12748E+01, 0.12792E+01, 0.12837E+01, 0.12881E+01, 0.12925E+01, & - & 0.12969E+01, 0.13013E+01, 0.13057E+01, 0.13101E+01, 0.13144E+01, & - & 0.13188E+01, 0.13231E+01, 0.13275E+01, 0.13318E+01, 0.13361E+01, & - & 0.13404E+01, 0.13447E+01, 0.13490E+01, 0.13533E+01, 0.13576E+01, & - & 0.13619E+01, 0.13661E+01, 0.13704E+01, 0.13746E+01, 0.13788E+01, & - & 0.13831E+01, 0.13873E+01, 0.13915E+01, 0.13957E+01, 0.13999E+01, & - & 0.14041E+01, 0.14083E+01, 0.14124E+01, 0.14166E+01, 0.14207E+01, & - & 0.14249E+01, 0.14290E+01, 0.14331E+01, 0.14373E+01, 0.14414E+01, & - & 0.14455E+01, 0.14496E+01, 0.14537E+01, 0.14577E+01, 0.14618E+01, & - & 0.14659E+01, 0.14699E+01, 0.14740E+01, 0.14780E+01, 0.14820E+01, & - & 0.14861E+01, 0.14901E+01, 0.14941E+01, 0.14981E+01, 0.15021E+01, & - & 0.15061E+01, 0.15101E+01, 0.15140E+01, 0.15180E+01, 0.15219E+01, & - & 0.15259E+01, 0.15298E+01, 0.15338E+01, 0.15377E+01, 0.15416E+01, & - & 0.15455E+01, 0.15494E+01, 0.15533E+01, 0.15572E+01, 0.15611E+01, & - & 0.15650E+01, 0.15688E+01, 0.15727E+01, 0.15765E+01, 0.15804E+01, & - & 0.15842E+01, 0.15881E+01, 0.15919E+01, 0.15957E+01, 0.15995E+01, & - & 0.16033E+01, 0.16071E+01, 0.16109E+01, 0.16147E+01, 0.16185E+01, & - & 0.16222E+01, 0.16260E+01, 0.16297E+01, 0.16335E+01, 0.16372E+01, & - & 0.16410E+01, 0.16447E+01, 0.16484E+01, 0.16521E+01, 0.16558E+01, & - & 0.16595E+01, 0.16632E+01, 0.16669E+01, 0.16706E+01, 0.16743E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.16779E+01, 0.16816E+01, 0.16852E+01, 0.16889E+01, 0.16925E+01, & - & 0.16962E+01, 0.16998E+01, 0.17034E+01, 0.17070E+01, 0.17106E+01, & - & 0.17142E+01, 0.17178E+01, 0.17214E+01, 0.17250E+01, 0.17286E+01, & - & 0.17321E+01, 0.17357E+01, 0.17393E+01, 0.17428E+01, 0.17464E+01, & - & 0.17499E+01, 0.17534E+01, 0.17569E+01, 0.17605E+01, 0.17640E+01, & - & 0.17675E+01, 0.17710E+01, 0.17745E+01, 0.17780E+01, 0.17815E+01, & - & 0.17849E+01, 0.17884E+01, 0.17919E+01, 0.17953E+01, 0.17988E+01, & - & 0.18022E+01, 0.18057E+01, 0.18091E+01, 0.18125E+01, 0.18159E+01, & - & 0.18194E+01, 0.18228E+01, 0.18262E+01, 0.18296E+01, 0.18330E+01, & - & 0.18364E+01, 0.18397E+01, 0.18431E+01, 0.18465E+01, 0.18498E+01, & - & 0.18532E+01, 0.18566E+01, 0.18599E+01, 0.18632E+01, 0.18666E+01, & - & 0.18699E+01, 0.18732E+01, 0.18766E+01, 0.18799E+01, 0.18832E+01, & - & 0.18865E+01, 0.18898E+01, 0.18931E+01, 0.18964E+01, 0.18996E+01, & - & 0.19029E+01, 0.19062E+01, 0.19094E+01, 0.19127E+01, 0.19160E+01, & - & 0.19192E+01, 0.19224E+01, 0.19257E+01, 0.19289E+01, 0.19321E+01, & - & 0.19354E+01, 0.19386E+01, 0.19418E+01, 0.19450E+01, 0.19482E+01, & - & 0.19514E+01, 0.19546E+01, 0.19577E+01, 0.19609E+01, 0.19641E+01, & - & 0.19673E+01, 0.19704E+01, 0.19736E+01, 0.19767E+01, 0.19799E+01, & - & 0.19830E+01, 0.19862E+01, 0.19893E+01, 0.19924E+01, 0.19955E+01, & - & 0.19987E+01, 0.20018E+01, 0.20049E+01, 0.20080E+01, 0.20111E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.20142E+01, 0.20173E+01, 0.20203E+01, 0.20234E+01, 0.20265E+01, & - & 0.20295E+01, 0.20326E+01, 0.20357E+01, 0.20387E+01, 0.20418E+01, & - & 0.20448E+01, 0.20478E+01, 0.20509E+01, 0.20539E+01, 0.20569E+01, & - & 0.20599E+01, 0.20630E+01, 0.20660E+01, 0.20690E+01, 0.20720E+01, & - & 0.20750E+01, 0.20780E+01, 0.20809E+01, 0.20839E+01, 0.20869E+01, & - & 0.20899E+01, 0.20928E+01, 0.20958E+01, 0.20987E+01, 0.21017E+01, & - & 0.21046E+01, 0.21076E+01, 0.21105E+01, 0.21135E+01, 0.21164E+01, & - & 0.21193E+01, 0.21222E+01, 0.21251E+01, 0.21281E+01, 0.21310E+01, & - & 0.21339E+01, 0.21368E+01, 0.21397E+01, 0.21425E+01, 0.21454E+01, & - & 0.21483E+01, 0.21512E+01, 0.21541E+01, 0.21569E+01, 0.21598E+01, & - & 0.21626E+01, 0.21655E+01, 0.21683E+01, 0.21712E+01, 0.21740E+01, & - & 0.21769E+01, 0.21797E+01, 0.21825E+01, 0.21853E+01, 0.21882E+01, & - & 0.21910E+01, 0.21938E+01, 0.21966E+01, 0.21994E+01, 0.22022E+01, & - & 0.22050E+01, 0.22078E+01, 0.22106E+01, 0.22133E+01, 0.22161E+01, & - & 0.22189E+01, 0.22216E+01, 0.22244E+01, 0.22272E+01, 0.22299E+01, & - & 0.22327E+01, 0.22354E+01, 0.22382E+01, 0.22409E+01, 0.22436E+01, & - & 0.22464E+01, 0.22491E+01, 0.22518E+01, 0.22545E+01, 0.22572E+01, & - & 0.22600E+01, 0.22627E+01, 0.22654E+01, 0.22681E+01, 0.22708E+01, & - & 0.22734E+01, 0.22761E+01, 0.22788E+01, 0.22815E+01, 0.22842E+01, & - & 0.22868E+01, 0.22895E+01, 0.22922E+01, 0.22948E+01, 0.22975E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.23259E+01, 0.23518E+01, 0.23774E+01, 0.24026E+01, 0.24274E+01, & - & 0.24519E+01, 0.24761E+01, 0.24999E+01, 0.25234E+01, 0.25466E+01, & - & 0.25694E+01, 0.25920E+01, 0.26142E+01, 0.26362E+01, 0.26579E+01, & - & 0.26793E+01, 0.27004E+01, 0.27213E+01, 0.27419E+01, 0.27622E+01, & - & 0.27823E+01, 0.28022E+01, 0.28218E+01, 0.28411E+01, 0.28602E+01, & - & 0.28791E+01, 0.28978E+01, 0.29162E+01, 0.29344E+01, 0.29524E+01, & - & 0.29702E+01, 0.29878E+01, 0.30052E+01, 0.30224E+01, 0.30393E+01, & - & 0.30561E+01, 0.30727E+01, 0.30891E+01, 0.31054E+01, 0.31214E+01, & - & 0.31373E+01, 0.31530E+01, 0.31685E+01, 0.31838E+01, 0.31990E+01, & - & 0.32140E+01, 0.32289E+01, 0.32436E+01, 0.32581E+01, 0.32725E+01, & - & 0.32868E+01, 0.33008E+01, 0.33148E+01, 0.33286E+01, 0.33422E+01, & - & 0.33557E+01, 0.33691E+01, 0.33823E+01, 0.33954E+01, 0.34084E+01, & - & 0.34212E+01, 0.34339E+01, 0.34465E+01, 0.34589E+01, 0.34712E+01, & - & 0.34834E+01, 0.34955E+01, 0.35075E+01, 0.35193E+01, 0.35310E+01, & - & 0.35426E+01, 0.35541E+01, 0.35655E+01, 0.35768E+01, 0.35880E+01, & - & 0.35990E+01, 0.36100E+01, 0.36208E+01, 0.36316E+01, 0.36422E+01, & - & 0.36527E+01, 0.36632E+01, 0.36735E+01, 0.36838E+01, 0.36939E+01, & - & 0.37040E+01, 0.37139E+01, 0.37238E+01, 0.37336E+01, 0.37432E+01, & - & 0.37528E+01, 0.37623E+01, 0.37718E+01, 0.37811E+01, 0.37903E+01, & - & 0.37995E+01, 0.38086E+01, 0.38176E+01, 0.38265E+01, 0.38353E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.38441E+01, 0.38528E+01, 0.38614E+01, 0.38699E+01, 0.38783E+01, & - & 0.38867E+01, 0.38950E+01, 0.39032E+01, 0.39113E+01, 0.39194E+01, & - & 0.39274E+01, 0.39353E+01, 0.39432E+01, 0.39510E+01, 0.39587E+01, & - & 0.39664E+01, 0.39740E+01, 0.39815E+01, 0.39889E+01, 0.39963E+01, & - & 0.40037E+01, 0.40109E+01, 0.40181E+01, 0.40253E+01, 0.40323E+01, & - & 0.40393E+01, 0.40463E+01, 0.40532E+01, 0.40600E+01, 0.40668E+01, & - & 0.40735E+01, 0.40802E+01, 0.40867E+01, 0.40933E+01, 0.40998E+01, & - & 0.41062E+01, 0.41126E+01, 0.41189E+01, 0.41252E+01, 0.41314E+01, & - & 0.41375E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.81873E-01,-0.17829E+00,-0.22674E+00,-0.26117E+00,-0.28833E+00, & - &-0.31093E+00,-0.33037E+00,-0.34746E+00,-0.36275E+00,-0.37660E+00, & - &-0.38926E+00,-0.40094E+00,-0.41177E+00,-0.42187E+00,-0.43134E+00, & - &-0.44025E+00,-0.44867E+00,-0.45663E+00,-0.46420E+00,-0.47139E+00, & - &-0.47826E+00,-0.48481E+00,-0.49108E+00,-0.49709E+00,-0.50285E+00, & - &-0.50838E+00,-0.51370E+00,-0.51882E+00,-0.52375E+00,-0.52851E+00, & - &-0.53309E+00,-0.53751E+00,-0.54179E+00,-0.54591E+00,-0.54990E+00, & - &-0.55376E+00,-0.55750E+00,-0.56111E+00,-0.56461E+00,-0.56800E+00, & - &-0.57129E+00,-0.57447E+00,-0.57756E+00,-0.58056E+00,-0.58346E+00, & - &-0.58628E+00,-0.58902E+00,-0.59167E+00,-0.59425E+00,-0.59676E+00, & - &-0.59919E+00,-0.60156E+00,-0.60386E+00,-0.60609E+00,-0.60827E+00, & - &-0.61038E+00,-0.61243E+00,-0.61443E+00,-0.61638E+00,-0.61827E+00, & - &-0.62011E+00,-0.62191E+00,-0.62365E+00,-0.62535E+00,-0.62701E+00, & - &-0.62862E+00,-0.63019E+00,-0.63172E+00,-0.63321E+00,-0.63466E+00, & - &-0.63607E+00,-0.63745E+00,-0.63879E+00,-0.64009E+00,-0.64136E+00, & - &-0.64260E+00,-0.64381E+00,-0.64498E+00,-0.64613E+00,-0.64724E+00, & - &-0.64832E+00,-0.64937E+00,-0.65040E+00,-0.65140E+00,-0.65237E+00, & - &-0.65331E+00,-0.65422E+00,-0.65512E+00,-0.65598E+00,-0.65682E+00, & - &-0.65764E+00,-0.65843E+00,-0.65920E+00,-0.65995E+00,-0.66068E+00, & - &-0.66138E+00,-0.66206E+00,-0.66273E+00,-0.66337E+00,-0.66399E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.66460E+00,-0.66519E+00,-0.66576E+00,-0.66631E+00,-0.66685E+00, & - &-0.66737E+00,-0.66787E+00,-0.66836E+00,-0.66884E+00,-0.66930E+00, & - &-0.66975E+00,-0.67019E+00,-0.67062E+00,-0.67103E+00,-0.67143E+00, & - &-0.67182E+00,-0.67220E+00,-0.67258E+00,-0.67294E+00,-0.67329E+00, & - &-0.67364E+00,-0.67397E+00,-0.67430E+00,-0.67462E+00,-0.67494E+00, & - &-0.67524E+00,-0.67555E+00,-0.67584E+00,-0.67613E+00,-0.67641E+00, & - &-0.67669E+00,-0.67696E+00,-0.67723E+00,-0.67750E+00,-0.67775E+00, & - &-0.67801E+00,-0.67826E+00,-0.67851E+00,-0.67875E+00,-0.67899E+00, & - &-0.67923E+00,-0.67946E+00,-0.67969E+00,-0.67992E+00,-0.68015E+00, & - &-0.68037E+00,-0.68059E+00,-0.68081E+00,-0.68103E+00,-0.68124E+00, & - &-0.68145E+00,-0.68166E+00,-0.68187E+00,-0.68208E+00,-0.68228E+00, & - &-0.68249E+00,-0.68269E+00,-0.68289E+00,-0.68309E+00,-0.68329E+00, & - &-0.68349E+00,-0.68368E+00,-0.68388E+00,-0.68408E+00,-0.68427E+00, & - &-0.68446E+00,-0.68465E+00,-0.68485E+00,-0.68504E+00,-0.68523E+00, & - &-0.68542E+00,-0.68561E+00,-0.68580E+00,-0.68599E+00,-0.68618E+00, & - &-0.68636E+00,-0.68655E+00,-0.68674E+00,-0.68693E+00,-0.68712E+00, & - &-0.68730E+00,-0.68749E+00,-0.68768E+00,-0.68787E+00,-0.68805E+00, & - &-0.68824E+00,-0.68843E+00,-0.68862E+00,-0.68880E+00,-0.68899E+00, & - &-0.68918E+00,-0.68937E+00,-0.68956E+00,-0.68975E+00,-0.68994E+00, & - &-0.69013E+00,-0.69032E+00,-0.69051E+00,-0.69070E+00,-0.69089E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.69108E+00,-0.69128E+00,-0.69147E+00,-0.69166E+00,-0.69186E+00, & - &-0.69205E+00,-0.69225E+00,-0.69244E+00,-0.69264E+00,-0.69283E+00, & - &-0.69303E+00,-0.69323E+00,-0.69343E+00,-0.69363E+00,-0.69383E+00, & - &-0.69403E+00,-0.69423E+00,-0.69443E+00,-0.69463E+00,-0.69484E+00, & - &-0.69504E+00,-0.69524E+00,-0.69545E+00,-0.69566E+00,-0.69586E+00, & - &-0.69607E+00,-0.69628E+00,-0.69649E+00,-0.69670E+00,-0.69691E+00, & - &-0.69712E+00,-0.69733E+00,-0.69754E+00,-0.69776E+00,-0.69797E+00, & - &-0.69818E+00,-0.69840E+00,-0.69862E+00,-0.69883E+00,-0.69905E+00, & - &-0.69927E+00,-0.69949E+00,-0.69971E+00,-0.69993E+00,-0.70016E+00, & - &-0.70038E+00,-0.70060E+00,-0.70083E+00,-0.70106E+00,-0.70128E+00, & - &-0.70151E+00,-0.70174E+00,-0.70197E+00,-0.70220E+00,-0.70243E+00, & - &-0.70266E+00,-0.70289E+00,-0.70313E+00,-0.70336E+00,-0.70360E+00, & - &-0.70383E+00,-0.70407E+00,-0.70431E+00,-0.70455E+00,-0.70479E+00, & - &-0.70503E+00,-0.70527E+00,-0.70551E+00,-0.70575E+00,-0.70600E+00, & - &-0.70624E+00,-0.70649E+00,-0.70674E+00,-0.70698E+00,-0.70723E+00, & - &-0.70748E+00,-0.70773E+00,-0.70798E+00,-0.70824E+00,-0.70849E+00, & - &-0.70874E+00,-0.70900E+00,-0.70925E+00,-0.70951E+00,-0.70977E+00, & - &-0.71002E+00,-0.71028E+00,-0.71054E+00,-0.71080E+00,-0.71107E+00, & - &-0.71133E+00,-0.71159E+00,-0.71186E+00,-0.71212E+00,-0.71239E+00, & - &-0.71266E+00,-0.71292E+00,-0.71319E+00,-0.71346E+00,-0.71373E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.71401E+00,-0.71428E+00,-0.71455E+00,-0.71483E+00,-0.71510E+00, & - &-0.71538E+00,-0.71565E+00,-0.71593E+00,-0.71621E+00,-0.71649E+00, & - &-0.71677E+00,-0.71705E+00,-0.71733E+00,-0.71762E+00,-0.71790E+00, & - &-0.71818E+00,-0.71847E+00,-0.71876E+00,-0.71904E+00,-0.71933E+00, & - &-0.71962E+00,-0.71991E+00,-0.72020E+00,-0.72049E+00,-0.72079E+00, & - &-0.72108E+00,-0.72137E+00,-0.72167E+00,-0.72196E+00,-0.72226E+00, & - &-0.72256E+00,-0.72286E+00,-0.72316E+00,-0.72346E+00,-0.72376E+00, & - &-0.72406E+00,-0.72436E+00,-0.72466E+00,-0.72497E+00,-0.72527E+00, & - &-0.72558E+00,-0.72589E+00,-0.72619E+00,-0.72650E+00,-0.72681E+00, & - &-0.72712E+00,-0.72743E+00,-0.72774E+00,-0.72806E+00,-0.72837E+00, & - &-0.72868E+00,-0.72900E+00,-0.72932E+00,-0.72963E+00,-0.72995E+00, & - &-0.73027E+00,-0.73059E+00,-0.73091E+00,-0.73123E+00,-0.73155E+00, & - &-0.73187E+00,-0.73220E+00,-0.73252E+00,-0.73284E+00,-0.73317E+00, & - &-0.73350E+00,-0.73382E+00,-0.73415E+00,-0.73448E+00,-0.73481E+00, & - &-0.73514E+00,-0.73547E+00,-0.73580E+00,-0.73614E+00,-0.73647E+00, & - &-0.73680E+00,-0.73714E+00,-0.73747E+00,-0.73781E+00,-0.73815E+00, & - &-0.73849E+00,-0.73882E+00,-0.73916E+00,-0.73951E+00,-0.73985E+00, & - &-0.74019E+00,-0.74053E+00,-0.74087E+00,-0.74122E+00,-0.74156E+00, & - &-0.74191E+00,-0.74226E+00,-0.74260E+00,-0.74295E+00,-0.74330E+00, & - &-0.74365E+00,-0.74400E+00,-0.74435E+00,-0.74470E+00,-0.74506E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.74541E+00,-0.74576E+00,-0.74612E+00,-0.74647E+00,-0.74683E+00, & - &-0.74719E+00,-0.74755E+00,-0.74790E+00,-0.74826E+00,-0.74862E+00, & - &-0.74898E+00,-0.74935E+00,-0.74971E+00,-0.75007E+00,-0.75043E+00, & - &-0.75080E+00,-0.75116E+00,-0.75153E+00,-0.75190E+00,-0.75226E+00, & - &-0.75263E+00,-0.75300E+00,-0.75337E+00,-0.75374E+00,-0.75411E+00, & - &-0.75448E+00,-0.75485E+00,-0.75523E+00,-0.75560E+00,-0.75597E+00, & - &-0.75635E+00,-0.75673E+00,-0.75710E+00,-0.75748E+00,-0.75786E+00, & - &-0.75824E+00,-0.75861E+00,-0.75899E+00,-0.75937E+00,-0.75976E+00, & - &-0.76014E+00,-0.76052E+00,-0.76090E+00,-0.76129E+00,-0.76167E+00, & - &-0.76206E+00,-0.76244E+00,-0.76283E+00,-0.76322E+00,-0.76361E+00, & - &-0.76399E+00,-0.76438E+00,-0.76477E+00,-0.76517E+00,-0.76556E+00, & - &-0.76595E+00,-0.76634E+00,-0.76673E+00,-0.76713E+00,-0.76752E+00, & - &-0.76792E+00,-0.76831E+00,-0.76871E+00,-0.76911E+00,-0.76951E+00, & - &-0.76991E+00,-0.77030E+00,-0.77070E+00,-0.77111E+00,-0.77151E+00, & - &-0.77191E+00,-0.77231E+00,-0.77271E+00,-0.77312E+00,-0.77352E+00, & - &-0.77393E+00,-0.77433E+00,-0.77474E+00,-0.77515E+00,-0.77555E+00, & - &-0.77596E+00,-0.77637E+00,-0.77678E+00,-0.77719E+00,-0.77760E+00, & - &-0.77801E+00,-0.77842E+00,-0.77884E+00,-0.77925E+00,-0.77966E+00, & - &-0.78008E+00,-0.78049E+00,-0.78091E+00,-0.78133E+00,-0.78174E+00, & - &-0.78216E+00,-0.78258E+00,-0.78300E+00,-0.78342E+00,-0.78384E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.78426E+00,-0.78468E+00,-0.78510E+00,-0.78552E+00,-0.78594E+00, & - &-0.78637E+00,-0.78679E+00,-0.78722E+00,-0.78764E+00,-0.78807E+00, & - &-0.78849E+00,-0.78892E+00,-0.78935E+00,-0.78978E+00,-0.79021E+00, & - &-0.79064E+00,-0.79107E+00,-0.79150E+00,-0.79193E+00,-0.79236E+00, & - &-0.79279E+00,-0.79323E+00,-0.79366E+00,-0.79409E+00,-0.79453E+00, & - &-0.79496E+00,-0.79540E+00,-0.79583E+00,-0.79627E+00,-0.79671E+00, & - &-0.79715E+00,-0.79759E+00,-0.79803E+00,-0.79846E+00,-0.79891E+00, & - &-0.79935E+00,-0.79979E+00,-0.80023E+00,-0.80067E+00,-0.80112E+00, & - &-0.80156E+00,-0.80200E+00,-0.80245E+00,-0.80289E+00,-0.80334E+00, & - &-0.80379E+00,-0.80423E+00,-0.80468E+00,-0.80513E+00,-0.80558E+00, & - &-0.80603E+00,-0.80648E+00,-0.80693E+00,-0.80738E+00,-0.80783E+00, & - &-0.80828E+00,-0.80873E+00,-0.80919E+00,-0.80964E+00,-0.81009E+00, & - &-0.81055E+00,-0.81100E+00,-0.81146E+00,-0.81191E+00,-0.81237E+00, & - &-0.81283E+00,-0.81329E+00,-0.81374E+00,-0.81420E+00,-0.81466E+00, & - &-0.81512E+00,-0.81558E+00,-0.81604E+00,-0.81650E+00,-0.81697E+00, & - &-0.81743E+00,-0.81789E+00,-0.81836E+00,-0.81882E+00,-0.81928E+00, & - &-0.81975E+00,-0.82021E+00,-0.82068E+00,-0.82115E+00,-0.82161E+00, & - &-0.82208E+00,-0.82255E+00,-0.82302E+00,-0.82349E+00,-0.82396E+00, & - &-0.82443E+00,-0.82490E+00,-0.82537E+00,-0.82584E+00,-0.82631E+00, & - &-0.82678E+00,-0.82726E+00,-0.82773E+00,-0.82820E+00,-0.82868E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.83384E+00,-0.83866E+00,-0.84353E+00,-0.84845E+00,-0.85341E+00, & - &-0.85841E+00,-0.86346E+00,-0.86856E+00,-0.87369E+00,-0.87886E+00, & - &-0.88408E+00,-0.88933E+00,-0.89463E+00,-0.89996E+00,-0.90532E+00, & - &-0.91073E+00,-0.91617E+00,-0.92164E+00,-0.92715E+00,-0.93270E+00, & - &-0.93828E+00,-0.94389E+00,-0.94953E+00,-0.95520E+00,-0.96091E+00, & - &-0.96664E+00,-0.97241E+00,-0.97820E+00,-0.98402E+00,-0.98987E+00, & - &-0.99575E+00,-0.10017E+01,-0.10076E+01,-0.10136E+01,-0.10195E+01, & - &-0.10256E+01,-0.10316E+01,-0.10377E+01,-0.10437E+01,-0.10499E+01, & - &-0.10560E+01,-0.10621E+01,-0.10683E+01,-0.10745E+01,-0.10808E+01, & - &-0.10870E+01,-0.10933E+01,-0.10996E+01,-0.11059E+01,-0.11122E+01, & - &-0.11186E+01,-0.11249E+01,-0.11313E+01,-0.11377E+01,-0.11442E+01, & - &-0.11506E+01,-0.11571E+01,-0.11636E+01,-0.11701E+01,-0.11766E+01, & - &-0.11831E+01,-0.11897E+01,-0.11963E+01,-0.12028E+01,-0.12095E+01, & - &-0.12161E+01,-0.12227E+01,-0.12294E+01,-0.12360E+01,-0.12427E+01, & - &-0.12494E+01,-0.12561E+01,-0.12629E+01,-0.12696E+01,-0.12764E+01, & - &-0.12831E+01,-0.12899E+01,-0.12967E+01,-0.13035E+01,-0.13104E+01, & - &-0.13172E+01,-0.13241E+01,-0.13309E+01,-0.13378E+01,-0.13447E+01, & - &-0.13516E+01,-0.13585E+01,-0.13655E+01,-0.13724E+01,-0.13794E+01, & - &-0.13863E+01,-0.13933E+01,-0.14003E+01,-0.14073E+01,-0.14143E+01, & - &-0.14213E+01,-0.14284E+01,-0.14354E+01,-0.14424E+01,-0.14495E+01/ - - DATA (BNC13M(I),I=701,741)/ & - &-0.14566E+01,-0.14637E+01,-0.14708E+01,-0.14779E+01,-0.14850E+01, & - &-0.14921E+01,-0.14992E+01,-0.15064E+01,-0.15135E+01,-0.15207E+01, & - &-0.15279E+01,-0.15351E+01,-0.15422E+01,-0.15494E+01,-0.15567E+01, & - &-0.15639E+01,-0.15711E+01,-0.15783E+01,-0.15856E+01,-0.15928E+01, & - &-0.16001E+01,-0.16073E+01,-0.16146E+01,-0.16219E+01,-0.16292E+01, & - &-0.16365E+01,-0.16438E+01,-0.16511E+01,-0.16584E+01,-0.16657E+01, & - &-0.16731E+01,-0.16804E+01,-0.16878E+01,-0.16951E+01,-0.17025E+01, & - &-0.17099E+01,-0.17172E+01,-0.17246E+01,-0.17320E+01,-0.17394E+01, & - &-0.17468E+01 & - & / - ENDBLOCKDATA KMCF198 diff --git a/src/arome/chem/internals/data_kmcf223a.F b/src/arome/chem/internals/data_kmcf223a.F deleted file mode 100644 index f53aae7e9011ec6a2edc4e1d6039087ee7ecb6f0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf223a.F +++ /dev/null @@ -1,2218 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf223a.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:30 $ -!----------------------------------------------------------------- - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA KMCF223A -! *** CONTAINS THE DATA FOR KUSSIK-MEISNER BINARY COEFFICIENT ARRAYS -! NEEDED IN SUBROUTINE KM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA KMCF223 -! - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC223/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - DATA (BNC01M(I),I=1,100)/ & - &-0.48562E-01,-0.10092E+00,-0.12448E+00,-0.13974E+00,-0.15075E+00, & - &-0.15911E+00,-0.16566E+00,-0.17088E+00,-0.17509E+00,-0.17849E+00, & - &-0.18124E+00,-0.18345E+00,-0.18522E+00,-0.18659E+00,-0.18764E+00, & - &-0.18840E+00,-0.18891E+00,-0.18920E+00,-0.18930E+00,-0.18922E+00, & - &-0.18898E+00,-0.18861E+00,-0.18811E+00,-0.18750E+00,-0.18678E+00, & - &-0.18598E+00,-0.18509E+00,-0.18412E+00,-0.18309E+00,-0.18199E+00, & - &-0.18084E+00,-0.17964E+00,-0.17839E+00,-0.17709E+00,-0.17576E+00, & - &-0.17440E+00,-0.17300E+00,-0.17158E+00,-0.17013E+00,-0.16865E+00, & - &-0.16716E+00,-0.16565E+00,-0.16412E+00,-0.16258E+00,-0.16102E+00, & - &-0.15946E+00,-0.15788E+00,-0.15629E+00,-0.15470E+00,-0.15310E+00, & - &-0.15149E+00,-0.14988E+00,-0.14826E+00,-0.14664E+00,-0.14501E+00, & - &-0.14338E+00,-0.14174E+00,-0.14010E+00,-0.13846E+00,-0.13681E+00, & - &-0.13516E+00,-0.13350E+00,-0.13184E+00,-0.13017E+00,-0.12850E+00, & - &-0.12682E+00,-0.12514E+00,-0.12344E+00,-0.12174E+00,-0.12003E+00, & - &-0.11832E+00,-0.11659E+00,-0.11485E+00,-0.11311E+00,-0.11135E+00, & - &-0.10958E+00,-0.10780E+00,-0.10600E+00,-0.10420E+00,-0.10237E+00, & - &-0.10054E+00,-0.98688E-01,-0.96823E-01,-0.94943E-01,-0.93048E-01, & - &-0.91136E-01,-0.89209E-01,-0.87266E-01,-0.85307E-01,-0.83332E-01, & - &-0.81341E-01,-0.79334E-01,-0.77312E-01,-0.75274E-01,-0.73220E-01, & - &-0.71151E-01,-0.69068E-01,-0.66970E-01,-0.64858E-01,-0.62732E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.60593E-01,-0.58441E-01,-0.56277E-01,-0.54101E-01,-0.51914E-01, & - &-0.49716E-01,-0.47508E-01,-0.45291E-01,-0.43064E-01,-0.40828E-01, & - &-0.38585E-01,-0.36334E-01,-0.34076E-01,-0.31812E-01,-0.29542E-01, & - &-0.27266E-01,-0.24986E-01,-0.22701E-01,-0.20412E-01,-0.18120E-01, & - &-0.15825E-01,-0.13526E-01,-0.11226E-01,-0.89235E-02,-0.66195E-02, & - &-0.43141E-02,-0.20079E-02, 0.29912E-03, 0.26064E-02, 0.49139E-02, & - & 0.72212E-02, 0.95283E-02, 0.11835E-01, 0.14140E-01, 0.16445E-01, & - & 0.18749E-01, 0.21052E-01, 0.23353E-01, 0.25652E-01, 0.27950E-01, & - & 0.30246E-01, 0.32540E-01, 0.34833E-01, 0.37123E-01, 0.39411E-01, & - & 0.41697E-01, 0.43980E-01, 0.46261E-01, 0.48540E-01, 0.50816E-01, & - & 0.53090E-01, 0.55361E-01, 0.57630E-01, 0.59895E-01, 0.62158E-01, & - & 0.64419E-01, 0.66676E-01, 0.68931E-01, 0.71182E-01, 0.73431E-01, & - & 0.75677E-01, 0.77920E-01, 0.80160E-01, 0.82397E-01, 0.84631E-01, & - & 0.86861E-01, 0.89089E-01, 0.91314E-01, 0.93535E-01, 0.95754E-01, & - & 0.97969E-01, 0.10018E+00, 0.10239E+00, 0.10459E+00, 0.10680E+00, & - & 0.10900E+00, 0.11119E+00, 0.11338E+00, 0.11557E+00, 0.11776E+00, & - & 0.11994E+00, 0.12212E+00, 0.12430E+00, 0.12647E+00, 0.12864E+00, & - & 0.13080E+00, 0.13297E+00, 0.13512E+00, 0.13728E+00, 0.13943E+00, & - & 0.14158E+00, 0.14373E+00, 0.14587E+00, 0.14801E+00, 0.15014E+00, & - & 0.15227E+00, 0.15440E+00, 0.15652E+00, 0.15864E+00, 0.16076E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.16288E+00, 0.16499E+00, 0.16709E+00, 0.16920E+00, 0.17129E+00, & - & 0.17339E+00, 0.17548E+00, 0.17757E+00, 0.17966E+00, 0.18174E+00, & - & 0.18382E+00, 0.18589E+00, 0.18796E+00, 0.19003E+00, 0.19210E+00, & - & 0.19416E+00, 0.19621E+00, 0.19827E+00, 0.20032E+00, 0.20236E+00, & - & 0.20441E+00, 0.20644E+00, 0.20848E+00, 0.21051E+00, 0.21254E+00, & - & 0.21457E+00, 0.21659E+00, 0.21860E+00, 0.22062E+00, 0.22263E+00, & - & 0.22464E+00, 0.22664E+00, 0.22864E+00, 0.23064E+00, 0.23263E+00, & - & 0.23462E+00, 0.23660E+00, 0.23859E+00, 0.24056E+00, 0.24254E+00, & - & 0.24451E+00, 0.24648E+00, 0.24844E+00, 0.25040E+00, 0.25236E+00, & - & 0.25431E+00, 0.25627E+00, 0.25821E+00, 0.26015E+00, 0.26209E+00, & - & 0.26403E+00, 0.26596E+00, 0.26789E+00, 0.26982E+00, 0.27174E+00, & - & 0.27366E+00, 0.27557E+00, 0.27748E+00, 0.27939E+00, 0.28130E+00, & - & 0.28320E+00, 0.28510E+00, 0.28699E+00, 0.28888E+00, 0.29077E+00, & - & 0.29265E+00, 0.29453E+00, 0.29641E+00, 0.29828E+00, 0.30015E+00, & - & 0.30202E+00, 0.30388E+00, 0.30574E+00, 0.30760E+00, 0.30945E+00, & - & 0.31130E+00, 0.31314E+00, 0.31499E+00, 0.31683E+00, 0.31866E+00, & - & 0.32049E+00, 0.32232E+00, 0.32415E+00, 0.32597E+00, 0.32779E+00, & - & 0.32961E+00, 0.33142E+00, 0.33323E+00, 0.33503E+00, 0.33683E+00, & - & 0.33863E+00, 0.34043E+00, 0.34222E+00, 0.34401E+00, 0.34579E+00, & - & 0.34758E+00, 0.34936E+00, 0.35113E+00, 0.35290E+00, 0.35467E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.35644E+00, 0.35820E+00, 0.35996E+00, 0.36172E+00, 0.36347E+00, & - & 0.36522E+00, 0.36696E+00, 0.36871E+00, 0.37045E+00, 0.37218E+00, & - & 0.37392E+00, 0.37565E+00, 0.37737E+00, 0.37910E+00, 0.38082E+00, & - & 0.38254E+00, 0.38425E+00, 0.38596E+00, 0.38767E+00, 0.38937E+00, & - & 0.39108E+00, 0.39277E+00, 0.39447E+00, 0.39616E+00, 0.39785E+00, & - & 0.39954E+00, 0.40122E+00, 0.40290E+00, 0.40458E+00, 0.40625E+00, & - & 0.40792E+00, 0.40959E+00, 0.41125E+00, 0.41291E+00, 0.41457E+00, & - & 0.41623E+00, 0.41788E+00, 0.41953E+00, 0.42117E+00, 0.42281E+00, & - & 0.42445E+00, 0.42609E+00, 0.42773E+00, 0.42936E+00, 0.43098E+00, & - & 0.43261E+00, 0.43423E+00, 0.43585E+00, 0.43747E+00, 0.43908E+00, & - & 0.44069E+00, 0.44230E+00, 0.44390E+00, 0.44550E+00, 0.44710E+00, & - & 0.44869E+00, 0.45029E+00, 0.45188E+00, 0.45346E+00, 0.45505E+00, & - & 0.45663E+00, 0.45820E+00, 0.45978E+00, 0.46135E+00, 0.46292E+00, & - & 0.46449E+00, 0.46605E+00, 0.46761E+00, 0.46917E+00, 0.47072E+00, & - & 0.47228E+00, 0.47383E+00, 0.47537E+00, 0.47692E+00, 0.47846E+00, & - & 0.47999E+00, 0.48153E+00, 0.48306E+00, 0.48459E+00, 0.48612E+00, & - & 0.48764E+00, 0.48916E+00, 0.49068E+00, 0.49220E+00, 0.49371E+00, & - & 0.49522E+00, 0.49673E+00, 0.49824E+00, 0.49974E+00, 0.50124E+00, & - & 0.50273E+00, 0.50423E+00, 0.50572E+00, 0.50721E+00, 0.50869E+00, & - & 0.51018E+00, 0.51166E+00, 0.51314E+00, 0.51461E+00, 0.51608E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.51755E+00, 0.51902E+00, 0.52049E+00, 0.52195E+00, 0.52341E+00, & - & 0.52487E+00, 0.52632E+00, 0.52777E+00, 0.52922E+00, 0.53067E+00, & - & 0.53211E+00, 0.53355E+00, 0.53499E+00, 0.53643E+00, 0.53786E+00, & - & 0.53929E+00, 0.54072E+00, 0.54215E+00, 0.54357E+00, 0.54499E+00, & - & 0.54641E+00, 0.54782E+00, 0.54924E+00, 0.55065E+00, 0.55206E+00, & - & 0.55346E+00, 0.55487E+00, 0.55627E+00, 0.55767E+00, 0.55906E+00, & - & 0.56046E+00, 0.56185E+00, 0.56323E+00, 0.56462E+00, 0.56600E+00, & - & 0.56739E+00, 0.56876E+00, 0.57014E+00, 0.57151E+00, 0.57289E+00, & - & 0.57425E+00, 0.57562E+00, 0.57699E+00, 0.57835E+00, 0.57971E+00, & - & 0.58106E+00, 0.58242E+00, 0.58377E+00, 0.58512E+00, 0.58647E+00, & - & 0.58781E+00, 0.58916E+00, 0.59050E+00, 0.59183E+00, 0.59317E+00, & - & 0.59450E+00, 0.59583E+00, 0.59716E+00, 0.59849E+00, 0.59981E+00, & - & 0.60114E+00, 0.60245E+00, 0.60377E+00, 0.60509E+00, 0.60640E+00, & - & 0.60771E+00, 0.60902E+00, 0.61032E+00, 0.61163E+00, 0.61293E+00, & - & 0.61423E+00, 0.61552E+00, 0.61682E+00, 0.61811E+00, 0.61940E+00, & - & 0.62069E+00, 0.62198E+00, 0.62326E+00, 0.62454E+00, 0.62582E+00, & - & 0.62710E+00, 0.62837E+00, 0.62964E+00, 0.63091E+00, 0.63218E+00, & - & 0.63345E+00, 0.63471E+00, 0.63597E+00, 0.63723E+00, 0.63849E+00, & - & 0.63974E+00, 0.64100E+00, 0.64225E+00, 0.64350E+00, 0.64474E+00, & - & 0.64599E+00, 0.64723E+00, 0.64847E+00, 0.64971E+00, 0.65094E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.65218E+00, 0.65341E+00, 0.65464E+00, 0.65586E+00, 0.65709E+00, & - & 0.65831E+00, 0.65953E+00, 0.66075E+00, 0.66197E+00, 0.66318E+00, & - & 0.66440E+00, 0.66561E+00, 0.66682E+00, 0.66802E+00, 0.66923E+00, & - & 0.67043E+00, 0.67163E+00, 0.67283E+00, 0.67403E+00, 0.67522E+00, & - & 0.67641E+00, 0.67760E+00, 0.67879E+00, 0.67998E+00, 0.68116E+00, & - & 0.68235E+00, 0.68353E+00, 0.68471E+00, 0.68588E+00, 0.68706E+00, & - & 0.68823E+00, 0.68940E+00, 0.69057E+00, 0.69174E+00, 0.69290E+00, & - & 0.69406E+00, 0.69523E+00, 0.69638E+00, 0.69754E+00, 0.69870E+00, & - & 0.69985E+00, 0.70100E+00, 0.70215E+00, 0.70330E+00, 0.70444E+00, & - & 0.70559E+00, 0.70673E+00, 0.70787E+00, 0.70901E+00, 0.71014E+00, & - & 0.71128E+00, 0.71241E+00, 0.71354E+00, 0.71467E+00, 0.71579E+00, & - & 0.71692E+00, 0.71804E+00, 0.71916E+00, 0.72028E+00, 0.72140E+00, & - & 0.72252E+00, 0.72363E+00, 0.72474E+00, 0.72585E+00, 0.72696E+00, & - & 0.72807E+00, 0.72917E+00, 0.73027E+00, 0.73137E+00, 0.73247E+00, & - & 0.73357E+00, 0.73467E+00, 0.73576E+00, 0.73685E+00, 0.73794E+00, & - & 0.73903E+00, 0.74012E+00, 0.74120E+00, 0.74228E+00, 0.74337E+00, & - & 0.74444E+00, 0.74552E+00, 0.74660E+00, 0.74767E+00, 0.74875E+00, & - & 0.74982E+00, 0.75088E+00, 0.75195E+00, 0.75302E+00, 0.75408E+00, & - & 0.75514E+00, 0.75620E+00, 0.75726E+00, 0.75832E+00, 0.75937E+00, & - & 0.76043E+00, 0.76148E+00, 0.76253E+00, 0.76358E+00, 0.76462E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.77583E+00, 0.78602E+00, 0.79605E+00, 0.80593E+00, 0.81565E+00, & - & 0.82522E+00, 0.83463E+00, 0.84391E+00, 0.85304E+00, 0.86203E+00, & - & 0.87088E+00, 0.87959E+00, 0.88818E+00, 0.89663E+00, 0.90496E+00, & - & 0.91316E+00, 0.92124E+00, 0.92920E+00, 0.93704E+00, 0.94477E+00, & - & 0.95238E+00, 0.95988E+00, 0.96727E+00, 0.97455E+00, 0.98173E+00, & - & 0.98880E+00, 0.99577E+00, 0.10026E+01, 0.10094E+01, 0.10161E+01, & - & 0.10227E+01, 0.10292E+01, 0.10355E+01, 0.10418E+01, 0.10481E+01, & - & 0.10542E+01, 0.10602E+01, 0.10662E+01, 0.10721E+01, 0.10778E+01, & - & 0.10835E+01, 0.10892E+01, 0.10947E+01, 0.11002E+01, 0.11056E+01, & - & 0.11109E+01, 0.11162E+01, 0.11213E+01, 0.11264E+01, 0.11315E+01, & - & 0.11364E+01, 0.11413E+01, 0.11462E+01, 0.11509E+01, 0.11556E+01, & - & 0.11603E+01, 0.11648E+01, 0.11693E+01, 0.11738E+01, 0.11782E+01, & - & 0.11825E+01, 0.11867E+01, 0.11909E+01, 0.11951E+01, 0.11992E+01, & - & 0.12032E+01, 0.12072E+01, 0.12111E+01, 0.12150E+01, 0.12188E+01, & - & 0.12226E+01, 0.12263E+01, 0.12299E+01, 0.12335E+01, 0.12371E+01, & - & 0.12406E+01, 0.12441E+01, 0.12475E+01, 0.12508E+01, 0.12542E+01, & - & 0.12574E+01, 0.12607E+01, 0.12638E+01, 0.12670E+01, 0.12701E+01, & - & 0.12731E+01, 0.12761E+01, 0.12791E+01, 0.12820E+01, 0.12849E+01, & - & 0.12877E+01, 0.12905E+01, 0.12933E+01, 0.12960E+01, 0.12987E+01, & - & 0.13013E+01, 0.13039E+01, 0.13065E+01, 0.13090E+01, 0.13115E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.13139E+01, 0.13163E+01, 0.13187E+01, 0.13211E+01, 0.13234E+01, & - & 0.13256E+01, 0.13279E+01, 0.13301E+01, 0.13323E+01, 0.13344E+01, & - & 0.13365E+01, 0.13386E+01, 0.13406E+01, 0.13426E+01, 0.13446E+01, & - & 0.13465E+01, 0.13485E+01, 0.13503E+01, 0.13522E+01, 0.13540E+01, & - & 0.13558E+01, 0.13576E+01, 0.13593E+01, 0.13610E+01, 0.13627E+01, & - & 0.13643E+01, 0.13660E+01, 0.13675E+01, 0.13691E+01, 0.13706E+01, & - & 0.13722E+01, 0.13736E+01, 0.13751E+01, 0.13765E+01, 0.13779E+01, & - & 0.13793E+01, 0.13807E+01, 0.13820E+01, 0.13833E+01, 0.13846E+01, & - & 0.13858E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.10044E+00,-0.21963E+00,-0.27984E+00,-0.32277E+00,-0.35672E+00, & - &-0.38502E+00,-0.40943E+00,-0.43096E+00,-0.45026E+00,-0.46780E+00, & - &-0.48389E+00,-0.49877E+00,-0.51264E+00,-0.52563E+00,-0.53787E+00, & - &-0.54943E+00,-0.56041E+00,-0.57086E+00,-0.58084E+00,-0.59040E+00, & - &-0.59957E+00,-0.60840E+00,-0.61689E+00,-0.62510E+00,-0.63303E+00, & - &-0.64071E+00,-0.64816E+00,-0.65538E+00,-0.66241E+00,-0.66924E+00, & - &-0.67590E+00,-0.68239E+00,-0.68872E+00,-0.69490E+00,-0.70094E+00, & - &-0.70684E+00,-0.71262E+00,-0.71828E+00,-0.72382E+00,-0.72926E+00, & - &-0.73459E+00,-0.73982E+00,-0.74495E+00,-0.75000E+00,-0.75496E+00, & - &-0.75983E+00,-0.76463E+00,-0.76935E+00,-0.77399E+00,-0.77856E+00, & - &-0.78307E+00,-0.78751E+00,-0.79188E+00,-0.79620E+00,-0.80045E+00, & - &-0.80465E+00,-0.80880E+00,-0.81289E+00,-0.81693E+00,-0.82093E+00, & - &-0.82487E+00,-0.82877E+00,-0.83263E+00,-0.83644E+00,-0.84021E+00, & - &-0.84394E+00,-0.84763E+00,-0.85129E+00,-0.85491E+00,-0.85849E+00, & - &-0.86204E+00,-0.86556E+00,-0.86905E+00,-0.87250E+00,-0.87593E+00, & - &-0.87932E+00,-0.88269E+00,-0.88604E+00,-0.88935E+00,-0.89264E+00, & - &-0.89591E+00,-0.89915E+00,-0.90237E+00,-0.90557E+00,-0.90875E+00, & - &-0.91190E+00,-0.91503E+00,-0.91815E+00,-0.92124E+00,-0.92432E+00, & - &-0.92737E+00,-0.93041E+00,-0.93343E+00,-0.93644E+00,-0.93942E+00, & - &-0.94239E+00,-0.94534E+00,-0.94828E+00,-0.95120E+00,-0.95411E+00/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.95700E+00,-0.95988E+00,-0.96274E+00,-0.96559E+00,-0.96842E+00, & - &-0.97124E+00,-0.97405E+00,-0.97684E+00,-0.97962E+00,-0.98239E+00, & - &-0.98514E+00,-0.98788E+00,-0.99061E+00,-0.99333E+00,-0.99603E+00, & - &-0.99872E+00,-0.10014E+01,-0.10041E+01,-0.10067E+01,-0.10094E+01, & - &-0.10120E+01,-0.10146E+01,-0.10172E+01,-0.10198E+01,-0.10224E+01, & - &-0.10250E+01,-0.10276E+01,-0.10301E+01,-0.10327E+01,-0.10352E+01, & - &-0.10377E+01,-0.10402E+01,-0.10427E+01,-0.10452E+01,-0.10477E+01, & - &-0.10502E+01,-0.10527E+01,-0.10551E+01,-0.10576E+01,-0.10600E+01, & - &-0.10624E+01,-0.10649E+01,-0.10673E+01,-0.10697E+01,-0.10721E+01, & - &-0.10745E+01,-0.10768E+01,-0.10792E+01,-0.10816E+01,-0.10839E+01, & - &-0.10863E+01,-0.10886E+01,-0.10909E+01,-0.10933E+01,-0.10956E+01, & - &-0.10979E+01,-0.11002E+01,-0.11025E+01,-0.11048E+01,-0.11070E+01, & - &-0.11093E+01,-0.11116E+01,-0.11138E+01,-0.11161E+01,-0.11183E+01, & - &-0.11206E+01,-0.11228E+01,-0.11250E+01,-0.11272E+01,-0.11294E+01, & - &-0.11316E+01,-0.11338E+01,-0.11360E+01,-0.11382E+01,-0.11404E+01, & - &-0.11426E+01,-0.11447E+01,-0.11469E+01,-0.11490E+01,-0.11512E+01, & - &-0.11533E+01,-0.11555E+01,-0.11576E+01,-0.11597E+01,-0.11618E+01, & - &-0.11640E+01,-0.11661E+01,-0.11682E+01,-0.11703E+01,-0.11724E+01, & - &-0.11745E+01,-0.11765E+01,-0.11786E+01,-0.11807E+01,-0.11828E+01, & - &-0.11848E+01,-0.11869E+01,-0.11889E+01,-0.11910E+01,-0.11930E+01/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.11951E+01,-0.11971E+01,-0.11991E+01,-0.12012E+01,-0.12032E+01, & - &-0.12052E+01,-0.12072E+01,-0.12092E+01,-0.12112E+01,-0.12132E+01, & - &-0.12152E+01,-0.12172E+01,-0.12192E+01,-0.12212E+01,-0.12232E+01, & - &-0.12251E+01,-0.12271E+01,-0.12291E+01,-0.12310E+01,-0.12330E+01, & - &-0.12349E+01,-0.12369E+01,-0.12388E+01,-0.12408E+01,-0.12427E+01, & - &-0.12446E+01,-0.12466E+01,-0.12485E+01,-0.12504E+01,-0.12523E+01, & - &-0.12543E+01,-0.12562E+01,-0.12581E+01,-0.12600E+01,-0.12619E+01, & - &-0.12638E+01,-0.12657E+01,-0.12676E+01,-0.12694E+01,-0.12713E+01, & - &-0.12732E+01,-0.12751E+01,-0.12770E+01,-0.12788E+01,-0.12807E+01, & - &-0.12826E+01,-0.12844E+01,-0.12863E+01,-0.12881E+01,-0.12900E+01, & - &-0.12918E+01,-0.12937E+01,-0.12955E+01,-0.12973E+01,-0.12992E+01, & - &-0.13010E+01,-0.13028E+01,-0.13047E+01,-0.13065E+01,-0.13083E+01, & - &-0.13101E+01,-0.13119E+01,-0.13138E+01,-0.13156E+01,-0.13174E+01, & - &-0.13192E+01,-0.13210E+01,-0.13228E+01,-0.13246E+01,-0.13263E+01, & - &-0.13281E+01,-0.13299E+01,-0.13317E+01,-0.13335E+01,-0.13353E+01, & - &-0.13370E+01,-0.13388E+01,-0.13406E+01,-0.13423E+01,-0.13441E+01, & - &-0.13459E+01,-0.13476E+01,-0.13494E+01,-0.13511E+01,-0.13529E+01, & - &-0.13546E+01,-0.13564E+01,-0.13581E+01,-0.13599E+01,-0.13616E+01, & - &-0.13633E+01,-0.13651E+01,-0.13668E+01,-0.13685E+01,-0.13703E+01, & - &-0.13720E+01,-0.13737E+01,-0.13754E+01,-0.13772E+01,-0.13789E+01/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.13806E+01,-0.13823E+01,-0.13840E+01,-0.13857E+01,-0.13874E+01, & - &-0.13891E+01,-0.13908E+01,-0.13925E+01,-0.13942E+01,-0.13959E+01, & - &-0.13976E+01,-0.13993E+01,-0.14010E+01,-0.14027E+01,-0.14043E+01, & - &-0.14060E+01,-0.14077E+01,-0.14094E+01,-0.14111E+01,-0.14127E+01, & - &-0.14144E+01,-0.14161E+01,-0.14177E+01,-0.14194E+01,-0.14211E+01, & - &-0.14227E+01,-0.14244E+01,-0.14260E+01,-0.14277E+01,-0.14293E+01, & - &-0.14310E+01,-0.14326E+01,-0.14343E+01,-0.14359E+01,-0.14376E+01, & - &-0.14392E+01,-0.14409E+01,-0.14425E+01,-0.14441E+01,-0.14458E+01, & - &-0.14474E+01,-0.14490E+01,-0.14506E+01,-0.14523E+01,-0.14539E+01, & - &-0.14555E+01,-0.14571E+01,-0.14588E+01,-0.14604E+01,-0.14620E+01, & - &-0.14636E+01,-0.14652E+01,-0.14668E+01,-0.14684E+01,-0.14700E+01, & - &-0.14717E+01,-0.14733E+01,-0.14749E+01,-0.14765E+01,-0.14781E+01, & - &-0.14797E+01,-0.14813E+01,-0.14828E+01,-0.14844E+01,-0.14860E+01, & - &-0.14876E+01,-0.14892E+01,-0.14908E+01,-0.14924E+01,-0.14940E+01, & - &-0.14955E+01,-0.14971E+01,-0.14987E+01,-0.15003E+01,-0.15018E+01, & - &-0.15034E+01,-0.15050E+01,-0.15066E+01,-0.15081E+01,-0.15097E+01, & - &-0.15113E+01,-0.15128E+01,-0.15144E+01,-0.15160E+01,-0.15175E+01, & - &-0.15191E+01,-0.15206E+01,-0.15222E+01,-0.15237E+01,-0.15253E+01, & - &-0.15268E+01,-0.15284E+01,-0.15299E+01,-0.15315E+01,-0.15330E+01, & - &-0.15346E+01,-0.15361E+01,-0.15377E+01,-0.15392E+01,-0.15407E+01/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.15423E+01,-0.15438E+01,-0.15453E+01,-0.15469E+01,-0.15484E+01, & - &-0.15499E+01,-0.15515E+01,-0.15530E+01,-0.15545E+01,-0.15561E+01, & - &-0.15576E+01,-0.15591E+01,-0.15606E+01,-0.15621E+01,-0.15637E+01, & - &-0.15652E+01,-0.15667E+01,-0.15682E+01,-0.15697E+01,-0.15712E+01, & - &-0.15727E+01,-0.15743E+01,-0.15758E+01,-0.15773E+01,-0.15788E+01, & - &-0.15803E+01,-0.15818E+01,-0.15833E+01,-0.15848E+01,-0.15863E+01, & - &-0.15878E+01,-0.15893E+01,-0.15908E+01,-0.15923E+01,-0.15938E+01, & - &-0.15953E+01,-0.15968E+01,-0.15982E+01,-0.15997E+01,-0.16012E+01, & - &-0.16027E+01,-0.16042E+01,-0.16057E+01,-0.16072E+01,-0.16086E+01, & - &-0.16101E+01,-0.16116E+01,-0.16131E+01,-0.16146E+01,-0.16160E+01, & - &-0.16175E+01,-0.16190E+01,-0.16205E+01,-0.16219E+01,-0.16234E+01, & - &-0.16249E+01,-0.16263E+01,-0.16278E+01,-0.16293E+01,-0.16307E+01, & - &-0.16322E+01,-0.16337E+01,-0.16351E+01,-0.16366E+01,-0.16381E+01, & - &-0.16395E+01,-0.16410E+01,-0.16424E+01,-0.16439E+01,-0.16453E+01, & - &-0.16468E+01,-0.16482E+01,-0.16497E+01,-0.16512E+01,-0.16526E+01, & - &-0.16541E+01,-0.16555E+01,-0.16569E+01,-0.16584E+01,-0.16598E+01, & - &-0.16613E+01,-0.16627E+01,-0.16642E+01,-0.16656E+01,-0.16670E+01, & - &-0.16685E+01,-0.16699E+01,-0.16714E+01,-0.16728E+01,-0.16742E+01, & - &-0.16757E+01,-0.16771E+01,-0.16785E+01,-0.16800E+01,-0.16814E+01, & - &-0.16828E+01,-0.16843E+01,-0.16857E+01,-0.16871E+01,-0.16885E+01/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.16900E+01,-0.16914E+01,-0.16928E+01,-0.16942E+01,-0.16957E+01, & - &-0.16971E+01,-0.16985E+01,-0.16999E+01,-0.17013E+01,-0.17027E+01, & - &-0.17042E+01,-0.17056E+01,-0.17070E+01,-0.17084E+01,-0.17098E+01, & - &-0.17112E+01,-0.17126E+01,-0.17140E+01,-0.17155E+01,-0.17169E+01, & - &-0.17183E+01,-0.17197E+01,-0.17211E+01,-0.17225E+01,-0.17239E+01, & - &-0.17253E+01,-0.17267E+01,-0.17281E+01,-0.17295E+01,-0.17309E+01, & - &-0.17323E+01,-0.17337E+01,-0.17351E+01,-0.17365E+01,-0.17379E+01, & - &-0.17393E+01,-0.17407E+01,-0.17421E+01,-0.17435E+01,-0.17448E+01, & - &-0.17462E+01,-0.17476E+01,-0.17490E+01,-0.17504E+01,-0.17518E+01, & - &-0.17532E+01,-0.17546E+01,-0.17559E+01,-0.17573E+01,-0.17587E+01, & - &-0.17601E+01,-0.17615E+01,-0.17629E+01,-0.17642E+01,-0.17656E+01, & - &-0.17670E+01,-0.17684E+01,-0.17698E+01,-0.17711E+01,-0.17725E+01, & - &-0.17739E+01,-0.17753E+01,-0.17766E+01,-0.17780E+01,-0.17794E+01, & - &-0.17807E+01,-0.17821E+01,-0.17835E+01,-0.17848E+01,-0.17862E+01, & - &-0.17876E+01,-0.17889E+01,-0.17903E+01,-0.17917E+01,-0.17930E+01, & - &-0.17944E+01,-0.17958E+01,-0.17971E+01,-0.17985E+01,-0.17999E+01, & - &-0.18012E+01,-0.18026E+01,-0.18039E+01,-0.18053E+01,-0.18067E+01, & - &-0.18080E+01,-0.18094E+01,-0.18107E+01,-0.18121E+01,-0.18134E+01, & - &-0.18148E+01,-0.18161E+01,-0.18175E+01,-0.18188E+01,-0.18202E+01, & - &-0.18215E+01,-0.18229E+01,-0.18242E+01,-0.18256E+01,-0.18269E+01/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.18414E+01,-0.18548E+01,-0.18681E+01,-0.18813E+01,-0.18945E+01, & - &-0.19076E+01,-0.19207E+01,-0.19337E+01,-0.19467E+01,-0.19596E+01, & - &-0.19724E+01,-0.19852E+01,-0.19980E+01,-0.20107E+01,-0.20233E+01, & - &-0.20359E+01,-0.20485E+01,-0.20610E+01,-0.20735E+01,-0.20859E+01, & - &-0.20983E+01,-0.21107E+01,-0.21230E+01,-0.21353E+01,-0.21475E+01, & - &-0.21598E+01,-0.21719E+01,-0.21841E+01,-0.21962E+01,-0.22082E+01, & - &-0.22203E+01,-0.22323E+01,-0.22442E+01,-0.22562E+01,-0.22681E+01, & - &-0.22800E+01,-0.22918E+01,-0.23036E+01,-0.23154E+01,-0.23272E+01, & - &-0.23389E+01,-0.23506E+01,-0.23623E+01,-0.23740E+01,-0.23856E+01, & - &-0.23972E+01,-0.24088E+01,-0.24204E+01,-0.24319E+01,-0.24434E+01, & - &-0.24549E+01,-0.24663E+01,-0.24778E+01,-0.24892E+01,-0.25006E+01, & - &-0.25119E+01,-0.25233E+01,-0.25346E+01,-0.25459E+01,-0.25572E+01, & - &-0.25685E+01,-0.25797E+01,-0.25910E+01,-0.26022E+01,-0.26134E+01, & - &-0.26245E+01,-0.26357E+01,-0.26468E+01,-0.26579E+01,-0.26690E+01, & - &-0.26801E+01,-0.26912E+01,-0.27022E+01,-0.27132E+01,-0.27242E+01, & - &-0.27352E+01,-0.27462E+01,-0.27572E+01,-0.27681E+01,-0.27790E+01, & - &-0.27900E+01,-0.28009E+01,-0.28117E+01,-0.28226E+01,-0.28335E+01, & - &-0.28443E+01,-0.28551E+01,-0.28659E+01,-0.28767E+01,-0.28875E+01, & - &-0.28983E+01,-0.29090E+01,-0.29198E+01,-0.29305E+01,-0.29412E+01, & - &-0.29519E+01,-0.29626E+01,-0.29733E+01,-0.29839E+01,-0.29946E+01/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.30052E+01,-0.30158E+01,-0.30264E+01,-0.30370E+01,-0.30476E+01, & - &-0.30582E+01,-0.30688E+01,-0.30793E+01,-0.30899E+01,-0.31004E+01, & - &-0.31109E+01,-0.31214E+01,-0.31319E+01,-0.31424E+01,-0.31529E+01, & - &-0.31633E+01,-0.31738E+01,-0.31842E+01,-0.31946E+01,-0.32051E+01, & - &-0.32155E+01,-0.32259E+01,-0.32363E+01,-0.32466E+01,-0.32570E+01, & - &-0.32674E+01,-0.32777E+01,-0.32881E+01,-0.32984E+01,-0.33087E+01, & - &-0.33190E+01,-0.33293E+01,-0.33396E+01,-0.33499E+01,-0.33602E+01, & - &-0.33705E+01,-0.33807E+01,-0.33910E+01,-0.34012E+01,-0.34114E+01, & - &-0.34217E+01 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.50377E-01,-0.11068E+00,-0.14143E+00,-0.16351E+00,-0.18108E+00, & - &-0.19581E+00,-0.20858E+00,-0.21990E+00,-0.23009E+00,-0.23939E+00, & - &-0.24796E+00,-0.25592E+00,-0.26337E+00,-0.27037E+00,-0.27698E+00, & - &-0.28326E+00,-0.28923E+00,-0.29494E+00,-0.30041E+00,-0.30566E+00, & - &-0.31071E+00,-0.31558E+00,-0.32029E+00,-0.32484E+00,-0.32925E+00, & - &-0.33353E+00,-0.33769E+00,-0.34174E+00,-0.34568E+00,-0.34952E+00, & - &-0.35327E+00,-0.35692E+00,-0.36050E+00,-0.36399E+00,-0.36741E+00, & - &-0.37076E+00,-0.37405E+00,-0.37726E+00,-0.38042E+00,-0.38352E+00, & - &-0.38656E+00,-0.38955E+00,-0.39248E+00,-0.39537E+00,-0.39821E+00, & - &-0.40100E+00,-0.40375E+00,-0.40646E+00,-0.40912E+00,-0.41175E+00, & - &-0.41434E+00,-0.41690E+00,-0.41942E+00,-0.42190E+00,-0.42435E+00, & - &-0.42677E+00,-0.42917E+00,-0.43153E+00,-0.43386E+00,-0.43617E+00, & - &-0.43845E+00,-0.44070E+00,-0.44293E+00,-0.44514E+00,-0.44732E+00, & - &-0.44949E+00,-0.45163E+00,-0.45375E+00,-0.45585E+00,-0.45793E+00, & - &-0.45999E+00,-0.46204E+00,-0.46407E+00,-0.46608E+00,-0.46808E+00, & - &-0.47006E+00,-0.47203E+00,-0.47398E+00,-0.47592E+00,-0.47785E+00, & - &-0.47976E+00,-0.48167E+00,-0.48356E+00,-0.48543E+00,-0.48730E+00, & - &-0.48916E+00,-0.49100E+00,-0.49284E+00,-0.49467E+00,-0.49648E+00, & - &-0.49829E+00,-0.50009E+00,-0.50188E+00,-0.50366E+00,-0.50543E+00, & - &-0.50719E+00,-0.50895E+00,-0.51070E+00,-0.51244E+00,-0.51417E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.51590E+00,-0.51761E+00,-0.51932E+00,-0.52103E+00,-0.52272E+00, & - &-0.52441E+00,-0.52609E+00,-0.52777E+00,-0.52944E+00,-0.53110E+00, & - &-0.53275E+00,-0.53440E+00,-0.53604E+00,-0.53767E+00,-0.53930E+00, & - &-0.54092E+00,-0.54254E+00,-0.54414E+00,-0.54575E+00,-0.54734E+00, & - &-0.54893E+00,-0.55051E+00,-0.55209E+00,-0.55366E+00,-0.55522E+00, & - &-0.55678E+00,-0.55833E+00,-0.55988E+00,-0.56142E+00,-0.56295E+00, & - &-0.56448E+00,-0.56600E+00,-0.56752E+00,-0.56903E+00,-0.57053E+00, & - &-0.57203E+00,-0.57352E+00,-0.57501E+00,-0.57649E+00,-0.57797E+00, & - &-0.57944E+00,-0.58091E+00,-0.58237E+00,-0.58383E+00,-0.58528E+00, & - &-0.58672E+00,-0.58816E+00,-0.58960E+00,-0.59103E+00,-0.59246E+00, & - &-0.59388E+00,-0.59529E+00,-0.59671E+00,-0.59811E+00,-0.59952E+00, & - &-0.60091E+00,-0.60231E+00,-0.60370E+00,-0.60508E+00,-0.60646E+00, & - &-0.60784E+00,-0.60921E+00,-0.61058E+00,-0.61194E+00,-0.61330E+00, & - &-0.61465E+00,-0.61600E+00,-0.61735E+00,-0.61869E+00,-0.62003E+00, & - &-0.62137E+00,-0.62270E+00,-0.62402E+00,-0.62535E+00,-0.62667E+00, & - &-0.62798E+00,-0.62930E+00,-0.63060E+00,-0.63191E+00,-0.63321E+00, & - &-0.63451E+00,-0.63580E+00,-0.63709E+00,-0.63838E+00,-0.63966E+00, & - &-0.64094E+00,-0.64222E+00,-0.64349E+00,-0.64476E+00,-0.64603E+00, & - &-0.64730E+00,-0.64856E+00,-0.64981E+00,-0.65107E+00,-0.65232E+00, & - &-0.65357E+00,-0.65481E+00,-0.65605E+00,-0.65729E+00,-0.65853E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.65976E+00,-0.66099E+00,-0.66222E+00,-0.66344E+00,-0.66466E+00, & - &-0.66588E+00,-0.66710E+00,-0.66831E+00,-0.66952E+00,-0.67072E+00, & - &-0.67193E+00,-0.67313E+00,-0.67433E+00,-0.67552E+00,-0.67672E+00, & - &-0.67791E+00,-0.67910E+00,-0.68028E+00,-0.68147E+00,-0.68265E+00, & - &-0.68382E+00,-0.68500E+00,-0.68617E+00,-0.68734E+00,-0.68851E+00, & - &-0.68967E+00,-0.69084E+00,-0.69200E+00,-0.69316E+00,-0.69431E+00, & - &-0.69546E+00,-0.69662E+00,-0.69776E+00,-0.69891E+00,-0.70005E+00, & - &-0.70120E+00,-0.70234E+00,-0.70347E+00,-0.70461E+00,-0.70574E+00, & - &-0.70687E+00,-0.70800E+00,-0.70912E+00,-0.71025E+00,-0.71137E+00, & - &-0.71249E+00,-0.71361E+00,-0.71472E+00,-0.71584E+00,-0.71695E+00, & - &-0.71806E+00,-0.71916E+00,-0.72027E+00,-0.72137E+00,-0.72247E+00, & - &-0.72357E+00,-0.72467E+00,-0.72576E+00,-0.72686E+00,-0.72795E+00, & - &-0.72904E+00,-0.73012E+00,-0.73121E+00,-0.73229E+00,-0.73337E+00, & - &-0.73445E+00,-0.73553E+00,-0.73661E+00,-0.73768E+00,-0.73875E+00, & - &-0.73983E+00,-0.74089E+00,-0.74196E+00,-0.74303E+00,-0.74409E+00, & - &-0.74515E+00,-0.74621E+00,-0.74727E+00,-0.74832E+00,-0.74938E+00, & - &-0.75043E+00,-0.75148E+00,-0.75253E+00,-0.75358E+00,-0.75463E+00, & - &-0.75567E+00,-0.75671E+00,-0.75776E+00,-0.75880E+00,-0.75983E+00, & - &-0.76087E+00,-0.76190E+00,-0.76294E+00,-0.76397E+00,-0.76500E+00, & - &-0.76603E+00,-0.76705E+00,-0.76808E+00,-0.76910E+00,-0.77012E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.77115E+00,-0.77216E+00,-0.77318E+00,-0.77420E+00,-0.77521E+00, & - &-0.77623E+00,-0.77724E+00,-0.77825E+00,-0.77926E+00,-0.78026E+00, & - &-0.78127E+00,-0.78227E+00,-0.78328E+00,-0.78428E+00,-0.78528E+00, & - &-0.78628E+00,-0.78727E+00,-0.78827E+00,-0.78926E+00,-0.79026E+00, & - &-0.79125E+00,-0.79224E+00,-0.79323E+00,-0.79422E+00,-0.79520E+00, & - &-0.79619E+00,-0.79717E+00,-0.79815E+00,-0.79913E+00,-0.80011E+00, & - &-0.80109E+00,-0.80207E+00,-0.80304E+00,-0.80402E+00,-0.80499E+00, & - &-0.80596E+00,-0.80694E+00,-0.80790E+00,-0.80887E+00,-0.80984E+00, & - &-0.81081E+00,-0.81177E+00,-0.81273E+00,-0.81369E+00,-0.81466E+00, & - &-0.81562E+00,-0.81657E+00,-0.81753E+00,-0.81849E+00,-0.81944E+00, & - &-0.82039E+00,-0.82135E+00,-0.82230E+00,-0.82325E+00,-0.82420E+00, & - &-0.82514E+00,-0.82609E+00,-0.82704E+00,-0.82798E+00,-0.82892E+00, & - &-0.82987E+00,-0.83081E+00,-0.83175E+00,-0.83269E+00,-0.83362E+00, & - &-0.83456E+00,-0.83549E+00,-0.83643E+00,-0.83736E+00,-0.83829E+00, & - &-0.83923E+00,-0.84016E+00,-0.84108E+00,-0.84201E+00,-0.84294E+00, & - &-0.84386E+00,-0.84479E+00,-0.84571E+00,-0.84663E+00,-0.84756E+00, & - &-0.84848E+00,-0.84940E+00,-0.85031E+00,-0.85123E+00,-0.85215E+00, & - &-0.85306E+00,-0.85398E+00,-0.85489E+00,-0.85580E+00,-0.85672E+00, & - &-0.85763E+00,-0.85853E+00,-0.85944E+00,-0.86035E+00,-0.86126E+00, & - &-0.86216E+00,-0.86307E+00,-0.86397E+00,-0.86487E+00,-0.86578E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.86668E+00,-0.86758E+00,-0.86847E+00,-0.86937E+00,-0.87027E+00, & - &-0.87117E+00,-0.87206E+00,-0.87295E+00,-0.87385E+00,-0.87474E+00, & - &-0.87563E+00,-0.87652E+00,-0.87741E+00,-0.87830E+00,-0.87919E+00, & - &-0.88008E+00,-0.88096E+00,-0.88185E+00,-0.88273E+00,-0.88361E+00, & - &-0.88450E+00,-0.88538E+00,-0.88626E+00,-0.88714E+00,-0.88802E+00, & - &-0.88890E+00,-0.88977E+00,-0.89065E+00,-0.89153E+00,-0.89240E+00, & - &-0.89328E+00,-0.89415E+00,-0.89502E+00,-0.89589E+00,-0.89676E+00, & - &-0.89763E+00,-0.89850E+00,-0.89937E+00,-0.90024E+00,-0.90110E+00, & - &-0.90197E+00,-0.90283E+00,-0.90370E+00,-0.90456E+00,-0.90542E+00, & - &-0.90629E+00,-0.90715E+00,-0.90801E+00,-0.90887E+00,-0.90973E+00, & - &-0.91058E+00,-0.91144E+00,-0.91230E+00,-0.91315E+00,-0.91401E+00, & - &-0.91486E+00,-0.91572E+00,-0.91657E+00,-0.91742E+00,-0.91827E+00, & - &-0.91912E+00,-0.91997E+00,-0.92082E+00,-0.92167E+00,-0.92251E+00, & - &-0.92336E+00,-0.92421E+00,-0.92505E+00,-0.92590E+00,-0.92674E+00, & - &-0.92758E+00,-0.92842E+00,-0.92927E+00,-0.93011E+00,-0.93095E+00, & - &-0.93179E+00,-0.93262E+00,-0.93346E+00,-0.93430E+00,-0.93514E+00, & - &-0.93597E+00,-0.93681E+00,-0.93764E+00,-0.93848E+00,-0.93931E+00, & - &-0.94014E+00,-0.94097E+00,-0.94180E+00,-0.94263E+00,-0.94346E+00, & - &-0.94429E+00,-0.94512E+00,-0.94595E+00,-0.94678E+00,-0.94760E+00, & - &-0.94843E+00,-0.94925E+00,-0.95008E+00,-0.95090E+00,-0.95172E+00/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.95255E+00,-0.95337E+00,-0.95419E+00,-0.95501E+00,-0.95583E+00, & - &-0.95665E+00,-0.95747E+00,-0.95828E+00,-0.95910E+00,-0.95992E+00, & - &-0.96073E+00,-0.96155E+00,-0.96236E+00,-0.96318E+00,-0.96399E+00, & - &-0.96480E+00,-0.96562E+00,-0.96643E+00,-0.96724E+00,-0.96805E+00, & - &-0.96886E+00,-0.96967E+00,-0.97048E+00,-0.97128E+00,-0.97209E+00, & - &-0.97290E+00,-0.97371E+00,-0.97451E+00,-0.97532E+00,-0.97612E+00, & - &-0.97692E+00,-0.97773E+00,-0.97853E+00,-0.97933E+00,-0.98013E+00, & - &-0.98093E+00,-0.98173E+00,-0.98253E+00,-0.98333E+00,-0.98413E+00, & - &-0.98493E+00,-0.98573E+00,-0.98652E+00,-0.98732E+00,-0.98812E+00, & - &-0.98891E+00,-0.98971E+00,-0.99050E+00,-0.99129E+00,-0.99209E+00, & - &-0.99288E+00,-0.99367E+00,-0.99446E+00,-0.99525E+00,-0.99604E+00, & - &-0.99683E+00,-0.99762E+00,-0.99841E+00,-0.99920E+00,-0.99999E+00, & - &-0.10008E+01,-0.10016E+01,-0.10023E+01,-0.10031E+01,-0.10039E+01, & - &-0.10047E+01,-0.10055E+01,-0.10063E+01,-0.10070E+01,-0.10078E+01, & - &-0.10086E+01,-0.10094E+01,-0.10102E+01,-0.10110E+01,-0.10117E+01, & - &-0.10125E+01,-0.10133E+01,-0.10141E+01,-0.10148E+01,-0.10156E+01, & - &-0.10164E+01,-0.10172E+01,-0.10180E+01,-0.10187E+01,-0.10195E+01, & - &-0.10203E+01,-0.10210E+01,-0.10218E+01,-0.10226E+01,-0.10234E+01, & - &-0.10241E+01,-0.10249E+01,-0.10257E+01,-0.10264E+01,-0.10272E+01, & - &-0.10280E+01,-0.10288E+01,-0.10295E+01,-0.10303E+01,-0.10311E+01/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.10393E+01,-0.10469E+01,-0.10545E+01,-0.10620E+01,-0.10694E+01, & - &-0.10769E+01,-0.10842E+01,-0.10916E+01,-0.10989E+01,-0.11062E+01, & - &-0.11134E+01,-0.11206E+01,-0.11277E+01,-0.11349E+01,-0.11420E+01, & - &-0.11490E+01,-0.11560E+01,-0.11630E+01,-0.11700E+01,-0.11769E+01, & - &-0.11838E+01,-0.11907E+01,-0.11976E+01,-0.12044E+01,-0.12112E+01, & - &-0.12180E+01,-0.12247E+01,-0.12314E+01,-0.12381E+01,-0.12448E+01, & - &-0.12514E+01,-0.12581E+01,-0.12647E+01,-0.12713E+01,-0.12778E+01, & - &-0.12843E+01,-0.12909E+01,-0.12974E+01,-0.13038E+01,-0.13103E+01, & - &-0.13167E+01,-0.13231E+01,-0.13295E+01,-0.13359E+01,-0.13423E+01, & - &-0.13486E+01,-0.13549E+01,-0.13612E+01,-0.13675E+01,-0.13738E+01, & - &-0.13800E+01,-0.13863E+01,-0.13925E+01,-0.13987E+01,-0.14049E+01, & - &-0.14111E+01,-0.14172E+01,-0.14234E+01,-0.14295E+01,-0.14356E+01, & - &-0.14417E+01,-0.14478E+01,-0.14539E+01,-0.14599E+01,-0.14660E+01, & - &-0.14720E+01,-0.14780E+01,-0.14840E+01,-0.14900E+01,-0.14960E+01, & - &-0.15020E+01,-0.15079E+01,-0.15139E+01,-0.15198E+01,-0.15257E+01, & - &-0.15316E+01,-0.15375E+01,-0.15434E+01,-0.15493E+01,-0.15551E+01, & - &-0.15610E+01,-0.15668E+01,-0.15727E+01,-0.15785E+01,-0.15843E+01, & - &-0.15901E+01,-0.15959E+01,-0.16017E+01,-0.16074E+01,-0.16132E+01, & - &-0.16189E+01,-0.16247E+01,-0.16304E+01,-0.16361E+01,-0.16418E+01, & - &-0.16475E+01,-0.16532E+01,-0.16589E+01,-0.16646E+01,-0.16703E+01/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.16759E+01,-0.16816E+01,-0.16872E+01,-0.16928E+01,-0.16985E+01, & - &-0.17041E+01,-0.17097E+01,-0.17153E+01,-0.17209E+01,-0.17265E+01, & - &-0.17320E+01,-0.17376E+01,-0.17432E+01,-0.17487E+01,-0.17543E+01, & - &-0.17598E+01,-0.17653E+01,-0.17709E+01,-0.17764E+01,-0.17819E+01, & - &-0.17874E+01,-0.17929E+01,-0.17984E+01,-0.18039E+01,-0.18093E+01, & - &-0.18148E+01,-0.18203E+01,-0.18257E+01,-0.18312E+01,-0.18366E+01, & - &-0.18420E+01,-0.18475E+01,-0.18529E+01,-0.18583E+01,-0.18637E+01, & - &-0.18691E+01,-0.18745E+01,-0.18799E+01,-0.18853E+01,-0.18907E+01, & - &-0.18960E+01 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.10053E+00,-0.22014E+00,-0.28074E+00,-0.32404E+00,-0.35833E+00, & - &-0.38699E+00,-0.41173E+00,-0.43358E+00,-0.45321E+00,-0.47106E+00, & - &-0.48747E+00,-0.50266E+00,-0.51683E+00,-0.53012E+00,-0.54265E+00, & - &-0.55451E+00,-0.56578E+00,-0.57652E+00,-0.58678E+00,-0.59662E+00, & - &-0.60607E+00,-0.61516E+00,-0.62393E+00,-0.63241E+00,-0.64060E+00, & - &-0.64855E+00,-0.65625E+00,-0.66374E+00,-0.67102E+00,-0.67810E+00, & - &-0.68501E+00,-0.69174E+00,-0.69832E+00,-0.70474E+00,-0.71102E+00, & - &-0.71716E+00,-0.72317E+00,-0.72906E+00,-0.73483E+00,-0.74049E+00, & - &-0.74605E+00,-0.75150E+00,-0.75686E+00,-0.76212E+00,-0.76729E+00, & - &-0.77238E+00,-0.77738E+00,-0.78231E+00,-0.78716E+00,-0.79194E+00, & - &-0.79664E+00,-0.80128E+00,-0.80586E+00,-0.81037E+00,-0.81482E+00, & - &-0.81921E+00,-0.82355E+00,-0.82783E+00,-0.83205E+00,-0.83623E+00, & - &-0.84036E+00,-0.84444E+00,-0.84848E+00,-0.85247E+00,-0.85642E+00, & - &-0.86033E+00,-0.86420E+00,-0.86803E+00,-0.87182E+00,-0.87558E+00, & - &-0.87930E+00,-0.88299E+00,-0.88665E+00,-0.89028E+00,-0.89387E+00, & - &-0.89744E+00,-0.90098E+00,-0.90449E+00,-0.90798E+00,-0.91144E+00, & - &-0.91487E+00,-0.91828E+00,-0.92167E+00,-0.92503E+00,-0.92838E+00, & - &-0.93170E+00,-0.93500E+00,-0.93828E+00,-0.94154E+00,-0.94479E+00, & - &-0.94801E+00,-0.95122E+00,-0.95440E+00,-0.95757E+00,-0.96073E+00, & - &-0.96387E+00,-0.96699E+00,-0.97009E+00,-0.97318E+00,-0.97626E+00/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.97931E+00,-0.98236E+00,-0.98539E+00,-0.98840E+00,-0.99141E+00, & - &-0.99439E+00,-0.99737E+00,-0.10003E+01,-0.10033E+01,-0.10062E+01, & - &-0.10091E+01,-0.10120E+01,-0.10149E+01,-0.10178E+01,-0.10207E+01, & - &-0.10235E+01,-0.10264E+01,-0.10292E+01,-0.10320E+01,-0.10348E+01, & - &-0.10376E+01,-0.10404E+01,-0.10432E+01,-0.10460E+01,-0.10487E+01, & - &-0.10515E+01,-0.10542E+01,-0.10569E+01,-0.10596E+01,-0.10623E+01, & - &-0.10650E+01,-0.10677E+01,-0.10703E+01,-0.10730E+01,-0.10756E+01, & - &-0.10783E+01,-0.10809E+01,-0.10835E+01,-0.10861E+01,-0.10887E+01, & - &-0.10913E+01,-0.10938E+01,-0.10964E+01,-0.10990E+01,-0.11015E+01, & - &-0.11041E+01,-0.11066E+01,-0.11091E+01,-0.11116E+01,-0.11141E+01, & - &-0.11166E+01,-0.11191E+01,-0.11216E+01,-0.11241E+01,-0.11265E+01, & - &-0.11290E+01,-0.11314E+01,-0.11339E+01,-0.11363E+01,-0.11387E+01, & - &-0.11411E+01,-0.11435E+01,-0.11459E+01,-0.11483E+01,-0.11507E+01, & - &-0.11531E+01,-0.11555E+01,-0.11578E+01,-0.11602E+01,-0.11625E+01, & - &-0.11649E+01,-0.11672E+01,-0.11696E+01,-0.11719E+01,-0.11742E+01, & - &-0.11765E+01,-0.11788E+01,-0.11811E+01,-0.11834E+01,-0.11857E+01, & - &-0.11880E+01,-0.11903E+01,-0.11925E+01,-0.11948E+01,-0.11970E+01, & - &-0.11993E+01,-0.12015E+01,-0.12038E+01,-0.12060E+01,-0.12082E+01, & - &-0.12105E+01,-0.12127E+01,-0.12149E+01,-0.12171E+01,-0.12193E+01, & - &-0.12215E+01,-0.12237E+01,-0.12259E+01,-0.12280E+01,-0.12302E+01/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.12324E+01,-0.12345E+01,-0.12367E+01,-0.12389E+01,-0.12410E+01, & - &-0.12432E+01,-0.12453E+01,-0.12474E+01,-0.12496E+01,-0.12517E+01, & - &-0.12538E+01,-0.12559E+01,-0.12580E+01,-0.12601E+01,-0.12622E+01, & - &-0.12643E+01,-0.12664E+01,-0.12685E+01,-0.12706E+01,-0.12727E+01, & - &-0.12748E+01,-0.12768E+01,-0.12789E+01,-0.12810E+01,-0.12830E+01, & - &-0.12851E+01,-0.12871E+01,-0.12892E+01,-0.12912E+01,-0.12932E+01, & - &-0.12953E+01,-0.12973E+01,-0.12993E+01,-0.13014E+01,-0.13034E+01, & - &-0.13054E+01,-0.13074E+01,-0.13094E+01,-0.13114E+01,-0.13134E+01, & - &-0.13154E+01,-0.13174E+01,-0.13194E+01,-0.13214E+01,-0.13234E+01, & - &-0.13253E+01,-0.13273E+01,-0.13293E+01,-0.13313E+01,-0.13332E+01, & - &-0.13352E+01,-0.13371E+01,-0.13391E+01,-0.13410E+01,-0.13430E+01, & - &-0.13449E+01,-0.13469E+01,-0.13488E+01,-0.13507E+01,-0.13527E+01, & - &-0.13546E+01,-0.13565E+01,-0.13584E+01,-0.13604E+01,-0.13623E+01, & - &-0.13642E+01,-0.13661E+01,-0.13680E+01,-0.13699E+01,-0.13718E+01, & - &-0.13737E+01,-0.13756E+01,-0.13775E+01,-0.13794E+01,-0.13813E+01, & - &-0.13831E+01,-0.13850E+01,-0.13869E+01,-0.13888E+01,-0.13906E+01, & - &-0.13925E+01,-0.13944E+01,-0.13962E+01,-0.13981E+01,-0.13999E+01, & - &-0.14018E+01,-0.14036E+01,-0.14055E+01,-0.14073E+01,-0.14092E+01, & - &-0.14110E+01,-0.14129E+01,-0.14147E+01,-0.14165E+01,-0.14183E+01, & - &-0.14202E+01,-0.14220E+01,-0.14238E+01,-0.14256E+01,-0.14275E+01/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.14293E+01,-0.14311E+01,-0.14329E+01,-0.14347E+01,-0.14365E+01, & - &-0.14383E+01,-0.14401E+01,-0.14419E+01,-0.14437E+01,-0.14455E+01, & - &-0.14473E+01,-0.14491E+01,-0.14508E+01,-0.14526E+01,-0.14544E+01, & - &-0.14562E+01,-0.14580E+01,-0.14597E+01,-0.14615E+01,-0.14633E+01, & - &-0.14650E+01,-0.14668E+01,-0.14686E+01,-0.14703E+01,-0.14721E+01, & - &-0.14738E+01,-0.14756E+01,-0.14773E+01,-0.14791E+01,-0.14808E+01, & - &-0.14826E+01,-0.14843E+01,-0.14861E+01,-0.14878E+01,-0.14895E+01, & - &-0.14913E+01,-0.14930E+01,-0.14947E+01,-0.14965E+01,-0.14982E+01, & - &-0.14999E+01,-0.15016E+01,-0.15034E+01,-0.15051E+01,-0.15068E+01, & - &-0.15085E+01,-0.15102E+01,-0.15119E+01,-0.15136E+01,-0.15153E+01, & - &-0.15171E+01,-0.15188E+01,-0.15205E+01,-0.15222E+01,-0.15239E+01, & - &-0.15255E+01,-0.15272E+01,-0.15289E+01,-0.15306E+01,-0.15323E+01, & - &-0.15340E+01,-0.15357E+01,-0.15374E+01,-0.15390E+01,-0.15407E+01, & - &-0.15424E+01,-0.15441E+01,-0.15457E+01,-0.15474E+01,-0.15491E+01, & - &-0.15508E+01,-0.15524E+01,-0.15541E+01,-0.15557E+01,-0.15574E+01, & - &-0.15591E+01,-0.15607E+01,-0.15624E+01,-0.15640E+01,-0.15657E+01, & - &-0.15673E+01,-0.15690E+01,-0.15706E+01,-0.15723E+01,-0.15739E+01, & - &-0.15756E+01,-0.15772E+01,-0.15788E+01,-0.15805E+01,-0.15821E+01, & - &-0.15838E+01,-0.15854E+01,-0.15870E+01,-0.15887E+01,-0.15903E+01, & - &-0.15919E+01,-0.15935E+01,-0.15952E+01,-0.15968E+01,-0.15984E+01/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.16000E+01,-0.16016E+01,-0.16032E+01,-0.16049E+01,-0.16065E+01, & - &-0.16081E+01,-0.16097E+01,-0.16113E+01,-0.16129E+01,-0.16145E+01, & - &-0.16161E+01,-0.16177E+01,-0.16193E+01,-0.16209E+01,-0.16225E+01, & - &-0.16241E+01,-0.16257E+01,-0.16273E+01,-0.16289E+01,-0.16305E+01, & - &-0.16321E+01,-0.16337E+01,-0.16353E+01,-0.16368E+01,-0.16384E+01, & - &-0.16400E+01,-0.16416E+01,-0.16432E+01,-0.16448E+01,-0.16463E+01, & - &-0.16479E+01,-0.16495E+01,-0.16511E+01,-0.16526E+01,-0.16542E+01, & - &-0.16558E+01,-0.16573E+01,-0.16589E+01,-0.16605E+01,-0.16620E+01, & - &-0.16636E+01,-0.16652E+01,-0.16667E+01,-0.16683E+01,-0.16698E+01, & - &-0.16714E+01,-0.16729E+01,-0.16745E+01,-0.16761E+01,-0.16776E+01, & - &-0.16792E+01,-0.16807E+01,-0.16823E+01,-0.16838E+01,-0.16853E+01, & - &-0.16869E+01,-0.16884E+01,-0.16900E+01,-0.16915E+01,-0.16931E+01, & - &-0.16946E+01,-0.16961E+01,-0.16977E+01,-0.16992E+01,-0.17007E+01, & - &-0.17023E+01,-0.17038E+01,-0.17053E+01,-0.17069E+01,-0.17084E+01, & - &-0.17099E+01,-0.17114E+01,-0.17130E+01,-0.17145E+01,-0.17160E+01, & - &-0.17175E+01,-0.17190E+01,-0.17206E+01,-0.17221E+01,-0.17236E+01, & - &-0.17251E+01,-0.17266E+01,-0.17281E+01,-0.17297E+01,-0.17312E+01, & - &-0.17327E+01,-0.17342E+01,-0.17357E+01,-0.17372E+01,-0.17387E+01, & - &-0.17402E+01,-0.17417E+01,-0.17432E+01,-0.17447E+01,-0.17462E+01, & - &-0.17477E+01,-0.17492E+01,-0.17507E+01,-0.17522E+01,-0.17537E+01/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.17552E+01,-0.17567E+01,-0.17582E+01,-0.17597E+01,-0.17612E+01, & - &-0.17626E+01,-0.17641E+01,-0.17656E+01,-0.17671E+01,-0.17686E+01, & - &-0.17701E+01,-0.17715E+01,-0.17730E+01,-0.17745E+01,-0.17760E+01, & - &-0.17775E+01,-0.17789E+01,-0.17804E+01,-0.17819E+01,-0.17834E+01, & - &-0.17848E+01,-0.17863E+01,-0.17878E+01,-0.17893E+01,-0.17907E+01, & - &-0.17922E+01,-0.17937E+01,-0.17951E+01,-0.17966E+01,-0.17981E+01, & - &-0.17995E+01,-0.18010E+01,-0.18025E+01,-0.18039E+01,-0.18054E+01, & - &-0.18068E+01,-0.18083E+01,-0.18098E+01,-0.18112E+01,-0.18127E+01, & - &-0.18141E+01,-0.18156E+01,-0.18170E+01,-0.18185E+01,-0.18199E+01, & - &-0.18214E+01,-0.18228E+01,-0.18243E+01,-0.18257E+01,-0.18272E+01, & - &-0.18286E+01,-0.18301E+01,-0.18315E+01,-0.18330E+01,-0.18344E+01, & - &-0.18358E+01,-0.18373E+01,-0.18387E+01,-0.18402E+01,-0.18416E+01, & - &-0.18430E+01,-0.18445E+01,-0.18459E+01,-0.18473E+01,-0.18488E+01, & - &-0.18502E+01,-0.18516E+01,-0.18531E+01,-0.18545E+01,-0.18559E+01, & - &-0.18574E+01,-0.18588E+01,-0.18602E+01,-0.18616E+01,-0.18631E+01, & - &-0.18645E+01,-0.18659E+01,-0.18673E+01,-0.18688E+01,-0.18702E+01, & - &-0.18716E+01,-0.18730E+01,-0.18744E+01,-0.18759E+01,-0.18773E+01, & - &-0.18787E+01,-0.18801E+01,-0.18815E+01,-0.18829E+01,-0.18844E+01, & - &-0.18858E+01,-0.18872E+01,-0.18886E+01,-0.18900E+01,-0.18914E+01, & - &-0.18928E+01,-0.18942E+01,-0.18956E+01,-0.18970E+01,-0.18984E+01/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.19136E+01,-0.19275E+01,-0.19414E+01,-0.19552E+01,-0.19689E+01, & - &-0.19826E+01,-0.19962E+01,-0.20097E+01,-0.20232E+01,-0.20366E+01, & - &-0.20500E+01,-0.20633E+01,-0.20766E+01,-0.20897E+01,-0.21029E+01, & - &-0.21160E+01,-0.21290E+01,-0.21420E+01,-0.21550E+01,-0.21679E+01, & - &-0.21807E+01,-0.21935E+01,-0.22063E+01,-0.22190E+01,-0.22317E+01, & - &-0.22443E+01,-0.22569E+01,-0.22695E+01,-0.22820E+01,-0.22945E+01, & - &-0.23069E+01,-0.23193E+01,-0.23317E+01,-0.23440E+01,-0.23563E+01, & - &-0.23686E+01,-0.23808E+01,-0.23930E+01,-0.24052E+01,-0.24173E+01, & - &-0.24294E+01,-0.24415E+01,-0.24535E+01,-0.24655E+01,-0.24775E+01, & - &-0.24895E+01,-0.25014E+01,-0.25133E+01,-0.25252E+01,-0.25370E+01, & - &-0.25488E+01,-0.25606E+01,-0.25724E+01,-0.25841E+01,-0.25959E+01, & - &-0.26076E+01,-0.26192E+01,-0.26309E+01,-0.26425E+01,-0.26541E+01, & - &-0.26657E+01,-0.26772E+01,-0.26887E+01,-0.27002E+01,-0.27117E+01, & - &-0.27232E+01,-0.27346E+01,-0.27461E+01,-0.27575E+01,-0.27688E+01, & - &-0.27802E+01,-0.27915E+01,-0.28029E+01,-0.28142E+01,-0.28255E+01, & - &-0.28367E+01,-0.28480E+01,-0.28592E+01,-0.28704E+01,-0.28816E+01, & - &-0.28928E+01,-0.29039E+01,-0.29151E+01,-0.29262E+01,-0.29373E+01, & - &-0.29484E+01,-0.29595E+01,-0.29705E+01,-0.29816E+01,-0.29926E+01, & - &-0.30036E+01,-0.30146E+01,-0.30256E+01,-0.30366E+01,-0.30475E+01, & - &-0.30585E+01,-0.30694E+01,-0.30803E+01,-0.30912E+01,-0.31021E+01/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.31129E+01,-0.31238E+01,-0.31346E+01,-0.31454E+01,-0.31562E+01, & - &-0.31670E+01,-0.31778E+01,-0.31886E+01,-0.31993E+01,-0.32101E+01, & - &-0.32208E+01,-0.32315E+01,-0.32423E+01,-0.32529E+01,-0.32636E+01, & - &-0.32743E+01,-0.32850E+01,-0.32956E+01,-0.33062E+01,-0.33169E+01, & - &-0.33275E+01,-0.33381E+01,-0.33487E+01,-0.33592E+01,-0.33698E+01, & - &-0.33804E+01,-0.33909E+01,-0.34015E+01,-0.34120E+01,-0.34225E+01, & - &-0.34330E+01,-0.34435E+01,-0.34540E+01,-0.34644E+01,-0.34749E+01, & - &-0.34854E+01,-0.34958E+01,-0.35062E+01,-0.35166E+01,-0.35271E+01, & - &-0.35375E+01 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.51007E-01,-0.11414E+00,-0.14751E+00,-0.17208E+00,-0.19205E+00, & - &-0.20913E+00,-0.22418E+00,-0.23774E+00,-0.25013E+00,-0.26159E+00, & - &-0.27229E+00,-0.28235E+00,-0.29187E+00,-0.30091E+00,-0.30954E+00, & - &-0.31781E+00,-0.32575E+00,-0.33340E+00,-0.34079E+00,-0.34794E+00, & - &-0.35487E+00,-0.36160E+00,-0.36815E+00,-0.37452E+00,-0.38073E+00, & - &-0.38679E+00,-0.39271E+00,-0.39849E+00,-0.40415E+00,-0.40969E+00, & - &-0.41512E+00,-0.42044E+00,-0.42566E+00,-0.43078E+00,-0.43581E+00, & - &-0.44075E+00,-0.44560E+00,-0.45037E+00,-0.45506E+00,-0.45968E+00, & - &-0.46422E+00,-0.46869E+00,-0.47309E+00,-0.47742E+00,-0.48169E+00, & - &-0.48590E+00,-0.49005E+00,-0.49414E+00,-0.49817E+00,-0.50215E+00, & - &-0.50607E+00,-0.50995E+00,-0.51378E+00,-0.51755E+00,-0.52129E+00, & - &-0.52498E+00,-0.52862E+00,-0.53223E+00,-0.53579E+00,-0.53931E+00, & - &-0.54280E+00,-0.54626E+00,-0.54968E+00,-0.55306E+00,-0.55642E+00, & - &-0.55974E+00,-0.56303E+00,-0.56630E+00,-0.56954E+00,-0.57276E+00, & - &-0.57595E+00,-0.57911E+00,-0.58226E+00,-0.58538E+00,-0.58849E+00, & - &-0.59157E+00,-0.59464E+00,-0.59769E+00,-0.60072E+00,-0.60373E+00, & - &-0.60673E+00,-0.60972E+00,-0.61269E+00,-0.61565E+00,-0.61860E+00, & - &-0.62153E+00,-0.62445E+00,-0.62737E+00,-0.63027E+00,-0.63316E+00, & - &-0.63604E+00,-0.63891E+00,-0.64177E+00,-0.64462E+00,-0.64746E+00, & - &-0.65029E+00,-0.65312E+00,-0.65593E+00,-0.65874E+00,-0.66154E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.66433E+00,-0.66711E+00,-0.66988E+00,-0.67265E+00,-0.67540E+00, & - &-0.67815E+00,-0.68089E+00,-0.68361E+00,-0.68633E+00,-0.68905E+00, & - &-0.69175E+00,-0.69444E+00,-0.69713E+00,-0.69980E+00,-0.70247E+00, & - &-0.70513E+00,-0.70777E+00,-0.71041E+00,-0.71304E+00,-0.71566E+00, & - &-0.71827E+00,-0.72087E+00,-0.72346E+00,-0.72604E+00,-0.72861E+00, & - &-0.73117E+00,-0.73372E+00,-0.73627E+00,-0.73880E+00,-0.74132E+00, & - &-0.74383E+00,-0.74634E+00,-0.74883E+00,-0.75132E+00,-0.75379E+00, & - &-0.75626E+00,-0.75871E+00,-0.76116E+00,-0.76360E+00,-0.76603E+00, & - &-0.76844E+00,-0.77085E+00,-0.77325E+00,-0.77565E+00,-0.77803E+00, & - &-0.78040E+00,-0.78277E+00,-0.78512E+00,-0.78747E+00,-0.78981E+00, & - &-0.79214E+00,-0.79446E+00,-0.79677E+00,-0.79908E+00,-0.80138E+00, & - &-0.80366E+00,-0.80594E+00,-0.80822E+00,-0.81048E+00,-0.81274E+00, & - &-0.81498E+00,-0.81723E+00,-0.81946E+00,-0.82168E+00,-0.82390E+00, & - &-0.82611E+00,-0.82831E+00,-0.83051E+00,-0.83269E+00,-0.83487E+00, & - &-0.83705E+00,-0.83921E+00,-0.84137E+00,-0.84352E+00,-0.84567E+00, & - &-0.84780E+00,-0.84993E+00,-0.85206E+00,-0.85417E+00,-0.85628E+00, & - &-0.85839E+00,-0.86048E+00,-0.86257E+00,-0.86466E+00,-0.86673E+00, & - &-0.86880E+00,-0.87087E+00,-0.87292E+00,-0.87497E+00,-0.87702E+00, & - &-0.87906E+00,-0.88109E+00,-0.88312E+00,-0.88514E+00,-0.88715E+00, & - &-0.88916E+00,-0.89116E+00,-0.89315E+00,-0.89514E+00,-0.89713E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.89911E+00,-0.90108E+00,-0.90305E+00,-0.90501E+00,-0.90696E+00, & - &-0.90891E+00,-0.91086E+00,-0.91280E+00,-0.91473E+00,-0.91666E+00, & - &-0.91858E+00,-0.92050E+00,-0.92241E+00,-0.92431E+00,-0.92621E+00, & - &-0.92811E+00,-0.93000E+00,-0.93188E+00,-0.93376E+00,-0.93564E+00, & - &-0.93751E+00,-0.93937E+00,-0.94123E+00,-0.94309E+00,-0.94494E+00, & - &-0.94678E+00,-0.94862E+00,-0.95046E+00,-0.95229E+00,-0.95411E+00, & - &-0.95593E+00,-0.95775E+00,-0.95956E+00,-0.96136E+00,-0.96317E+00, & - &-0.96496E+00,-0.96676E+00,-0.96854E+00,-0.97033E+00,-0.97210E+00, & - &-0.97388E+00,-0.97565E+00,-0.97741E+00,-0.97917E+00,-0.98093E+00, & - &-0.98268E+00,-0.98443E+00,-0.98617E+00,-0.98791E+00,-0.98965E+00, & - &-0.99138E+00,-0.99310E+00,-0.99483E+00,-0.99654E+00,-0.99826E+00, & - &-0.99997E+00,-0.10017E+01,-0.10034E+01,-0.10051E+01,-0.10068E+01, & - &-0.10085E+01,-0.10101E+01,-0.10118E+01,-0.10135E+01,-0.10152E+01, & - &-0.10168E+01,-0.10185E+01,-0.10202E+01,-0.10218E+01,-0.10235E+01, & - &-0.10251E+01,-0.10268E+01,-0.10284E+01,-0.10301E+01,-0.10317E+01, & - &-0.10333E+01,-0.10350E+01,-0.10366E+01,-0.10382E+01,-0.10398E+01, & - &-0.10414E+01,-0.10430E+01,-0.10446E+01,-0.10462E+01,-0.10478E+01, & - &-0.10494E+01,-0.10510E+01,-0.10526E+01,-0.10542E+01,-0.10558E+01, & - &-0.10574E+01,-0.10589E+01,-0.10605E+01,-0.10621E+01,-0.10636E+01, & - &-0.10652E+01,-0.10668E+01,-0.10683E+01,-0.10699E+01,-0.10714E+01/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.10730E+01,-0.10745E+01,-0.10760E+01,-0.10776E+01,-0.10791E+01, & - &-0.10806E+01,-0.10822E+01,-0.10837E+01,-0.10852E+01,-0.10867E+01, & - &-0.10882E+01,-0.10898E+01,-0.10913E+01,-0.10928E+01,-0.10943E+01, & - &-0.10958E+01,-0.10973E+01,-0.10988E+01,-0.11002E+01,-0.11017E+01, & - &-0.11032E+01,-0.11047E+01,-0.11062E+01,-0.11076E+01,-0.11091E+01, & - &-0.11106E+01,-0.11121E+01,-0.11135E+01,-0.11150E+01,-0.11164E+01, & - &-0.11179E+01,-0.11193E+01,-0.11208E+01,-0.11222E+01,-0.11237E+01, & - &-0.11251E+01,-0.11266E+01,-0.11280E+01,-0.11294E+01,-0.11309E+01, & - &-0.11323E+01,-0.11337E+01,-0.11351E+01,-0.11365E+01,-0.11380E+01, & - &-0.11394E+01,-0.11408E+01,-0.11422E+01,-0.11436E+01,-0.11450E+01, & - &-0.11464E+01,-0.11478E+01,-0.11492E+01,-0.11506E+01,-0.11520E+01, & - &-0.11534E+01,-0.11548E+01,-0.11561E+01,-0.11575E+01,-0.11589E+01, & - &-0.11603E+01,-0.11617E+01,-0.11630E+01,-0.11644E+01,-0.11658E+01, & - &-0.11671E+01,-0.11685E+01,-0.11698E+01,-0.11712E+01,-0.11726E+01, & - &-0.11739E+01,-0.11753E+01,-0.11766E+01,-0.11779E+01,-0.11793E+01, & - &-0.11806E+01,-0.11820E+01,-0.11833E+01,-0.11846E+01,-0.11860E+01, & - &-0.11873E+01,-0.11886E+01,-0.11899E+01,-0.11913E+01,-0.11926E+01, & - &-0.11939E+01,-0.11952E+01,-0.11965E+01,-0.11978E+01,-0.11992E+01, & - &-0.12005E+01,-0.12018E+01,-0.12031E+01,-0.12044E+01,-0.12057E+01, & - &-0.12070E+01,-0.12083E+01,-0.12096E+01,-0.12108E+01,-0.12121E+01/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.12134E+01,-0.12147E+01,-0.12160E+01,-0.12173E+01,-0.12185E+01, & - &-0.12198E+01,-0.12211E+01,-0.12224E+01,-0.12236E+01,-0.12249E+01, & - &-0.12262E+01,-0.12274E+01,-0.12287E+01,-0.12299E+01,-0.12312E+01, & - &-0.12325E+01,-0.12337E+01,-0.12350E+01,-0.12362E+01,-0.12375E+01, & - &-0.12387E+01,-0.12400E+01,-0.12412E+01,-0.12424E+01,-0.12437E+01, & - &-0.12449E+01,-0.12461E+01,-0.12474E+01,-0.12486E+01,-0.12498E+01, & - &-0.12511E+01,-0.12523E+01,-0.12535E+01,-0.12547E+01,-0.12560E+01, & - &-0.12572E+01,-0.12584E+01,-0.12596E+01,-0.12608E+01,-0.12620E+01, & - &-0.12632E+01,-0.12644E+01,-0.12656E+01,-0.12669E+01,-0.12681E+01, & - &-0.12693E+01,-0.12705E+01,-0.12717E+01,-0.12728E+01,-0.12740E+01, & - &-0.12752E+01,-0.12764E+01,-0.12776E+01,-0.12788E+01,-0.12800E+01, & - &-0.12812E+01,-0.12823E+01,-0.12835E+01,-0.12847E+01,-0.12859E+01, & - &-0.12871E+01,-0.12882E+01,-0.12894E+01,-0.12906E+01,-0.12917E+01, & - &-0.12929E+01,-0.12941E+01,-0.12952E+01,-0.12964E+01,-0.12976E+01, & - &-0.12987E+01,-0.12999E+01,-0.13010E+01,-0.13022E+01,-0.13033E+01, & - &-0.13045E+01,-0.13056E+01,-0.13068E+01,-0.13079E+01,-0.13091E+01, & - &-0.13102E+01,-0.13114E+01,-0.13125E+01,-0.13136E+01,-0.13148E+01, & - &-0.13159E+01,-0.13170E+01,-0.13182E+01,-0.13193E+01,-0.13204E+01, & - &-0.13216E+01,-0.13227E+01,-0.13238E+01,-0.13249E+01,-0.13261E+01, & - &-0.13272E+01,-0.13283E+01,-0.13294E+01,-0.13305E+01,-0.13317E+01/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.13328E+01,-0.13339E+01,-0.13350E+01,-0.13361E+01,-0.13372E+01, & - &-0.13383E+01,-0.13394E+01,-0.13405E+01,-0.13416E+01,-0.13427E+01, & - &-0.13438E+01,-0.13449E+01,-0.13460E+01,-0.13471E+01,-0.13482E+01, & - &-0.13493E+01,-0.13504E+01,-0.13515E+01,-0.13526E+01,-0.13537E+01, & - &-0.13547E+01,-0.13558E+01,-0.13569E+01,-0.13580E+01,-0.13591E+01, & - &-0.13602E+01,-0.13612E+01,-0.13623E+01,-0.13634E+01,-0.13645E+01, & - &-0.13655E+01,-0.13666E+01,-0.13677E+01,-0.13687E+01,-0.13698E+01, & - &-0.13709E+01,-0.13719E+01,-0.13730E+01,-0.13741E+01,-0.13751E+01, & - &-0.13762E+01,-0.13773E+01,-0.13783E+01,-0.13794E+01,-0.13804E+01, & - &-0.13815E+01,-0.13825E+01,-0.13836E+01,-0.13846E+01,-0.13857E+01, & - &-0.13867E+01,-0.13878E+01,-0.13888E+01,-0.13899E+01,-0.13909E+01, & - &-0.13920E+01,-0.13930E+01,-0.13940E+01,-0.13951E+01,-0.13961E+01, & - &-0.13971E+01,-0.13982E+01,-0.13992E+01,-0.14002E+01,-0.14013E+01, & - &-0.14023E+01,-0.14033E+01,-0.14044E+01,-0.14054E+01,-0.14064E+01, & - &-0.14074E+01,-0.14085E+01,-0.14095E+01,-0.14105E+01,-0.14115E+01, & - &-0.14125E+01,-0.14136E+01,-0.14146E+01,-0.14156E+01,-0.14166E+01, & - &-0.14176E+01,-0.14186E+01,-0.14196E+01,-0.14207E+01,-0.14217E+01, & - &-0.14227E+01,-0.14237E+01,-0.14247E+01,-0.14257E+01,-0.14267E+01, & - &-0.14277E+01,-0.14287E+01,-0.14297E+01,-0.14307E+01,-0.14317E+01, & - &-0.14327E+01,-0.14337E+01,-0.14347E+01,-0.14357E+01,-0.14367E+01/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.14473E+01,-0.14571E+01,-0.14668E+01,-0.14763E+01,-0.14858E+01, & - &-0.14952E+01,-0.15045E+01,-0.15137E+01,-0.15229E+01,-0.15319E+01, & - &-0.15409E+01,-0.15498E+01,-0.15586E+01,-0.15674E+01,-0.15761E+01, & - &-0.15847E+01,-0.15933E+01,-0.16017E+01,-0.16102E+01,-0.16185E+01, & - &-0.16268E+01,-0.16351E+01,-0.16433E+01,-0.16514E+01,-0.16595E+01, & - &-0.16675E+01,-0.16754E+01,-0.16834E+01,-0.16912E+01,-0.16990E+01, & - &-0.17068E+01,-0.17145E+01,-0.17222E+01,-0.17298E+01,-0.17374E+01, & - &-0.17450E+01,-0.17525E+01,-0.17599E+01,-0.17674E+01,-0.17747E+01, & - &-0.17821E+01,-0.17894E+01,-0.17967E+01,-0.18039E+01,-0.18111E+01, & - &-0.18182E+01,-0.18254E+01,-0.18325E+01,-0.18395E+01,-0.18466E+01, & - &-0.18535E+01,-0.18605E+01,-0.18674E+01,-0.18743E+01,-0.18812E+01, & - &-0.18881E+01,-0.18949E+01,-0.19017E+01,-0.19084E+01,-0.19152E+01, & - &-0.19219E+01,-0.19285E+01,-0.19352E+01,-0.19418E+01,-0.19484E+01, & - &-0.19550E+01,-0.19616E+01,-0.19681E+01,-0.19746E+01,-0.19811E+01, & - &-0.19876E+01,-0.19940E+01,-0.20004E+01,-0.20068E+01,-0.20132E+01, & - &-0.20196E+01,-0.20259E+01,-0.20322E+01,-0.20385E+01,-0.20448E+01, & - &-0.20510E+01,-0.20573E+01,-0.20635E+01,-0.20697E+01,-0.20759E+01, & - &-0.20821E+01,-0.20882E+01,-0.20943E+01,-0.21005E+01,-0.21066E+01, & - &-0.21126E+01,-0.21187E+01,-0.21247E+01,-0.21308E+01,-0.21368E+01, & - &-0.21428E+01,-0.21488E+01,-0.21548E+01,-0.21607E+01,-0.21667E+01/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.21726E+01,-0.21785E+01,-0.21844E+01,-0.21903E+01,-0.21962E+01, & - &-0.22020E+01,-0.22079E+01,-0.22137E+01,-0.22195E+01,-0.22253E+01, & - &-0.22311E+01,-0.22369E+01,-0.22427E+01,-0.22484E+01,-0.22542E+01, & - &-0.22599E+01,-0.22656E+01,-0.22714E+01,-0.22771E+01,-0.22827E+01, & - &-0.22884E+01,-0.22941E+01,-0.22997E+01,-0.23054E+01,-0.23110E+01, & - &-0.23167E+01,-0.23223E+01,-0.23279E+01,-0.23335E+01,-0.23390E+01, & - &-0.23446E+01,-0.23502E+01,-0.23557E+01,-0.23613E+01,-0.23668E+01, & - &-0.23723E+01,-0.23779E+01,-0.23834E+01,-0.23889E+01,-0.23944E+01, & - &-0.23998E+01 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.49470E-01,-0.10575E+00,-0.13284E+00,-0.15144E+00,-0.16564E+00, & - &-0.17711E+00,-0.18670E+00,-0.19489E+00,-0.20203E+00,-0.20831E+00, & - &-0.21392E+00,-0.21895E+00,-0.22351E+00,-0.22765E+00,-0.23144E+00, & - &-0.23493E+00,-0.23814E+00,-0.24112E+00,-0.24388E+00,-0.24646E+00, & - &-0.24886E+00,-0.25110E+00,-0.25321E+00,-0.25519E+00,-0.25705E+00, & - &-0.25880E+00,-0.26046E+00,-0.26203E+00,-0.26351E+00,-0.26492E+00, & - &-0.26626E+00,-0.26753E+00,-0.26874E+00,-0.26989E+00,-0.27100E+00, & - &-0.27205E+00,-0.27306E+00,-0.27402E+00,-0.27495E+00,-0.27584E+00, & - &-0.27669E+00,-0.27752E+00,-0.27831E+00,-0.27907E+00,-0.27981E+00, & - &-0.28052E+00,-0.28121E+00,-0.28187E+00,-0.28252E+00,-0.28314E+00, & - &-0.28375E+00,-0.28433E+00,-0.28490E+00,-0.28545E+00,-0.28599E+00, & - &-0.28651E+00,-0.28702E+00,-0.28751E+00,-0.28799E+00,-0.28845E+00, & - &-0.28891E+00,-0.28935E+00,-0.28977E+00,-0.29019E+00,-0.29059E+00, & - &-0.29098E+00,-0.29136E+00,-0.29172E+00,-0.29208E+00,-0.29242E+00, & - &-0.29275E+00,-0.29307E+00,-0.29338E+00,-0.29367E+00,-0.29396E+00, & - &-0.29423E+00,-0.29449E+00,-0.29474E+00,-0.29498E+00,-0.29521E+00, & - &-0.29543E+00,-0.29563E+00,-0.29582E+00,-0.29600E+00,-0.29617E+00, & - &-0.29633E+00,-0.29648E+00,-0.29661E+00,-0.29674E+00,-0.29685E+00, & - &-0.29696E+00,-0.29705E+00,-0.29713E+00,-0.29720E+00,-0.29726E+00, & - &-0.29732E+00,-0.29736E+00,-0.29739E+00,-0.29742E+00,-0.29743E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.29744E+00,-0.29744E+00,-0.29743E+00,-0.29741E+00,-0.29738E+00, & - &-0.29735E+00,-0.29731E+00,-0.29726E+00,-0.29721E+00,-0.29715E+00, & - &-0.29708E+00,-0.29701E+00,-0.29693E+00,-0.29685E+00,-0.29676E+00, & - &-0.29667E+00,-0.29658E+00,-0.29647E+00,-0.29637E+00,-0.29626E+00, & - &-0.29615E+00,-0.29603E+00,-0.29591E+00,-0.29579E+00,-0.29566E+00, & - &-0.29554E+00,-0.29540E+00,-0.29527E+00,-0.29513E+00,-0.29500E+00, & - &-0.29486E+00,-0.29471E+00,-0.29457E+00,-0.29442E+00,-0.29427E+00, & - &-0.29413E+00,-0.29397E+00,-0.29382E+00,-0.29367E+00,-0.29351E+00, & - &-0.29336E+00,-0.29320E+00,-0.29304E+00,-0.29288E+00,-0.29272E+00, & - &-0.29256E+00,-0.29239E+00,-0.29223E+00,-0.29207E+00,-0.29190E+00, & - &-0.29173E+00,-0.29157E+00,-0.29140E+00,-0.29123E+00,-0.29106E+00, & - &-0.29089E+00,-0.29072E+00,-0.29055E+00,-0.29038E+00,-0.29021E+00, & - &-0.29004E+00,-0.28987E+00,-0.28970E+00,-0.28953E+00,-0.28935E+00, & - &-0.28918E+00,-0.28901E+00,-0.28883E+00,-0.28866E+00,-0.28848E+00, & - &-0.28831E+00,-0.28814E+00,-0.28796E+00,-0.28779E+00,-0.28761E+00, & - &-0.28744E+00,-0.28726E+00,-0.28709E+00,-0.28691E+00,-0.28674E+00, & - &-0.28656E+00,-0.28639E+00,-0.28621E+00,-0.28604E+00,-0.28586E+00, & - &-0.28569E+00,-0.28551E+00,-0.28534E+00,-0.28516E+00,-0.28499E+00, & - &-0.28481E+00,-0.28464E+00,-0.28447E+00,-0.28429E+00,-0.28412E+00, & - &-0.28395E+00,-0.28377E+00,-0.28360E+00,-0.28343E+00,-0.28325E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.28308E+00,-0.28291E+00,-0.28274E+00,-0.28257E+00,-0.28240E+00, & - &-0.28223E+00,-0.28205E+00,-0.28188E+00,-0.28171E+00,-0.28155E+00, & - &-0.28138E+00,-0.28121E+00,-0.28104E+00,-0.28087E+00,-0.28070E+00, & - &-0.28053E+00,-0.28037E+00,-0.28020E+00,-0.28003E+00,-0.27987E+00, & - &-0.27970E+00,-0.27954E+00,-0.27937E+00,-0.27921E+00,-0.27905E+00, & - &-0.27888E+00,-0.27872E+00,-0.27856E+00,-0.27839E+00,-0.27823E+00, & - &-0.27807E+00,-0.27791E+00,-0.27775E+00,-0.27759E+00,-0.27743E+00, & - &-0.27727E+00,-0.27712E+00,-0.27696E+00,-0.27680E+00,-0.27664E+00, & - &-0.27649E+00,-0.27633E+00,-0.27618E+00,-0.27602E+00,-0.27587E+00, & - &-0.27571E+00,-0.27556E+00,-0.27541E+00,-0.27526E+00,-0.27510E+00, & - &-0.27495E+00,-0.27480E+00,-0.27465E+00,-0.27450E+00,-0.27435E+00, & - &-0.27421E+00,-0.27406E+00,-0.27391E+00,-0.27376E+00,-0.27362E+00, & - &-0.27347E+00,-0.27333E+00,-0.27318E+00,-0.27304E+00,-0.27290E+00, & - &-0.27275E+00,-0.27261E+00,-0.27247E+00,-0.27233E+00,-0.27219E+00, & - &-0.27205E+00,-0.27191E+00,-0.27177E+00,-0.27163E+00,-0.27149E+00, & - &-0.27136E+00,-0.27122E+00,-0.27109E+00,-0.27095E+00,-0.27082E+00, & - &-0.27068E+00,-0.27055E+00,-0.27042E+00,-0.27028E+00,-0.27015E+00, & - &-0.27002E+00,-0.26989E+00,-0.26976E+00,-0.26963E+00,-0.26950E+00, & - &-0.26938E+00,-0.26925E+00,-0.26912E+00,-0.26900E+00,-0.26887E+00, & - &-0.26875E+00,-0.26862E+00,-0.26850E+00,-0.26837E+00,-0.26825E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.26813E+00,-0.26801E+00,-0.26789E+00,-0.26777E+00,-0.26765E+00, & - &-0.26753E+00,-0.26741E+00,-0.26729E+00,-0.26718E+00,-0.26706E+00, & - &-0.26694E+00,-0.26683E+00,-0.26672E+00,-0.26660E+00,-0.26649E+00, & - &-0.26638E+00,-0.26626E+00,-0.26615E+00,-0.26604E+00,-0.26593E+00, & - &-0.26582E+00,-0.26571E+00,-0.26560E+00,-0.26550E+00,-0.26539E+00, & - &-0.26528E+00,-0.26518E+00,-0.26507E+00,-0.26497E+00,-0.26486E+00, & - &-0.26476E+00,-0.26466E+00,-0.26455E+00,-0.26445E+00,-0.26435E+00, & - &-0.26425E+00,-0.26415E+00,-0.26405E+00,-0.26395E+00,-0.26385E+00, & - &-0.26376E+00,-0.26366E+00,-0.26356E+00,-0.26347E+00,-0.26337E+00, & - &-0.26328E+00,-0.26319E+00,-0.26309E+00,-0.26300E+00,-0.26291E+00, & - &-0.26282E+00,-0.26273E+00,-0.26264E+00,-0.26255E+00,-0.26246E+00, & - &-0.26237E+00,-0.26228E+00,-0.26219E+00,-0.26211E+00,-0.26202E+00, & - &-0.26194E+00,-0.26185E+00,-0.26177E+00,-0.26168E+00,-0.26160E+00, & - &-0.26152E+00,-0.26144E+00,-0.26136E+00,-0.26128E+00,-0.26120E+00, & - &-0.26112E+00,-0.26104E+00,-0.26096E+00,-0.26088E+00,-0.26081E+00, & - &-0.26073E+00,-0.26065E+00,-0.26058E+00,-0.26050E+00,-0.26043E+00, & - &-0.26036E+00,-0.26028E+00,-0.26021E+00,-0.26014E+00,-0.26007E+00, & - &-0.26000E+00,-0.25993E+00,-0.25986E+00,-0.25979E+00,-0.25972E+00, & - &-0.25965E+00,-0.25959E+00,-0.25952E+00,-0.25945E+00,-0.25939E+00, & - &-0.25932E+00,-0.25926E+00,-0.25920E+00,-0.25913E+00,-0.25907E+00/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.25901E+00,-0.25895E+00,-0.25889E+00,-0.25883E+00,-0.25877E+00, & - &-0.25871E+00,-0.25865E+00,-0.25859E+00,-0.25853E+00,-0.25848E+00, & - &-0.25842E+00,-0.25837E+00,-0.25831E+00,-0.25826E+00,-0.25820E+00, & - &-0.25815E+00,-0.25810E+00,-0.25804E+00,-0.25799E+00,-0.25794E+00, & - &-0.25789E+00,-0.25784E+00,-0.25779E+00,-0.25774E+00,-0.25769E+00, & - &-0.25765E+00,-0.25760E+00,-0.25755E+00,-0.25751E+00,-0.25746E+00, & - &-0.25741E+00,-0.25737E+00,-0.25733E+00,-0.25728E+00,-0.25724E+00, & - &-0.25720E+00,-0.25715E+00,-0.25711E+00,-0.25707E+00,-0.25703E+00, & - &-0.25699E+00,-0.25695E+00,-0.25692E+00,-0.25688E+00,-0.25684E+00, & - &-0.25680E+00,-0.25677E+00,-0.25673E+00,-0.25669E+00,-0.25666E+00, & - &-0.25662E+00,-0.25659E+00,-0.25656E+00,-0.25652E+00,-0.25649E+00, & - &-0.25646E+00,-0.25643E+00,-0.25640E+00,-0.25637E+00,-0.25634E+00, & - &-0.25631E+00,-0.25628E+00,-0.25625E+00,-0.25623E+00,-0.25620E+00, & - &-0.25617E+00,-0.25615E+00,-0.25612E+00,-0.25609E+00,-0.25607E+00, & - &-0.25605E+00,-0.25602E+00,-0.25600E+00,-0.25598E+00,-0.25596E+00, & - &-0.25593E+00,-0.25591E+00,-0.25589E+00,-0.25587E+00,-0.25585E+00, & - &-0.25583E+00,-0.25582E+00,-0.25580E+00,-0.25578E+00,-0.25576E+00, & - &-0.25575E+00,-0.25573E+00,-0.25571E+00,-0.25570E+00,-0.25569E+00, & - &-0.25567E+00,-0.25566E+00,-0.25564E+00,-0.25563E+00,-0.25562E+00, & - &-0.25561E+00,-0.25560E+00,-0.25559E+00,-0.25558E+00,-0.25557E+00/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.25556E+00,-0.25555E+00,-0.25554E+00,-0.25553E+00,-0.25553E+00, & - &-0.25552E+00,-0.25551E+00,-0.25551E+00,-0.25550E+00,-0.25550E+00, & - &-0.25549E+00,-0.25549E+00,-0.25549E+00,-0.25548E+00,-0.25548E+00, & - &-0.25548E+00,-0.25548E+00,-0.25548E+00,-0.25547E+00,-0.25547E+00, & - &-0.25547E+00,-0.25548E+00,-0.25548E+00,-0.25548E+00,-0.25548E+00, & - &-0.25548E+00,-0.25549E+00,-0.25549E+00,-0.25549E+00,-0.25550E+00, & - &-0.25550E+00,-0.25551E+00,-0.25551E+00,-0.25552E+00,-0.25553E+00, & - &-0.25553E+00,-0.25554E+00,-0.25555E+00,-0.25556E+00,-0.25557E+00, & - &-0.25558E+00,-0.25559E+00,-0.25560E+00,-0.25561E+00,-0.25562E+00, & - &-0.25563E+00,-0.25564E+00,-0.25566E+00,-0.25567E+00,-0.25568E+00, & - &-0.25570E+00,-0.25571E+00,-0.25573E+00,-0.25574E+00,-0.25576E+00, & - &-0.25577E+00,-0.25579E+00,-0.25581E+00,-0.25582E+00,-0.25584E+00, & - &-0.25586E+00,-0.25588E+00,-0.25590E+00,-0.25592E+00,-0.25594E+00, & - &-0.25596E+00,-0.25598E+00,-0.25600E+00,-0.25602E+00,-0.25604E+00, & - &-0.25607E+00,-0.25609E+00,-0.25611E+00,-0.25614E+00,-0.25616E+00, & - &-0.25619E+00,-0.25621E+00,-0.25624E+00,-0.25626E+00,-0.25629E+00, & - &-0.25632E+00,-0.25634E+00,-0.25637E+00,-0.25640E+00,-0.25643E+00, & - &-0.25646E+00,-0.25649E+00,-0.25651E+00,-0.25654E+00,-0.25658E+00, & - &-0.25661E+00,-0.25664E+00,-0.25667E+00,-0.25670E+00,-0.25673E+00, & - &-0.25677E+00,-0.25680E+00,-0.25683E+00,-0.25687E+00,-0.25690E+00/ - - DATA (BNC06M(I),I=601,700)/ & - &-0.25730E+00,-0.25771E+00,-0.25816E+00,-0.25865E+00,-0.25917E+00, & - &-0.25973E+00,-0.26033E+00,-0.26096E+00,-0.26163E+00,-0.26233E+00, & - &-0.26307E+00,-0.26383E+00,-0.26463E+00,-0.26547E+00,-0.26633E+00, & - &-0.26722E+00,-0.26815E+00,-0.26910E+00,-0.27009E+00,-0.27110E+00, & - &-0.27214E+00,-0.27320E+00,-0.27430E+00,-0.27542E+00,-0.27657E+00, & - &-0.27774E+00,-0.27894E+00,-0.28017E+00,-0.28142E+00,-0.28269E+00, & - &-0.28399E+00,-0.28531E+00,-0.28666E+00,-0.28803E+00,-0.28942E+00, & - &-0.29083E+00,-0.29226E+00,-0.29372E+00,-0.29520E+00,-0.29669E+00, & - &-0.29821E+00,-0.29975E+00,-0.30131E+00,-0.30289E+00,-0.30449E+00, & - &-0.30610E+00,-0.30774E+00,-0.30939E+00,-0.31107E+00,-0.31276E+00, & - &-0.31447E+00,-0.31619E+00,-0.31794E+00,-0.31970E+00,-0.32147E+00, & - &-0.32327E+00,-0.32508E+00,-0.32690E+00,-0.32875E+00,-0.33060E+00, & - &-0.33248E+00,-0.33437E+00,-0.33627E+00,-0.33819E+00,-0.34012E+00, & - &-0.34207E+00,-0.34403E+00,-0.34601E+00,-0.34800E+00,-0.35001E+00, & - &-0.35203E+00,-0.35406E+00,-0.35610E+00,-0.35816E+00,-0.36023E+00, & - &-0.36232E+00,-0.36441E+00,-0.36652E+00,-0.36864E+00,-0.37078E+00, & - &-0.37292E+00,-0.37508E+00,-0.37725E+00,-0.37943E+00,-0.38162E+00, & - &-0.38383E+00,-0.38604E+00,-0.38827E+00,-0.39051E+00,-0.39275E+00, & - &-0.39501E+00,-0.39728E+00,-0.39956E+00,-0.40185E+00,-0.40415E+00, & - &-0.40646E+00,-0.40879E+00,-0.41112E+00,-0.41346E+00,-0.41581E+00/ - - DATA (BNC06M(I),I=701,741)/ & - &-0.41817E+00,-0.42054E+00,-0.42292E+00,-0.42530E+00,-0.42770E+00, & - &-0.43011E+00,-0.43252E+00,-0.43495E+00,-0.43738E+00,-0.43982E+00, & - &-0.44227E+00,-0.44473E+00,-0.44720E+00,-0.44967E+00,-0.45216E+00, & - &-0.45465E+00,-0.45715E+00,-0.45966E+00,-0.46218E+00,-0.46470E+00, & - &-0.46723E+00,-0.46977E+00,-0.47232E+00,-0.47487E+00,-0.47744E+00, & - &-0.48001E+00,-0.48258E+00,-0.48517E+00,-0.48776E+00,-0.49036E+00, & - &-0.49296E+00,-0.49558E+00,-0.49820E+00,-0.50082E+00,-0.50346E+00, & - &-0.50610E+00,-0.50874E+00,-0.51140E+00,-0.51406E+00,-0.51672E+00, & - &-0.51940E+00 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.10030E+00,-0.21886E+00,-0.27851E+00,-0.32089E+00,-0.35431E+00, & - &-0.38211E+00,-0.40602E+00,-0.42706E+00,-0.44588E+00,-0.46295E+00, & - &-0.47857E+00,-0.49300E+00,-0.50642E+00,-0.51897E+00,-0.53076E+00, & - &-0.54189E+00,-0.55244E+00,-0.56247E+00,-0.57203E+00,-0.58117E+00, & - &-0.58993E+00,-0.59834E+00,-0.60644E+00,-0.61425E+00,-0.62178E+00, & - &-0.62907E+00,-0.63613E+00,-0.64298E+00,-0.64962E+00,-0.65608E+00, & - &-0.66236E+00,-0.66848E+00,-0.67445E+00,-0.68027E+00,-0.68595E+00, & - &-0.69151E+00,-0.69694E+00,-0.70225E+00,-0.70745E+00,-0.71255E+00, & - &-0.71755E+00,-0.72245E+00,-0.72726E+00,-0.73198E+00,-0.73662E+00, & - &-0.74117E+00,-0.74566E+00,-0.75006E+00,-0.75440E+00,-0.75867E+00, & - &-0.76287E+00,-0.76702E+00,-0.77110E+00,-0.77512E+00,-0.77909E+00, & - &-0.78300E+00,-0.78686E+00,-0.79067E+00,-0.79443E+00,-0.79815E+00, & - &-0.80182E+00,-0.80545E+00,-0.80903E+00,-0.81257E+00,-0.81608E+00, & - &-0.81954E+00,-0.82297E+00,-0.82637E+00,-0.82972E+00,-0.83305E+00, & - &-0.83634E+00,-0.83960E+00,-0.84283E+00,-0.84603E+00,-0.84920E+00, & - &-0.85234E+00,-0.85546E+00,-0.85855E+00,-0.86161E+00,-0.86465E+00, & - &-0.86767E+00,-0.87066E+00,-0.87362E+00,-0.87657E+00,-0.87949E+00, & - &-0.88240E+00,-0.88528E+00,-0.88814E+00,-0.89099E+00,-0.89381E+00, & - &-0.89661E+00,-0.89940E+00,-0.90217E+00,-0.90492E+00,-0.90766E+00, & - &-0.91037E+00,-0.91308E+00,-0.91576E+00,-0.91843E+00,-0.92109E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.92372E+00,-0.92635E+00,-0.92896E+00,-0.93155E+00,-0.93414E+00, & - &-0.93670E+00,-0.93926E+00,-0.94180E+00,-0.94433E+00,-0.94684E+00, & - &-0.94935E+00,-0.95184E+00,-0.95431E+00,-0.95678E+00,-0.95923E+00, & - &-0.96168E+00,-0.96411E+00,-0.96653E+00,-0.96893E+00,-0.97133E+00, & - &-0.97372E+00,-0.97609E+00,-0.97845E+00,-0.98081E+00,-0.98315E+00, & - &-0.98549E+00,-0.98781E+00,-0.99012E+00,-0.99243E+00,-0.99472E+00, & - &-0.99700E+00,-0.99928E+00,-0.10015E+01,-0.10038E+01,-0.10060E+01, & - &-0.10083E+01,-0.10105E+01,-0.10127E+01,-0.10150E+01,-0.10172E+01, & - &-0.10194E+01,-0.10215E+01,-0.10237E+01,-0.10259E+01,-0.10281E+01, & - &-0.10302E+01,-0.10324E+01,-0.10345E+01,-0.10366E+01,-0.10388E+01, & - &-0.10409E+01,-0.10430E+01,-0.10451E+01,-0.10472E+01,-0.10493E+01, & - &-0.10514E+01,-0.10534E+01,-0.10555E+01,-0.10576E+01,-0.10596E+01, & - &-0.10617E+01,-0.10637E+01,-0.10658E+01,-0.10678E+01,-0.10698E+01, & - &-0.10718E+01,-0.10738E+01,-0.10759E+01,-0.10779E+01,-0.10798E+01, & - &-0.10818E+01,-0.10838E+01,-0.10858E+01,-0.10878E+01,-0.10897E+01, & - &-0.10917E+01,-0.10937E+01,-0.10956E+01,-0.10976E+01,-0.10995E+01, & - &-0.11014E+01,-0.11034E+01,-0.11053E+01,-0.11072E+01,-0.11091E+01, & - &-0.11110E+01,-0.11129E+01,-0.11148E+01,-0.11167E+01,-0.11186E+01, & - &-0.11205E+01,-0.11224E+01,-0.11243E+01,-0.11261E+01,-0.11280E+01, & - &-0.11299E+01,-0.11317E+01,-0.11336E+01,-0.11354E+01,-0.11373E+01/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.11391E+01,-0.11410E+01,-0.11428E+01,-0.11446E+01,-0.11465E+01, & - &-0.11483E+01,-0.11501E+01,-0.11519E+01,-0.11537E+01,-0.11555E+01, & - &-0.11573E+01,-0.11591E+01,-0.11609E+01,-0.11627E+01,-0.11645E+01, & - &-0.11663E+01,-0.11681E+01,-0.11699E+01,-0.11716E+01,-0.11734E+01, & - &-0.11752E+01,-0.11769E+01,-0.11787E+01,-0.11804E+01,-0.11822E+01, & - &-0.11840E+01,-0.11857E+01,-0.11874E+01,-0.11892E+01,-0.11909E+01, & - &-0.11926E+01,-0.11944E+01,-0.11961E+01,-0.11978E+01,-0.11996E+01, & - &-0.12013E+01,-0.12030E+01,-0.12047E+01,-0.12064E+01,-0.12081E+01, & - &-0.12098E+01,-0.12115E+01,-0.12132E+01,-0.12149E+01,-0.12166E+01, & - &-0.12183E+01,-0.12200E+01,-0.12216E+01,-0.12233E+01,-0.12250E+01, & - &-0.12267E+01,-0.12283E+01,-0.12300E+01,-0.12317E+01,-0.12333E+01, & - &-0.12350E+01,-0.12367E+01,-0.12383E+01,-0.12400E+01,-0.12416E+01, & - &-0.12433E+01,-0.12449E+01,-0.12466E+01,-0.12482E+01,-0.12498E+01, & - &-0.12515E+01,-0.12531E+01,-0.12547E+01,-0.12564E+01,-0.12580E+01, & - &-0.12596E+01,-0.12612E+01,-0.12628E+01,-0.12645E+01,-0.12661E+01, & - &-0.12677E+01,-0.12693E+01,-0.12709E+01,-0.12725E+01,-0.12741E+01, & - &-0.12757E+01,-0.12773E+01,-0.12789E+01,-0.12805E+01,-0.12821E+01, & - &-0.12837E+01,-0.12853E+01,-0.12869E+01,-0.12884E+01,-0.12900E+01, & - &-0.12916E+01,-0.12932E+01,-0.12947E+01,-0.12963E+01,-0.12979E+01, & - &-0.12995E+01,-0.13010E+01,-0.13026E+01,-0.13042E+01,-0.13057E+01/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.13073E+01,-0.13088E+01,-0.13104E+01,-0.13119E+01,-0.13135E+01, & - &-0.13150E+01,-0.13166E+01,-0.13181E+01,-0.13197E+01,-0.13212E+01, & - &-0.13228E+01,-0.13243E+01,-0.13258E+01,-0.13274E+01,-0.13289E+01, & - &-0.13304E+01,-0.13320E+01,-0.13335E+01,-0.13350E+01,-0.13365E+01, & - &-0.13381E+01,-0.13396E+01,-0.13411E+01,-0.13426E+01,-0.13441E+01, & - &-0.13456E+01,-0.13472E+01,-0.13487E+01,-0.13502E+01,-0.13517E+01, & - &-0.13532E+01,-0.13547E+01,-0.13562E+01,-0.13577E+01,-0.13592E+01, & - &-0.13607E+01,-0.13622E+01,-0.13637E+01,-0.13652E+01,-0.13667E+01, & - &-0.13682E+01,-0.13696E+01,-0.13711E+01,-0.13726E+01,-0.13741E+01, & - &-0.13756E+01,-0.13771E+01,-0.13785E+01,-0.13800E+01,-0.13815E+01, & - &-0.13830E+01,-0.13844E+01,-0.13859E+01,-0.13874E+01,-0.13888E+01, & - &-0.13903E+01,-0.13918E+01,-0.13932E+01,-0.13947E+01,-0.13962E+01, & - &-0.13976E+01,-0.13991E+01,-0.14005E+01,-0.14020E+01,-0.14035E+01, & - &-0.14049E+01,-0.14064E+01,-0.14078E+01,-0.14093E+01,-0.14107E+01, & - &-0.14122E+01,-0.14136E+01,-0.14151E+01,-0.14165E+01,-0.14179E+01, & - &-0.14194E+01,-0.14208E+01,-0.14223E+01,-0.14237E+01,-0.14251E+01, & - &-0.14266E+01,-0.14280E+01,-0.14294E+01,-0.14309E+01,-0.14323E+01, & - &-0.14337E+01,-0.14351E+01,-0.14366E+01,-0.14380E+01,-0.14394E+01, & - &-0.14408E+01,-0.14423E+01,-0.14437E+01,-0.14451E+01,-0.14465E+01, & - &-0.14479E+01,-0.14493E+01,-0.14508E+01,-0.14522E+01,-0.14536E+01/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.14550E+01,-0.14564E+01,-0.14578E+01,-0.14592E+01,-0.14606E+01, & - &-0.14620E+01,-0.14634E+01,-0.14648E+01,-0.14662E+01,-0.14676E+01, & - &-0.14690E+01,-0.14704E+01,-0.14718E+01,-0.14732E+01,-0.14746E+01, & - &-0.14760E+01,-0.14774E+01,-0.14788E+01,-0.14802E+01,-0.14816E+01, & - &-0.14830E+01,-0.14844E+01,-0.14857E+01,-0.14871E+01,-0.14885E+01, & - &-0.14899E+01,-0.14913E+01,-0.14927E+01,-0.14940E+01,-0.14954E+01, & - &-0.14968E+01,-0.14982E+01,-0.14995E+01,-0.15009E+01,-0.15023E+01, & - &-0.15037E+01,-0.15050E+01,-0.15064E+01,-0.15078E+01,-0.15092E+01, & - &-0.15105E+01,-0.15119E+01,-0.15133E+01,-0.15146E+01,-0.15160E+01, & - &-0.15174E+01,-0.15187E+01,-0.15201E+01,-0.15214E+01,-0.15228E+01, & - &-0.15242E+01,-0.15255E+01,-0.15269E+01,-0.15282E+01,-0.15296E+01, & - &-0.15309E+01,-0.15323E+01,-0.15336E+01,-0.15350E+01,-0.15364E+01, & - &-0.15377E+01,-0.15391E+01,-0.15404E+01,-0.15417E+01,-0.15431E+01, & - &-0.15444E+01,-0.15458E+01,-0.15471E+01,-0.15485E+01,-0.15498E+01, & - &-0.15512E+01,-0.15525E+01,-0.15538E+01,-0.15552E+01,-0.15565E+01, & - &-0.15579E+01,-0.15592E+01,-0.15605E+01,-0.15619E+01,-0.15632E+01, & - &-0.15645E+01,-0.15659E+01,-0.15672E+01,-0.15685E+01,-0.15699E+01, & - &-0.15712E+01,-0.15725E+01,-0.15738E+01,-0.15752E+01,-0.15765E+01, & - &-0.15778E+01,-0.15791E+01,-0.15805E+01,-0.15818E+01,-0.15831E+01, & - &-0.15844E+01,-0.15858E+01,-0.15871E+01,-0.15884E+01,-0.15897E+01/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.15910E+01,-0.15923E+01,-0.15937E+01,-0.15950E+01,-0.15963E+01, & - &-0.15976E+01,-0.15989E+01,-0.16002E+01,-0.16015E+01,-0.16029E+01, & - &-0.16042E+01,-0.16055E+01,-0.16068E+01,-0.16081E+01,-0.16094E+01, & - &-0.16107E+01,-0.16120E+01,-0.16133E+01,-0.16146E+01,-0.16159E+01, & - &-0.16172E+01,-0.16185E+01,-0.16198E+01,-0.16211E+01,-0.16224E+01, & - &-0.16237E+01,-0.16250E+01,-0.16263E+01,-0.16276E+01,-0.16289E+01, & - &-0.16302E+01,-0.16315E+01,-0.16328E+01,-0.16341E+01,-0.16354E+01, & - &-0.16367E+01,-0.16380E+01,-0.16393E+01,-0.16406E+01,-0.16418E+01, & - &-0.16431E+01,-0.16444E+01,-0.16457E+01,-0.16470E+01,-0.16483E+01, & - &-0.16496E+01,-0.16509E+01,-0.16521E+01,-0.16534E+01,-0.16547E+01, & - &-0.16560E+01,-0.16573E+01,-0.16586E+01,-0.16598E+01,-0.16611E+01, & - &-0.16624E+01,-0.16637E+01,-0.16650E+01,-0.16662E+01,-0.16675E+01, & - &-0.16688E+01,-0.16701E+01,-0.16713E+01,-0.16726E+01,-0.16739E+01, & - &-0.16752E+01,-0.16764E+01,-0.16777E+01,-0.16790E+01,-0.16803E+01, & - &-0.16815E+01,-0.16828E+01,-0.16841E+01,-0.16853E+01,-0.16866E+01, & - &-0.16879E+01,-0.16891E+01,-0.16904E+01,-0.16917E+01,-0.16929E+01, & - &-0.16942E+01,-0.16955E+01,-0.16967E+01,-0.16980E+01,-0.16992E+01, & - &-0.17005E+01,-0.17018E+01,-0.17030E+01,-0.17043E+01,-0.17056E+01, & - &-0.17068E+01,-0.17081E+01,-0.17093E+01,-0.17106E+01,-0.17118E+01, & - &-0.17131E+01,-0.17144E+01,-0.17156E+01,-0.17169E+01,-0.17181E+01/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.17316E+01,-0.17441E+01,-0.17565E+01,-0.17688E+01,-0.17811E+01, & - &-0.17934E+01,-0.18056E+01,-0.18178E+01,-0.18299E+01,-0.18420E+01, & - &-0.18540E+01,-0.18660E+01,-0.18780E+01,-0.18899E+01,-0.19018E+01, & - &-0.19136E+01,-0.19254E+01,-0.19372E+01,-0.19489E+01,-0.19607E+01, & - &-0.19723E+01,-0.19840E+01,-0.19956E+01,-0.20072E+01,-0.20187E+01, & - &-0.20302E+01,-0.20417E+01,-0.20532E+01,-0.20646E+01,-0.20760E+01, & - &-0.20874E+01,-0.20988E+01,-0.21101E+01,-0.21214E+01,-0.21327E+01, & - &-0.21440E+01,-0.21552E+01,-0.21664E+01,-0.21776E+01,-0.21888E+01, & - &-0.21999E+01,-0.22110E+01,-0.22221E+01,-0.22332E+01,-0.22443E+01, & - &-0.22553E+01,-0.22663E+01,-0.22773E+01,-0.22883E+01,-0.22992E+01, & - &-0.23102E+01,-0.23211E+01,-0.23320E+01,-0.23429E+01,-0.23537E+01, & - &-0.23646E+01,-0.23754E+01,-0.23862E+01,-0.23970E+01,-0.24078E+01, & - &-0.24186E+01,-0.24293E+01,-0.24401E+01,-0.24508E+01,-0.24615E+01, & - &-0.24722E+01,-0.24828E+01,-0.24935E+01,-0.25041E+01,-0.25148E+01, & - &-0.25254E+01,-0.25360E+01,-0.25466E+01,-0.25571E+01,-0.25677E+01, & - &-0.25782E+01,-0.25888E+01,-0.25993E+01,-0.26098E+01,-0.26203E+01, & - &-0.26308E+01,-0.26412E+01,-0.26517E+01,-0.26621E+01,-0.26726E+01, & - &-0.26830E+01,-0.26934E+01,-0.27038E+01,-0.27142E+01,-0.27245E+01, & - &-0.27349E+01,-0.27453E+01,-0.27556E+01,-0.27659E+01,-0.27762E+01, & - &-0.27866E+01,-0.27968E+01,-0.28071E+01,-0.28174E+01,-0.28277E+01/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.28379E+01,-0.28482E+01,-0.28584E+01,-0.28686E+01,-0.28788E+01, & - &-0.28891E+01,-0.28992E+01,-0.29094E+01,-0.29196E+01,-0.29298E+01, & - &-0.29399E+01,-0.29501E+01,-0.29602E+01,-0.29704E+01,-0.29805E+01, & - &-0.29906E+01,-0.30007E+01,-0.30108E+01,-0.30209E+01,-0.30310E+01, & - &-0.30410E+01,-0.30511E+01,-0.30612E+01,-0.30712E+01,-0.30812E+01, & - &-0.30913E+01,-0.31013E+01,-0.31113E+01,-0.31213E+01,-0.31313E+01, & - &-0.31413E+01,-0.31513E+01,-0.31613E+01,-0.31712E+01,-0.31812E+01, & - &-0.31911E+01,-0.32011E+01,-0.32110E+01,-0.32210E+01,-0.32309E+01, & - &-0.32408E+01 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.46515E-01,-0.91308E-01,-0.10881E+00,-0.11870E+00,-0.12469E+00, & - &-0.12827E+00,-0.13017E+00,-0.13082E+00,-0.13049E+00,-0.12935E+00, & - &-0.12755E+00,-0.12518E+00,-0.12230E+00,-0.11897E+00,-0.11525E+00, & - &-0.11116E+00,-0.10674E+00,-0.10201E+00,-0.96987E-01,-0.91699E-01, & - &-0.86157E-01,-0.80377E-01,-0.74371E-01,-0.68150E-01,-0.61725E-01, & - &-0.55105E-01,-0.48299E-01,-0.41316E-01,-0.34162E-01,-0.26845E-01, & - &-0.19373E-01,-0.11750E-01,-0.39845E-02, 0.39191E-02, 0.11955E-01, & - & 0.20117E-01, 0.28401E-01, 0.36802E-01, 0.45314E-01, 0.53933E-01, & - & 0.62655E-01, 0.71475E-01, 0.80389E-01, 0.89394E-01, 0.98485E-01, & - & 0.10766E+00, 0.11691E+00, 0.12624E+00, 0.13564E+00, 0.14512E+00, & - & 0.15465E+00, 0.16426E+00, 0.17392E+00, 0.18365E+00, 0.19344E+00, & - & 0.20328E+00, 0.21317E+00, 0.22312E+00, 0.23312E+00, 0.24317E+00, & - & 0.25327E+00, 0.26342E+00, 0.27361E+00, 0.28386E+00, 0.29415E+00, & - & 0.30449E+00, 0.31488E+00, 0.32532E+00, 0.33580E+00, 0.34633E+00, & - & 0.35692E+00, 0.36755E+00, 0.37823E+00, 0.38897E+00, 0.39976E+00, & - & 0.41060E+00, 0.42149E+00, 0.43244E+00, 0.44344E+00, 0.45450E+00, & - & 0.46562E+00, 0.47680E+00, 0.48803E+00, 0.49932E+00, 0.51068E+00, & - & 0.52209E+00, 0.53356E+00, 0.54509E+00, 0.55667E+00, 0.56832E+00, & - & 0.58003E+00, 0.59179E+00, 0.60361E+00, 0.61548E+00, 0.62741E+00, & - & 0.63940E+00, 0.65143E+00, 0.66352E+00, 0.67565E+00, 0.68783E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.70006E+00, 0.71232E+00, 0.72463E+00, 0.73698E+00, 0.74937E+00, & - & 0.76178E+00, 0.77424E+00, 0.78672E+00, 0.79922E+00, 0.81176E+00, & - & 0.82431E+00, 0.83689E+00, 0.84948E+00, 0.86209E+00, 0.87472E+00, & - & 0.88735E+00, 0.90000E+00, 0.91265E+00, 0.92531E+00, 0.93797E+00, & - & 0.95064E+00, 0.96330E+00, 0.97596E+00, 0.98862E+00, 0.10013E+01, & - & 0.10139E+01, 0.10266E+01, 0.10392E+01, 0.10518E+01, 0.10644E+01, & - & 0.10770E+01, 0.10896E+01, 0.11022E+01, 0.11148E+01, 0.11273E+01, & - & 0.11398E+01, 0.11524E+01, 0.11648E+01, 0.11773E+01, 0.11898E+01, & - & 0.12022E+01, 0.12146E+01, 0.12270E+01, 0.12394E+01, 0.12518E+01, & - & 0.12641E+01, 0.12764E+01, 0.12887E+01, 0.13010E+01, 0.13132E+01, & - & 0.13254E+01, 0.13376E+01, 0.13498E+01, 0.13620E+01, 0.13741E+01, & - & 0.13862E+01, 0.13983E+01, 0.14103E+01, 0.14224E+01, 0.14344E+01, & - & 0.14464E+01, 0.14583E+01, 0.14703E+01, 0.14822E+01, 0.14941E+01, & - & 0.15059E+01, 0.15178E+01, 0.15296E+01, 0.15414E+01, 0.15531E+01, & - & 0.15649E+01, 0.15766E+01, 0.15883E+01, 0.15999E+01, 0.16116E+01, & - & 0.16232E+01, 0.16348E+01, 0.16463E+01, 0.16579E+01, 0.16694E+01, & - & 0.16809E+01, 0.16923E+01, 0.17038E+01, 0.17152E+01, 0.17266E+01, & - & 0.17379E+01, 0.17493E+01, 0.17606E+01, 0.17719E+01, 0.17831E+01, & - & 0.17943E+01, 0.18056E+01, 0.18167E+01, 0.18279E+01, 0.18390E+01, & - & 0.18501E+01, 0.18612E+01, 0.18723E+01, 0.18833E+01, 0.18943E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.19053E+01, 0.19163E+01, 0.19272E+01, 0.19381E+01, 0.19490E+01, & - & 0.19599E+01, 0.19707E+01, 0.19815E+01, 0.19923E+01, 0.20031E+01, & - & 0.20138E+01, 0.20246E+01, 0.20353E+01, 0.20459E+01, 0.20566E+01, & - & 0.20672E+01, 0.20778E+01, 0.20884E+01, 0.20989E+01, 0.21095E+01, & - & 0.21200E+01, 0.21304E+01, 0.21409E+01, 0.21513E+01, 0.21617E+01, & - & 0.21721E+01, 0.21825E+01, 0.21928E+01, 0.22032E+01, 0.22134E+01, & - & 0.22237E+01, 0.22340E+01, 0.22442E+01, 0.22544E+01, 0.22646E+01, & - & 0.22747E+01, 0.22849E+01, 0.22950E+01, 0.23051E+01, 0.23152E+01, & - & 0.23252E+01, 0.23352E+01, 0.23452E+01, 0.23552E+01, 0.23652E+01, & - & 0.23751E+01, 0.23850E+01, 0.23949E+01, 0.24048E+01, 0.24147E+01, & - & 0.24245E+01, 0.24343E+01, 0.24441E+01, 0.24539E+01, 0.24636E+01, & - & 0.24733E+01, 0.24830E+01, 0.24927E+01, 0.25024E+01, 0.25120E+01, & - & 0.25216E+01, 0.25312E+01, 0.25408E+01, 0.25504E+01, 0.25599E+01, & - & 0.25694E+01, 0.25789E+01, 0.25884E+01, 0.25979E+01, 0.26073E+01, & - & 0.26167E+01, 0.26261E+01, 0.26355E+01, 0.26448E+01, 0.26542E+01, & - & 0.26635E+01, 0.26728E+01, 0.26821E+01, 0.26913E+01, 0.27006E+01, & - & 0.27098E+01, 0.27190E+01, 0.27282E+01, 0.27373E+01, 0.27465E+01, & - & 0.27556E+01, 0.27647E+01, 0.27738E+01, 0.27829E+01, 0.27919E+01, & - & 0.28009E+01, 0.28100E+01, 0.28190E+01, 0.28279E+01, 0.28369E+01, & - & 0.28458E+01, 0.28547E+01, 0.28636E+01, 0.28725E+01, 0.28814E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.28902E+01, 0.28991E+01, 0.29079E+01, 0.29167E+01, 0.29255E+01, & - & 0.29342E+01, 0.29430E+01, 0.29517E+01, 0.29604E+01, 0.29691E+01, & - & 0.29778E+01, 0.29864E+01, 0.29950E+01, 0.30037E+01, 0.30123E+01, & - & 0.30209E+01, 0.30294E+01, 0.30380E+01, 0.30465E+01, 0.30550E+01, & - & 0.30635E+01, 0.30720E+01, 0.30805E+01, 0.30889E+01, 0.30974E+01, & - & 0.31058E+01, 0.31142E+01, 0.31226E+01, 0.31309E+01, 0.31393E+01, & - & 0.31476E+01, 0.31559E+01, 0.31643E+01, 0.31725E+01, 0.31808E+01, & - & 0.31891E+01, 0.31973E+01, 0.32055E+01, 0.32137E+01, 0.32219E+01, & - & 0.32301E+01, 0.32383E+01, 0.32464E+01, 0.32546E+01, 0.32627E+01, & - & 0.32708E+01, 0.32789E+01, 0.32869E+01, 0.32950E+01, 0.33030E+01, & - & 0.33110E+01, 0.33191E+01, 0.33270E+01, 0.33350E+01, 0.33430E+01, & - & 0.33509E+01, 0.33589E+01, 0.33668E+01, 0.33747E+01, 0.33826E+01, & - & 0.33905E+01, 0.33983E+01, 0.34062E+01, 0.34140E+01, 0.34218E+01, & - & 0.34296E+01, 0.34374E+01, 0.34452E+01, 0.34530E+01, 0.34607E+01, & - & 0.34684E+01, 0.34762E+01, 0.34839E+01, 0.34915E+01, 0.34992E+01, & - & 0.35069E+01, 0.35145E+01, 0.35222E+01, 0.35298E+01, 0.35374E+01, & - & 0.35450E+01, 0.35526E+01, 0.35601E+01, 0.35677E+01, 0.35752E+01, & - & 0.35828E+01, 0.35903E+01, 0.35978E+01, 0.36053E+01, 0.36127E+01, & - & 0.36202E+01, 0.36276E+01, 0.36351E+01, 0.36425E+01, 0.36499E+01, & - & 0.36573E+01, 0.36647E+01, 0.36720E+01, 0.36794E+01, 0.36867E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.36941E+01, 0.37014E+01, 0.37087E+01, 0.37160E+01, 0.37233E+01, & - & 0.37305E+01, 0.37378E+01, 0.37450E+01, 0.37523E+01, 0.37595E+01, & - & 0.37667E+01, 0.37739E+01, 0.37811E+01, 0.37882E+01, 0.37954E+01, & - & 0.38025E+01, 0.38096E+01, 0.38168E+01, 0.38239E+01, 0.38310E+01, & - & 0.38380E+01, 0.38451E+01, 0.38522E+01, 0.38592E+01, 0.38663E+01, & - & 0.38733E+01, 0.38803E+01, 0.38873E+01, 0.38943E+01, 0.39013E+01, & - & 0.39082E+01, 0.39152E+01, 0.39221E+01, 0.39290E+01, 0.39360E+01, & - & 0.39429E+01, 0.39498E+01, 0.39566E+01, 0.39635E+01, 0.39704E+01, & - & 0.39772E+01, 0.39841E+01, 0.39909E+01, 0.39977E+01, 0.40045E+01, & - & 0.40113E+01, 0.40181E+01, 0.40249E+01, 0.40316E+01, 0.40384E+01, & - & 0.40451E+01, 0.40518E+01, 0.40586E+01, 0.40653E+01, 0.40720E+01, & - & 0.40786E+01, 0.40853E+01, 0.40920E+01, 0.40986E+01, 0.41053E+01, & - & 0.41119E+01, 0.41185E+01, 0.41251E+01, 0.41317E+01, 0.41383E+01, & - & 0.41449E+01, 0.41515E+01, 0.41580E+01, 0.41646E+01, 0.41711E+01, & - & 0.41776E+01, 0.41842E+01, 0.41907E+01, 0.41972E+01, 0.42036E+01, & - & 0.42101E+01, 0.42166E+01, 0.42230E+01, 0.42295E+01, 0.42359E+01, & - & 0.42423E+01, 0.42488E+01, 0.42552E+01, 0.42616E+01, 0.42679E+01, & - & 0.42743E+01, 0.42807E+01, 0.42870E+01, 0.42934E+01, 0.42997E+01, & - & 0.43060E+01, 0.43124E+01, 0.43187E+01, 0.43250E+01, 0.43313E+01, & - & 0.43375E+01, 0.43438E+01, 0.43501E+01, 0.43563E+01, 0.43625E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.43688E+01, 0.43750E+01, 0.43812E+01, 0.43874E+01, 0.43936E+01, & - & 0.43998E+01, 0.44060E+01, 0.44121E+01, 0.44183E+01, 0.44244E+01, & - & 0.44306E+01, 0.44367E+01, 0.44428E+01, 0.44489E+01, 0.44550E+01, & - & 0.44611E+01, 0.44672E+01, 0.44733E+01, 0.44793E+01, 0.44854E+01, & - & 0.44914E+01, 0.44975E+01, 0.45035E+01, 0.45095E+01, 0.45155E+01, & - & 0.45215E+01, 0.45275E+01, 0.45335E+01, 0.45395E+01, 0.45454E+01, & - & 0.45514E+01, 0.45574E+01, 0.45633E+01, 0.45692E+01, 0.45752E+01, & - & 0.45811E+01, 0.45870E+01, 0.45929E+01, 0.45988E+01, 0.46046E+01, & - & 0.46105E+01, 0.46164E+01, 0.46222E+01, 0.46281E+01, 0.46339E+01, & - & 0.46397E+01, 0.46456E+01, 0.46514E+01, 0.46572E+01, 0.46630E+01, & - & 0.46688E+01, 0.46745E+01, 0.46803E+01, 0.46861E+01, 0.46918E+01, & - & 0.46976E+01, 0.47033E+01, 0.47091E+01, 0.47148E+01, 0.47205E+01, & - & 0.47262E+01, 0.47319E+01, 0.47376E+01, 0.47433E+01, 0.47490E+01, & - & 0.47546E+01, 0.47603E+01, 0.47659E+01, 0.47716E+01, 0.47772E+01, & - & 0.47828E+01, 0.47885E+01, 0.47941E+01, 0.47997E+01, 0.48053E+01, & - & 0.48109E+01, 0.48164E+01, 0.48220E+01, 0.48276E+01, 0.48331E+01, & - & 0.48387E+01, 0.48442E+01, 0.48498E+01, 0.48553E+01, 0.48608E+01, & - & 0.48663E+01, 0.48718E+01, 0.48773E+01, 0.48828E+01, 0.48883E+01, & - & 0.48938E+01, 0.48992E+01, 0.49047E+01, 0.49101E+01, 0.49156E+01, & - & 0.49210E+01, 0.49265E+01, 0.49319E+01, 0.49373E+01, 0.49427E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.50007E+01, 0.50536E+01, 0.51058E+01, 0.51574E+01, 0.52083E+01, & - & 0.52585E+01, 0.53082E+01, 0.53572E+01, 0.54056E+01, 0.54534E+01, & - & 0.55007E+01, 0.55473E+01, 0.55935E+01, 0.56391E+01, 0.56841E+01, & - & 0.57287E+01, 0.57727E+01, 0.58163E+01, 0.58594E+01, 0.59020E+01, & - & 0.59441E+01, 0.59858E+01, 0.60270E+01, 0.60678E+01, 0.61081E+01, & - & 0.61481E+01, 0.61876E+01, 0.62267E+01, 0.62654E+01, 0.63037E+01, & - & 0.63416E+01, 0.63792E+01, 0.64164E+01, 0.64532E+01, 0.64897E+01, & - & 0.65258E+01, 0.65615E+01, 0.65969E+01, 0.66320E+01, 0.66668E+01, & - & 0.67012E+01, 0.67353E+01, 0.67691E+01, 0.68026E+01, 0.68358E+01, & - & 0.68687E+01, 0.69013E+01, 0.69336E+01, 0.69656E+01, 0.69974E+01, & - & 0.70288E+01, 0.70600E+01, 0.70910E+01, 0.71216E+01, 0.71520E+01, & - & 0.71822E+01, 0.72121E+01, 0.72417E+01, 0.72711E+01, 0.73003E+01, & - & 0.73292E+01, 0.73579E+01, 0.73864E+01, 0.74146E+01, 0.74426E+01, & - & 0.74704E+01, 0.74980E+01, 0.75253E+01, 0.75524E+01, 0.75794E+01, & - & 0.76061E+01, 0.76326E+01, 0.76589E+01, 0.76850E+01, 0.77110E+01, & - & 0.77367E+01, 0.77622E+01, 0.77876E+01, 0.78127E+01, 0.78377E+01, & - & 0.78625E+01, 0.78871E+01, 0.79115E+01, 0.79358E+01, 0.79599E+01, & - & 0.79838E+01, 0.80075E+01, 0.80311E+01, 0.80545E+01, 0.80778E+01, & - & 0.81009E+01, 0.81238E+01, 0.81466E+01, 0.81692E+01, 0.81916E+01, & - & 0.82140E+01, 0.82361E+01, 0.82581E+01, 0.82800E+01, 0.83017E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.83233E+01, 0.83447E+01, 0.83660E+01, 0.83872E+01, 0.84082E+01, & - & 0.84291E+01, 0.84498E+01, 0.84704E+01, 0.84909E+01, 0.85113E+01, & - & 0.85315E+01, 0.85516E+01, 0.85715E+01, 0.85914E+01, 0.86111E+01, & - & 0.86307E+01, 0.86502E+01, 0.86695E+01, 0.86888E+01, 0.87079E+01, & - & 0.87269E+01, 0.87458E+01, 0.87645E+01, 0.87832E+01, 0.88018E+01, & - & 0.88202E+01, 0.88385E+01, 0.88567E+01, 0.88749E+01, 0.88929E+01, & - & 0.89108E+01, 0.89286E+01, 0.89463E+01, 0.89638E+01, 0.89813E+01, & - & 0.89987E+01, 0.90160E+01, 0.90332E+01, 0.90503E+01, 0.90673E+01, & - & 0.90842E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.49064E-01,-0.10428E+00,-0.13083E+00,-0.14911E+00,-0.16312E+00, & - &-0.17446E+00,-0.18395E+00,-0.19207E+00,-0.19912E+00,-0.20532E+00, & - &-0.21080E+00,-0.21569E+00,-0.22007E+00,-0.22399E+00,-0.22752E+00, & - &-0.23070E+00,-0.23356E+00,-0.23612E+00,-0.23842E+00,-0.24047E+00, & - &-0.24229E+00,-0.24389E+00,-0.24530E+00,-0.24652E+00,-0.24756E+00, & - &-0.24843E+00,-0.24914E+00,-0.24969E+00,-0.25010E+00,-0.25037E+00, & - &-0.25051E+00,-0.25052E+00,-0.25040E+00,-0.25017E+00,-0.24982E+00, & - &-0.24936E+00,-0.24880E+00,-0.24813E+00,-0.24737E+00,-0.24651E+00, & - &-0.24556E+00,-0.24452E+00,-0.24339E+00,-0.24219E+00,-0.24090E+00, & - &-0.23954E+00,-0.23810E+00,-0.23659E+00,-0.23501E+00,-0.23337E+00, & - &-0.23166E+00,-0.22988E+00,-0.22805E+00,-0.22616E+00,-0.22421E+00, & - &-0.22220E+00,-0.22015E+00,-0.21804E+00,-0.21588E+00,-0.21368E+00, & - &-0.21142E+00,-0.20912E+00,-0.20678E+00,-0.20439E+00,-0.20196E+00, & - &-0.19949E+00,-0.19698E+00,-0.19443E+00,-0.19184E+00,-0.18921E+00, & - &-0.18654E+00,-0.18384E+00,-0.18110E+00,-0.17833E+00,-0.17552E+00, & - &-0.17267E+00,-0.16979E+00,-0.16688E+00,-0.16393E+00,-0.16094E+00, & - &-0.15793E+00,-0.15488E+00,-0.15180E+00,-0.14868E+00,-0.14554E+00, & - &-0.14236E+00,-0.13915E+00,-0.13591E+00,-0.13264E+00,-0.12934E+00, & - &-0.12602E+00,-0.12266E+00,-0.11927E+00,-0.11586E+00,-0.11242E+00, & - &-0.10896E+00,-0.10547E+00,-0.10196E+00,-0.98419E-01,-0.94860E-01/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.91280E-01,-0.87679E-01,-0.84058E-01,-0.80419E-01,-0.76762E-01, & - &-0.73089E-01,-0.69400E-01,-0.65696E-01,-0.61979E-01,-0.58250E-01, & - &-0.54509E-01,-0.50757E-01,-0.46996E-01,-0.43227E-01,-0.39449E-01, & - &-0.35665E-01,-0.31875E-01,-0.28080E-01,-0.24280E-01,-0.20477E-01, & - &-0.16671E-01,-0.12863E-01,-0.90543E-02,-0.52447E-02,-0.14349E-02, & - & 0.23745E-02, 0.61825E-02, 0.99888E-02, 0.13793E-01, 0.17595E-01, & - & 0.21393E-01, 0.25188E-01, 0.28979E-01, 0.32766E-01, 0.36548E-01, & - & 0.40325E-01, 0.44097E-01, 0.47864E-01, 0.51625E-01, 0.55379E-01, & - & 0.59128E-01, 0.62870E-01, 0.66605E-01, 0.70333E-01, 0.74055E-01, & - & 0.77769E-01, 0.81476E-01, 0.85176E-01, 0.88868E-01, 0.92552E-01, & - & 0.96229E-01, 0.99897E-01, 0.10356E+00, 0.10721E+00, 0.11086E+00, & - & 0.11449E+00, 0.11812E+00, 0.12174E+00, 0.12535E+00, 0.12895E+00, & - & 0.13255E+00, 0.13614E+00, 0.13971E+00, 0.14328E+00, 0.14684E+00, & - & 0.15039E+00, 0.15394E+00, 0.15747E+00, 0.16100E+00, 0.16452E+00, & - & 0.16802E+00, 0.17152E+00, 0.17501E+00, 0.17850E+00, 0.18197E+00, & - & 0.18544E+00, 0.18889E+00, 0.19234E+00, 0.19578E+00, 0.19921E+00, & - & 0.20263E+00, 0.20604E+00, 0.20944E+00, 0.21284E+00, 0.21622E+00, & - & 0.21960E+00, 0.22297E+00, 0.22633E+00, 0.22968E+00, 0.23302E+00, & - & 0.23636E+00, 0.23968E+00, 0.24300E+00, 0.24631E+00, 0.24961E+00, & - & 0.25290E+00, 0.25618E+00, 0.25945E+00, 0.26272E+00, 0.26597E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.26922E+00, 0.27246E+00, 0.27569E+00, 0.27892E+00, 0.28213E+00, & - & 0.28534E+00, 0.28854E+00, 0.29173E+00, 0.29491E+00, 0.29808E+00, & - & 0.30125E+00, 0.30440E+00, 0.30755E+00, 0.31069E+00, 0.31383E+00, & - & 0.31695E+00, 0.32007E+00, 0.32318E+00, 0.32628E+00, 0.32937E+00, & - & 0.33245E+00, 0.33553E+00, 0.33860E+00, 0.34166E+00, 0.34472E+00, & - & 0.34776E+00, 0.35080E+00, 0.35383E+00, 0.35685E+00, 0.35987E+00, & - & 0.36287E+00, 0.36587E+00, 0.36887E+00, 0.37185E+00, 0.37483E+00, & - & 0.37780E+00, 0.38076E+00, 0.38371E+00, 0.38666E+00, 0.38960E+00, & - & 0.39253E+00, 0.39546E+00, 0.39838E+00, 0.40129E+00, 0.40419E+00, & - & 0.40709E+00, 0.40998E+00, 0.41286E+00, 0.41573E+00, 0.41860E+00, & - & 0.42146E+00, 0.42432E+00, 0.42716E+00, 0.43000E+00, 0.43283E+00, & - & 0.43566E+00, 0.43848E+00, 0.44129E+00, 0.44410E+00, 0.44690E+00, & - & 0.44969E+00, 0.45247E+00, 0.45525E+00, 0.45802E+00, 0.46079E+00, & - & 0.46355E+00, 0.46630E+00, 0.46904E+00, 0.47178E+00, 0.47452E+00, & - & 0.47724E+00, 0.47996E+00, 0.48267E+00, 0.48538E+00, 0.48808E+00, & - & 0.49077E+00, 0.49346E+00, 0.49614E+00, 0.49882E+00, 0.50149E+00, & - & 0.50415E+00, 0.50681E+00, 0.50946E+00, 0.51210E+00, 0.51474E+00, & - & 0.51737E+00, 0.51999E+00, 0.52261E+00, 0.52523E+00, 0.52783E+00, & - & 0.53044E+00, 0.53303E+00, 0.53562E+00, 0.53820E+00, 0.54078E+00, & - & 0.54335E+00, 0.54592E+00, 0.54848E+00, 0.55104E+00, 0.55358E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.55613E+00, 0.55866E+00, 0.56120E+00, 0.56372E+00, 0.56624E+00, & - & 0.56876E+00, 0.57126E+00, 0.57377E+00, 0.57627E+00, 0.57876E+00, & - & 0.58124E+00, 0.58373E+00, 0.58620E+00, 0.58867E+00, 0.59114E+00, & - & 0.59360E+00, 0.59605E+00, 0.59850E+00, 0.60094E+00, 0.60338E+00, & - & 0.60581E+00, 0.60824E+00, 0.61066E+00, 0.61308E+00, 0.61549E+00, & - & 0.61789E+00, 0.62030E+00, 0.62269E+00, 0.62508E+00, 0.62747E+00, & - & 0.62985E+00, 0.63222E+00, 0.63459E+00, 0.63696E+00, 0.63932E+00, & - & 0.64167E+00, 0.64402E+00, 0.64637E+00, 0.64871E+00, 0.65104E+00, & - & 0.65337E+00, 0.65570E+00, 0.65802E+00, 0.66033E+00, 0.66265E+00, & - & 0.66495E+00, 0.66725E+00, 0.66955E+00, 0.67184E+00, 0.67413E+00, & - & 0.67641E+00, 0.67868E+00, 0.68096E+00, 0.68322E+00, 0.68549E+00, & - & 0.68775E+00, 0.69000E+00, 0.69225E+00, 0.69449E+00, 0.69673E+00, & - & 0.69897E+00, 0.70120E+00, 0.70342E+00, 0.70565E+00, 0.70786E+00, & - & 0.71008E+00, 0.71228E+00, 0.71449E+00, 0.71669E+00, 0.71888E+00, & - & 0.72107E+00, 0.72326E+00, 0.72544E+00, 0.72761E+00, 0.72979E+00, & - & 0.73195E+00, 0.73412E+00, 0.73628E+00, 0.73843E+00, 0.74058E+00, & - & 0.74273E+00, 0.74487E+00, 0.74701E+00, 0.74914E+00, 0.75127E+00, & - & 0.75340E+00, 0.75552E+00, 0.75764E+00, 0.75975E+00, 0.76186E+00, & - & 0.76396E+00, 0.76606E+00, 0.76816E+00, 0.77025E+00, 0.77234E+00, & - & 0.77442E+00, 0.77650E+00, 0.77858E+00, 0.78065E+00, 0.78272E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.78478E+00, 0.78684E+00, 0.78890E+00, 0.79095E+00, 0.79300E+00, & - & 0.79504E+00, 0.79708E+00, 0.79912E+00, 0.80115E+00, 0.80318E+00, & - & 0.80520E+00, 0.80723E+00, 0.80924E+00, 0.81126E+00, 0.81326E+00, & - & 0.81527E+00, 0.81727E+00, 0.81927E+00, 0.82126E+00, 0.82325E+00, & - & 0.82524E+00, 0.82722E+00, 0.82920E+00, 0.83118E+00, 0.83315E+00, & - & 0.83512E+00, 0.83708E+00, 0.83904E+00, 0.84100E+00, 0.84295E+00, & - & 0.84490E+00, 0.84684E+00, 0.84879E+00, 0.85073E+00, 0.85266E+00, & - & 0.85459E+00, 0.85652E+00, 0.85844E+00, 0.86037E+00, 0.86228E+00, & - & 0.86420E+00, 0.86611E+00, 0.86801E+00, 0.86992E+00, 0.87182E+00, & - & 0.87371E+00, 0.87560E+00, 0.87749E+00, 0.87938E+00, 0.88126E+00, & - & 0.88314E+00, 0.88502E+00, 0.88689E+00, 0.88876E+00, 0.89062E+00, & - & 0.89249E+00, 0.89434E+00, 0.89620E+00, 0.89805E+00, 0.89990E+00, & - & 0.90174E+00, 0.90359E+00, 0.90543E+00, 0.90726E+00, 0.90909E+00, & - & 0.91092E+00, 0.91275E+00, 0.91457E+00, 0.91639E+00, 0.91820E+00, & - & 0.92002E+00, 0.92183E+00, 0.92363E+00, 0.92544E+00, 0.92724E+00, & - & 0.92903E+00, 0.93083E+00, 0.93262E+00, 0.93440E+00, 0.93619E+00, & - & 0.93797E+00, 0.93975E+00, 0.94152E+00, 0.94329E+00, 0.94506E+00, & - & 0.94682E+00, 0.94859E+00, 0.95035E+00, 0.95210E+00, 0.95386E+00, & - & 0.95561E+00, 0.95735E+00, 0.95910E+00, 0.96084E+00, 0.96258E+00, & - & 0.96431E+00, 0.96604E+00, 0.96777E+00, 0.96950E+00, 0.97122E+00/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.97294E+00, 0.97466E+00, 0.97637E+00, 0.97808E+00, 0.97979E+00, & - & 0.98150E+00, 0.98320E+00, 0.98490E+00, 0.98659E+00, 0.98829E+00, & - & 0.98998E+00, 0.99167E+00, 0.99335E+00, 0.99503E+00, 0.99671E+00, & - & 0.99839E+00, 0.10001E+01, 0.10017E+01, 0.10034E+01, 0.10051E+01, & - & 0.10067E+01, 0.10084E+01, 0.10100E+01, 0.10117E+01, 0.10134E+01, & - & 0.10150E+01, 0.10166E+01, 0.10183E+01, 0.10199E+01, 0.10216E+01, & - & 0.10232E+01, 0.10248E+01, 0.10265E+01, 0.10281E+01, 0.10297E+01, & - & 0.10313E+01, 0.10330E+01, 0.10346E+01, 0.10362E+01, 0.10378E+01, & - & 0.10394E+01, 0.10410E+01, 0.10426E+01, 0.10442E+01, 0.10458E+01, & - & 0.10474E+01, 0.10490E+01, 0.10506E+01, 0.10522E+01, 0.10538E+01, & - & 0.10553E+01, 0.10569E+01, 0.10585E+01, 0.10601E+01, 0.10616E+01, & - & 0.10632E+01, 0.10648E+01, 0.10663E+01, 0.10679E+01, 0.10695E+01, & - & 0.10710E+01, 0.10726E+01, 0.10741E+01, 0.10757E+01, 0.10772E+01, & - & 0.10788E+01, 0.10803E+01, 0.10818E+01, 0.10834E+01, 0.10849E+01, & - & 0.10864E+01, 0.10880E+01, 0.10895E+01, 0.10910E+01, 0.10925E+01, & - & 0.10941E+01, 0.10956E+01, 0.10971E+01, 0.10986E+01, 0.11001E+01, & - & 0.11016E+01, 0.11031E+01, 0.11046E+01, 0.11061E+01, 0.11076E+01, & - & 0.11091E+01, 0.11106E+01, 0.11121E+01, 0.11136E+01, 0.11151E+01, & - & 0.11165E+01, 0.11180E+01, 0.11195E+01, 0.11210E+01, 0.11225E+01, & - & 0.11239E+01, 0.11254E+01, 0.11269E+01, 0.11283E+01, 0.11298E+01/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.11454E+01, 0.11597E+01, 0.11737E+01, 0.11876E+01, 0.12012E+01, & - & 0.12146E+01, 0.12278E+01, 0.12409E+01, 0.12537E+01, 0.12663E+01, & - & 0.12788E+01, 0.12911E+01, 0.13032E+01, 0.13152E+01, 0.13270E+01, & - & 0.13386E+01, 0.13500E+01, 0.13613E+01, 0.13725E+01, 0.13835E+01, & - & 0.13943E+01, 0.14050E+01, 0.14156E+01, 0.14260E+01, 0.14363E+01, & - & 0.14464E+01, 0.14564E+01, 0.14663E+01, 0.14761E+01, 0.14857E+01, & - & 0.14952E+01, 0.15046E+01, 0.15139E+01, 0.15231E+01, 0.15321E+01, & - & 0.15410E+01, 0.15499E+01, 0.15586E+01, 0.15672E+01, 0.15757E+01, & - & 0.15841E+01, 0.15923E+01, 0.16005E+01, 0.16086E+01, 0.16166E+01, & - & 0.16245E+01, 0.16323E+01, 0.16400E+01, 0.16477E+01, 0.16552E+01, & - & 0.16626E+01, 0.16700E+01, 0.16773E+01, 0.16845E+01, 0.16916E+01, & - & 0.16986E+01, 0.17055E+01, 0.17124E+01, 0.17192E+01, 0.17259E+01, & - & 0.17325E+01, 0.17390E+01, 0.17455E+01, 0.17519E+01, 0.17583E+01, & - & 0.17645E+01, 0.17707E+01, 0.17768E+01, 0.17829E+01, 0.17889E+01, & - & 0.17948E+01, 0.18006E+01, 0.18064E+01, 0.18121E+01, 0.18178E+01, & - & 0.18234E+01, 0.18289E+01, 0.18344E+01, 0.18398E+01, 0.18452E+01, & - & 0.18505E+01, 0.18557E+01, 0.18609E+01, 0.18660E+01, 0.18711E+01, & - & 0.18761E+01, 0.18811E+01, 0.18860E+01, 0.18908E+01, 0.18956E+01, & - & 0.19004E+01, 0.19050E+01, 0.19097E+01, 0.19143E+01, 0.19188E+01, & - & 0.19233E+01, 0.19278E+01, 0.19322E+01, 0.19365E+01, 0.19408E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19451E+01, 0.19493E+01, 0.19535E+01, 0.19576E+01, 0.19616E+01, & - & 0.19657E+01, 0.19697E+01, 0.19736E+01, 0.19775E+01, 0.19814E+01, & - & 0.19852E+01, 0.19890E+01, 0.19927E+01, 0.19964E+01, 0.20001E+01, & - & 0.20037E+01, 0.20073E+01, 0.20108E+01, 0.20143E+01, 0.20178E+01, & - & 0.20212E+01, 0.20246E+01, 0.20279E+01, 0.20312E+01, 0.20345E+01, & - & 0.20378E+01, 0.20410E+01, 0.20441E+01, 0.20473E+01, 0.20504E+01, & - & 0.20534E+01, 0.20565E+01, 0.20595E+01, 0.20624E+01, 0.20654E+01, & - & 0.20683E+01, 0.20711E+01, 0.20740E+01, 0.20768E+01, 0.20796E+01, & - & 0.20823E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.48350E-01,-0.99817E-01,-0.12258E+00,-0.13710E+00,-0.14739E+00, & - &-0.15506E+00,-0.16093E+00,-0.16548E+00,-0.16903E+00,-0.17178E+00, & - &-0.17389E+00,-0.17547E+00,-0.17659E+00,-0.17734E+00,-0.17776E+00, & - &-0.17790E+00,-0.17778E+00,-0.17745E+00,-0.17692E+00,-0.17623E+00, & - &-0.17537E+00,-0.17438E+00,-0.17327E+00,-0.17205E+00,-0.17072E+00, & - &-0.16930E+00,-0.16780E+00,-0.16623E+00,-0.16459E+00,-0.16289E+00, & - &-0.16113E+00,-0.15932E+00,-0.15747E+00,-0.15558E+00,-0.15365E+00, & - &-0.15169E+00,-0.14969E+00,-0.14768E+00,-0.14563E+00,-0.14357E+00, & - &-0.14149E+00,-0.13939E+00,-0.13727E+00,-0.13515E+00,-0.13301E+00, & - &-0.13086E+00,-0.12871E+00,-0.12655E+00,-0.12438E+00,-0.12220E+00, & - &-0.12002E+00,-0.11784E+00,-0.11565E+00,-0.11346E+00,-0.11127E+00, & - &-0.10908E+00,-0.10688E+00,-0.10468E+00,-0.10248E+00,-0.10027E+00, & - &-0.98060E-01,-0.95847E-01,-0.93631E-01,-0.91410E-01,-0.89183E-01, & - &-0.86952E-01,-0.84714E-01,-0.82470E-01,-0.80218E-01,-0.77958E-01, & - &-0.75689E-01,-0.73411E-01,-0.71123E-01,-0.68823E-01,-0.66512E-01, & - &-0.64189E-01,-0.61853E-01,-0.59502E-01,-0.57138E-01,-0.54759E-01, & - &-0.52364E-01,-0.49954E-01,-0.47527E-01,-0.45084E-01,-0.42623E-01, & - &-0.40146E-01,-0.37650E-01,-0.35137E-01,-0.32607E-01,-0.30058E-01, & - &-0.27492E-01,-0.24907E-01,-0.22306E-01,-0.19686E-01,-0.17050E-01, & - &-0.14396E-01,-0.11726E-01,-0.90402E-02,-0.63382E-02,-0.36209E-02/ - - DATA (BNC10M(I),I=101,200)/ & - &-0.88885E-03, 0.18576E-02, 0.46179E-02, 0.73912E-02, 0.10177E-01, & - & 0.12975E-01, 0.15785E-01, 0.18605E-01, 0.21435E-01, 0.24275E-01, & - & 0.27123E-01, 0.29980E-01, 0.32844E-01, 0.35716E-01, 0.38593E-01, & - & 0.41477E-01, 0.44366E-01, 0.47259E-01, 0.50157E-01, 0.53058E-01, & - & 0.55963E-01, 0.58870E-01, 0.61780E-01, 0.64691E-01, 0.67604E-01, & - & 0.70518E-01, 0.73432E-01, 0.76347E-01, 0.79262E-01, 0.82177E-01, & - & 0.85091E-01, 0.88004E-01, 0.90916E-01, 0.93827E-01, 0.96736E-01, & - & 0.99644E-01, 0.10255E+00, 0.10545E+00, 0.10836E+00, 0.11125E+00, & - & 0.11415E+00, 0.11705E+00, 0.11994E+00, 0.12283E+00, 0.12571E+00, & - & 0.12859E+00, 0.13147E+00, 0.13435E+00, 0.13722E+00, 0.14009E+00, & - & 0.14296E+00, 0.14582E+00, 0.14868E+00, 0.15154E+00, 0.15439E+00, & - & 0.15724E+00, 0.16008E+00, 0.16293E+00, 0.16576E+00, 0.16860E+00, & - & 0.17143E+00, 0.17425E+00, 0.17708E+00, 0.17989E+00, 0.18271E+00, & - & 0.18552E+00, 0.18833E+00, 0.19113E+00, 0.19393E+00, 0.19672E+00, & - & 0.19951E+00, 0.20230E+00, 0.20508E+00, 0.20786E+00, 0.21063E+00, & - & 0.21340E+00, 0.21617E+00, 0.21893E+00, 0.22168E+00, 0.22444E+00, & - & 0.22718E+00, 0.22993E+00, 0.23267E+00, 0.23540E+00, 0.23813E+00, & - & 0.24086E+00, 0.24358E+00, 0.24630E+00, 0.24901E+00, 0.25172E+00, & - & 0.25443E+00, 0.25713E+00, 0.25983E+00, 0.26252E+00, 0.26520E+00, & - & 0.26789E+00, 0.27056E+00, 0.27324E+00, 0.27591E+00, 0.27857E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.28123E+00, 0.28389E+00, 0.28654E+00, 0.28919E+00, 0.29183E+00, & - & 0.29447E+00, 0.29710E+00, 0.29973E+00, 0.30235E+00, 0.30497E+00, & - & 0.30759E+00, 0.31020E+00, 0.31281E+00, 0.31541E+00, 0.31801E+00, & - & 0.32060E+00, 0.32319E+00, 0.32577E+00, 0.32835E+00, 0.33093E+00, & - & 0.33350E+00, 0.33606E+00, 0.33862E+00, 0.34118E+00, 0.34373E+00, & - & 0.34628E+00, 0.34882E+00, 0.35136E+00, 0.35390E+00, 0.35642E+00, & - & 0.35895E+00, 0.36147E+00, 0.36399E+00, 0.36650E+00, 0.36901E+00, & - & 0.37151E+00, 0.37401E+00, 0.37650E+00, 0.37899E+00, 0.38147E+00, & - & 0.38395E+00, 0.38643E+00, 0.38890E+00, 0.39137E+00, 0.39383E+00, & - & 0.39629E+00, 0.39874E+00, 0.40119E+00, 0.40363E+00, 0.40607E+00, & - & 0.40851E+00, 0.41094E+00, 0.41337E+00, 0.41579E+00, 0.41821E+00, & - & 0.42062E+00, 0.42303E+00, 0.42543E+00, 0.42783E+00, 0.43023E+00, & - & 0.43262E+00, 0.43501E+00, 0.43739E+00, 0.43977E+00, 0.44214E+00, & - & 0.44451E+00, 0.44688E+00, 0.44924E+00, 0.45160E+00, 0.45395E+00, & - & 0.45630E+00, 0.45864E+00, 0.46098E+00, 0.46332E+00, 0.46565E+00, & - & 0.46797E+00, 0.47029E+00, 0.47261E+00, 0.47493E+00, 0.47724E+00, & - & 0.47954E+00, 0.48184E+00, 0.48414E+00, 0.48643E+00, 0.48872E+00, & - & 0.49100E+00, 0.49328E+00, 0.49556E+00, 0.49783E+00, 0.50010E+00, & - & 0.50236E+00, 0.50462E+00, 0.50687E+00, 0.50912E+00, 0.51137E+00, & - & 0.51361E+00, 0.51585E+00, 0.51809E+00, 0.52032E+00, 0.52254E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.52476E+00, 0.52698E+00, 0.52919E+00, 0.53140E+00, 0.53361E+00, & - & 0.53581E+00, 0.53801E+00, 0.54020E+00, 0.54239E+00, 0.54458E+00, & - & 0.54676E+00, 0.54894E+00, 0.55111E+00, 0.55328E+00, 0.55544E+00, & - & 0.55760E+00, 0.55976E+00, 0.56191E+00, 0.56406E+00, 0.56621E+00, & - & 0.56835E+00, 0.57049E+00, 0.57262E+00, 0.57475E+00, 0.57688E+00, & - & 0.57900E+00, 0.58112E+00, 0.58323E+00, 0.58534E+00, 0.58745E+00, & - & 0.58955E+00, 0.59165E+00, 0.59375E+00, 0.59584E+00, 0.59792E+00, & - & 0.60001E+00, 0.60209E+00, 0.60416E+00, 0.60624E+00, 0.60830E+00, & - & 0.61037E+00, 0.61243E+00, 0.61449E+00, 0.61654E+00, 0.61859E+00, & - & 0.62064E+00, 0.62268E+00, 0.62472E+00, 0.62675E+00, 0.62878E+00, & - & 0.63081E+00, 0.63283E+00, 0.63485E+00, 0.63687E+00, 0.63888E+00, & - & 0.64089E+00, 0.64290E+00, 0.64490E+00, 0.64690E+00, 0.64889E+00, & - & 0.65088E+00, 0.65287E+00, 0.65486E+00, 0.65684E+00, 0.65881E+00, & - & 0.66079E+00, 0.66276E+00, 0.66472E+00, 0.66668E+00, 0.66864E+00, & - & 0.67060E+00, 0.67255E+00, 0.67450E+00, 0.67644E+00, 0.67839E+00, & - & 0.68032E+00, 0.68226E+00, 0.68419E+00, 0.68612E+00, 0.68804E+00, & - & 0.68996E+00, 0.69188E+00, 0.69379E+00, 0.69571E+00, 0.69761E+00, & - & 0.69952E+00, 0.70142E+00, 0.70331E+00, 0.70521E+00, 0.70710E+00, & - & 0.70898E+00, 0.71087E+00, 0.71275E+00, 0.71463E+00, 0.71650E+00, & - & 0.71837E+00, 0.72024E+00, 0.72210E+00, 0.72396E+00, 0.72582E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.72767E+00, 0.72952E+00, 0.73137E+00, 0.73321E+00, 0.73505E+00, & - & 0.73689E+00, 0.73873E+00, 0.74056E+00, 0.74239E+00, 0.74421E+00, & - & 0.74603E+00, 0.74785E+00, 0.74967E+00, 0.75148E+00, 0.75329E+00, & - & 0.75509E+00, 0.75689E+00, 0.75869E+00, 0.76049E+00, 0.76228E+00, & - & 0.76407E+00, 0.76586E+00, 0.76764E+00, 0.76942E+00, 0.77120E+00, & - & 0.77298E+00, 0.77475E+00, 0.77652E+00, 0.77828E+00, 0.78004E+00, & - & 0.78180E+00, 0.78356E+00, 0.78531E+00, 0.78706E+00, 0.78881E+00, & - & 0.79055E+00, 0.79229E+00, 0.79403E+00, 0.79577E+00, 0.79750E+00, & - & 0.79923E+00, 0.80095E+00, 0.80268E+00, 0.80440E+00, 0.80611E+00, & - & 0.80783E+00, 0.80954E+00, 0.81125E+00, 0.81295E+00, 0.81466E+00, & - & 0.81636E+00, 0.81805E+00, 0.81975E+00, 0.82144E+00, 0.82313E+00, & - & 0.82481E+00, 0.82649E+00, 0.82817E+00, 0.82985E+00, 0.83152E+00, & - & 0.83319E+00, 0.83486E+00, 0.83653E+00, 0.83819E+00, 0.83985E+00, & - & 0.84151E+00, 0.84316E+00, 0.84481E+00, 0.84646E+00, 0.84810E+00, & - & 0.84975E+00, 0.85139E+00, 0.85303E+00, 0.85466E+00, 0.85629E+00, & - & 0.85792E+00, 0.85955E+00, 0.86117E+00, 0.86279E+00, 0.86441E+00, & - & 0.86603E+00, 0.86764E+00, 0.86925E+00, 0.87086E+00, 0.87246E+00, & - & 0.87406E+00, 0.87566E+00, 0.87726E+00, 0.87885E+00, 0.88044E+00, & - & 0.88203E+00, 0.88362E+00, 0.88520E+00, 0.88678E+00, 0.88836E+00, & - & 0.88994E+00, 0.89151E+00, 0.89308E+00, 0.89465E+00, 0.89621E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.89778E+00, 0.89934E+00, 0.90089E+00, 0.90245E+00, 0.90400E+00, & - & 0.90555E+00, 0.90710E+00, 0.90864E+00, 0.91019E+00, 0.91173E+00, & - & 0.91326E+00, 0.91480E+00, 0.91633E+00, 0.91786E+00, 0.91939E+00, & - & 0.92091E+00, 0.92243E+00, 0.92395E+00, 0.92547E+00, 0.92698E+00, & - & 0.92850E+00, 0.93001E+00, 0.93151E+00, 0.93302E+00, 0.93452E+00, & - & 0.93602E+00, 0.93752E+00, 0.93901E+00, 0.94051E+00, 0.94200E+00, & - & 0.94348E+00, 0.94497E+00, 0.94645E+00, 0.94793E+00, 0.94941E+00, & - & 0.95089E+00, 0.95236E+00, 0.95383E+00, 0.95530E+00, 0.95677E+00, & - & 0.95823E+00, 0.95969E+00, 0.96115E+00, 0.96261E+00, 0.96406E+00, & - & 0.96552E+00, 0.96697E+00, 0.96841E+00, 0.96986E+00, 0.97130E+00, & - & 0.97274E+00, 0.97418E+00, 0.97562E+00, 0.97705E+00, 0.97848E+00, & - & 0.97991E+00, 0.98134E+00, 0.98276E+00, 0.98419E+00, 0.98561E+00, & - & 0.98702E+00, 0.98844E+00, 0.98985E+00, 0.99126E+00, 0.99267E+00, & - & 0.99408E+00, 0.99548E+00, 0.99689E+00, 0.99829E+00, 0.99969E+00, & - & 0.10011E+01, 0.10025E+01, 0.10039E+01, 0.10053E+01, 0.10066E+01, & - & 0.10080E+01, 0.10094E+01, 0.10108E+01, 0.10122E+01, 0.10135E+01, & - & 0.10149E+01, 0.10163E+01, 0.10177E+01, 0.10190E+01, 0.10204E+01, & - & 0.10218E+01, 0.10231E+01, 0.10245E+01, 0.10258E+01, 0.10272E+01, & - & 0.10285E+01, 0.10299E+01, 0.10312E+01, 0.10326E+01, 0.10339E+01, & - & 0.10353E+01, 0.10366E+01, 0.10380E+01, 0.10393E+01, 0.10406E+01/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.10549E+01, 0.10679E+01, 0.10807E+01, 0.10933E+01, 0.11058E+01, & - & 0.11180E+01, 0.11301E+01, 0.11420E+01, 0.11537E+01, 0.11652E+01, & - & 0.11766E+01, 0.11878E+01, 0.11989E+01, 0.12098E+01, 0.12205E+01, & - & 0.12311E+01, 0.12415E+01, 0.12518E+01, 0.12620E+01, 0.12720E+01, & - & 0.12819E+01, 0.12916E+01, 0.13012E+01, 0.13107E+01, 0.13201E+01, & - & 0.13293E+01, 0.13384E+01, 0.13474E+01, 0.13562E+01, 0.13650E+01, & - & 0.13736E+01, 0.13821E+01, 0.13905E+01, 0.13988E+01, 0.14070E+01, & - & 0.14151E+01, 0.14231E+01, 0.14310E+01, 0.14388E+01, 0.14464E+01, & - & 0.14540E+01, 0.14615E+01, 0.14689E+01, 0.14762E+01, 0.14834E+01, & - & 0.14906E+01, 0.14976E+01, 0.15045E+01, 0.15114E+01, 0.15182E+01, & - & 0.15249E+01, 0.15315E+01, 0.15380E+01, 0.15444E+01, 0.15508E+01, & - & 0.15571E+01, 0.15633E+01, 0.15695E+01, 0.15755E+01, 0.15815E+01, & - & 0.15875E+01, 0.15933E+01, 0.15991E+01, 0.16048E+01, 0.16105E+01, & - & 0.16160E+01, 0.16215E+01, 0.16270E+01, 0.16324E+01, 0.16377E+01, & - & 0.16429E+01, 0.16481E+01, 0.16533E+01, 0.16583E+01, 0.16634E+01, & - & 0.16683E+01, 0.16732E+01, 0.16780E+01, 0.16828E+01, 0.16875E+01, & - & 0.16922E+01, 0.16968E+01, 0.17014E+01, 0.17059E+01, 0.17104E+01, & - & 0.17148E+01, 0.17191E+01, 0.17234E+01, 0.17277E+01, 0.17319E+01, & - & 0.17360E+01, 0.17401E+01, 0.17442E+01, 0.17482E+01, 0.17521E+01, & - & 0.17560E+01, 0.17599E+01, 0.17637E+01, 0.17675E+01, 0.17712E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17749E+01, 0.17786E+01, 0.17822E+01, 0.17858E+01, 0.17893E+01, & - & 0.17927E+01, 0.17962E+01, 0.17996E+01, 0.18029E+01, 0.18063E+01, & - & 0.18095E+01, 0.18128E+01, 0.18160E+01, 0.18191E+01, 0.18223E+01, & - & 0.18253E+01, 0.18284E+01, 0.18314E+01, 0.18344E+01, 0.18373E+01, & - & 0.18402E+01, 0.18431E+01, 0.18459E+01, 0.18487E+01, 0.18515E+01, & - & 0.18542E+01, 0.18569E+01, 0.18596E+01, 0.18623E+01, 0.18649E+01, & - & 0.18674E+01, 0.18700E+01, 0.18725E+01, 0.18749E+01, 0.18774E+01, & - & 0.18798E+01, 0.18822E+01, 0.18845E+01, 0.18869E+01, 0.18892E+01, & - & 0.18914E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.46921E-01,-0.92783E-01,-0.11083E+00,-0.12102E+00,-0.12722E+00, & - &-0.13092E+00,-0.13292E+00,-0.13364E+00,-0.13339E+00,-0.13235E+00, & - &-0.13067E+00,-0.12843E+00,-0.12574E+00,-0.12263E+00,-0.11917E+00, & - &-0.11539E+00,-0.11133E+00,-0.10701E+00,-0.10245E+00,-0.97688E-01, & - &-0.92727E-01,-0.87586E-01,-0.82279E-01,-0.76818E-01,-0.71216E-01, & - &-0.65481E-01,-0.59623E-01,-0.53651E-01,-0.47571E-01,-0.41393E-01, & - &-0.35121E-01,-0.28762E-01,-0.22322E-01,-0.15807E-01,-0.92221E-02, & - &-0.25712E-02, 0.41408E-02, 0.10910E-01, 0.17731E-01, 0.24602E-01, & - & 0.31518E-01, 0.38477E-01, 0.45474E-01, 0.52508E-01, 0.59576E-01, & - & 0.66675E-01, 0.73803E-01, 0.80957E-01, 0.88137E-01, 0.95339E-01, & - & 0.10256E+00, 0.10981E+00, 0.11707E+00, 0.12435E+00, 0.13165E+00, & - & 0.13897E+00, 0.14630E+00, 0.15365E+00, 0.16101E+00, 0.16839E+00, & - & 0.17578E+00, 0.18319E+00, 0.19062E+00, 0.19806E+00, 0.20553E+00, & - & 0.21300E+00, 0.22050E+00, 0.22802E+00, 0.23556E+00, 0.24313E+00, & - & 0.25071E+00, 0.25832E+00, 0.26596E+00, 0.27362E+00, 0.28131E+00, & - & 0.28903E+00, 0.29679E+00, 0.30457E+00, 0.31239E+00, 0.32024E+00, & - & 0.32813E+00, 0.33605E+00, 0.34401E+00, 0.35201E+00, 0.36004E+00, & - & 0.36812E+00, 0.37623E+00, 0.38439E+00, 0.39258E+00, 0.40081E+00, & - & 0.40909E+00, 0.41740E+00, 0.42575E+00, 0.43414E+00, 0.44257E+00, & - & 0.45104E+00, 0.45954E+00, 0.46808E+00, 0.47665E+00, 0.48526E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.49390E+00, 0.50257E+00, 0.51127E+00, 0.51999E+00, 0.52875E+00, & - & 0.53752E+00, 0.54633E+00, 0.55515E+00, 0.56400E+00, 0.57286E+00, & - & 0.58174E+00, 0.59064E+00, 0.59955E+00, 0.60847E+00, 0.61740E+00, & - & 0.62635E+00, 0.63530E+00, 0.64426E+00, 0.65322E+00, 0.66219E+00, & - & 0.67116E+00, 0.68013E+00, 0.68911E+00, 0.69808E+00, 0.70705E+00, & - & 0.71602E+00, 0.72499E+00, 0.73395E+00, 0.74290E+00, 0.75185E+00, & - & 0.76080E+00, 0.76973E+00, 0.77866E+00, 0.78758E+00, 0.79649E+00, & - & 0.80539E+00, 0.81428E+00, 0.82316E+00, 0.83203E+00, 0.84089E+00, & - & 0.84973E+00, 0.85857E+00, 0.86739E+00, 0.87619E+00, 0.88499E+00, & - & 0.89377E+00, 0.90254E+00, 0.91129E+00, 0.92003E+00, 0.92876E+00, & - & 0.93747E+00, 0.94617E+00, 0.95486E+00, 0.96352E+00, 0.97218E+00, & - & 0.98082E+00, 0.98944E+00, 0.99805E+00, 0.10066E+01, 0.10152E+01, & - & 0.10238E+01, 0.10323E+01, 0.10409E+01, 0.10494E+01, 0.10579E+01, & - & 0.10664E+01, 0.10748E+01, 0.10833E+01, 0.10917E+01, 0.11001E+01, & - & 0.11085E+01, 0.11169E+01, 0.11253E+01, 0.11337E+01, 0.11420E+01, & - & 0.11503E+01, 0.11586E+01, 0.11669E+01, 0.11752E+01, 0.11834E+01, & - & 0.11917E+01, 0.11999E+01, 0.12081E+01, 0.12163E+01, 0.12245E+01, & - & 0.12326E+01, 0.12408E+01, 0.12489E+01, 0.12570E+01, 0.12651E+01, & - & 0.12732E+01, 0.12812E+01, 0.12893E+01, 0.12973E+01, 0.13053E+01, & - & 0.13133E+01, 0.13213E+01, 0.13292E+01, 0.13372E+01, 0.13451E+01/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.13530E+01, 0.13609E+01, 0.13688E+01, 0.13767E+01, 0.13845E+01, & - & 0.13923E+01, 0.14001E+01, 0.14079E+01, 0.14157E+01, 0.14235E+01, & - & 0.14312E+01, 0.14390E+01, 0.14467E+01, 0.14544E+01, 0.14620E+01, & - & 0.14697E+01, 0.14774E+01, 0.14850E+01, 0.14926E+01, 0.15002E+01, & - & 0.15078E+01, 0.15154E+01, 0.15229E+01, 0.15305E+01, 0.15380E+01, & - & 0.15455E+01, 0.15530E+01, 0.15604E+01, 0.15679E+01, 0.15753E+01, & - & 0.15828E+01, 0.15902E+01, 0.15976E+01, 0.16050E+01, 0.16123E+01, & - & 0.16197E+01, 0.16270E+01, 0.16343E+01, 0.16416E+01, 0.16489E+01, & - & 0.16562E+01, 0.16634E+01, 0.16707E+01, 0.16779E+01, 0.16851E+01, & - & 0.16923E+01, 0.16995E+01, 0.17067E+01, 0.17138E+01, 0.17210E+01, & - & 0.17281E+01, 0.17352E+01, 0.17423E+01, 0.17493E+01, 0.17564E+01, & - & 0.17635E+01, 0.17705E+01, 0.17775E+01, 0.17845E+01, 0.17915E+01, & - & 0.17985E+01, 0.18054E+01, 0.18124E+01, 0.18193E+01, 0.18262E+01, & - & 0.18331E+01, 0.18400E+01, 0.18469E+01, 0.18537E+01, 0.18606E+01, & - & 0.18674E+01, 0.18742E+01, 0.18810E+01, 0.18878E+01, 0.18946E+01, & - & 0.19014E+01, 0.19081E+01, 0.19148E+01, 0.19216E+01, 0.19283E+01, & - & 0.19350E+01, 0.19416E+01, 0.19483E+01, 0.19550E+01, 0.19616E+01, & - & 0.19682E+01, 0.19748E+01, 0.19814E+01, 0.19880E+01, 0.19946E+01, & - & 0.20011E+01, 0.20077E+01, 0.20142E+01, 0.20207E+01, 0.20272E+01, & - & 0.20337E+01, 0.20402E+01, 0.20467E+01, 0.20531E+01, 0.20596E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.20660E+01, 0.20724E+01, 0.20788E+01, 0.20852E+01, 0.20916E+01, & - & 0.20979E+01, 0.21043E+01, 0.21106E+01, 0.21169E+01, 0.21233E+01, & - & 0.21296E+01, 0.21358E+01, 0.21421E+01, 0.21484E+01, 0.21546E+01, & - & 0.21609E+01, 0.21671E+01, 0.21733E+01, 0.21795E+01, 0.21857E+01, & - & 0.21919E+01, 0.21981E+01, 0.22042E+01, 0.22104E+01, 0.22165E+01, & - & 0.22226E+01, 0.22287E+01, 0.22348E+01, 0.22409E+01, 0.22470E+01, & - & 0.22530E+01, 0.22591E+01, 0.22651E+01, 0.22711E+01, 0.22771E+01, & - & 0.22831E+01, 0.22891E+01, 0.22951E+01, 0.23011E+01, 0.23070E+01, & - & 0.23130E+01, 0.23189E+01, 0.23248E+01, 0.23308E+01, 0.23367E+01, & - & 0.23425E+01, 0.23484E+01, 0.23543E+01, 0.23601E+01, 0.23660E+01, & - & 0.23718E+01, 0.23776E+01, 0.23835E+01, 0.23893E+01, 0.23950E+01, & - & 0.24008E+01, 0.24066E+01, 0.24124E+01, 0.24181E+01, 0.24238E+01, & - & 0.24296E+01, 0.24353E+01, 0.24410E+01, 0.24467E+01, 0.24524E+01, & - & 0.24580E+01, 0.24637E+01, 0.24694E+01, 0.24750E+01, 0.24806E+01, & - & 0.24862E+01, 0.24919E+01, 0.24975E+01, 0.25031E+01, 0.25086E+01, & - & 0.25142E+01, 0.25198E+01, 0.25253E+01, 0.25309E+01, 0.25364E+01, & - & 0.25419E+01, 0.25474E+01, 0.25529E+01, 0.25584E+01, 0.25639E+01, & - & 0.25694E+01, 0.25748E+01, 0.25803E+01, 0.25857E+01, 0.25912E+01, & - & 0.25966E+01, 0.26020E+01, 0.26074E+01, 0.26128E+01, 0.26182E+01, & - & 0.26235E+01, 0.26289E+01, 0.26343E+01, 0.26396E+01, 0.26450E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.26503E+01, 0.26556E+01, 0.26609E+01, 0.26662E+01, 0.26715E+01, & - & 0.26768E+01, 0.26821E+01, 0.26873E+01, 0.26926E+01, 0.26978E+01, & - & 0.27031E+01, 0.27083E+01, 0.27135E+01, 0.27187E+01, 0.27239E+01, & - & 0.27291E+01, 0.27343E+01, 0.27395E+01, 0.27446E+01, 0.27498E+01, & - & 0.27549E+01, 0.27601E+01, 0.27652E+01, 0.27703E+01, 0.27754E+01, & - & 0.27805E+01, 0.27856E+01, 0.27907E+01, 0.27958E+01, 0.28008E+01, & - & 0.28059E+01, 0.28110E+01, 0.28160E+01, 0.28210E+01, 0.28261E+01, & - & 0.28311E+01, 0.28361E+01, 0.28411E+01, 0.28461E+01, 0.28511E+01, & - & 0.28560E+01, 0.28610E+01, 0.28660E+01, 0.28709E+01, 0.28759E+01, & - & 0.28808E+01, 0.28857E+01, 0.28906E+01, 0.28956E+01, 0.29005E+01, & - & 0.29053E+01, 0.29102E+01, 0.29151E+01, 0.29200E+01, 0.29248E+01, & - & 0.29297E+01, 0.29345E+01, 0.29394E+01, 0.29442E+01, 0.29490E+01, & - & 0.29539E+01, 0.29587E+01, 0.29635E+01, 0.29683E+01, 0.29730E+01, & - & 0.29778E+01, 0.29826E+01, 0.29873E+01, 0.29921E+01, 0.29968E+01, & - & 0.30016E+01, 0.30063E+01, 0.30110E+01, 0.30157E+01, 0.30205E+01, & - & 0.30252E+01, 0.30298E+01, 0.30345E+01, 0.30392E+01, 0.30439E+01, & - & 0.30485E+01, 0.30532E+01, 0.30578E+01, 0.30625E+01, 0.30671E+01, & - & 0.30717E+01, 0.30764E+01, 0.30810E+01, 0.30856E+01, 0.30902E+01, & - & 0.30948E+01, 0.30994E+01, 0.31039E+01, 0.31085E+01, 0.31131E+01, & - & 0.31176E+01, 0.31222E+01, 0.31267E+01, 0.31312E+01, 0.31358E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.31403E+01, 0.31448E+01, 0.31493E+01, 0.31538E+01, 0.31583E+01, & - & 0.31628E+01, 0.31672E+01, 0.31717E+01, 0.31762E+01, 0.31806E+01, & - & 0.31851E+01, 0.31895E+01, 0.31940E+01, 0.31984E+01, 0.32028E+01, & - & 0.32072E+01, 0.32117E+01, 0.32161E+01, 0.32205E+01, 0.32248E+01, & - & 0.32292E+01, 0.32336E+01, 0.32380E+01, 0.32423E+01, 0.32467E+01, & - & 0.32510E+01, 0.32554E+01, 0.32597E+01, 0.32641E+01, 0.32684E+01, & - & 0.32727E+01, 0.32770E+01, 0.32813E+01, 0.32856E+01, 0.32899E+01, & - & 0.32942E+01, 0.32985E+01, 0.33028E+01, 0.33070E+01, 0.33113E+01, & - & 0.33155E+01, 0.33198E+01, 0.33240E+01, 0.33283E+01, 0.33325E+01, & - & 0.33367E+01, 0.33409E+01, 0.33451E+01, 0.33493E+01, 0.33535E+01, & - & 0.33577E+01, 0.33619E+01, 0.33661E+01, 0.33703E+01, 0.33744E+01, & - & 0.33786E+01, 0.33828E+01, 0.33869E+01, 0.33911E+01, 0.33952E+01, & - & 0.33993E+01, 0.34035E+01, 0.34076E+01, 0.34117E+01, 0.34158E+01, & - & 0.34199E+01, 0.34240E+01, 0.34281E+01, 0.34322E+01, 0.34363E+01, & - & 0.34403E+01, 0.34444E+01, 0.34485E+01, 0.34525E+01, 0.34566E+01, & - & 0.34606E+01, 0.34647E+01, 0.34687E+01, 0.34727E+01, 0.34767E+01, & - & 0.34808E+01, 0.34848E+01, 0.34888E+01, 0.34928E+01, 0.34968E+01, & - & 0.35008E+01, 0.35047E+01, 0.35087E+01, 0.35127E+01, 0.35167E+01, & - & 0.35206E+01, 0.35246E+01, 0.35285E+01, 0.35325E+01, 0.35364E+01, & - & 0.35403E+01, 0.35443E+01, 0.35482E+01, 0.35521E+01, 0.35560E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.35979E+01, 0.36362E+01, 0.36739E+01, 0.37112E+01, 0.37479E+01, & - & 0.37842E+01, 0.38200E+01, 0.38554E+01, 0.38903E+01, 0.39247E+01, & - & 0.39588E+01, 0.39924E+01, 0.40256E+01, 0.40584E+01, 0.40909E+01, & - & 0.41229E+01, 0.41546E+01, 0.41859E+01, 0.42168E+01, 0.42474E+01, & - & 0.42776E+01, 0.43075E+01, 0.43371E+01, 0.43664E+01, 0.43953E+01, & - & 0.44239E+01, 0.44522E+01, 0.44802E+01, 0.45079E+01, 0.45353E+01, & - & 0.45624E+01, 0.45893E+01, 0.46158E+01, 0.46421E+01, 0.46681E+01, & - & 0.46939E+01, 0.47194E+01, 0.47447E+01, 0.47697E+01, 0.47944E+01, & - & 0.48190E+01, 0.48432E+01, 0.48673E+01, 0.48911E+01, 0.49147E+01, & - & 0.49381E+01, 0.49612E+01, 0.49842E+01, 0.50069E+01, 0.50294E+01, & - & 0.50517E+01, 0.50738E+01, 0.50958E+01, 0.51175E+01, 0.51390E+01, & - & 0.51603E+01, 0.51815E+01, 0.52024E+01, 0.52232E+01, 0.52438E+01, & - & 0.52643E+01, 0.52845E+01, 0.53046E+01, 0.53245E+01, 0.53442E+01, & - & 0.53638E+01, 0.53832E+01, 0.54025E+01, 0.54216E+01, 0.54405E+01, & - & 0.54593E+01, 0.54779E+01, 0.54964E+01, 0.55147E+01, 0.55329E+01, & - & 0.55510E+01, 0.55689E+01, 0.55866E+01, 0.56043E+01, 0.56217E+01, & - & 0.56391E+01, 0.56563E+01, 0.56734E+01, 0.56903E+01, 0.57072E+01, & - & 0.57239E+01, 0.57404E+01, 0.57569E+01, 0.57732E+01, 0.57894E+01, & - & 0.58055E+01, 0.58215E+01, 0.58373E+01, 0.58530E+01, 0.58687E+01, & - & 0.58842E+01, 0.58996E+01, 0.59148E+01, 0.59300E+01, 0.59451E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.59600E+01, 0.59749E+01, 0.59896E+01, 0.60043E+01, 0.60188E+01, & - & 0.60333E+01, 0.60476E+01, 0.60619E+01, 0.60760E+01, 0.60901E+01, & - & 0.61040E+01, 0.61179E+01, 0.61316E+01, 0.61453E+01, 0.61589E+01, & - & 0.61724E+01, 0.61858E+01, 0.61991E+01, 0.62123E+01, 0.62254E+01, & - & 0.62385E+01, 0.62514E+01, 0.62643E+01, 0.62771E+01, 0.62898E+01, & - & 0.63024E+01, 0.63150E+01, 0.63274E+01, 0.63398E+01, 0.63521E+01, & - & 0.63644E+01, 0.63765E+01, 0.63886E+01, 0.64006E+01, 0.64125E+01, & - & 0.64243E+01, 0.64361E+01, 0.64478E+01, 0.64594E+01, 0.64710E+01, & - & 0.64825E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.48156E-01,-0.99449E-01,-0.12247E+00,-0.13741E+00,-0.14823E+00, & - &-0.15646E+00,-0.16292E+00,-0.16806E+00,-0.17218E+00,-0.17549E+00, & - &-0.17813E+00,-0.18020E+00,-0.18178E+00,-0.18294E+00,-0.18372E+00, & - &-0.18417E+00,-0.18432E+00,-0.18420E+00,-0.18383E+00,-0.18323E+00, & - &-0.18241E+00,-0.18140E+00,-0.18020E+00,-0.17883E+00,-0.17729E+00, & - &-0.17560E+00,-0.17376E+00,-0.17179E+00,-0.16968E+00,-0.16745E+00, & - &-0.16509E+00,-0.16262E+00,-0.16005E+00,-0.15737E+00,-0.15459E+00, & - &-0.15171E+00,-0.14874E+00,-0.14568E+00,-0.14254E+00,-0.13932E+00, & - &-0.13602E+00,-0.13265E+00,-0.12921E+00,-0.12569E+00,-0.12212E+00, & - &-0.11847E+00,-0.11477E+00,-0.11101E+00,-0.10719E+00,-0.10332E+00, & - &-0.99401E-01,-0.95428E-01,-0.91408E-01,-0.87340E-01,-0.83227E-01, & - &-0.79071E-01,-0.74872E-01,-0.70632E-01,-0.66351E-01,-0.62032E-01, & - &-0.57674E-01,-0.53279E-01,-0.48846E-01,-0.44378E-01,-0.39874E-01, & - &-0.35334E-01,-0.30759E-01,-0.26149E-01,-0.21504E-01,-0.16825E-01, & - &-0.12111E-01,-0.73619E-02,-0.25784E-02, 0.22401E-02, 0.70935E-02, & - & 0.11982E-01, 0.16906E-01, 0.21866E-01, 0.26861E-01, 0.31892E-01, & - & 0.36958E-01, 0.42061E-01, 0.47200E-01, 0.52375E-01, 0.57586E-01, & - & 0.62833E-01, 0.68116E-01, 0.73434E-01, 0.78787E-01, 0.84176E-01, & - & 0.89598E-01, 0.95055E-01, 0.10054E+00, 0.10607E+00, 0.11162E+00, & - & 0.11721E+00, 0.12282E+00, 0.12847E+00, 0.13414E+00, 0.13984E+00/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.14556E+00, 0.15132E+00, 0.15709E+00, 0.16289E+00, 0.16871E+00, & - & 0.17454E+00, 0.18040E+00, 0.18627E+00, 0.19216E+00, 0.19807E+00, & - & 0.20399E+00, 0.20992E+00, 0.21586E+00, 0.22181E+00, 0.22777E+00, & - & 0.23374E+00, 0.23971E+00, 0.24569E+00, 0.25168E+00, 0.25766E+00, & - & 0.26365E+00, 0.26964E+00, 0.27563E+00, 0.28162E+00, 0.28761E+00, & - & 0.29360E+00, 0.29958E+00, 0.30556E+00, 0.31153E+00, 0.31750E+00, & - & 0.32347E+00, 0.32943E+00, 0.33538E+00, 0.34133E+00, 0.34727E+00, & - & 0.35320E+00, 0.35912E+00, 0.36504E+00, 0.37094E+00, 0.37684E+00, & - & 0.38273E+00, 0.38861E+00, 0.39448E+00, 0.40034E+00, 0.40618E+00, & - & 0.41202E+00, 0.41785E+00, 0.42367E+00, 0.42947E+00, 0.43527E+00, & - & 0.44105E+00, 0.44683E+00, 0.45259E+00, 0.45834E+00, 0.46408E+00, & - & 0.46981E+00, 0.47552E+00, 0.48123E+00, 0.48692E+00, 0.49260E+00, & - & 0.49827E+00, 0.50393E+00, 0.50957E+00, 0.51520E+00, 0.52083E+00, & - & 0.52644E+00, 0.53203E+00, 0.53762E+00, 0.54319E+00, 0.54875E+00, & - & 0.55430E+00, 0.55984E+00, 0.56537E+00, 0.57088E+00, 0.57638E+00, & - & 0.58187E+00, 0.58734E+00, 0.59281E+00, 0.59826E+00, 0.60370E+00, & - & 0.60913E+00, 0.61455E+00, 0.61995E+00, 0.62534E+00, 0.63072E+00, & - & 0.63609E+00, 0.64145E+00, 0.64679E+00, 0.65212E+00, 0.65744E+00, & - & 0.66275E+00, 0.66805E+00, 0.67333E+00, 0.67860E+00, 0.68387E+00, & - & 0.68911E+00, 0.69435E+00, 0.69958E+00, 0.70479E+00, 0.70999E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.71518E+00, 0.72036E+00, 0.72553E+00, 0.73068E+00, 0.73582E+00, & - & 0.74096E+00, 0.74608E+00, 0.75118E+00, 0.75628E+00, 0.76137E+00, & - & 0.76644E+00, 0.77150E+00, 0.77656E+00, 0.78160E+00, 0.78663E+00, & - & 0.79164E+00, 0.79665E+00, 0.80164E+00, 0.80663E+00, 0.81160E+00, & - & 0.81656E+00, 0.82152E+00, 0.82646E+00, 0.83138E+00, 0.83630E+00, & - & 0.84121E+00, 0.84611E+00, 0.85099E+00, 0.85587E+00, 0.86073E+00, & - & 0.86558E+00, 0.87042E+00, 0.87526E+00, 0.88008E+00, 0.88489E+00, & - & 0.88969E+00, 0.89448E+00, 0.89926E+00, 0.90403E+00, 0.90878E+00, & - & 0.91353E+00, 0.91827E+00, 0.92300E+00, 0.92771E+00, 0.93242E+00, & - & 0.93711E+00, 0.94180E+00, 0.94648E+00, 0.95114E+00, 0.95580E+00, & - & 0.96044E+00, 0.96508E+00, 0.96971E+00, 0.97432E+00, 0.97893E+00, & - & 0.98352E+00, 0.98811E+00, 0.99269E+00, 0.99725E+00, 0.10018E+01, & - & 0.10064E+01, 0.10109E+01, 0.10154E+01, 0.10199E+01, 0.10245E+01, & - & 0.10290E+01, 0.10334E+01, 0.10379E+01, 0.10424E+01, 0.10469E+01, & - & 0.10513E+01, 0.10558E+01, 0.10602E+01, 0.10646E+01, 0.10690E+01, & - & 0.10734E+01, 0.10778E+01, 0.10822E+01, 0.10866E+01, 0.10910E+01, & - & 0.10953E+01, 0.10997E+01, 0.11040E+01, 0.11084E+01, 0.11127E+01, & - & 0.11170E+01, 0.11213E+01, 0.11256E+01, 0.11299E+01, 0.11342E+01, & - & 0.11384E+01, 0.11427E+01, 0.11470E+01, 0.11512E+01, 0.11554E+01, & - & 0.11597E+01, 0.11639E+01, 0.11681E+01, 0.11723E+01, 0.11765E+01/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.11807E+01, 0.11849E+01, 0.11890E+01, 0.11932E+01, 0.11974E+01, & - & 0.12015E+01, 0.12056E+01, 0.12098E+01, 0.12139E+01, 0.12180E+01, & - & 0.12221E+01, 0.12262E+01, 0.12303E+01, 0.12344E+01, 0.12384E+01, & - & 0.12425E+01, 0.12466E+01, 0.12506E+01, 0.12547E+01, 0.12587E+01, & - & 0.12627E+01, 0.12667E+01, 0.12707E+01, 0.12747E+01, 0.12787E+01, & - & 0.12827E+01, 0.12867E+01, 0.12907E+01, 0.12946E+01, 0.12986E+01, & - & 0.13025E+01, 0.13065E+01, 0.13104E+01, 0.13143E+01, 0.13182E+01, & - & 0.13221E+01, 0.13261E+01, 0.13299E+01, 0.13338E+01, 0.13377E+01, & - & 0.13416E+01, 0.13455E+01, 0.13493E+01, 0.13532E+01, 0.13570E+01, & - & 0.13608E+01, 0.13647E+01, 0.13685E+01, 0.13723E+01, 0.13761E+01, & - & 0.13799E+01, 0.13837E+01, 0.13875E+01, 0.13913E+01, 0.13950E+01, & - & 0.13988E+01, 0.14026E+01, 0.14063E+01, 0.14101E+01, 0.14138E+01, & - & 0.14175E+01, 0.14213E+01, 0.14250E+01, 0.14287E+01, 0.14324E+01, & - & 0.14361E+01, 0.14398E+01, 0.14435E+01, 0.14471E+01, 0.14508E+01, & - & 0.14545E+01, 0.14581E+01, 0.14618E+01, 0.14654E+01, 0.14690E+01, & - & 0.14727E+01, 0.14763E+01, 0.14799E+01, 0.14835E+01, 0.14871E+01, & - & 0.14907E+01, 0.14943E+01, 0.14979E+01, 0.15015E+01, 0.15051E+01, & - & 0.15086E+01, 0.15122E+01, 0.15157E+01, 0.15193E+01, 0.15228E+01, & - & 0.15264E+01, 0.15299E+01, 0.15334E+01, 0.15369E+01, 0.15404E+01, & - & 0.15439E+01, 0.15474E+01, 0.15509E+01, 0.15544E+01, 0.15579E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.15613E+01, 0.15648E+01, 0.15683E+01, 0.15717E+01, 0.15752E+01, & - & 0.15786E+01, 0.15821E+01, 0.15855E+01, 0.15889E+01, 0.15923E+01, & - & 0.15957E+01, 0.15991E+01, 0.16025E+01, 0.16059E+01, 0.16093E+01, & - & 0.16127E+01, 0.16161E+01, 0.16195E+01, 0.16228E+01, 0.16262E+01, & - & 0.16295E+01, 0.16329E+01, 0.16362E+01, 0.16396E+01, 0.16429E+01, & - & 0.16462E+01, 0.16495E+01, 0.16529E+01, 0.16562E+01, 0.16595E+01, & - & 0.16628E+01, 0.16661E+01, 0.16693E+01, 0.16726E+01, 0.16759E+01, & - & 0.16792E+01, 0.16824E+01, 0.16857E+01, 0.16890E+01, 0.16922E+01, & - & 0.16954E+01, 0.16987E+01, 0.17019E+01, 0.17051E+01, 0.17084E+01, & - & 0.17116E+01, 0.17148E+01, 0.17180E+01, 0.17212E+01, 0.17244E+01, & - & 0.17276E+01, 0.17308E+01, 0.17339E+01, 0.17371E+01, 0.17403E+01, & - & 0.17434E+01, 0.17466E+01, 0.17498E+01, 0.17529E+01, 0.17561E+01, & - & 0.17592E+01, 0.17623E+01, 0.17655E+01, 0.17686E+01, 0.17717E+01, & - & 0.17748E+01, 0.17779E+01, 0.17810E+01, 0.17841E+01, 0.17872E+01, & - & 0.17903E+01, 0.17934E+01, 0.17965E+01, 0.17995E+01, 0.18026E+01, & - & 0.18057E+01, 0.18087E+01, 0.18118E+01, 0.18148E+01, 0.18179E+01, & - & 0.18209E+01, 0.18239E+01, 0.18270E+01, 0.18300E+01, 0.18330E+01, & - & 0.18360E+01, 0.18390E+01, 0.18420E+01, 0.18450E+01, 0.18480E+01, & - & 0.18510E+01, 0.18540E+01, 0.18570E+01, 0.18600E+01, 0.18629E+01, & - & 0.18659E+01, 0.18689E+01, 0.18718E+01, 0.18748E+01, 0.18777E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.18807E+01, 0.18836E+01, 0.18865E+01, 0.18895E+01, 0.18924E+01, & - & 0.18953E+01, 0.18982E+01, 0.19012E+01, 0.19041E+01, 0.19070E+01, & - & 0.19099E+01, 0.19128E+01, 0.19157E+01, 0.19185E+01, 0.19214E+01, & - & 0.19243E+01, 0.19272E+01, 0.19300E+01, 0.19329E+01, 0.19358E+01, & - & 0.19386E+01, 0.19415E+01, 0.19443E+01, 0.19472E+01, 0.19500E+01, & - & 0.19528E+01, 0.19557E+01, 0.19585E+01, 0.19613E+01, 0.19641E+01, & - & 0.19669E+01, 0.19697E+01, 0.19725E+01, 0.19753E+01, 0.19781E+01, & - & 0.19809E+01, 0.19837E+01, 0.19865E+01, 0.19893E+01, 0.19921E+01, & - & 0.19948E+01, 0.19976E+01, 0.20004E+01, 0.20031E+01, 0.20059E+01, & - & 0.20086E+01, 0.20114E+01, 0.20141E+01, 0.20168E+01, 0.20196E+01, & - & 0.20223E+01, 0.20250E+01, 0.20278E+01, 0.20305E+01, 0.20332E+01, & - & 0.20359E+01, 0.20386E+01, 0.20413E+01, 0.20440E+01, 0.20467E+01, & - & 0.20494E+01, 0.20521E+01, 0.20548E+01, 0.20574E+01, 0.20601E+01, & - & 0.20628E+01, 0.20654E+01, 0.20681E+01, 0.20708E+01, 0.20734E+01, & - & 0.20761E+01, 0.20787E+01, 0.20814E+01, 0.20840E+01, 0.20866E+01, & - & 0.20893E+01, 0.20919E+01, 0.20945E+01, 0.20971E+01, 0.20998E+01, & - & 0.21024E+01, 0.21050E+01, 0.21076E+01, 0.21102E+01, 0.21128E+01, & - & 0.21154E+01, 0.21180E+01, 0.21206E+01, 0.21231E+01, 0.21257E+01, & - & 0.21283E+01, 0.21309E+01, 0.21334E+01, 0.21360E+01, 0.21386E+01, & - & 0.21411E+01, 0.21437E+01, 0.21462E+01, 0.21488E+01, 0.21513E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.21786E+01, 0.22034E+01, 0.22280E+01, 0.22522E+01, 0.22760E+01, & - & 0.22996E+01, 0.23228E+01, 0.23457E+01, 0.23684E+01, 0.23907E+01, & - & 0.24128E+01, 0.24345E+01, 0.24560E+01, 0.24773E+01, 0.24982E+01, & - & 0.25190E+01, 0.25394E+01, 0.25596E+01, 0.25796E+01, 0.25993E+01, & - & 0.26188E+01, 0.26381E+01, 0.26571E+01, 0.26760E+01, 0.26946E+01, & - & 0.27130E+01, 0.27312E+01, 0.27491E+01, 0.27669E+01, 0.27845E+01, & - & 0.28019E+01, 0.28191E+01, 0.28361E+01, 0.28529E+01, 0.28696E+01, & - & 0.28860E+01, 0.29023E+01, 0.29185E+01, 0.29344E+01, 0.29502E+01, & - & 0.29658E+01, 0.29813E+01, 0.29966E+01, 0.30117E+01, 0.30267E+01, & - & 0.30415E+01, 0.30562E+01, 0.30708E+01, 0.30852E+01, 0.30994E+01, & - & 0.31136E+01, 0.31275E+01, 0.31414E+01, 0.31551E+01, 0.31687E+01, & - & 0.31821E+01, 0.31954E+01, 0.32086E+01, 0.32217E+01, 0.32346E+01, & - & 0.32474E+01, 0.32601E+01, 0.32727E+01, 0.32852E+01, 0.32976E+01, & - & 0.33098E+01, 0.33219E+01, 0.33339E+01, 0.33459E+01, 0.33577E+01, & - & 0.33694E+01, 0.33810E+01, 0.33924E+01, 0.34038E+01, 0.34151E+01, & - & 0.34263E+01, 0.34374E+01, 0.34484E+01, 0.34593E+01, 0.34701E+01, & - & 0.34808E+01, 0.34914E+01, 0.35020E+01, 0.35124E+01, 0.35228E+01, & - & 0.35330E+01, 0.35432E+01, 0.35533E+01, 0.35633E+01, 0.35732E+01, & - & 0.35831E+01, 0.35928E+01, 0.36025E+01, 0.36121E+01, 0.36216E+01, & - & 0.36311E+01, 0.36405E+01, 0.36497E+01, 0.36590E+01, 0.36681E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.36772E+01, 0.36862E+01, 0.36951E+01, 0.37039E+01, 0.37127E+01, & - & 0.37214E+01, 0.37301E+01, 0.37386E+01, 0.37472E+01, 0.37556E+01, & - & 0.37640E+01, 0.37723E+01, 0.37805E+01, 0.37887E+01, 0.37968E+01, & - & 0.38049E+01, 0.38129E+01, 0.38208E+01, 0.38287E+01, 0.38365E+01, & - & 0.38442E+01, 0.38519E+01, 0.38595E+01, 0.38671E+01, 0.38746E+01, & - & 0.38821E+01, 0.38895E+01, 0.38968E+01, 0.39041E+01, 0.39114E+01, & - & 0.39186E+01, 0.39257E+01, 0.39328E+01, 0.39398E+01, 0.39468E+01, & - & 0.39537E+01, 0.39606E+01, 0.39674E+01, 0.39742E+01, 0.39809E+01, & - & 0.39875E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.79945E-01,-0.17380E+00,-0.22078E+00,-0.25407E+00,-0.28025E+00, & - &-0.30198E+00,-0.32062E+00,-0.33698E+00,-0.35158E+00,-0.36476E+00, & - &-0.37680E+00,-0.38787E+00,-0.39813E+00,-0.40767E+00,-0.41660E+00, & - &-0.42499E+00,-0.43289E+00,-0.44036E+00,-0.44744E+00,-0.45416E+00, & - &-0.46056E+00,-0.46665E+00,-0.47248E+00,-0.47805E+00,-0.48338E+00, & - &-0.48850E+00,-0.49341E+00,-0.49812E+00,-0.50265E+00,-0.50701E+00, & - &-0.51121E+00,-0.51525E+00,-0.51915E+00,-0.52291E+00,-0.52654E+00, & - &-0.53004E+00,-0.53342E+00,-0.53669E+00,-0.53985E+00,-0.54290E+00, & - &-0.54585E+00,-0.54871E+00,-0.55147E+00,-0.55415E+00,-0.55674E+00, & - &-0.55924E+00,-0.56167E+00,-0.56402E+00,-0.56630E+00,-0.56851E+00, & - &-0.57065E+00,-0.57272E+00,-0.57473E+00,-0.57668E+00,-0.57857E+00, & - &-0.58041E+00,-0.58219E+00,-0.58391E+00,-0.58559E+00,-0.58721E+00, & - &-0.58879E+00,-0.59031E+00,-0.59180E+00,-0.59324E+00,-0.59464E+00, & - &-0.59599E+00,-0.59731E+00,-0.59859E+00,-0.59983E+00,-0.60103E+00, & - &-0.60220E+00,-0.60333E+00,-0.60443E+00,-0.60550E+00,-0.60653E+00, & - &-0.60753E+00,-0.60850E+00,-0.60945E+00,-0.61036E+00,-0.61124E+00, & - &-0.61209E+00,-0.61292E+00,-0.61372E+00,-0.61449E+00,-0.61524E+00, & - &-0.61596E+00,-0.61666E+00,-0.61733E+00,-0.61798E+00,-0.61861E+00, & - &-0.61921E+00,-0.61979E+00,-0.62035E+00,-0.62089E+00,-0.62141E+00, & - &-0.62190E+00,-0.62238E+00,-0.62284E+00,-0.62328E+00,-0.62370E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.62410E+00,-0.62449E+00,-0.62486E+00,-0.62521E+00,-0.62555E+00, & - &-0.62587E+00,-0.62618E+00,-0.62648E+00,-0.62676E+00,-0.62702E+00, & - &-0.62728E+00,-0.62752E+00,-0.62776E+00,-0.62798E+00,-0.62819E+00, & - &-0.62839E+00,-0.62858E+00,-0.62876E+00,-0.62893E+00,-0.62910E+00, & - &-0.62925E+00,-0.62940E+00,-0.62954E+00,-0.62967E+00,-0.62980E+00, & - &-0.62992E+00,-0.63003E+00,-0.63014E+00,-0.63024E+00,-0.63034E+00, & - &-0.63043E+00,-0.63052E+00,-0.63060E+00,-0.63068E+00,-0.63075E+00, & - &-0.63082E+00,-0.63089E+00,-0.63095E+00,-0.63101E+00,-0.63106E+00, & - &-0.63111E+00,-0.63116E+00,-0.63121E+00,-0.63125E+00,-0.63129E+00, & - &-0.63133E+00,-0.63136E+00,-0.63140E+00,-0.63143E+00,-0.63146E+00, & - &-0.63148E+00,-0.63151E+00,-0.63153E+00,-0.63155E+00,-0.63157E+00, & - &-0.63159E+00,-0.63161E+00,-0.63162E+00,-0.63164E+00,-0.63165E+00, & - &-0.63166E+00,-0.63167E+00,-0.63168E+00,-0.63169E+00,-0.63170E+00, & - &-0.63170E+00,-0.63171E+00,-0.63171E+00,-0.63172E+00,-0.63172E+00, & - &-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00, & - &-0.63174E+00,-0.63174E+00,-0.63174E+00,-0.63174E+00,-0.63174E+00, & - &-0.63174E+00,-0.63174E+00,-0.63174E+00,-0.63174E+00,-0.63174E+00, & - &-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00, & - &-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00,-0.63173E+00, & - &-0.63173E+00,-0.63173E+00,-0.63174E+00,-0.63174E+00,-0.63174E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.63174E+00,-0.63174E+00,-0.63175E+00,-0.63175E+00,-0.63175E+00, & - &-0.63176E+00,-0.63176E+00,-0.63176E+00,-0.63177E+00,-0.63178E+00, & - &-0.63178E+00,-0.63179E+00,-0.63180E+00,-0.63180E+00,-0.63181E+00, & - &-0.63182E+00,-0.63183E+00,-0.63184E+00,-0.63185E+00,-0.63186E+00, & - &-0.63187E+00,-0.63188E+00,-0.63190E+00,-0.63191E+00,-0.63192E+00, & - &-0.63194E+00,-0.63195E+00,-0.63197E+00,-0.63199E+00,-0.63200E+00, & - &-0.63202E+00,-0.63204E+00,-0.63206E+00,-0.63208E+00,-0.63210E+00, & - &-0.63212E+00,-0.63214E+00,-0.63216E+00,-0.63219E+00,-0.63221E+00, & - &-0.63223E+00,-0.63226E+00,-0.63229E+00,-0.63231E+00,-0.63234E+00, & - &-0.63237E+00,-0.63240E+00,-0.63243E+00,-0.63246E+00,-0.63249E+00, & - &-0.63252E+00,-0.63255E+00,-0.63259E+00,-0.63262E+00,-0.63266E+00, & - &-0.63269E+00,-0.63273E+00,-0.63277E+00,-0.63280E+00,-0.63284E+00, & - &-0.63288E+00,-0.63292E+00,-0.63296E+00,-0.63301E+00,-0.63305E+00, & - &-0.63309E+00,-0.63314E+00,-0.63318E+00,-0.63323E+00,-0.63327E+00, & - &-0.63332E+00,-0.63337E+00,-0.63342E+00,-0.63347E+00,-0.63352E+00, & - &-0.63357E+00,-0.63362E+00,-0.63367E+00,-0.63373E+00,-0.63378E+00, & - &-0.63384E+00,-0.63389E+00,-0.63395E+00,-0.63401E+00,-0.63407E+00, & - &-0.63413E+00,-0.63419E+00,-0.63425E+00,-0.63431E+00,-0.63437E+00, & - &-0.63443E+00,-0.63450E+00,-0.63456E+00,-0.63463E+00,-0.63470E+00, & - &-0.63476E+00,-0.63483E+00,-0.63490E+00,-0.63497E+00,-0.63504E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.63511E+00,-0.63518E+00,-0.63526E+00,-0.63533E+00,-0.63540E+00, & - &-0.63548E+00,-0.63556E+00,-0.63563E+00,-0.63571E+00,-0.63579E+00, & - &-0.63587E+00,-0.63595E+00,-0.63603E+00,-0.63611E+00,-0.63619E+00, & - &-0.63627E+00,-0.63636E+00,-0.63644E+00,-0.63653E+00,-0.63661E+00, & - &-0.63670E+00,-0.63679E+00,-0.63688E+00,-0.63697E+00,-0.63706E+00, & - &-0.63715E+00,-0.63724E+00,-0.63733E+00,-0.63743E+00,-0.63752E+00, & - &-0.63761E+00,-0.63771E+00,-0.63781E+00,-0.63790E+00,-0.63800E+00, & - &-0.63810E+00,-0.63820E+00,-0.63830E+00,-0.63840E+00,-0.63850E+00, & - &-0.63860E+00,-0.63871E+00,-0.63881E+00,-0.63892E+00,-0.63902E+00, & - &-0.63913E+00,-0.63923E+00,-0.63934E+00,-0.63945E+00,-0.63956E+00, & - &-0.63967E+00,-0.63978E+00,-0.63989E+00,-0.64000E+00,-0.64012E+00, & - &-0.64023E+00,-0.64034E+00,-0.64046E+00,-0.64058E+00,-0.64069E+00, & - &-0.64081E+00,-0.64093E+00,-0.64105E+00,-0.64117E+00,-0.64129E+00, & - &-0.64141E+00,-0.64153E+00,-0.64165E+00,-0.64177E+00,-0.64190E+00, & - &-0.64202E+00,-0.64215E+00,-0.64228E+00,-0.64240E+00,-0.64253E+00, & - &-0.64266E+00,-0.64279E+00,-0.64292E+00,-0.64305E+00,-0.64318E+00, & - &-0.64331E+00,-0.64344E+00,-0.64358E+00,-0.64371E+00,-0.64385E+00, & - &-0.64398E+00,-0.64412E+00,-0.64425E+00,-0.64439E+00,-0.64453E+00, & - &-0.64467E+00,-0.64481E+00,-0.64495E+00,-0.64509E+00,-0.64523E+00, & - &-0.64537E+00,-0.64552E+00,-0.64566E+00,-0.64581E+00,-0.64595E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.64610E+00,-0.64624E+00,-0.64639E+00,-0.64654E+00,-0.64669E+00, & - &-0.64684E+00,-0.64699E+00,-0.64714E+00,-0.64729E+00,-0.64744E+00, & - &-0.64759E+00,-0.64775E+00,-0.64790E+00,-0.64805E+00,-0.64821E+00, & - &-0.64837E+00,-0.64852E+00,-0.64868E+00,-0.64884E+00,-0.64900E+00, & - &-0.64916E+00,-0.64932E+00,-0.64948E+00,-0.64964E+00,-0.64980E+00, & - &-0.64996E+00,-0.65013E+00,-0.65029E+00,-0.65045E+00,-0.65062E+00, & - &-0.65079E+00,-0.65095E+00,-0.65112E+00,-0.65129E+00,-0.65146E+00, & - &-0.65163E+00,-0.65180E+00,-0.65197E+00,-0.65214E+00,-0.65231E+00, & - &-0.65248E+00,-0.65265E+00,-0.65283E+00,-0.65300E+00,-0.65318E+00, & - &-0.65335E+00,-0.65353E+00,-0.65370E+00,-0.65388E+00,-0.65406E+00, & - &-0.65424E+00,-0.65442E+00,-0.65460E+00,-0.65478E+00,-0.65496E+00, & - &-0.65514E+00,-0.65532E+00,-0.65551E+00,-0.65569E+00,-0.65587E+00, & - &-0.65606E+00,-0.65624E+00,-0.65643E+00,-0.65662E+00,-0.65680E+00, & - &-0.65699E+00,-0.65718E+00,-0.65737E+00,-0.65756E+00,-0.65775E+00, & - &-0.65794E+00,-0.65813E+00,-0.65832E+00,-0.65852E+00,-0.65871E+00, & - &-0.65890E+00,-0.65910E+00,-0.65929E+00,-0.65949E+00,-0.65968E+00, & - &-0.65988E+00,-0.66008E+00,-0.66028E+00,-0.66047E+00,-0.66067E+00, & - &-0.66087E+00,-0.66107E+00,-0.66127E+00,-0.66147E+00,-0.66168E+00, & - &-0.66188E+00,-0.66208E+00,-0.66229E+00,-0.66249E+00,-0.66269E+00, & - &-0.66290E+00,-0.66311E+00,-0.66331E+00,-0.66352E+00,-0.66373E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.66394E+00,-0.66414E+00,-0.66435E+00,-0.66456E+00,-0.66477E+00, & - &-0.66499E+00,-0.66520E+00,-0.66541E+00,-0.66562E+00,-0.66583E+00, & - &-0.66605E+00,-0.66626E+00,-0.66648E+00,-0.66669E+00,-0.66691E+00, & - &-0.66713E+00,-0.66734E+00,-0.66756E+00,-0.66778E+00,-0.66800E+00, & - &-0.66822E+00,-0.66844E+00,-0.66866E+00,-0.66888E+00,-0.66910E+00, & - &-0.66932E+00,-0.66954E+00,-0.66977E+00,-0.66999E+00,-0.67021E+00, & - &-0.67044E+00,-0.67066E+00,-0.67089E+00,-0.67111E+00,-0.67134E+00, & - &-0.67157E+00,-0.67180E+00,-0.67202E+00,-0.67225E+00,-0.67248E+00, & - &-0.67271E+00,-0.67294E+00,-0.67317E+00,-0.67340E+00,-0.67364E+00, & - &-0.67387E+00,-0.67410E+00,-0.67434E+00,-0.67457E+00,-0.67480E+00, & - &-0.67504E+00,-0.67527E+00,-0.67551E+00,-0.67575E+00,-0.67598E+00, & - &-0.67622E+00,-0.67646E+00,-0.67670E+00,-0.67694E+00,-0.67718E+00, & - &-0.67742E+00,-0.67766E+00,-0.67790E+00,-0.67814E+00,-0.67838E+00, & - &-0.67862E+00,-0.67887E+00,-0.67911E+00,-0.67935E+00,-0.67960E+00, & - &-0.67984E+00,-0.68009E+00,-0.68033E+00,-0.68058E+00,-0.68083E+00, & - &-0.68107E+00,-0.68132E+00,-0.68157E+00,-0.68182E+00,-0.68207E+00, & - &-0.68232E+00,-0.68257E+00,-0.68282E+00,-0.68307E+00,-0.68332E+00, & - &-0.68357E+00,-0.68383E+00,-0.68408E+00,-0.68433E+00,-0.68459E+00, & - &-0.68484E+00,-0.68510E+00,-0.68535E+00,-0.68561E+00,-0.68586E+00, & - &-0.68612E+00,-0.68638E+00,-0.68664E+00,-0.68689E+00,-0.68715E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.68998E+00,-0.69264E+00,-0.69534E+00,-0.69809E+00,-0.70088E+00, & - &-0.70371E+00,-0.70659E+00,-0.70950E+00,-0.71245E+00,-0.71544E+00, & - &-0.71847E+00,-0.72154E+00,-0.72464E+00,-0.72778E+00,-0.73095E+00, & - &-0.73416E+00,-0.73741E+00,-0.74068E+00,-0.74399E+00,-0.74733E+00, & - &-0.75070E+00,-0.75411E+00,-0.75754E+00,-0.76101E+00,-0.76450E+00, & - &-0.76802E+00,-0.77157E+00,-0.77515E+00,-0.77876E+00,-0.78239E+00, & - &-0.78605E+00,-0.78974E+00,-0.79345E+00,-0.79719E+00,-0.80095E+00, & - &-0.80474E+00,-0.80855E+00,-0.81239E+00,-0.81625E+00,-0.82013E+00, & - &-0.82403E+00,-0.82796E+00,-0.83191E+00,-0.83588E+00,-0.83987E+00, & - &-0.84388E+00,-0.84792E+00,-0.85197E+00,-0.85604E+00,-0.86014E+00, & - &-0.86425E+00,-0.86838E+00,-0.87253E+00,-0.87670E+00,-0.88089E+00, & - &-0.88510E+00,-0.88932E+00,-0.89357E+00,-0.89782E+00,-0.90210E+00, & - &-0.90639E+00,-0.91070E+00,-0.91503E+00,-0.91937E+00,-0.92373E+00, & - &-0.92811E+00,-0.93250E+00,-0.93690E+00,-0.94132E+00,-0.94576E+00, & - &-0.95021E+00,-0.95467E+00,-0.95915E+00,-0.96364E+00,-0.96815E+00, & - &-0.97267E+00,-0.97721E+00,-0.98176E+00,-0.98632E+00,-0.99089E+00, & - &-0.99548E+00,-0.10001E+01,-0.10047E+01,-0.10093E+01,-0.10140E+01, & - &-0.10186E+01,-0.10233E+01,-0.10279E+01,-0.10326E+01,-0.10373E+01, & - &-0.10420E+01,-0.10468E+01,-0.10515E+01,-0.10562E+01,-0.10610E+01, & - &-0.10657E+01,-0.10705E+01,-0.10753E+01,-0.10801E+01,-0.10849E+01/ - - DATA (BNC13M(I),I=701,741)/ & - &-0.10897E+01,-0.10945E+01,-0.10994E+01,-0.11042E+01,-0.11091E+01, & - &-0.11139E+01,-0.11188E+01,-0.11237E+01,-0.11286E+01,-0.11335E+01, & - &-0.11384E+01,-0.11433E+01,-0.11483E+01,-0.11532E+01,-0.11582E+01, & - &-0.11631E+01,-0.11681E+01,-0.11730E+01,-0.11780E+01,-0.11830E+01, & - &-0.11880E+01,-0.11930E+01,-0.11980E+01,-0.12031E+01,-0.12081E+01, & - &-0.12131E+01,-0.12182E+01,-0.12232E+01,-0.12283E+01,-0.12333E+01, & - &-0.12384E+01,-0.12435E+01,-0.12486E+01,-0.12537E+01,-0.12588E+01, & - &-0.12639E+01,-0.12690E+01,-0.12741E+01,-0.12793E+01,-0.12844E+01, & - &-0.12896E+01 & - & / - ENDBLOCKDATA KMCF223 diff --git a/src/arome/chem/internals/data_kmcf248a.F b/src/arome/chem/internals/data_kmcf248a.F deleted file mode 100644 index 82425a269865b7d4d95914fb6346f9166149b6bf..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf248a.F +++ /dev/null @@ -1,2219 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf248a.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:30 $ -!----------------------------------------------------------------- - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA KMCF248A -! *** CONTAINS THE DATA FOR KUSSIK-MEISNER BINARY COEFFICIENT ARRAYS -! NEEDED IN SUBROUTINE KM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA KMCF248 -! - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC248/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - DATA (BNC01M(I),I=1,100)/ & - &-0.47484E-01,-0.98816E-01,-0.12198E+00,-0.13703E+00,-0.14791E+00, & - &-0.15621E+00,-0.16272E+00,-0.16794E+00,-0.17216E+00,-0.17559E+00, & - &-0.17838E+00,-0.18065E+00,-0.18247E+00,-0.18392E+00,-0.18504E+00, & - &-0.18588E+00,-0.18647E+00,-0.18685E+00,-0.18703E+00,-0.18705E+00, & - &-0.18691E+00,-0.18663E+00,-0.18623E+00,-0.18571E+00,-0.18510E+00, & - &-0.18440E+00,-0.18361E+00,-0.18275E+00,-0.18181E+00,-0.18082E+00, & - &-0.17977E+00,-0.17867E+00,-0.17752E+00,-0.17633E+00,-0.17510E+00, & - &-0.17383E+00,-0.17253E+00,-0.17121E+00,-0.16985E+00,-0.16848E+00, & - &-0.16708E+00,-0.16566E+00,-0.16423E+00,-0.16278E+00,-0.16131E+00, & - &-0.15984E+00,-0.15835E+00,-0.15685E+00,-0.15534E+00,-0.15383E+00, & - &-0.15230E+00,-0.15077E+00,-0.14924E+00,-0.14769E+00,-0.14614E+00, & - &-0.14459E+00,-0.14303E+00,-0.14147E+00,-0.13990E+00,-0.13832E+00, & - &-0.13674E+00,-0.13516E+00,-0.13357E+00,-0.13197E+00,-0.13037E+00, & - &-0.12876E+00,-0.12715E+00,-0.12553E+00,-0.12389E+00,-0.12226E+00, & - &-0.12061E+00,-0.11895E+00,-0.11728E+00,-0.11561E+00,-0.11392E+00, & - &-0.11222E+00,-0.11051E+00,-0.10878E+00,-0.10705E+00,-0.10530E+00, & - &-0.10354E+00,-0.10176E+00,-0.99968E-01,-0.98163E-01,-0.96343E-01, & - &-0.94509E-01,-0.92660E-01,-0.90795E-01,-0.88916E-01,-0.87022E-01, & - &-0.85112E-01,-0.83188E-01,-0.81249E-01,-0.79295E-01,-0.77327E-01, & - &-0.75345E-01,-0.73349E-01,-0.71339E-01,-0.69317E-01,-0.67281E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.65233E-01,-0.63173E-01,-0.61101E-01,-0.59019E-01,-0.56926E-01, & - &-0.54823E-01,-0.52710E-01,-0.50588E-01,-0.48457E-01,-0.46319E-01, & - &-0.44173E-01,-0.42019E-01,-0.39859E-01,-0.37694E-01,-0.35522E-01, & - &-0.33345E-01,-0.31164E-01,-0.28978E-01,-0.26789E-01,-0.24596E-01, & - &-0.22400E-01,-0.20201E-01,-0.18000E-01,-0.15797E-01,-0.13592E-01, & - &-0.11386E-01,-0.91787E-02,-0.69707E-02,-0.47622E-02,-0.25533E-02, & - &-0.34438E-03, 0.18645E-02, 0.40730E-02, 0.62810E-02, 0.84884E-02, & - & 0.10695E-01, 0.12900E-01, 0.15105E-01, 0.17308E-01, 0.19510E-01, & - & 0.21710E-01, 0.23909E-01, 0.26107E-01, 0.28302E-01, 0.30496E-01, & - & 0.32687E-01, 0.34877E-01, 0.37065E-01, 0.39251E-01, 0.41434E-01, & - & 0.43616E-01, 0.45795E-01, 0.47972E-01, 0.50147E-01, 0.52319E-01, & - & 0.54489E-01, 0.56656E-01, 0.58821E-01, 0.60983E-01, 0.63143E-01, & - & 0.65300E-01, 0.67455E-01, 0.69607E-01, 0.71757E-01, 0.73903E-01, & - & 0.76047E-01, 0.78189E-01, 0.80327E-01, 0.82463E-01, 0.84596E-01, & - & 0.86727E-01, 0.88854E-01, 0.90979E-01, 0.93101E-01, 0.95220E-01, & - & 0.97336E-01, 0.99449E-01, 0.10156E+00, 0.10367E+00, 0.10577E+00, & - & 0.10787E+00, 0.10997E+00, 0.11207E+00, 0.11416E+00, 0.11625E+00, & - & 0.11833E+00, 0.12042E+00, 0.12250E+00, 0.12458E+00, 0.12665E+00, & - & 0.12872E+00, 0.13079E+00, 0.13286E+00, 0.13492E+00, 0.13698E+00, & - & 0.13903E+00, 0.14108E+00, 0.14313E+00, 0.14518E+00, 0.14722E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.14926E+00, 0.15130E+00, 0.15334E+00, 0.15537E+00, 0.15739E+00, & - & 0.15942E+00, 0.16144E+00, 0.16346E+00, 0.16547E+00, 0.16748E+00, & - & 0.16949E+00, 0.17150E+00, 0.17350E+00, 0.17550E+00, 0.17749E+00, & - & 0.17949E+00, 0.18148E+00, 0.18346E+00, 0.18545E+00, 0.18743E+00, & - & 0.18940E+00, 0.19138E+00, 0.19335E+00, 0.19531E+00, 0.19728E+00, & - & 0.19924E+00, 0.20119E+00, 0.20315E+00, 0.20510E+00, 0.20705E+00, & - & 0.20899E+00, 0.21093E+00, 0.21287E+00, 0.21480E+00, 0.21674E+00, & - & 0.21866E+00, 0.22059E+00, 0.22251E+00, 0.22443E+00, 0.22635E+00, & - & 0.22826E+00, 0.23017E+00, 0.23207E+00, 0.23398E+00, 0.23588E+00, & - & 0.23777E+00, 0.23967E+00, 0.24156E+00, 0.24344E+00, 0.24533E+00, & - & 0.24721E+00, 0.24908E+00, 0.25096E+00, 0.25283E+00, 0.25470E+00, & - & 0.25656E+00, 0.25842E+00, 0.26028E+00, 0.26214E+00, 0.26399E+00, & - & 0.26584E+00, 0.26768E+00, 0.26953E+00, 0.27137E+00, 0.27320E+00, & - & 0.27504E+00, 0.27687E+00, 0.27869E+00, 0.28052E+00, 0.28234E+00, & - & 0.28415E+00, 0.28597E+00, 0.28778E+00, 0.28959E+00, 0.29139E+00, & - & 0.29320E+00, 0.29499E+00, 0.29679E+00, 0.29858E+00, 0.30037E+00, & - & 0.30216E+00, 0.30394E+00, 0.30572E+00, 0.30750E+00, 0.30928E+00, & - & 0.31105E+00, 0.31282E+00, 0.31458E+00, 0.31634E+00, 0.31810E+00, & - & 0.31986E+00, 0.32161E+00, 0.32336E+00, 0.32511E+00, 0.32686E+00, & - & 0.32860E+00, 0.33033E+00, 0.33207E+00, 0.33380E+00, 0.33553E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.33726E+00, 0.33898E+00, 0.34070E+00, 0.34242E+00, 0.34413E+00, & - & 0.34585E+00, 0.34755E+00, 0.34926E+00, 0.35096E+00, 0.35266E+00, & - & 0.35436E+00, 0.35605E+00, 0.35775E+00, 0.35943E+00, 0.36112E+00, & - & 0.36280E+00, 0.36448E+00, 0.36616E+00, 0.36783E+00, 0.36950E+00, & - & 0.37117E+00, 0.37284E+00, 0.37450E+00, 0.37616E+00, 0.37782E+00, & - & 0.37947E+00, 0.38112E+00, 0.38277E+00, 0.38442E+00, 0.38606E+00, & - & 0.38770E+00, 0.38934E+00, 0.39097E+00, 0.39260E+00, 0.39423E+00, & - & 0.39586E+00, 0.39748E+00, 0.39910E+00, 0.40072E+00, 0.40233E+00, & - & 0.40394E+00, 0.40555E+00, 0.40716E+00, 0.40876E+00, 0.41037E+00, & - & 0.41196E+00, 0.41356E+00, 0.41515E+00, 0.41674E+00, 0.41833E+00, & - & 0.41992E+00, 0.42150E+00, 0.42308E+00, 0.42466E+00, 0.42623E+00, & - & 0.42780E+00, 0.42937E+00, 0.43094E+00, 0.43250E+00, 0.43406E+00, & - & 0.43562E+00, 0.43718E+00, 0.43873E+00, 0.44028E+00, 0.44183E+00, & - & 0.44337E+00, 0.44492E+00, 0.44646E+00, 0.44799E+00, 0.44953E+00, & - & 0.45106E+00, 0.45259E+00, 0.45412E+00, 0.45564E+00, 0.45717E+00, & - & 0.45868E+00, 0.46020E+00, 0.46172E+00, 0.46323E+00, 0.46474E+00, & - & 0.46625E+00, 0.46775E+00, 0.46925E+00, 0.47075E+00, 0.47225E+00, & - & 0.47374E+00, 0.47523E+00, 0.47672E+00, 0.47821E+00, 0.47970E+00, & - & 0.48118E+00, 0.48266E+00, 0.48414E+00, 0.48561E+00, 0.48708E+00, & - & 0.48855E+00, 0.49002E+00, 0.49148E+00, 0.49295E+00, 0.49441E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.49587E+00, 0.49732E+00, 0.49877E+00, 0.50022E+00, 0.50167E+00, & - & 0.50312E+00, 0.50456E+00, 0.50600E+00, 0.50744E+00, 0.50888E+00, & - & 0.51031E+00, 0.51174E+00, 0.51317E+00, 0.51460E+00, 0.51602E+00, & - & 0.51745E+00, 0.51887E+00, 0.52028E+00, 0.52170E+00, 0.52311E+00, & - & 0.52452E+00, 0.52593E+00, 0.52734E+00, 0.52874E+00, 0.53014E+00, & - & 0.53154E+00, 0.53294E+00, 0.53433E+00, 0.53573E+00, 0.53712E+00, & - & 0.53851E+00, 0.53989E+00, 0.54127E+00, 0.54266E+00, 0.54403E+00, & - & 0.54541E+00, 0.54679E+00, 0.54816E+00, 0.54953E+00, 0.55090E+00, & - & 0.55226E+00, 0.55363E+00, 0.55499E+00, 0.55635E+00, 0.55770E+00, & - & 0.55906E+00, 0.56041E+00, 0.56176E+00, 0.56311E+00, 0.56446E+00, & - & 0.56580E+00, 0.56714E+00, 0.56848E+00, 0.56982E+00, 0.57115E+00, & - & 0.57249E+00, 0.57382E+00, 0.57515E+00, 0.57648E+00, 0.57780E+00, & - & 0.57912E+00, 0.58044E+00, 0.58176E+00, 0.58308E+00, 0.58439E+00, & - & 0.58571E+00, 0.58702E+00, 0.58832E+00, 0.58963E+00, 0.59093E+00, & - & 0.59224E+00, 0.59354E+00, 0.59483E+00, 0.59613E+00, 0.59742E+00, & - & 0.59872E+00, 0.60001E+00, 0.60129E+00, 0.60258E+00, 0.60386E+00, & - & 0.60514E+00, 0.60642E+00, 0.60770E+00, 0.60898E+00, 0.61025E+00, & - & 0.61152E+00, 0.61279E+00, 0.61406E+00, 0.61533E+00, 0.61659E+00, & - & 0.61785E+00, 0.61911E+00, 0.62037E+00, 0.62163E+00, 0.62288E+00, & - & 0.62413E+00, 0.62538E+00, 0.62663E+00, 0.62788E+00, 0.62912E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.63036E+00, 0.63160E+00, 0.63284E+00, 0.63408E+00, 0.63531E+00, & - & 0.63655E+00, 0.63778E+00, 0.63901E+00, 0.64023E+00, 0.64146E+00, & - & 0.64268E+00, 0.64390E+00, 0.64512E+00, 0.64634E+00, 0.64756E+00, & - & 0.64877E+00, 0.64998E+00, 0.65120E+00, 0.65240E+00, 0.65361E+00, & - & 0.65482E+00, 0.65602E+00, 0.65722E+00, 0.65842E+00, 0.65962E+00, & - & 0.66081E+00, 0.66201E+00, 0.66320E+00, 0.66439E+00, 0.66558E+00, & - & 0.66676E+00, 0.66795E+00, 0.66913E+00, 0.67031E+00, 0.67149E+00, & - & 0.67267E+00, 0.67385E+00, 0.67502E+00, 0.67619E+00, 0.67736E+00, & - & 0.67853E+00, 0.67970E+00, 0.68087E+00, 0.68203E+00, 0.68319E+00, & - & 0.68435E+00, 0.68551E+00, 0.68667E+00, 0.68782E+00, 0.68898E+00, & - & 0.69013E+00, 0.69128E+00, 0.69243E+00, 0.69357E+00, 0.69472E+00, & - & 0.69586E+00, 0.69700E+00, 0.69814E+00, 0.69928E+00, 0.70042E+00, & - & 0.70155E+00, 0.70268E+00, 0.70381E+00, 0.70494E+00, 0.70607E+00, & - & 0.70720E+00, 0.70832E+00, 0.70945E+00, 0.71057E+00, 0.71169E+00, & - & 0.71280E+00, 0.71392E+00, 0.71504E+00, 0.71615E+00, 0.71726E+00, & - & 0.71837E+00, 0.71948E+00, 0.72058E+00, 0.72169E+00, 0.72279E+00, & - & 0.72389E+00, 0.72499E+00, 0.72609E+00, 0.72719E+00, 0.72828E+00, & - & 0.72938E+00, 0.73047E+00, 0.73156E+00, 0.73265E+00, 0.73374E+00, & - & 0.73482E+00, 0.73591E+00, 0.73699E+00, 0.73807E+00, 0.73915E+00, & - & 0.74023E+00, 0.74130E+00, 0.74238E+00, 0.74345E+00, 0.74452E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.75600E+00, 0.76647E+00, 0.77680E+00, 0.78697E+00, 0.79701E+00, & - & 0.80690E+00, 0.81666E+00, 0.82629E+00, 0.83578E+00, 0.84515E+00, & - & 0.85439E+00, 0.86351E+00, 0.87250E+00, 0.88138E+00, 0.89014E+00, & - & 0.89879E+00, 0.90732E+00, 0.91574E+00, 0.92406E+00, 0.93227E+00, & - & 0.94038E+00, 0.94838E+00, 0.95628E+00, 0.96409E+00, 0.97180E+00, & - & 0.97941E+00, 0.98693E+00, 0.99435E+00, 0.10017E+01, 0.10089E+01, & - & 0.10161E+01, 0.10232E+01, 0.10302E+01, 0.10371E+01, 0.10439E+01, & - & 0.10506E+01, 0.10573E+01, 0.10639E+01, 0.10704E+01, 0.10768E+01, & - & 0.10832E+01, 0.10895E+01, 0.10957E+01, 0.11018E+01, 0.11079E+01, & - & 0.11139E+01, 0.11199E+01, 0.11257E+01, 0.11315E+01, 0.11373E+01, & - & 0.11430E+01, 0.11486E+01, 0.11541E+01, 0.11596E+01, 0.11651E+01, & - & 0.11704E+01, 0.11757E+01, 0.11810E+01, 0.11862E+01, 0.11913E+01, & - & 0.11964E+01, 0.12015E+01, 0.12064E+01, 0.12114E+01, 0.12162E+01, & - & 0.12211E+01, 0.12258E+01, 0.12306E+01, 0.12352E+01, 0.12399E+01, & - & 0.12444E+01, 0.12490E+01, 0.12534E+01, 0.12579E+01, 0.12623E+01, & - & 0.12666E+01, 0.12709E+01, 0.12751E+01, 0.12794E+01, 0.12835E+01, & - & 0.12876E+01, 0.12917E+01, 0.12958E+01, 0.12998E+01, 0.13037E+01, & - & 0.13076E+01, 0.13115E+01, 0.13153E+01, 0.13191E+01, 0.13229E+01, & - & 0.13266E+01, 0.13303E+01, 0.13340E+01, 0.13376E+01, 0.13411E+01, & - & 0.13447E+01, 0.13482E+01, 0.13517E+01, 0.13551E+01, 0.13585E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.13619E+01, 0.13652E+01, 0.13685E+01, 0.13718E+01, 0.13750E+01, & - & 0.13782E+01, 0.13814E+01, 0.13845E+01, 0.13876E+01, 0.13907E+01, & - & 0.13937E+01, 0.13967E+01, 0.13997E+01, 0.14027E+01, 0.14056E+01, & - & 0.14085E+01, 0.14114E+01, 0.14142E+01, 0.14170E+01, 0.14198E+01, & - & 0.14226E+01, 0.14253E+01, 0.14280E+01, 0.14307E+01, 0.14333E+01, & - & 0.14360E+01, 0.14386E+01, 0.14411E+01, 0.14437E+01, 0.14462E+01, & - & 0.14487E+01, 0.14512E+01, 0.14536E+01, 0.14561E+01, 0.14585E+01, & - & 0.14608E+01, 0.14632E+01, 0.14655E+01, 0.14678E+01, 0.14701E+01, & - & 0.14724E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.97981E-01,-0.21379E+00,-0.27204E+00,-0.31341E+00,-0.34603E+00, & - &-0.37314E+00,-0.39646E+00,-0.41696E+00,-0.43531E+00,-0.45193E+00, & - &-0.46714E+00,-0.48118E+00,-0.49423E+00,-0.50643E+00,-0.51788E+00, & - &-0.52870E+00,-0.53893E+00,-0.54866E+00,-0.55793E+00,-0.56679E+00, & - &-0.57528E+00,-0.58342E+00,-0.59125E+00,-0.59880E+00,-0.60608E+00, & - &-0.61312E+00,-0.61993E+00,-0.62653E+00,-0.63293E+00,-0.63915E+00, & - &-0.64519E+00,-0.65108E+00,-0.65681E+00,-0.66239E+00,-0.66784E+00, & - &-0.67316E+00,-0.67836E+00,-0.68344E+00,-0.68841E+00,-0.69328E+00, & - &-0.69804E+00,-0.70271E+00,-0.70729E+00,-0.71178E+00,-0.71618E+00, & - &-0.72051E+00,-0.72476E+00,-0.72893E+00,-0.73304E+00,-0.73707E+00, & - &-0.74104E+00,-0.74495E+00,-0.74880E+00,-0.75259E+00,-0.75632E+00, & - &-0.75999E+00,-0.76362E+00,-0.76719E+00,-0.77072E+00,-0.77420E+00, & - &-0.77763E+00,-0.78102E+00,-0.78436E+00,-0.78767E+00,-0.79094E+00, & - &-0.79416E+00,-0.79735E+00,-0.80051E+00,-0.80363E+00,-0.80671E+00, & - &-0.80977E+00,-0.81279E+00,-0.81578E+00,-0.81875E+00,-0.82168E+00, & - &-0.82459E+00,-0.82747E+00,-0.83032E+00,-0.83315E+00,-0.83596E+00, & - &-0.83874E+00,-0.84150E+00,-0.84423E+00,-0.84695E+00,-0.84964E+00, & - &-0.85232E+00,-0.85497E+00,-0.85760E+00,-0.86022E+00,-0.86282E+00, & - &-0.86540E+00,-0.86796E+00,-0.87051E+00,-0.87303E+00,-0.87555E+00, & - &-0.87804E+00,-0.88052E+00,-0.88299E+00,-0.88544E+00,-0.88788E+00/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.89030E+00,-0.89271E+00,-0.89510E+00,-0.89748E+00,-0.89985E+00, & - &-0.90220E+00,-0.90454E+00,-0.90687E+00,-0.90918E+00,-0.91148E+00, & - &-0.91377E+00,-0.91605E+00,-0.91832E+00,-0.92057E+00,-0.92281E+00, & - &-0.92504E+00,-0.92726E+00,-0.92947E+00,-0.93167E+00,-0.93385E+00, & - &-0.93603E+00,-0.93819E+00,-0.94034E+00,-0.94249E+00,-0.94462E+00, & - &-0.94674E+00,-0.94886E+00,-0.95096E+00,-0.95305E+00,-0.95513E+00, & - &-0.95721E+00,-0.95927E+00,-0.96132E+00,-0.96337E+00,-0.96540E+00, & - &-0.96743E+00,-0.96945E+00,-0.97146E+00,-0.97346E+00,-0.97545E+00, & - &-0.97743E+00,-0.97941E+00,-0.98137E+00,-0.98333E+00,-0.98528E+00, & - &-0.98722E+00,-0.98915E+00,-0.99108E+00,-0.99300E+00,-0.99491E+00, & - &-0.99681E+00,-0.99871E+00,-0.10006E+01,-0.10025E+01,-0.10044E+01, & - &-0.10062E+01,-0.10081E+01,-0.10099E+01,-0.10118E+01,-0.10136E+01, & - &-0.10155E+01,-0.10173E+01,-0.10191E+01,-0.10209E+01,-0.10227E+01, & - &-0.10245E+01,-0.10263E+01,-0.10281E+01,-0.10299E+01,-0.10317E+01, & - &-0.10334E+01,-0.10352E+01,-0.10369E+01,-0.10387E+01,-0.10404E+01, & - &-0.10422E+01,-0.10439E+01,-0.10457E+01,-0.10474E+01,-0.10491E+01, & - &-0.10508E+01,-0.10525E+01,-0.10542E+01,-0.10559E+01,-0.10576E+01, & - &-0.10593E+01,-0.10610E+01,-0.10627E+01,-0.10643E+01,-0.10660E+01, & - &-0.10677E+01,-0.10693E+01,-0.10710E+01,-0.10726E+01,-0.10743E+01, & - &-0.10759E+01,-0.10775E+01,-0.10792E+01,-0.10808E+01,-0.10824E+01/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.10840E+01,-0.10857E+01,-0.10873E+01,-0.10889E+01,-0.10905E+01, & - &-0.10921E+01,-0.10937E+01,-0.10952E+01,-0.10968E+01,-0.10984E+01, & - &-0.11000E+01,-0.11015E+01,-0.11031E+01,-0.11047E+01,-0.11062E+01, & - &-0.11078E+01,-0.11093E+01,-0.11109E+01,-0.11124E+01,-0.11140E+01, & - &-0.11155E+01,-0.11170E+01,-0.11186E+01,-0.11201E+01,-0.11216E+01, & - &-0.11231E+01,-0.11247E+01,-0.11262E+01,-0.11277E+01,-0.11292E+01, & - &-0.11307E+01,-0.11322E+01,-0.11337E+01,-0.11352E+01,-0.11366E+01, & - &-0.11381E+01,-0.11396E+01,-0.11411E+01,-0.11426E+01,-0.11440E+01, & - &-0.11455E+01,-0.11470E+01,-0.11484E+01,-0.11499E+01,-0.11514E+01, & - &-0.11528E+01,-0.11543E+01,-0.11557E+01,-0.11571E+01,-0.11586E+01, & - &-0.11600E+01,-0.11615E+01,-0.11629E+01,-0.11643E+01,-0.11658E+01, & - &-0.11672E+01,-0.11686E+01,-0.11700E+01,-0.11714E+01,-0.11728E+01, & - &-0.11743E+01,-0.11757E+01,-0.11771E+01,-0.11785E+01,-0.11799E+01, & - &-0.11813E+01,-0.11827E+01,-0.11841E+01,-0.11854E+01,-0.11868E+01, & - &-0.11882E+01,-0.11896E+01,-0.11910E+01,-0.11923E+01,-0.11937E+01, & - &-0.11951E+01,-0.11965E+01,-0.11978E+01,-0.11992E+01,-0.12006E+01, & - &-0.12019E+01,-0.12033E+01,-0.12046E+01,-0.12060E+01,-0.12073E+01, & - &-0.12087E+01,-0.12100E+01,-0.12114E+01,-0.12127E+01,-0.12140E+01, & - &-0.12154E+01,-0.12167E+01,-0.12181E+01,-0.12194E+01,-0.12207E+01, & - &-0.12220E+01,-0.12234E+01,-0.12247E+01,-0.12260E+01,-0.12273E+01/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.12286E+01,-0.12299E+01,-0.12313E+01,-0.12326E+01,-0.12339E+01, & - &-0.12352E+01,-0.12365E+01,-0.12378E+01,-0.12391E+01,-0.12404E+01, & - &-0.12417E+01,-0.12430E+01,-0.12443E+01,-0.12455E+01,-0.12468E+01, & - &-0.12481E+01,-0.12494E+01,-0.12507E+01,-0.12520E+01,-0.12532E+01, & - &-0.12545E+01,-0.12558E+01,-0.12571E+01,-0.12583E+01,-0.12596E+01, & - &-0.12609E+01,-0.12621E+01,-0.12634E+01,-0.12647E+01,-0.12659E+01, & - &-0.12672E+01,-0.12684E+01,-0.12697E+01,-0.12709E+01,-0.12722E+01, & - &-0.12734E+01,-0.12747E+01,-0.12759E+01,-0.12772E+01,-0.12784E+01, & - &-0.12797E+01,-0.12809E+01,-0.12821E+01,-0.12834E+01,-0.12846E+01, & - &-0.12858E+01,-0.12871E+01,-0.12883E+01,-0.12895E+01,-0.12907E+01, & - &-0.12920E+01,-0.12932E+01,-0.12944E+01,-0.12956E+01,-0.12969E+01, & - &-0.12981E+01,-0.12993E+01,-0.13005E+01,-0.13017E+01,-0.13029E+01, & - &-0.13041E+01,-0.13053E+01,-0.13065E+01,-0.13078E+01,-0.13090E+01, & - &-0.13102E+01,-0.13114E+01,-0.13126E+01,-0.13138E+01,-0.13149E+01, & - &-0.13161E+01,-0.13173E+01,-0.13185E+01,-0.13197E+01,-0.13209E+01, & - &-0.13221E+01,-0.13233E+01,-0.13245E+01,-0.13256E+01,-0.13268E+01, & - &-0.13280E+01,-0.13292E+01,-0.13304E+01,-0.13315E+01,-0.13327E+01, & - &-0.13339E+01,-0.13351E+01,-0.13362E+01,-0.13374E+01,-0.13386E+01, & - &-0.13397E+01,-0.13409E+01,-0.13421E+01,-0.13432E+01,-0.13444E+01, & - &-0.13456E+01,-0.13467E+01,-0.13479E+01,-0.13490E+01,-0.13502E+01/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.13513E+01,-0.13525E+01,-0.13537E+01,-0.13548E+01,-0.13560E+01, & - &-0.13571E+01,-0.13582E+01,-0.13594E+01,-0.13605E+01,-0.13617E+01, & - &-0.13628E+01,-0.13640E+01,-0.13651E+01,-0.13662E+01,-0.13674E+01, & - &-0.13685E+01,-0.13697E+01,-0.13708E+01,-0.13719E+01,-0.13731E+01, & - &-0.13742E+01,-0.13753E+01,-0.13764E+01,-0.13776E+01,-0.13787E+01, & - &-0.13798E+01,-0.13810E+01,-0.13821E+01,-0.13832E+01,-0.13843E+01, & - &-0.13854E+01,-0.13866E+01,-0.13877E+01,-0.13888E+01,-0.13899E+01, & - &-0.13910E+01,-0.13921E+01,-0.13932E+01,-0.13944E+01,-0.13955E+01, & - &-0.13966E+01,-0.13977E+01,-0.13988E+01,-0.13999E+01,-0.14010E+01, & - &-0.14021E+01,-0.14032E+01,-0.14043E+01,-0.14054E+01,-0.14065E+01, & - &-0.14076E+01,-0.14087E+01,-0.14098E+01,-0.14109E+01,-0.14120E+01, & - &-0.14131E+01,-0.14142E+01,-0.14153E+01,-0.14164E+01,-0.14175E+01, & - &-0.14186E+01,-0.14196E+01,-0.14207E+01,-0.14218E+01,-0.14229E+01, & - &-0.14240E+01,-0.14251E+01,-0.14261E+01,-0.14272E+01,-0.14283E+01, & - &-0.14294E+01,-0.14305E+01,-0.14315E+01,-0.14326E+01,-0.14337E+01, & - &-0.14348E+01,-0.14359E+01,-0.14369E+01,-0.14380E+01,-0.14391E+01, & - &-0.14401E+01,-0.14412E+01,-0.14423E+01,-0.14433E+01,-0.14444E+01, & - &-0.14455E+01,-0.14465E+01,-0.14476E+01,-0.14487E+01,-0.14497E+01, & - &-0.14508E+01,-0.14519E+01,-0.14529E+01,-0.14540E+01,-0.14550E+01, & - &-0.14561E+01,-0.14572E+01,-0.14582E+01,-0.14593E+01,-0.14603E+01/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.14614E+01,-0.14624E+01,-0.14635E+01,-0.14645E+01,-0.14656E+01, & - &-0.14666E+01,-0.14677E+01,-0.14687E+01,-0.14698E+01,-0.14708E+01, & - &-0.14719E+01,-0.14729E+01,-0.14740E+01,-0.14750E+01,-0.14760E+01, & - &-0.14771E+01,-0.14781E+01,-0.14792E+01,-0.14802E+01,-0.14812E+01, & - &-0.14823E+01,-0.14833E+01,-0.14843E+01,-0.14854E+01,-0.14864E+01, & - &-0.14875E+01,-0.14885E+01,-0.14895E+01,-0.14905E+01,-0.14916E+01, & - &-0.14926E+01,-0.14936E+01,-0.14947E+01,-0.14957E+01,-0.14967E+01, & - &-0.14978E+01,-0.14988E+01,-0.14998E+01,-0.15008E+01,-0.15018E+01, & - &-0.15029E+01,-0.15039E+01,-0.15049E+01,-0.15059E+01,-0.15070E+01, & - &-0.15080E+01,-0.15090E+01,-0.15100E+01,-0.15110E+01,-0.15120E+01, & - &-0.15131E+01,-0.15141E+01,-0.15151E+01,-0.15161E+01,-0.15171E+01, & - &-0.15181E+01,-0.15191E+01,-0.15202E+01,-0.15212E+01,-0.15222E+01, & - &-0.15232E+01,-0.15242E+01,-0.15252E+01,-0.15262E+01,-0.15272E+01, & - &-0.15282E+01,-0.15292E+01,-0.15302E+01,-0.15312E+01,-0.15322E+01, & - &-0.15332E+01,-0.15342E+01,-0.15352E+01,-0.15362E+01,-0.15372E+01, & - &-0.15382E+01,-0.15392E+01,-0.15402E+01,-0.15412E+01,-0.15422E+01, & - &-0.15432E+01,-0.15442E+01,-0.15452E+01,-0.15462E+01,-0.15472E+01, & - &-0.15482E+01,-0.15492E+01,-0.15502E+01,-0.15512E+01,-0.15522E+01, & - &-0.15531E+01,-0.15541E+01,-0.15551E+01,-0.15561E+01,-0.15571E+01, & - &-0.15581E+01,-0.15591E+01,-0.15601E+01,-0.15610E+01,-0.15620E+01/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.15726E+01,-0.15824E+01,-0.15921E+01,-0.16017E+01,-0.16113E+01, & - &-0.16208E+01,-0.16303E+01,-0.16397E+01,-0.16491E+01,-0.16584E+01, & - &-0.16677E+01,-0.16770E+01,-0.16862E+01,-0.16954E+01,-0.17045E+01, & - &-0.17136E+01,-0.17226E+01,-0.17316E+01,-0.17406E+01,-0.17495E+01, & - &-0.17584E+01,-0.17673E+01,-0.17761E+01,-0.17849E+01,-0.17937E+01, & - &-0.18024E+01,-0.18111E+01,-0.18198E+01,-0.18284E+01,-0.18370E+01, & - &-0.18456E+01,-0.18542E+01,-0.18627E+01,-0.18712E+01,-0.18797E+01, & - &-0.18881E+01,-0.18966E+01,-0.19050E+01,-0.19133E+01,-0.19217E+01, & - &-0.19300E+01,-0.19383E+01,-0.19466E+01,-0.19548E+01,-0.19631E+01, & - &-0.19713E+01,-0.19795E+01,-0.19876E+01,-0.19958E+01,-0.20039E+01, & - &-0.20120E+01,-0.20201E+01,-0.20282E+01,-0.20362E+01,-0.20443E+01, & - &-0.20523E+01,-0.20603E+01,-0.20682E+01,-0.20762E+01,-0.20841E+01, & - &-0.20921E+01,-0.21000E+01,-0.21079E+01,-0.21157E+01,-0.21236E+01, & - &-0.21314E+01,-0.21393E+01,-0.21471E+01,-0.21549E+01,-0.21626E+01, & - &-0.21704E+01,-0.21782E+01,-0.21859E+01,-0.21936E+01,-0.22013E+01, & - &-0.22090E+01,-0.22167E+01,-0.22244E+01,-0.22320E+01,-0.22396E+01, & - &-0.22473E+01,-0.22549E+01,-0.22625E+01,-0.22701E+01,-0.22776E+01, & - &-0.22852E+01,-0.22928E+01,-0.23003E+01,-0.23078E+01,-0.23153E+01, & - &-0.23228E+01,-0.23303E+01,-0.23378E+01,-0.23453E+01,-0.23527E+01, & - &-0.23602E+01,-0.23676E+01,-0.23750E+01,-0.23825E+01,-0.23899E+01/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.23973E+01,-0.24046E+01,-0.24120E+01,-0.24194E+01,-0.24267E+01, & - &-0.24341E+01,-0.24414E+01,-0.24487E+01,-0.24560E+01,-0.24633E+01, & - &-0.24706E+01,-0.24779E+01,-0.24852E+01,-0.24925E+01,-0.24997E+01, & - &-0.25070E+01,-0.25142E+01,-0.25214E+01,-0.25287E+01,-0.25359E+01, & - &-0.25431E+01,-0.25503E+01,-0.25575E+01,-0.25647E+01,-0.25718E+01, & - &-0.25790E+01,-0.25862E+01,-0.25933E+01,-0.26004E+01,-0.26076E+01, & - &-0.26147E+01,-0.26218E+01,-0.26289E+01,-0.26360E+01,-0.26431E+01, & - &-0.26502E+01,-0.26573E+01,-0.26644E+01,-0.26714E+01,-0.26785E+01, & - &-0.26856E+01 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.49134E-01,-0.10768E+00,-0.13739E+00,-0.15864E+00,-0.17549E+00, & - &-0.18957E+00,-0.20174E+00,-0.21250E+00,-0.22216E+00,-0.23096E+00, & - &-0.23904E+00,-0.24653E+00,-0.25352E+00,-0.26008E+00,-0.26626E+00, & - &-0.27211E+00,-0.27767E+00,-0.28298E+00,-0.28804E+00,-0.29290E+00, & - &-0.29757E+00,-0.30206E+00,-0.30639E+00,-0.31057E+00,-0.31462E+00, & - &-0.31854E+00,-0.32234E+00,-0.32603E+00,-0.32962E+00,-0.33312E+00, & - &-0.33652E+00,-0.33984E+00,-0.34308E+00,-0.34624E+00,-0.34933E+00, & - &-0.35235E+00,-0.35530E+00,-0.35820E+00,-0.36103E+00,-0.36381E+00, & - &-0.36653E+00,-0.36921E+00,-0.37183E+00,-0.37441E+00,-0.37694E+00, & - &-0.37942E+00,-0.38187E+00,-0.38427E+00,-0.38664E+00,-0.38897E+00, & - &-0.39126E+00,-0.39352E+00,-0.39574E+00,-0.39793E+00,-0.40009E+00, & - &-0.40222E+00,-0.40432E+00,-0.40640E+00,-0.40844E+00,-0.41047E+00, & - &-0.41246E+00,-0.41443E+00,-0.41638E+00,-0.41831E+00,-0.42021E+00, & - &-0.42209E+00,-0.42396E+00,-0.42580E+00,-0.42763E+00,-0.42943E+00, & - &-0.43122E+00,-0.43300E+00,-0.43475E+00,-0.43649E+00,-0.43822E+00, & - &-0.43993E+00,-0.44163E+00,-0.44331E+00,-0.44498E+00,-0.44664E+00, & - &-0.44829E+00,-0.44992E+00,-0.45154E+00,-0.45315E+00,-0.45476E+00, & - &-0.45635E+00,-0.45793E+00,-0.45950E+00,-0.46106E+00,-0.46261E+00, & - &-0.46416E+00,-0.46569E+00,-0.46722E+00,-0.46874E+00,-0.47025E+00, & - &-0.47175E+00,-0.47324E+00,-0.47473E+00,-0.47621E+00,-0.47768E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.47915E+00,-0.48060E+00,-0.48205E+00,-0.48350E+00,-0.48493E+00, & - &-0.48636E+00,-0.48779E+00,-0.48920E+00,-0.49061E+00,-0.49202E+00, & - &-0.49342E+00,-0.49481E+00,-0.49619E+00,-0.49757E+00,-0.49894E+00, & - &-0.50031E+00,-0.50166E+00,-0.50302E+00,-0.50436E+00,-0.50571E+00, & - &-0.50704E+00,-0.50837E+00,-0.50969E+00,-0.51101E+00,-0.51232E+00, & - &-0.51363E+00,-0.51493E+00,-0.51622E+00,-0.51751E+00,-0.51879E+00, & - &-0.52007E+00,-0.52134E+00,-0.52261E+00,-0.52387E+00,-0.52513E+00, & - &-0.52638E+00,-0.52762E+00,-0.52886E+00,-0.53010E+00,-0.53133E+00, & - &-0.53255E+00,-0.53377E+00,-0.53499E+00,-0.53620E+00,-0.53740E+00, & - &-0.53860E+00,-0.53980E+00,-0.54099E+00,-0.54218E+00,-0.54336E+00, & - &-0.54454E+00,-0.54571E+00,-0.54688E+00,-0.54804E+00,-0.54920E+00, & - &-0.55036E+00,-0.55151E+00,-0.55266E+00,-0.55380E+00,-0.55494E+00, & - &-0.55608E+00,-0.55721E+00,-0.55833E+00,-0.55946E+00,-0.56058E+00, & - &-0.56169E+00,-0.56280E+00,-0.56391E+00,-0.56502E+00,-0.56612E+00, & - &-0.56721E+00,-0.56831E+00,-0.56940E+00,-0.57048E+00,-0.57157E+00, & - &-0.57265E+00,-0.57372E+00,-0.57479E+00,-0.57586E+00,-0.57693E+00, & - &-0.57799E+00,-0.57905E+00,-0.58011E+00,-0.58116E+00,-0.58221E+00, & - &-0.58325E+00,-0.58430E+00,-0.58534E+00,-0.58637E+00,-0.58741E+00, & - &-0.58844E+00,-0.58947E+00,-0.59049E+00,-0.59151E+00,-0.59253E+00, & - &-0.59355E+00,-0.59456E+00,-0.59557E+00,-0.59658E+00,-0.59758E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.59859E+00,-0.59959E+00,-0.60058E+00,-0.60158E+00,-0.60257E+00, & - &-0.60356E+00,-0.60454E+00,-0.60553E+00,-0.60651E+00,-0.60748E+00, & - &-0.60846E+00,-0.60943E+00,-0.61040E+00,-0.61137E+00,-0.61234E+00, & - &-0.61330E+00,-0.61426E+00,-0.61522E+00,-0.61617E+00,-0.61713E+00, & - &-0.61808E+00,-0.61903E+00,-0.61997E+00,-0.62092E+00,-0.62186E+00, & - &-0.62280E+00,-0.62374E+00,-0.62467E+00,-0.62561E+00,-0.62654E+00, & - &-0.62746E+00,-0.62839E+00,-0.62932E+00,-0.63024E+00,-0.63116E+00, & - &-0.63208E+00,-0.63299E+00,-0.63390E+00,-0.63482E+00,-0.63573E+00, & - &-0.63663E+00,-0.63754E+00,-0.63844E+00,-0.63934E+00,-0.64024E+00, & - &-0.64114E+00,-0.64204E+00,-0.64293E+00,-0.64382E+00,-0.64471E+00, & - &-0.64560E+00,-0.64649E+00,-0.64737E+00,-0.64825E+00,-0.64913E+00, & - &-0.65001E+00,-0.65089E+00,-0.65176E+00,-0.65264E+00,-0.65351E+00, & - &-0.65438E+00,-0.65524E+00,-0.65611E+00,-0.65697E+00,-0.65784E+00, & - &-0.65870E+00,-0.65956E+00,-0.66041E+00,-0.66127E+00,-0.66212E+00, & - &-0.66298E+00,-0.66383E+00,-0.66468E+00,-0.66552E+00,-0.66637E+00, & - &-0.66721E+00,-0.66806E+00,-0.66890E+00,-0.66974E+00,-0.67057E+00, & - &-0.67141E+00,-0.67224E+00,-0.67308E+00,-0.67391E+00,-0.67474E+00, & - &-0.67557E+00,-0.67639E+00,-0.67722E+00,-0.67804E+00,-0.67887E+00, & - &-0.67969E+00,-0.68051E+00,-0.68133E+00,-0.68214E+00,-0.68296E+00, & - &-0.68377E+00,-0.68458E+00,-0.68539E+00,-0.68620E+00,-0.68701E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.68782E+00,-0.68862E+00,-0.68943E+00,-0.69023E+00,-0.69103E+00, & - &-0.69183E+00,-0.69263E+00,-0.69343E+00,-0.69422E+00,-0.69502E+00, & - &-0.69581E+00,-0.69660E+00,-0.69739E+00,-0.69818E+00,-0.69897E+00, & - &-0.69976E+00,-0.70054E+00,-0.70132E+00,-0.70211E+00,-0.70289E+00, & - &-0.70367E+00,-0.70445E+00,-0.70523E+00,-0.70600E+00,-0.70678E+00, & - &-0.70755E+00,-0.70832E+00,-0.70910E+00,-0.70987E+00,-0.71064E+00, & - &-0.71140E+00,-0.71217E+00,-0.71294E+00,-0.71370E+00,-0.71446E+00, & - &-0.71523E+00,-0.71599E+00,-0.71675E+00,-0.71751E+00,-0.71826E+00, & - &-0.71902E+00,-0.71977E+00,-0.72053E+00,-0.72128E+00,-0.72203E+00, & - &-0.72279E+00,-0.72353E+00,-0.72428E+00,-0.72503E+00,-0.72578E+00, & - &-0.72652E+00,-0.72727E+00,-0.72801E+00,-0.72875E+00,-0.72949E+00, & - &-0.73023E+00,-0.73097E+00,-0.73171E+00,-0.73245E+00,-0.73318E+00, & - &-0.73392E+00,-0.73465E+00,-0.73539E+00,-0.73612E+00,-0.73685E+00, & - &-0.73758E+00,-0.73831E+00,-0.73904E+00,-0.73976E+00,-0.74049E+00, & - &-0.74121E+00,-0.74194E+00,-0.74266E+00,-0.74338E+00,-0.74410E+00, & - &-0.74482E+00,-0.74554E+00,-0.74626E+00,-0.74698E+00,-0.74769E+00, & - &-0.74841E+00,-0.74912E+00,-0.74984E+00,-0.75055E+00,-0.75126E+00, & - &-0.75197E+00,-0.75268E+00,-0.75339E+00,-0.75410E+00,-0.75481E+00, & - &-0.75551E+00,-0.75622E+00,-0.75692E+00,-0.75763E+00,-0.75833E+00, & - &-0.75903E+00,-0.75973E+00,-0.76043E+00,-0.76113E+00,-0.76183E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.76253E+00,-0.76322E+00,-0.76392E+00,-0.76461E+00,-0.76531E+00, & - &-0.76600E+00,-0.76669E+00,-0.76738E+00,-0.76808E+00,-0.76877E+00, & - &-0.76945E+00,-0.77014E+00,-0.77083E+00,-0.77152E+00,-0.77220E+00, & - &-0.77289E+00,-0.77357E+00,-0.77425E+00,-0.77494E+00,-0.77562E+00, & - &-0.77630E+00,-0.77698E+00,-0.77766E+00,-0.77834E+00,-0.77902E+00, & - &-0.77969E+00,-0.78037E+00,-0.78105E+00,-0.78172E+00,-0.78239E+00, & - &-0.78307E+00,-0.78374E+00,-0.78441E+00,-0.78508E+00,-0.78575E+00, & - &-0.78642E+00,-0.78709E+00,-0.78776E+00,-0.78843E+00,-0.78909E+00, & - &-0.78976E+00,-0.79042E+00,-0.79109E+00,-0.79175E+00,-0.79242E+00, & - &-0.79308E+00,-0.79374E+00,-0.79440E+00,-0.79506E+00,-0.79572E+00, & - &-0.79638E+00,-0.79704E+00,-0.79769E+00,-0.79835E+00,-0.79901E+00, & - &-0.79966E+00,-0.80032E+00,-0.80097E+00,-0.80162E+00,-0.80228E+00, & - &-0.80293E+00,-0.80358E+00,-0.80423E+00,-0.80488E+00,-0.80553E+00, & - &-0.80618E+00,-0.80682E+00,-0.80747E+00,-0.80812E+00,-0.80876E+00, & - &-0.80941E+00,-0.81005E+00,-0.81070E+00,-0.81134E+00,-0.81198E+00, & - &-0.81263E+00,-0.81327E+00,-0.81391E+00,-0.81455E+00,-0.81519E+00, & - &-0.81583E+00,-0.81646E+00,-0.81710E+00,-0.81774E+00,-0.81837E+00, & - &-0.81901E+00,-0.81965E+00,-0.82028E+00,-0.82091E+00,-0.82155E+00, & - &-0.82218E+00,-0.82281E+00,-0.82344E+00,-0.82407E+00,-0.82470E+00, & - &-0.82533E+00,-0.82596E+00,-0.82659E+00,-0.82722E+00,-0.82785E+00/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.82847E+00,-0.82910E+00,-0.82973E+00,-0.83035E+00,-0.83097E+00, & - &-0.83160E+00,-0.83222E+00,-0.83284E+00,-0.83347E+00,-0.83409E+00, & - &-0.83471E+00,-0.83533E+00,-0.83595E+00,-0.83657E+00,-0.83719E+00, & - &-0.83781E+00,-0.83842E+00,-0.83904E+00,-0.83966E+00,-0.84027E+00, & - &-0.84089E+00,-0.84150E+00,-0.84212E+00,-0.84273E+00,-0.84334E+00, & - &-0.84396E+00,-0.84457E+00,-0.84518E+00,-0.84579E+00,-0.84640E+00, & - &-0.84701E+00,-0.84762E+00,-0.84823E+00,-0.84884E+00,-0.84945E+00, & - &-0.85005E+00,-0.85066E+00,-0.85127E+00,-0.85187E+00,-0.85248E+00, & - &-0.85308E+00,-0.85369E+00,-0.85429E+00,-0.85489E+00,-0.85550E+00, & - &-0.85610E+00,-0.85670E+00,-0.85730E+00,-0.85790E+00,-0.85850E+00, & - &-0.85910E+00,-0.85970E+00,-0.86030E+00,-0.86090E+00,-0.86150E+00, & - &-0.86210E+00,-0.86269E+00,-0.86329E+00,-0.86388E+00,-0.86448E+00, & - &-0.86507E+00,-0.86567E+00,-0.86626E+00,-0.86686E+00,-0.86745E+00, & - &-0.86804E+00,-0.86863E+00,-0.86923E+00,-0.86982E+00,-0.87041E+00, & - &-0.87100E+00,-0.87159E+00,-0.87218E+00,-0.87277E+00,-0.87335E+00, & - &-0.87394E+00,-0.87453E+00,-0.87512E+00,-0.87570E+00,-0.87629E+00, & - &-0.87687E+00,-0.87746E+00,-0.87804E+00,-0.87863E+00,-0.87921E+00, & - &-0.87980E+00,-0.88038E+00,-0.88096E+00,-0.88154E+00,-0.88212E+00, & - &-0.88271E+00,-0.88329E+00,-0.88387E+00,-0.88445E+00,-0.88503E+00, & - &-0.88560E+00,-0.88618E+00,-0.88676E+00,-0.88734E+00,-0.88792E+00/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.89413E+00,-0.89983E+00,-0.90549E+00,-0.91112E+00,-0.91671E+00, & - &-0.92226E+00,-0.92777E+00,-0.93325E+00,-0.93869E+00,-0.94410E+00, & - &-0.94948E+00,-0.95483E+00,-0.96015E+00,-0.96543E+00,-0.97069E+00, & - &-0.97592E+00,-0.98112E+00,-0.98629E+00,-0.99143E+00,-0.99655E+00, & - &-0.10016E+01,-0.10067E+01,-0.10118E+01,-0.10168E+01,-0.10218E+01, & - &-0.10267E+01,-0.10317E+01,-0.10366E+01,-0.10415E+01,-0.10464E+01, & - &-0.10513E+01,-0.10561E+01,-0.10609E+01,-0.10658E+01,-0.10705E+01, & - &-0.10753E+01,-0.10801E+01,-0.10848E+01,-0.10895E+01,-0.10942E+01, & - &-0.10989E+01,-0.11035E+01,-0.11082E+01,-0.11128E+01,-0.11174E+01, & - &-0.11220E+01,-0.11266E+01,-0.11311E+01,-0.11357E+01,-0.11402E+01, & - &-0.11447E+01,-0.11493E+01,-0.11537E+01,-0.11582E+01,-0.11627E+01, & - &-0.11671E+01,-0.11716E+01,-0.11760E+01,-0.11804E+01,-0.11848E+01, & - &-0.11892E+01,-0.11936E+01,-0.11979E+01,-0.12023E+01,-0.12066E+01, & - &-0.12109E+01,-0.12153E+01,-0.12196E+01,-0.12239E+01,-0.12281E+01, & - &-0.12324E+01,-0.12367E+01,-0.12409E+01,-0.12452E+01,-0.12494E+01, & - &-0.12536E+01,-0.12578E+01,-0.12620E+01,-0.12662E+01,-0.12704E+01, & - &-0.12746E+01,-0.12787E+01,-0.12829E+01,-0.12870E+01,-0.12912E+01, & - &-0.12953E+01,-0.12994E+01,-0.13035E+01,-0.13076E+01,-0.13117E+01, & - &-0.13158E+01,-0.13199E+01,-0.13239E+01,-0.13280E+01,-0.13320E+01, & - &-0.13361E+01,-0.13401E+01,-0.13441E+01,-0.13482E+01,-0.13522E+01/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.13562E+01,-0.13602E+01,-0.13642E+01,-0.13682E+01,-0.13721E+01, & - &-0.13761E+01,-0.13801E+01,-0.13840E+01,-0.13880E+01,-0.13919E+01, & - &-0.13959E+01,-0.13998E+01,-0.14037E+01,-0.14076E+01,-0.14115E+01, & - &-0.14154E+01,-0.14193E+01,-0.14232E+01,-0.14271E+01,-0.14310E+01, & - &-0.14349E+01,-0.14387E+01,-0.14426E+01,-0.14464E+01,-0.14503E+01, & - &-0.14541E+01,-0.14580E+01,-0.14618E+01,-0.14656E+01,-0.14695E+01, & - &-0.14733E+01,-0.14771E+01,-0.14809E+01,-0.14847E+01,-0.14885E+01, & - &-0.14923E+01,-0.14961E+01,-0.14998E+01,-0.15036E+01,-0.15074E+01, & - &-0.15112E+01 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.98067E-01,-0.21426E+00,-0.27286E+00,-0.31457E+00,-0.34750E+00, & - &-0.37493E+00,-0.39855E+00,-0.41935E+00,-0.43799E+00,-0.45490E+00, & - &-0.47039E+00,-0.48471E+00,-0.49804E+00,-0.51051E+00,-0.52223E+00, & - &-0.53331E+00,-0.54381E+00,-0.55380E+00,-0.56333E+00,-0.57244E+00, & - &-0.58118E+00,-0.58957E+00,-0.59765E+00,-0.60544E+00,-0.61296E+00, & - &-0.62024E+00,-0.62729E+00,-0.63412E+00,-0.64075E+00,-0.64720E+00, & - &-0.65347E+00,-0.65958E+00,-0.66553E+00,-0.67134E+00,-0.67700E+00, & - &-0.68254E+00,-0.68795E+00,-0.69324E+00,-0.69842E+00,-0.70349E+00, & - &-0.70846E+00,-0.71333E+00,-0.71811E+00,-0.72280E+00,-0.72740E+00, & - &-0.73192E+00,-0.73636E+00,-0.74072E+00,-0.74501E+00,-0.74923E+00, & - &-0.75339E+00,-0.75748E+00,-0.76150E+00,-0.76547E+00,-0.76938E+00, & - &-0.77323E+00,-0.77702E+00,-0.78077E+00,-0.78446E+00,-0.78811E+00, & - &-0.79171E+00,-0.79527E+00,-0.79878E+00,-0.80225E+00,-0.80567E+00, & - &-0.80906E+00,-0.81241E+00,-0.81573E+00,-0.81900E+00,-0.82225E+00, & - &-0.82546E+00,-0.82864E+00,-0.83179E+00,-0.83491E+00,-0.83799E+00, & - &-0.84106E+00,-0.84409E+00,-0.84710E+00,-0.85008E+00,-0.85304E+00, & - &-0.85597E+00,-0.85889E+00,-0.86178E+00,-0.86464E+00,-0.86749E+00, & - &-0.87032E+00,-0.87312E+00,-0.87591E+00,-0.87868E+00,-0.88143E+00, & - &-0.88416E+00,-0.88687E+00,-0.88957E+00,-0.89225E+00,-0.89492E+00, & - &-0.89757E+00,-0.90020E+00,-0.90282E+00,-0.90542E+00,-0.90801E+00/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.91058E+00,-0.91314E+00,-0.91569E+00,-0.91822E+00,-0.92074E+00, & - &-0.92325E+00,-0.92574E+00,-0.92822E+00,-0.93068E+00,-0.93314E+00, & - &-0.93558E+00,-0.93801E+00,-0.94043E+00,-0.94283E+00,-0.94522E+00, & - &-0.94760E+00,-0.94997E+00,-0.95233E+00,-0.95468E+00,-0.95701E+00, & - &-0.95934E+00,-0.96165E+00,-0.96395E+00,-0.96624E+00,-0.96852E+00, & - &-0.97079E+00,-0.97305E+00,-0.97530E+00,-0.97754E+00,-0.97977E+00, & - &-0.98199E+00,-0.98419E+00,-0.98639E+00,-0.98858E+00,-0.99076E+00, & - &-0.99293E+00,-0.99509E+00,-0.99724E+00,-0.99938E+00,-0.10015E+01, & - &-0.10036E+01,-0.10058E+01,-0.10079E+01,-0.10100E+01,-0.10120E+01, & - &-0.10141E+01,-0.10162E+01,-0.10183E+01,-0.10203E+01,-0.10224E+01, & - &-0.10244E+01,-0.10264E+01,-0.10285E+01,-0.10305E+01,-0.10325E+01, & - &-0.10345E+01,-0.10365E+01,-0.10385E+01,-0.10405E+01,-0.10424E+01, & - &-0.10444E+01,-0.10463E+01,-0.10483E+01,-0.10502E+01,-0.10522E+01, & - &-0.10541E+01,-0.10560E+01,-0.10580E+01,-0.10599E+01,-0.10618E+01, & - &-0.10637E+01,-0.10656E+01,-0.10674E+01,-0.10693E+01,-0.10712E+01, & - &-0.10731E+01,-0.10749E+01,-0.10768E+01,-0.10786E+01,-0.10805E+01, & - &-0.10823E+01,-0.10841E+01,-0.10860E+01,-0.10878E+01,-0.10896E+01, & - &-0.10914E+01,-0.10932E+01,-0.10950E+01,-0.10968E+01,-0.10986E+01, & - &-0.11004E+01,-0.11022E+01,-0.11039E+01,-0.11057E+01,-0.11075E+01, & - &-0.11092E+01,-0.11110E+01,-0.11127E+01,-0.11145E+01,-0.11162E+01/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.11180E+01,-0.11197E+01,-0.11214E+01,-0.11231E+01,-0.11248E+01, & - &-0.11266E+01,-0.11283E+01,-0.11300E+01,-0.11317E+01,-0.11334E+01, & - &-0.11350E+01,-0.11367E+01,-0.11384E+01,-0.11401E+01,-0.11418E+01, & - &-0.11434E+01,-0.11451E+01,-0.11468E+01,-0.11484E+01,-0.11501E+01, & - &-0.11517E+01,-0.11534E+01,-0.11550E+01,-0.11566E+01,-0.11583E+01, & - &-0.11599E+01,-0.11615E+01,-0.11631E+01,-0.11648E+01,-0.11664E+01, & - &-0.11680E+01,-0.11696E+01,-0.11712E+01,-0.11728E+01,-0.11744E+01, & - &-0.11760E+01,-0.11776E+01,-0.11791E+01,-0.11807E+01,-0.11823E+01, & - &-0.11839E+01,-0.11854E+01,-0.11870E+01,-0.11886E+01,-0.11901E+01, & - &-0.11917E+01,-0.11933E+01,-0.11948E+01,-0.11964E+01,-0.11979E+01, & - &-0.11994E+01,-0.12010E+01,-0.12025E+01,-0.12040E+01,-0.12056E+01, & - &-0.12071E+01,-0.12086E+01,-0.12101E+01,-0.12117E+01,-0.12132E+01, & - &-0.12147E+01,-0.12162E+01,-0.12177E+01,-0.12192E+01,-0.12207E+01, & - &-0.12222E+01,-0.12237E+01,-0.12252E+01,-0.12267E+01,-0.12281E+01, & - &-0.12296E+01,-0.12311E+01,-0.12326E+01,-0.12341E+01,-0.12355E+01, & - &-0.12370E+01,-0.12385E+01,-0.12399E+01,-0.12414E+01,-0.12428E+01, & - &-0.12443E+01,-0.12458E+01,-0.12472E+01,-0.12487E+01,-0.12501E+01, & - &-0.12515E+01,-0.12530E+01,-0.12544E+01,-0.12559E+01,-0.12573E+01, & - &-0.12587E+01,-0.12601E+01,-0.12616E+01,-0.12630E+01,-0.12644E+01, & - &-0.12658E+01,-0.12672E+01,-0.12687E+01,-0.12701E+01,-0.12715E+01/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.12729E+01,-0.12743E+01,-0.12757E+01,-0.12771E+01,-0.12785E+01, & - &-0.12799E+01,-0.12813E+01,-0.12827E+01,-0.12841E+01,-0.12854E+01, & - &-0.12868E+01,-0.12882E+01,-0.12896E+01,-0.12910E+01,-0.12923E+01, & - &-0.12937E+01,-0.12951E+01,-0.12965E+01,-0.12978E+01,-0.12992E+01, & - &-0.13006E+01,-0.13019E+01,-0.13033E+01,-0.13046E+01,-0.13060E+01, & - &-0.13073E+01,-0.13087E+01,-0.13100E+01,-0.13114E+01,-0.13127E+01, & - &-0.13141E+01,-0.13154E+01,-0.13168E+01,-0.13181E+01,-0.13194E+01, & - &-0.13208E+01,-0.13221E+01,-0.13234E+01,-0.13248E+01,-0.13261E+01, & - &-0.13274E+01,-0.13287E+01,-0.13301E+01,-0.13314E+01,-0.13327E+01, & - &-0.13340E+01,-0.13353E+01,-0.13366E+01,-0.13379E+01,-0.13393E+01, & - &-0.13406E+01,-0.13419E+01,-0.13432E+01,-0.13445E+01,-0.13458E+01, & - &-0.13471E+01,-0.13484E+01,-0.13497E+01,-0.13510E+01,-0.13522E+01, & - &-0.13535E+01,-0.13548E+01,-0.13561E+01,-0.13574E+01,-0.13587E+01, & - &-0.13600E+01,-0.13612E+01,-0.13625E+01,-0.13638E+01,-0.13651E+01, & - &-0.13663E+01,-0.13676E+01,-0.13689E+01,-0.13701E+01,-0.13714E+01, & - &-0.13727E+01,-0.13739E+01,-0.13752E+01,-0.13765E+01,-0.13777E+01, & - &-0.13790E+01,-0.13802E+01,-0.13815E+01,-0.13828E+01,-0.13840E+01, & - &-0.13853E+01,-0.13865E+01,-0.13878E+01,-0.13890E+01,-0.13902E+01, & - &-0.13915E+01,-0.13927E+01,-0.13940E+01,-0.13952E+01,-0.13964E+01, & - &-0.13977E+01,-0.13989E+01,-0.14001E+01,-0.14014E+01,-0.14026E+01/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.14038E+01,-0.14051E+01,-0.14063E+01,-0.14075E+01,-0.14087E+01, & - &-0.14100E+01,-0.14112E+01,-0.14124E+01,-0.14136E+01,-0.14148E+01, & - &-0.14161E+01,-0.14173E+01,-0.14185E+01,-0.14197E+01,-0.14209E+01, & - &-0.14221E+01,-0.14233E+01,-0.14245E+01,-0.14257E+01,-0.14269E+01, & - &-0.14281E+01,-0.14293E+01,-0.14305E+01,-0.14317E+01,-0.14329E+01, & - &-0.14341E+01,-0.14353E+01,-0.14365E+01,-0.14377E+01,-0.14389E+01, & - &-0.14401E+01,-0.14413E+01,-0.14425E+01,-0.14437E+01,-0.14448E+01, & - &-0.14460E+01,-0.14472E+01,-0.14484E+01,-0.14496E+01,-0.14508E+01, & - &-0.14519E+01,-0.14531E+01,-0.14543E+01,-0.14555E+01,-0.14566E+01, & - &-0.14578E+01,-0.14590E+01,-0.14602E+01,-0.14613E+01,-0.14625E+01, & - &-0.14637E+01,-0.14648E+01,-0.14660E+01,-0.14672E+01,-0.14683E+01, & - &-0.14695E+01,-0.14706E+01,-0.14718E+01,-0.14730E+01,-0.14741E+01, & - &-0.14753E+01,-0.14764E+01,-0.14776E+01,-0.14787E+01,-0.14799E+01, & - &-0.14810E+01,-0.14822E+01,-0.14833E+01,-0.14845E+01,-0.14856E+01, & - &-0.14868E+01,-0.14879E+01,-0.14891E+01,-0.14902E+01,-0.14913E+01, & - &-0.14925E+01,-0.14936E+01,-0.14948E+01,-0.14959E+01,-0.14970E+01, & - &-0.14982E+01,-0.14993E+01,-0.15004E+01,-0.15016E+01,-0.15027E+01, & - &-0.15038E+01,-0.15050E+01,-0.15061E+01,-0.15072E+01,-0.15083E+01, & - &-0.15095E+01,-0.15106E+01,-0.15117E+01,-0.15128E+01,-0.15140E+01, & - &-0.15151E+01,-0.15162E+01,-0.15173E+01,-0.15184E+01,-0.15196E+01/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.15207E+01,-0.15218E+01,-0.15229E+01,-0.15240E+01,-0.15251E+01, & - &-0.15262E+01,-0.15273E+01,-0.15285E+01,-0.15296E+01,-0.15307E+01, & - &-0.15318E+01,-0.15329E+01,-0.15340E+01,-0.15351E+01,-0.15362E+01, & - &-0.15373E+01,-0.15384E+01,-0.15395E+01,-0.15406E+01,-0.15417E+01, & - &-0.15428E+01,-0.15439E+01,-0.15450E+01,-0.15461E+01,-0.15472E+01, & - &-0.15483E+01,-0.15494E+01,-0.15505E+01,-0.15516E+01,-0.15526E+01, & - &-0.15537E+01,-0.15548E+01,-0.15559E+01,-0.15570E+01,-0.15581E+01, & - &-0.15592E+01,-0.15603E+01,-0.15613E+01,-0.15624E+01,-0.15635E+01, & - &-0.15646E+01,-0.15657E+01,-0.15667E+01,-0.15678E+01,-0.15689E+01, & - &-0.15700E+01,-0.15711E+01,-0.15721E+01,-0.15732E+01,-0.15743E+01, & - &-0.15754E+01,-0.15764E+01,-0.15775E+01,-0.15786E+01,-0.15796E+01, & - &-0.15807E+01,-0.15818E+01,-0.15828E+01,-0.15839E+01,-0.15850E+01, & - &-0.15860E+01,-0.15871E+01,-0.15882E+01,-0.15892E+01,-0.15903E+01, & - &-0.15914E+01,-0.15924E+01,-0.15935E+01,-0.15945E+01,-0.15956E+01, & - &-0.15967E+01,-0.15977E+01,-0.15988E+01,-0.15998E+01,-0.16009E+01, & - &-0.16019E+01,-0.16030E+01,-0.16041E+01,-0.16051E+01,-0.16062E+01, & - &-0.16072E+01,-0.16083E+01,-0.16093E+01,-0.16104E+01,-0.16114E+01, & - &-0.16124E+01,-0.16135E+01,-0.16145E+01,-0.16156E+01,-0.16166E+01, & - &-0.16177E+01,-0.16187E+01,-0.16198E+01,-0.16208E+01,-0.16218E+01, & - &-0.16229E+01,-0.16239E+01,-0.16250E+01,-0.16260E+01,-0.16270E+01/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.16382E+01,-0.16485E+01,-0.16587E+01,-0.16688E+01,-0.16789E+01, & - &-0.16890E+01,-0.16989E+01,-0.17088E+01,-0.17187E+01,-0.17285E+01, & - &-0.17383E+01,-0.17480E+01,-0.17576E+01,-0.17673E+01,-0.17768E+01, & - &-0.17863E+01,-0.17958E+01,-0.18053E+01,-0.18146E+01,-0.18240E+01, & - &-0.18333E+01,-0.18426E+01,-0.18518E+01,-0.18610E+01,-0.18702E+01, & - &-0.18793E+01,-0.18884E+01,-0.18974E+01,-0.19065E+01,-0.19154E+01, & - &-0.19244E+01,-0.19333E+01,-0.19422E+01,-0.19511E+01,-0.19599E+01, & - &-0.19687E+01,-0.19775E+01,-0.19862E+01,-0.19949E+01,-0.20036E+01, & - &-0.20123E+01,-0.20209E+01,-0.20295E+01,-0.20381E+01,-0.20466E+01, & - &-0.20552E+01,-0.20637E+01,-0.20722E+01,-0.20806E+01,-0.20890E+01, & - &-0.20975E+01,-0.21058E+01,-0.21142E+01,-0.21226E+01,-0.21309E+01, & - &-0.21392E+01,-0.21475E+01,-0.21557E+01,-0.21640E+01,-0.21722E+01, & - &-0.21804E+01,-0.21886E+01,-0.21968E+01,-0.22049E+01,-0.22130E+01, & - &-0.22211E+01,-0.22292E+01,-0.22373E+01,-0.22454E+01,-0.22534E+01, & - &-0.22614E+01,-0.22694E+01,-0.22774E+01,-0.22854E+01,-0.22933E+01, & - &-0.23013E+01,-0.23092E+01,-0.23171E+01,-0.23250E+01,-0.23329E+01, & - &-0.23408E+01,-0.23486E+01,-0.23564E+01,-0.23643E+01,-0.23721E+01, & - &-0.23799E+01,-0.23876E+01,-0.23954E+01,-0.24032E+01,-0.24109E+01, & - &-0.24186E+01,-0.24263E+01,-0.24340E+01,-0.24417E+01,-0.24494E+01, & - &-0.24570E+01,-0.24647E+01,-0.24723E+01,-0.24800E+01,-0.24876E+01/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.24952E+01,-0.25028E+01,-0.25103E+01,-0.25179E+01,-0.25255E+01, & - &-0.25330E+01,-0.25405E+01,-0.25481E+01,-0.25556E+01,-0.25631E+01, & - &-0.25706E+01,-0.25780E+01,-0.25855E+01,-0.25930E+01,-0.26004E+01, & - &-0.26079E+01,-0.26153E+01,-0.26227E+01,-0.26301E+01,-0.26375E+01, & - &-0.26449E+01,-0.26523E+01,-0.26597E+01,-0.26670E+01,-0.26744E+01, & - &-0.26817E+01,-0.26891E+01,-0.26964E+01,-0.27037E+01,-0.27110E+01, & - &-0.27183E+01,-0.27256E+01,-0.27329E+01,-0.27401E+01,-0.27474E+01, & - &-0.27547E+01,-0.27619E+01,-0.27692E+01,-0.27764E+01,-0.27836E+01, & - &-0.27908E+01 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.49707E-01,-0.11083E+00,-0.14292E+00,-0.16643E+00,-0.18546E+00, & - &-0.20168E+00,-0.21592E+00,-0.22872E+00,-0.24038E+00,-0.25114E+00, & - &-0.26116E+00,-0.27056E+00,-0.27943E+00,-0.28784E+00,-0.29586E+00, & - &-0.30352E+00,-0.31087E+00,-0.31794E+00,-0.32476E+00,-0.33134E+00, & - &-0.33772E+00,-0.34390E+00,-0.34990E+00,-0.35574E+00,-0.36142E+00, & - &-0.36695E+00,-0.37235E+00,-0.37763E+00,-0.38278E+00,-0.38782E+00, & - &-0.39275E+00,-0.39758E+00,-0.40232E+00,-0.40696E+00,-0.41151E+00, & - &-0.41597E+00,-0.42035E+00,-0.42466E+00,-0.42889E+00,-0.43305E+00, & - &-0.43713E+00,-0.44115E+00,-0.44511E+00,-0.44900E+00,-0.45283E+00, & - &-0.45660E+00,-0.46032E+00,-0.46398E+00,-0.46759E+00,-0.47114E+00, & - &-0.47465E+00,-0.47811E+00,-0.48152E+00,-0.48489E+00,-0.48821E+00, & - &-0.49150E+00,-0.49474E+00,-0.49794E+00,-0.50111E+00,-0.50424E+00, & - &-0.50733E+00,-0.51039E+00,-0.51342E+00,-0.51642E+00,-0.51939E+00, & - &-0.52233E+00,-0.52524E+00,-0.52812E+00,-0.53098E+00,-0.53382E+00, & - &-0.53663E+00,-0.53943E+00,-0.54220E+00,-0.54495E+00,-0.54768E+00, & - &-0.55039E+00,-0.55309E+00,-0.55577E+00,-0.55843E+00,-0.56108E+00, & - &-0.56371E+00,-0.56633E+00,-0.56894E+00,-0.57153E+00,-0.57412E+00, & - &-0.57669E+00,-0.57925E+00,-0.58180E+00,-0.58433E+00,-0.58686E+00, & - &-0.58938E+00,-0.59189E+00,-0.59439E+00,-0.59688E+00,-0.59936E+00, & - &-0.60184E+00,-0.60430E+00,-0.60676E+00,-0.60921E+00,-0.61165E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.61408E+00,-0.61651E+00,-0.61892E+00,-0.62133E+00,-0.62373E+00, & - &-0.62612E+00,-0.62851E+00,-0.63088E+00,-0.63325E+00,-0.63561E+00, & - &-0.63796E+00,-0.64030E+00,-0.64263E+00,-0.64496E+00,-0.64727E+00, & - &-0.64958E+00,-0.65188E+00,-0.65417E+00,-0.65645E+00,-0.65872E+00, & - &-0.66098E+00,-0.66324E+00,-0.66548E+00,-0.66772E+00,-0.66995E+00, & - &-0.67217E+00,-0.67438E+00,-0.67658E+00,-0.67877E+00,-0.68095E+00, & - &-0.68312E+00,-0.68529E+00,-0.68744E+00,-0.68959E+00,-0.69173E+00, & - &-0.69386E+00,-0.69598E+00,-0.69809E+00,-0.70019E+00,-0.70229E+00, & - &-0.70437E+00,-0.70645E+00,-0.70852E+00,-0.71058E+00,-0.71263E+00, & - &-0.71468E+00,-0.71671E+00,-0.71874E+00,-0.72076E+00,-0.72277E+00, & - &-0.72477E+00,-0.72677E+00,-0.72876E+00,-0.73074E+00,-0.73271E+00, & - &-0.73468E+00,-0.73664E+00,-0.73859E+00,-0.74053E+00,-0.74246E+00, & - &-0.74439E+00,-0.74631E+00,-0.74823E+00,-0.75013E+00,-0.75203E+00, & - &-0.75393E+00,-0.75581E+00,-0.75769E+00,-0.75956E+00,-0.76143E+00, & - &-0.76329E+00,-0.76514E+00,-0.76698E+00,-0.76882E+00,-0.77066E+00, & - &-0.77248E+00,-0.77430E+00,-0.77611E+00,-0.77792E+00,-0.77972E+00, & - &-0.78152E+00,-0.78331E+00,-0.78509E+00,-0.78686E+00,-0.78863E+00, & - &-0.79040E+00,-0.79216E+00,-0.79391E+00,-0.79566E+00,-0.79740E+00, & - &-0.79913E+00,-0.80086E+00,-0.80258E+00,-0.80430E+00,-0.80601E+00, & - &-0.80772E+00,-0.80942E+00,-0.81112E+00,-0.81281E+00,-0.81449E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.81617E+00,-0.81785E+00,-0.81952E+00,-0.82118E+00,-0.82284E+00, & - &-0.82449E+00,-0.82614E+00,-0.82779E+00,-0.82942E+00,-0.83106E+00, & - &-0.83269E+00,-0.83431E+00,-0.83593E+00,-0.83754E+00,-0.83915E+00, & - &-0.84075E+00,-0.84235E+00,-0.84395E+00,-0.84554E+00,-0.84712E+00, & - &-0.84870E+00,-0.85028E+00,-0.85185E+00,-0.85341E+00,-0.85498E+00, & - &-0.85653E+00,-0.85809E+00,-0.85963E+00,-0.86118E+00,-0.86272E+00, & - &-0.86425E+00,-0.86578E+00,-0.86731E+00,-0.86883E+00,-0.87035E+00, & - &-0.87186E+00,-0.87337E+00,-0.87488E+00,-0.87638E+00,-0.87788E+00, & - &-0.87937E+00,-0.88086E+00,-0.88234E+00,-0.88382E+00,-0.88530E+00, & - &-0.88677E+00,-0.88824E+00,-0.88970E+00,-0.89116E+00,-0.89262E+00, & - &-0.89407E+00,-0.89552E+00,-0.89697E+00,-0.89841E+00,-0.89985E+00, & - &-0.90128E+00,-0.90271E+00,-0.90414E+00,-0.90556E+00,-0.90698E+00, & - &-0.90839E+00,-0.90980E+00,-0.91121E+00,-0.91261E+00,-0.91402E+00, & - &-0.91541E+00,-0.91681E+00,-0.91820E+00,-0.91958E+00,-0.92096E+00, & - &-0.92234E+00,-0.92372E+00,-0.92509E+00,-0.92646E+00,-0.92783E+00, & - &-0.92919E+00,-0.93055E+00,-0.93190E+00,-0.93326E+00,-0.93461E+00, & - &-0.93595E+00,-0.93729E+00,-0.93863E+00,-0.93997E+00,-0.94130E+00, & - &-0.94263E+00,-0.94396E+00,-0.94528E+00,-0.94660E+00,-0.94792E+00, & - &-0.94923E+00,-0.95054E+00,-0.95185E+00,-0.95316E+00,-0.95446E+00, & - &-0.95576E+00,-0.95705E+00,-0.95834E+00,-0.95963E+00,-0.96092E+00/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.96220E+00,-0.96348E+00,-0.96476E+00,-0.96604E+00,-0.96731E+00, & - &-0.96858E+00,-0.96984E+00,-0.97110E+00,-0.97237E+00,-0.97362E+00, & - &-0.97488E+00,-0.97613E+00,-0.97738E+00,-0.97862E+00,-0.97987E+00, & - &-0.98111E+00,-0.98235E+00,-0.98358E+00,-0.98481E+00,-0.98604E+00, & - &-0.98727E+00,-0.98850E+00,-0.98972E+00,-0.99094E+00,-0.99215E+00, & - &-0.99337E+00,-0.99458E+00,-0.99579E+00,-0.99699E+00,-0.99820E+00, & - &-0.99940E+00,-0.10006E+01,-0.10018E+01,-0.10030E+01,-0.10042E+01, & - &-0.10054E+01,-0.10066E+01,-0.10077E+01,-0.10089E+01,-0.10101E+01, & - &-0.10113E+01,-0.10124E+01,-0.10136E+01,-0.10148E+01,-0.10159E+01, & - &-0.10171E+01,-0.10183E+01,-0.10194E+01,-0.10206E+01,-0.10217E+01, & - &-0.10229E+01,-0.10240E+01,-0.10252E+01,-0.10263E+01,-0.10275E+01, & - &-0.10286E+01,-0.10298E+01,-0.10309E+01,-0.10320E+01,-0.10332E+01, & - &-0.10343E+01,-0.10354E+01,-0.10365E+01,-0.10377E+01,-0.10388E+01, & - &-0.10399E+01,-0.10410E+01,-0.10421E+01,-0.10433E+01,-0.10444E+01, & - &-0.10455E+01,-0.10466E+01,-0.10477E+01,-0.10488E+01,-0.10499E+01, & - &-0.10510E+01,-0.10521E+01,-0.10532E+01,-0.10543E+01,-0.10553E+01, & - &-0.10564E+01,-0.10575E+01,-0.10586E+01,-0.10597E+01,-0.10608E+01, & - &-0.10618E+01,-0.10629E+01,-0.10640E+01,-0.10650E+01,-0.10661E+01, & - &-0.10672E+01,-0.10682E+01,-0.10693E+01,-0.10704E+01,-0.10714E+01, & - &-0.10725E+01,-0.10735E+01,-0.10746E+01,-0.10756E+01,-0.10767E+01/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.10777E+01,-0.10788E+01,-0.10798E+01,-0.10809E+01,-0.10819E+01, & - &-0.10830E+01,-0.10840E+01,-0.10850E+01,-0.10861E+01,-0.10871E+01, & - &-0.10881E+01,-0.10891E+01,-0.10902E+01,-0.10912E+01,-0.10922E+01, & - &-0.10932E+01,-0.10943E+01,-0.10953E+01,-0.10963E+01,-0.10973E+01, & - &-0.10983E+01,-0.10993E+01,-0.11003E+01,-0.11013E+01,-0.11023E+01, & - &-0.11033E+01,-0.11043E+01,-0.11053E+01,-0.11063E+01,-0.11073E+01, & - &-0.11083E+01,-0.11093E+01,-0.11103E+01,-0.11113E+01,-0.11123E+01, & - &-0.11133E+01,-0.11143E+01,-0.11152E+01,-0.11162E+01,-0.11172E+01, & - &-0.11182E+01,-0.11192E+01,-0.11201E+01,-0.11211E+01,-0.11221E+01, & - &-0.11230E+01,-0.11240E+01,-0.11250E+01,-0.11260E+01,-0.11269E+01, & - &-0.11279E+01,-0.11288E+01,-0.11298E+01,-0.11308E+01,-0.11317E+01, & - &-0.11327E+01,-0.11336E+01,-0.11346E+01,-0.11355E+01,-0.11365E+01, & - &-0.11374E+01,-0.11384E+01,-0.11393E+01,-0.11402E+01,-0.11412E+01, & - &-0.11421E+01,-0.11431E+01,-0.11440E+01,-0.11449E+01,-0.11459E+01, & - &-0.11468E+01,-0.11477E+01,-0.11487E+01,-0.11496E+01,-0.11505E+01, & - &-0.11514E+01,-0.11524E+01,-0.11533E+01,-0.11542E+01,-0.11551E+01, & - &-0.11560E+01,-0.11570E+01,-0.11579E+01,-0.11588E+01,-0.11597E+01, & - &-0.11606E+01,-0.11615E+01,-0.11624E+01,-0.11633E+01,-0.11643E+01, & - &-0.11652E+01,-0.11661E+01,-0.11670E+01,-0.11679E+01,-0.11688E+01, & - &-0.11697E+01,-0.11706E+01,-0.11715E+01,-0.11723E+01,-0.11732E+01/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.11741E+01,-0.11750E+01,-0.11759E+01,-0.11768E+01,-0.11777E+01, & - &-0.11786E+01,-0.11795E+01,-0.11803E+01,-0.11812E+01,-0.11821E+01, & - &-0.11830E+01,-0.11839E+01,-0.11847E+01,-0.11856E+01,-0.11865E+01, & - &-0.11874E+01,-0.11882E+01,-0.11891E+01,-0.11900E+01,-0.11908E+01, & - &-0.11917E+01,-0.11926E+01,-0.11934E+01,-0.11943E+01,-0.11952E+01, & - &-0.11960E+01,-0.11969E+01,-0.11977E+01,-0.11986E+01,-0.11994E+01, & - &-0.12003E+01,-0.12011E+01,-0.12020E+01,-0.12029E+01,-0.12037E+01, & - &-0.12046E+01,-0.12054E+01,-0.12062E+01,-0.12071E+01,-0.12079E+01, & - &-0.12088E+01,-0.12096E+01,-0.12105E+01,-0.12113E+01,-0.12121E+01, & - &-0.12130E+01,-0.12138E+01,-0.12147E+01,-0.12155E+01,-0.12163E+01, & - &-0.12171E+01,-0.12180E+01,-0.12188E+01,-0.12196E+01,-0.12205E+01, & - &-0.12213E+01,-0.12221E+01,-0.12229E+01,-0.12238E+01,-0.12246E+01, & - &-0.12254E+01,-0.12262E+01,-0.12271E+01,-0.12279E+01,-0.12287E+01, & - &-0.12295E+01,-0.12303E+01,-0.12311E+01,-0.12319E+01,-0.12328E+01, & - &-0.12336E+01,-0.12344E+01,-0.12352E+01,-0.12360E+01,-0.12368E+01, & - &-0.12376E+01,-0.12384E+01,-0.12392E+01,-0.12400E+01,-0.12408E+01, & - &-0.12416E+01,-0.12424E+01,-0.12432E+01,-0.12440E+01,-0.12448E+01, & - &-0.12456E+01,-0.12464E+01,-0.12472E+01,-0.12480E+01,-0.12488E+01, & - &-0.12496E+01,-0.12504E+01,-0.12512E+01,-0.12519E+01,-0.12527E+01, & - &-0.12535E+01,-0.12543E+01,-0.12551E+01,-0.12559E+01,-0.12567E+01/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.12650E+01,-0.12727E+01,-0.12803E+01,-0.12878E+01,-0.12952E+01, & - &-0.13026E+01,-0.13098E+01,-0.13170E+01,-0.13241E+01,-0.13312E+01, & - &-0.13381E+01,-0.13450E+01,-0.13519E+01,-0.13586E+01,-0.13654E+01, & - &-0.13720E+01,-0.13786E+01,-0.13851E+01,-0.13916E+01,-0.13980E+01, & - &-0.14044E+01,-0.14107E+01,-0.14169E+01,-0.14231E+01,-0.14293E+01, & - &-0.14354E+01,-0.14415E+01,-0.14475E+01,-0.14534E+01,-0.14594E+01, & - &-0.14652E+01,-0.14711E+01,-0.14769E+01,-0.14827E+01,-0.14884E+01, & - &-0.14941E+01,-0.14997E+01,-0.15053E+01,-0.15109E+01,-0.15164E+01, & - &-0.15219E+01,-0.15274E+01,-0.15328E+01,-0.15382E+01,-0.15436E+01, & - &-0.15490E+01,-0.15543E+01,-0.15595E+01,-0.15648E+01,-0.15700E+01, & - &-0.15752E+01,-0.15804E+01,-0.15855E+01,-0.15906E+01,-0.15957E+01, & - &-0.16008E+01,-0.16058E+01,-0.16108E+01,-0.16158E+01,-0.16208E+01, & - &-0.16257E+01,-0.16306E+01,-0.16355E+01,-0.16404E+01,-0.16452E+01, & - &-0.16500E+01,-0.16548E+01,-0.16596E+01,-0.16644E+01,-0.16691E+01, & - &-0.16739E+01,-0.16786E+01,-0.16832E+01,-0.16879E+01,-0.16926E+01, & - &-0.16972E+01,-0.17018E+01,-0.17064E+01,-0.17110E+01,-0.17155E+01, & - &-0.17201E+01,-0.17246E+01,-0.17291E+01,-0.17336E+01,-0.17381E+01, & - &-0.17425E+01,-0.17470E+01,-0.17514E+01,-0.17558E+01,-0.17602E+01, & - &-0.17646E+01,-0.17690E+01,-0.17733E+01,-0.17777E+01,-0.17820E+01, & - &-0.17863E+01,-0.17906E+01,-0.17949E+01,-0.17992E+01,-0.18035E+01/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.18077E+01,-0.18119E+01,-0.18162E+01,-0.18204E+01,-0.18246E+01, & - &-0.18288E+01,-0.18330E+01,-0.18371E+01,-0.18413E+01,-0.18454E+01, & - &-0.18496E+01,-0.18537E+01,-0.18578E+01,-0.18619E+01,-0.18660E+01, & - &-0.18701E+01,-0.18742E+01,-0.18782E+01,-0.18823E+01,-0.18863E+01, & - &-0.18903E+01,-0.18944E+01,-0.18984E+01,-0.19024E+01,-0.19064E+01, & - &-0.19104E+01,-0.19144E+01,-0.19183E+01,-0.19223E+01,-0.19262E+01, & - &-0.19302E+01,-0.19341E+01,-0.19380E+01,-0.19419E+01,-0.19459E+01, & - &-0.19498E+01,-0.19537E+01,-0.19575E+01,-0.19614E+01,-0.19653E+01, & - &-0.19691E+01 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.48310E-01,-0.10321E+00,-0.12958E+00,-0.14766E+00,-0.16145E+00, & - &-0.17257E+00,-0.18185E+00,-0.18977E+00,-0.19665E+00,-0.20270E+00, & - &-0.20809E+00,-0.21292E+00,-0.21728E+00,-0.22124E+00,-0.22486E+00, & - &-0.22818E+00,-0.23123E+00,-0.23405E+00,-0.23666E+00,-0.23908E+00, & - &-0.24134E+00,-0.24344E+00,-0.24541E+00,-0.24725E+00,-0.24898E+00, & - &-0.25060E+00,-0.25213E+00,-0.25357E+00,-0.25493E+00,-0.25621E+00, & - &-0.25742E+00,-0.25857E+00,-0.25966E+00,-0.26069E+00,-0.26167E+00, & - &-0.26261E+00,-0.26350E+00,-0.26434E+00,-0.26515E+00,-0.26592E+00, & - &-0.26666E+00,-0.26736E+00,-0.26804E+00,-0.26868E+00,-0.26930E+00, & - &-0.26990E+00,-0.27047E+00,-0.27101E+00,-0.27154E+00,-0.27205E+00, & - &-0.27253E+00,-0.27300E+00,-0.27345E+00,-0.27389E+00,-0.27431E+00, & - &-0.27471E+00,-0.27510E+00,-0.27547E+00,-0.27583E+00,-0.27618E+00, & - &-0.27651E+00,-0.27684E+00,-0.27714E+00,-0.27744E+00,-0.27772E+00, & - &-0.27800E+00,-0.27826E+00,-0.27851E+00,-0.27874E+00,-0.27897E+00, & - &-0.27918E+00,-0.27939E+00,-0.27958E+00,-0.27976E+00,-0.27993E+00, & - &-0.28008E+00,-0.28023E+00,-0.28037E+00,-0.28049E+00,-0.28060E+00, & - &-0.28070E+00,-0.28080E+00,-0.28088E+00,-0.28094E+00,-0.28100E+00, & - &-0.28105E+00,-0.28108E+00,-0.28111E+00,-0.28113E+00,-0.28113E+00, & - &-0.28112E+00,-0.28111E+00,-0.28108E+00,-0.28105E+00,-0.28100E+00, & - &-0.28095E+00,-0.28089E+00,-0.28081E+00,-0.28073E+00,-0.28064E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.28055E+00,-0.28044E+00,-0.28033E+00,-0.28021E+00,-0.28008E+00, & - &-0.27994E+00,-0.27980E+00,-0.27965E+00,-0.27950E+00,-0.27934E+00, & - &-0.27917E+00,-0.27900E+00,-0.27882E+00,-0.27864E+00,-0.27845E+00, & - &-0.27826E+00,-0.27806E+00,-0.27786E+00,-0.27766E+00,-0.27745E+00, & - &-0.27724E+00,-0.27702E+00,-0.27681E+00,-0.27658E+00,-0.27636E+00, & - &-0.27613E+00,-0.27590E+00,-0.27567E+00,-0.27544E+00,-0.27520E+00, & - &-0.27496E+00,-0.27472E+00,-0.27448E+00,-0.27423E+00,-0.27398E+00, & - &-0.27374E+00,-0.27349E+00,-0.27323E+00,-0.27298E+00,-0.27273E+00, & - &-0.27247E+00,-0.27222E+00,-0.27196E+00,-0.27170E+00,-0.27144E+00, & - &-0.27118E+00,-0.27092E+00,-0.27065E+00,-0.27039E+00,-0.27013E+00, & - &-0.26986E+00,-0.26959E+00,-0.26933E+00,-0.26906E+00,-0.26879E+00, & - &-0.26852E+00,-0.26825E+00,-0.26798E+00,-0.26771E+00,-0.26744E+00, & - &-0.26717E+00,-0.26690E+00,-0.26663E+00,-0.26635E+00,-0.26608E+00, & - &-0.26581E+00,-0.26553E+00,-0.26526E+00,-0.26499E+00,-0.26471E+00, & - &-0.26444E+00,-0.26416E+00,-0.26389E+00,-0.26361E+00,-0.26333E+00, & - &-0.26306E+00,-0.26278E+00,-0.26251E+00,-0.26223E+00,-0.26195E+00, & - &-0.26168E+00,-0.26140E+00,-0.26112E+00,-0.26085E+00,-0.26057E+00, & - &-0.26029E+00,-0.26002E+00,-0.25974E+00,-0.25946E+00,-0.25919E+00, & - &-0.25891E+00,-0.25863E+00,-0.25836E+00,-0.25808E+00,-0.25781E+00, & - &-0.25753E+00,-0.25725E+00,-0.25698E+00,-0.25670E+00,-0.25643E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.25615E+00,-0.25588E+00,-0.25560E+00,-0.25533E+00,-0.25505E+00, & - &-0.25478E+00,-0.25450E+00,-0.25423E+00,-0.25396E+00,-0.25368E+00, & - &-0.25341E+00,-0.25314E+00,-0.25287E+00,-0.25259E+00,-0.25232E+00, & - &-0.25205E+00,-0.25178E+00,-0.25151E+00,-0.25124E+00,-0.25097E+00, & - &-0.25070E+00,-0.25043E+00,-0.25016E+00,-0.24989E+00,-0.24962E+00, & - &-0.24935E+00,-0.24908E+00,-0.24882E+00,-0.24855E+00,-0.24828E+00, & - &-0.24802E+00,-0.24775E+00,-0.24749E+00,-0.24722E+00,-0.24696E+00, & - &-0.24669E+00,-0.24643E+00,-0.24616E+00,-0.24590E+00,-0.24564E+00, & - &-0.24538E+00,-0.24511E+00,-0.24485E+00,-0.24459E+00,-0.24433E+00, & - &-0.24407E+00,-0.24381E+00,-0.24355E+00,-0.24329E+00,-0.24304E+00, & - &-0.24278E+00,-0.24252E+00,-0.24226E+00,-0.24201E+00,-0.24175E+00, & - &-0.24150E+00,-0.24124E+00,-0.24099E+00,-0.24073E+00,-0.24048E+00, & - &-0.24023E+00,-0.23997E+00,-0.23972E+00,-0.23947E+00,-0.23922E+00, & - &-0.23897E+00,-0.23872E+00,-0.23847E+00,-0.23822E+00,-0.23797E+00, & - &-0.23772E+00,-0.23748E+00,-0.23723E+00,-0.23698E+00,-0.23674E+00, & - &-0.23649E+00,-0.23625E+00,-0.23600E+00,-0.23576E+00,-0.23552E+00, & - &-0.23527E+00,-0.23503E+00,-0.23479E+00,-0.23455E+00,-0.23431E+00, & - &-0.23407E+00,-0.23383E+00,-0.23359E+00,-0.23335E+00,-0.23311E+00, & - &-0.23288E+00,-0.23264E+00,-0.23240E+00,-0.23217E+00,-0.23193E+00, & - &-0.23170E+00,-0.23146E+00,-0.23123E+00,-0.23100E+00,-0.23076E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.23053E+00,-0.23030E+00,-0.23007E+00,-0.22984E+00,-0.22961E+00, & - &-0.22938E+00,-0.22915E+00,-0.22892E+00,-0.22869E+00,-0.22847E+00, & - &-0.22824E+00,-0.22802E+00,-0.22779E+00,-0.22757E+00,-0.22734E+00, & - &-0.22712E+00,-0.22689E+00,-0.22667E+00,-0.22645E+00,-0.22623E+00, & - &-0.22601E+00,-0.22579E+00,-0.22557E+00,-0.22535E+00,-0.22513E+00, & - &-0.22491E+00,-0.22469E+00,-0.22448E+00,-0.22426E+00,-0.22404E+00, & - &-0.22383E+00,-0.22361E+00,-0.22340E+00,-0.22318E+00,-0.22297E+00, & - &-0.22276E+00,-0.22255E+00,-0.22233E+00,-0.22212E+00,-0.22191E+00, & - &-0.22170E+00,-0.22149E+00,-0.22129E+00,-0.22108E+00,-0.22087E+00, & - &-0.22066E+00,-0.22046E+00,-0.22025E+00,-0.22004E+00,-0.21984E+00, & - &-0.21963E+00,-0.21943E+00,-0.21923E+00,-0.21902E+00,-0.21882E+00, & - &-0.21862E+00,-0.21842E+00,-0.21822E+00,-0.21802E+00,-0.21782E+00, & - &-0.21762E+00,-0.21742E+00,-0.21722E+00,-0.21703E+00,-0.21683E+00, & - &-0.21663E+00,-0.21644E+00,-0.21624E+00,-0.21605E+00,-0.21585E+00, & - &-0.21566E+00,-0.21547E+00,-0.21527E+00,-0.21508E+00,-0.21489E+00, & - &-0.21470E+00,-0.21451E+00,-0.21432E+00,-0.21413E+00,-0.21394E+00, & - &-0.21375E+00,-0.21357E+00,-0.21338E+00,-0.21319E+00,-0.21301E+00, & - &-0.21282E+00,-0.21264E+00,-0.21245E+00,-0.21227E+00,-0.21208E+00, & - &-0.21190E+00,-0.21172E+00,-0.21154E+00,-0.21136E+00,-0.21118E+00, & - &-0.21100E+00,-0.21082E+00,-0.21064E+00,-0.21046E+00,-0.21028E+00/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.21010E+00,-0.20992E+00,-0.20975E+00,-0.20957E+00,-0.20940E+00, & - &-0.20922E+00,-0.20905E+00,-0.20887E+00,-0.20870E+00,-0.20853E+00, & - &-0.20835E+00,-0.20818E+00,-0.20801E+00,-0.20784E+00,-0.20767E+00, & - &-0.20750E+00,-0.20733E+00,-0.20716E+00,-0.20699E+00,-0.20683E+00, & - &-0.20666E+00,-0.20649E+00,-0.20632E+00,-0.20616E+00,-0.20599E+00, & - &-0.20583E+00,-0.20566E+00,-0.20550E+00,-0.20534E+00,-0.20517E+00, & - &-0.20501E+00,-0.20485E+00,-0.20469E+00,-0.20453E+00,-0.20437E+00, & - &-0.20421E+00,-0.20405E+00,-0.20389E+00,-0.20373E+00,-0.20357E+00, & - &-0.20342E+00,-0.20326E+00,-0.20310E+00,-0.20295E+00,-0.20279E+00, & - &-0.20264E+00,-0.20248E+00,-0.20233E+00,-0.20218E+00,-0.20202E+00, & - &-0.20187E+00,-0.20172E+00,-0.20157E+00,-0.20142E+00,-0.20127E+00, & - &-0.20112E+00,-0.20097E+00,-0.20082E+00,-0.20067E+00,-0.20052E+00, & - &-0.20037E+00,-0.20022E+00,-0.20008E+00,-0.19993E+00,-0.19979E+00, & - &-0.19964E+00,-0.19950E+00,-0.19935E+00,-0.19921E+00,-0.19906E+00, & - &-0.19892E+00,-0.19878E+00,-0.19864E+00,-0.19850E+00,-0.19835E+00, & - &-0.19821E+00,-0.19807E+00,-0.19793E+00,-0.19780E+00,-0.19766E+00, & - &-0.19752E+00,-0.19738E+00,-0.19724E+00,-0.19711E+00,-0.19697E+00, & - &-0.19683E+00,-0.19670E+00,-0.19656E+00,-0.19643E+00,-0.19629E+00, & - &-0.19616E+00,-0.19603E+00,-0.19589E+00,-0.19576E+00,-0.19563E+00, & - &-0.19550E+00,-0.19537E+00,-0.19524E+00,-0.19511E+00,-0.19498E+00/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.19485E+00,-0.19472E+00,-0.19459E+00,-0.19446E+00,-0.19434E+00, & - &-0.19421E+00,-0.19408E+00,-0.19396E+00,-0.19383E+00,-0.19371E+00, & - &-0.19358E+00,-0.19346E+00,-0.19333E+00,-0.19321E+00,-0.19309E+00, & - &-0.19296E+00,-0.19284E+00,-0.19272E+00,-0.19260E+00,-0.19248E+00, & - &-0.19236E+00,-0.19224E+00,-0.19212E+00,-0.19200E+00,-0.19188E+00, & - &-0.19176E+00,-0.19164E+00,-0.19153E+00,-0.19141E+00,-0.19129E+00, & - &-0.19118E+00,-0.19106E+00,-0.19094E+00,-0.19083E+00,-0.19071E+00, & - &-0.19060E+00,-0.19049E+00,-0.19037E+00,-0.19026E+00,-0.19015E+00, & - &-0.19004E+00,-0.18992E+00,-0.18981E+00,-0.18970E+00,-0.18959E+00, & - &-0.18948E+00,-0.18937E+00,-0.18926E+00,-0.18916E+00,-0.18905E+00, & - &-0.18894E+00,-0.18883E+00,-0.18872E+00,-0.18862E+00,-0.18851E+00, & - &-0.18841E+00,-0.18830E+00,-0.18819E+00,-0.18809E+00,-0.18799E+00, & - &-0.18788E+00,-0.18778E+00,-0.18768E+00,-0.18757E+00,-0.18747E+00, & - &-0.18737E+00,-0.18727E+00,-0.18717E+00,-0.18707E+00,-0.18697E+00, & - &-0.18687E+00,-0.18677E+00,-0.18667E+00,-0.18657E+00,-0.18647E+00, & - &-0.18637E+00,-0.18627E+00,-0.18618E+00,-0.18608E+00,-0.18598E+00, & - &-0.18589E+00,-0.18579E+00,-0.18570E+00,-0.18560E+00,-0.18551E+00, & - &-0.18541E+00,-0.18532E+00,-0.18523E+00,-0.18513E+00,-0.18504E+00, & - &-0.18495E+00,-0.18486E+00,-0.18477E+00,-0.18468E+00,-0.18458E+00, & - &-0.18449E+00,-0.18440E+00,-0.18431E+00,-0.18423E+00,-0.18414E+00/ - - DATA (BNC06M(I),I=601,700)/ & - &-0.18320E+00,-0.18237E+00,-0.18158E+00,-0.18083E+00,-0.18010E+00, & - &-0.17942E+00,-0.17876E+00,-0.17814E+00,-0.17755E+00,-0.17700E+00, & - &-0.17647E+00,-0.17597E+00,-0.17551E+00,-0.17507E+00,-0.17467E+00, & - &-0.17429E+00,-0.17394E+00,-0.17362E+00,-0.17333E+00,-0.17306E+00, & - &-0.17282E+00,-0.17260E+00,-0.17241E+00,-0.17225E+00,-0.17211E+00, & - &-0.17200E+00,-0.17190E+00,-0.17184E+00,-0.17179E+00,-0.17177E+00, & - &-0.17177E+00,-0.17180E+00,-0.17184E+00,-0.17191E+00,-0.17200E+00, & - &-0.17210E+00,-0.17223E+00,-0.17238E+00,-0.17255E+00,-0.17274E+00, & - &-0.17295E+00,-0.17318E+00,-0.17342E+00,-0.17369E+00,-0.17397E+00, & - &-0.17427E+00,-0.17459E+00,-0.17493E+00,-0.17528E+00,-0.17565E+00, & - &-0.17604E+00,-0.17644E+00,-0.17687E+00,-0.17730E+00,-0.17775E+00, & - &-0.17822E+00,-0.17871E+00,-0.17921E+00,-0.17972E+00,-0.18025E+00, & - &-0.18079E+00,-0.18135E+00,-0.18193E+00,-0.18251E+00,-0.18311E+00, & - &-0.18373E+00,-0.18436E+00,-0.18500E+00,-0.18565E+00,-0.18632E+00, & - &-0.18700E+00,-0.18770E+00,-0.18840E+00,-0.18912E+00,-0.18985E+00, & - &-0.19060E+00,-0.19135E+00,-0.19212E+00,-0.19290E+00,-0.19369E+00, & - &-0.19450E+00,-0.19531E+00,-0.19614E+00,-0.19697E+00,-0.19782E+00, & - &-0.19868E+00,-0.19955E+00,-0.20043E+00,-0.20132E+00,-0.20222E+00, & - &-0.20313E+00,-0.20405E+00,-0.20498E+00,-0.20592E+00,-0.20687E+00, & - &-0.20783E+00,-0.20880E+00,-0.20978E+00,-0.21077E+00,-0.21177E+00/ - - DATA (BNC06M(I),I=701,741)/ & - &-0.21278E+00,-0.21379E+00,-0.21482E+00,-0.21585E+00,-0.21690E+00, & - &-0.21795E+00,-0.21901E+00,-0.22008E+00,-0.22116E+00,-0.22224E+00, & - &-0.22334E+00,-0.22444E+00,-0.22555E+00,-0.22667E+00,-0.22780E+00, & - &-0.22893E+00,-0.23007E+00,-0.23122E+00,-0.23238E+00,-0.23355E+00, & - &-0.23472E+00,-0.23590E+00,-0.23709E+00,-0.23828E+00,-0.23949E+00, & - &-0.24070E+00,-0.24191E+00,-0.24314E+00,-0.24437E+00,-0.24561E+00, & - &-0.24685E+00,-0.24810E+00,-0.24936E+00,-0.25062E+00,-0.25189E+00, & - &-0.25317E+00,-0.25446E+00,-0.25575E+00,-0.25704E+00,-0.25835E+00, & - &-0.25966E+00 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.97854E-01,-0.21310E+00,-0.27082E+00,-0.31170E+00,-0.34384E+00, & - &-0.37049E+00,-0.39335E+00,-0.41342E+00,-0.43132E+00,-0.44752E+00, & - &-0.46231E+00,-0.47593E+00,-0.48857E+00,-0.50036E+00,-0.51142E+00, & - &-0.52184E+00,-0.53169E+00,-0.54103E+00,-0.54992E+00,-0.55840E+00, & - &-0.56651E+00,-0.57428E+00,-0.58175E+00,-0.58893E+00,-0.59585E+00, & - &-0.60254E+00,-0.60899E+00,-0.61525E+00,-0.62130E+00,-0.62718E+00, & - &-0.63289E+00,-0.63844E+00,-0.64384E+00,-0.64910E+00,-0.65422E+00, & - &-0.65922E+00,-0.66410E+00,-0.66887E+00,-0.67353E+00,-0.67809E+00, & - &-0.68255E+00,-0.68692E+00,-0.69120E+00,-0.69539E+00,-0.69951E+00, & - &-0.70355E+00,-0.70751E+00,-0.71141E+00,-0.71523E+00,-0.71899E+00, & - &-0.72269E+00,-0.72632E+00,-0.72990E+00,-0.73342E+00,-0.73689E+00, & - &-0.74031E+00,-0.74367E+00,-0.74699E+00,-0.75026E+00,-0.75349E+00, & - &-0.75667E+00,-0.75981E+00,-0.76291E+00,-0.76597E+00,-0.76900E+00, & - &-0.77198E+00,-0.77493E+00,-0.77785E+00,-0.78073E+00,-0.78358E+00, & - &-0.78640E+00,-0.78919E+00,-0.79195E+00,-0.79468E+00,-0.79738E+00, & - &-0.80006E+00,-0.80271E+00,-0.80533E+00,-0.80793E+00,-0.81051E+00, & - &-0.81306E+00,-0.81559E+00,-0.81810E+00,-0.82058E+00,-0.82305E+00, & - &-0.82550E+00,-0.82792E+00,-0.83033E+00,-0.83271E+00,-0.83508E+00, & - &-0.83744E+00,-0.83977E+00,-0.84209E+00,-0.84439E+00,-0.84667E+00, & - &-0.84894E+00,-0.85119E+00,-0.85343E+00,-0.85565E+00,-0.85785E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.86005E+00,-0.86222E+00,-0.86439E+00,-0.86654E+00,-0.86868E+00, & - &-0.87080E+00,-0.87291E+00,-0.87501E+00,-0.87710E+00,-0.87917E+00, & - &-0.88123E+00,-0.88328E+00,-0.88532E+00,-0.88735E+00,-0.88936E+00, & - &-0.89137E+00,-0.89336E+00,-0.89534E+00,-0.89731E+00,-0.89927E+00, & - &-0.90122E+00,-0.90316E+00,-0.90509E+00,-0.90701E+00,-0.90892E+00, & - &-0.91082E+00,-0.91271E+00,-0.91460E+00,-0.91647E+00,-0.91833E+00, & - &-0.92019E+00,-0.92203E+00,-0.92387E+00,-0.92569E+00,-0.92751E+00, & - &-0.92932E+00,-0.93113E+00,-0.93292E+00,-0.93471E+00,-0.93648E+00, & - &-0.93825E+00,-0.94002E+00,-0.94177E+00,-0.94352E+00,-0.94526E+00, & - &-0.94699E+00,-0.94872E+00,-0.95043E+00,-0.95214E+00,-0.95385E+00, & - &-0.95554E+00,-0.95723E+00,-0.95892E+00,-0.96060E+00,-0.96227E+00, & - &-0.96393E+00,-0.96559E+00,-0.96724E+00,-0.96888E+00,-0.97052E+00, & - &-0.97215E+00,-0.97378E+00,-0.97540E+00,-0.97701E+00,-0.97862E+00, & - &-0.98023E+00,-0.98182E+00,-0.98342E+00,-0.98500E+00,-0.98658E+00, & - &-0.98816E+00,-0.98973E+00,-0.99129E+00,-0.99285E+00,-0.99441E+00, & - &-0.99596E+00,-0.99750E+00,-0.99904E+00,-0.10006E+01,-0.10021E+01, & - &-0.10036E+01,-0.10052E+01,-0.10067E+01,-0.10082E+01,-0.10097E+01, & - &-0.10112E+01,-0.10127E+01,-0.10142E+01,-0.10157E+01,-0.10171E+01, & - &-0.10186E+01,-0.10201E+01,-0.10216E+01,-0.10230E+01,-0.10245E+01, & - &-0.10260E+01,-0.10274E+01,-0.10289E+01,-0.10303E+01,-0.10317E+01/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.10332E+01,-0.10346E+01,-0.10361E+01,-0.10375E+01,-0.10389E+01, & - &-0.10403E+01,-0.10417E+01,-0.10431E+01,-0.10446E+01,-0.10460E+01, & - &-0.10474E+01,-0.10488E+01,-0.10502E+01,-0.10515E+01,-0.10529E+01, & - &-0.10543E+01,-0.10557E+01,-0.10571E+01,-0.10584E+01,-0.10598E+01, & - &-0.10612E+01,-0.10625E+01,-0.10639E+01,-0.10653E+01,-0.10666E+01, & - &-0.10680E+01,-0.10693E+01,-0.10707E+01,-0.10720E+01,-0.10733E+01, & - &-0.10747E+01,-0.10760E+01,-0.10773E+01,-0.10787E+01,-0.10800E+01, & - &-0.10813E+01,-0.10826E+01,-0.10839E+01,-0.10853E+01,-0.10866E+01, & - &-0.10879E+01,-0.10892E+01,-0.10905E+01,-0.10918E+01,-0.10931E+01, & - &-0.10944E+01,-0.10957E+01,-0.10970E+01,-0.10982E+01,-0.10995E+01, & - &-0.11008E+01,-0.11021E+01,-0.11034E+01,-0.11046E+01,-0.11059E+01, & - &-0.11072E+01,-0.11084E+01,-0.11097E+01,-0.11110E+01,-0.11122E+01, & - &-0.11135E+01,-0.11147E+01,-0.11160E+01,-0.11172E+01,-0.11185E+01, & - &-0.11197E+01,-0.11210E+01,-0.11222E+01,-0.11234E+01,-0.11247E+01, & - &-0.11259E+01,-0.11271E+01,-0.11284E+01,-0.11296E+01,-0.11308E+01, & - &-0.11321E+01,-0.11333E+01,-0.11345E+01,-0.11357E+01,-0.11369E+01, & - &-0.11381E+01,-0.11393E+01,-0.11406E+01,-0.11418E+01,-0.11430E+01, & - &-0.11442E+01,-0.11454E+01,-0.11466E+01,-0.11478E+01,-0.11490E+01, & - &-0.11502E+01,-0.11513E+01,-0.11525E+01,-0.11537E+01,-0.11549E+01, & - &-0.11561E+01,-0.11573E+01,-0.11585E+01,-0.11596E+01,-0.11608E+01/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.11620E+01,-0.11632E+01,-0.11643E+01,-0.11655E+01,-0.11667E+01, & - &-0.11678E+01,-0.11690E+01,-0.11702E+01,-0.11713E+01,-0.11725E+01, & - &-0.11736E+01,-0.11748E+01,-0.11759E+01,-0.11771E+01,-0.11782E+01, & - &-0.11794E+01,-0.11805E+01,-0.11817E+01,-0.11828E+01,-0.11840E+01, & - &-0.11851E+01,-0.11863E+01,-0.11874E+01,-0.11885E+01,-0.11897E+01, & - &-0.11908E+01,-0.11919E+01,-0.11931E+01,-0.11942E+01,-0.11953E+01, & - &-0.11964E+01,-0.11976E+01,-0.11987E+01,-0.11998E+01,-0.12009E+01, & - &-0.12021E+01,-0.12032E+01,-0.12043E+01,-0.12054E+01,-0.12065E+01, & - &-0.12076E+01,-0.12087E+01,-0.12098E+01,-0.12109E+01,-0.12121E+01, & - &-0.12132E+01,-0.12143E+01,-0.12154E+01,-0.12165E+01,-0.12176E+01, & - &-0.12187E+01,-0.12198E+01,-0.12209E+01,-0.12219E+01,-0.12230E+01, & - &-0.12241E+01,-0.12252E+01,-0.12263E+01,-0.12274E+01,-0.12285E+01, & - &-0.12296E+01,-0.12306E+01,-0.12317E+01,-0.12328E+01,-0.12339E+01, & - &-0.12350E+01,-0.12360E+01,-0.12371E+01,-0.12382E+01,-0.12393E+01, & - &-0.12403E+01,-0.12414E+01,-0.12425E+01,-0.12436E+01,-0.12446E+01, & - &-0.12457E+01,-0.12468E+01,-0.12478E+01,-0.12489E+01,-0.12499E+01, & - &-0.12510E+01,-0.12521E+01,-0.12531E+01,-0.12542E+01,-0.12552E+01, & - &-0.12563E+01,-0.12574E+01,-0.12584E+01,-0.12595E+01,-0.12605E+01, & - &-0.12616E+01,-0.12626E+01,-0.12637E+01,-0.12647E+01,-0.12657E+01, & - &-0.12668E+01,-0.12678E+01,-0.12689E+01,-0.12699E+01,-0.12710E+01/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.12720E+01,-0.12730E+01,-0.12741E+01,-0.12751E+01,-0.12761E+01, & - &-0.12772E+01,-0.12782E+01,-0.12792E+01,-0.12803E+01,-0.12813E+01, & - &-0.12823E+01,-0.12834E+01,-0.12844E+01,-0.12854E+01,-0.12864E+01, & - &-0.12875E+01,-0.12885E+01,-0.12895E+01,-0.12905E+01,-0.12916E+01, & - &-0.12926E+01,-0.12936E+01,-0.12946E+01,-0.12956E+01,-0.12966E+01, & - &-0.12977E+01,-0.12987E+01,-0.12997E+01,-0.13007E+01,-0.13017E+01, & - &-0.13027E+01,-0.13037E+01,-0.13047E+01,-0.13057E+01,-0.13068E+01, & - &-0.13078E+01,-0.13088E+01,-0.13098E+01,-0.13108E+01,-0.13118E+01, & - &-0.13128E+01,-0.13138E+01,-0.13148E+01,-0.13158E+01,-0.13168E+01, & - &-0.13178E+01,-0.13188E+01,-0.13198E+01,-0.13208E+01,-0.13218E+01, & - &-0.13227E+01,-0.13237E+01,-0.13247E+01,-0.13257E+01,-0.13267E+01, & - &-0.13277E+01,-0.13287E+01,-0.13297E+01,-0.13307E+01,-0.13317E+01, & - &-0.13326E+01,-0.13336E+01,-0.13346E+01,-0.13356E+01,-0.13366E+01, & - &-0.13376E+01,-0.13385E+01,-0.13395E+01,-0.13405E+01,-0.13415E+01, & - &-0.13424E+01,-0.13434E+01,-0.13444E+01,-0.13454E+01,-0.13463E+01, & - &-0.13473E+01,-0.13483E+01,-0.13493E+01,-0.13502E+01,-0.13512E+01, & - &-0.13522E+01,-0.13532E+01,-0.13541E+01,-0.13551E+01,-0.13561E+01, & - &-0.13570E+01,-0.13580E+01,-0.13590E+01,-0.13599E+01,-0.13609E+01, & - &-0.13618E+01,-0.13628E+01,-0.13638E+01,-0.13647E+01,-0.13657E+01, & - &-0.13666E+01,-0.13676E+01,-0.13686E+01,-0.13695E+01,-0.13705E+01/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.13714E+01,-0.13724E+01,-0.13733E+01,-0.13743E+01,-0.13753E+01, & - &-0.13762E+01,-0.13772E+01,-0.13781E+01,-0.13791E+01,-0.13800E+01, & - &-0.13810E+01,-0.13819E+01,-0.13829E+01,-0.13838E+01,-0.13847E+01, & - &-0.13857E+01,-0.13866E+01,-0.13876E+01,-0.13885E+01,-0.13895E+01, & - &-0.13904E+01,-0.13914E+01,-0.13923E+01,-0.13932E+01,-0.13942E+01, & - &-0.13951E+01,-0.13961E+01,-0.13970E+01,-0.13979E+01,-0.13989E+01, & - &-0.13998E+01,-0.14007E+01,-0.14017E+01,-0.14026E+01,-0.14036E+01, & - &-0.14045E+01,-0.14054E+01,-0.14064E+01,-0.14073E+01,-0.14082E+01, & - &-0.14091E+01,-0.14101E+01,-0.14110E+01,-0.14119E+01,-0.14129E+01, & - &-0.14138E+01,-0.14147E+01,-0.14156E+01,-0.14166E+01,-0.14175E+01, & - &-0.14184E+01,-0.14193E+01,-0.14203E+01,-0.14212E+01,-0.14221E+01, & - &-0.14230E+01,-0.14240E+01,-0.14249E+01,-0.14258E+01,-0.14267E+01, & - &-0.14276E+01,-0.14286E+01,-0.14295E+01,-0.14304E+01,-0.14313E+01, & - &-0.14322E+01,-0.14332E+01,-0.14341E+01,-0.14350E+01,-0.14359E+01, & - &-0.14368E+01,-0.14377E+01,-0.14386E+01,-0.14396E+01,-0.14405E+01, & - &-0.14414E+01,-0.14423E+01,-0.14432E+01,-0.14441E+01,-0.14450E+01, & - &-0.14459E+01,-0.14468E+01,-0.14477E+01,-0.14487E+01,-0.14496E+01, & - &-0.14505E+01,-0.14514E+01,-0.14523E+01,-0.14532E+01,-0.14541E+01, & - &-0.14550E+01,-0.14559E+01,-0.14568E+01,-0.14577E+01,-0.14586E+01, & - &-0.14595E+01,-0.14604E+01,-0.14613E+01,-0.14622E+01,-0.14631E+01/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.14728E+01,-0.14817E+01,-0.14906E+01,-0.14994E+01,-0.15082E+01, & - &-0.15170E+01,-0.15257E+01,-0.15343E+01,-0.15430E+01,-0.15515E+01, & - &-0.15601E+01,-0.15686E+01,-0.15771E+01,-0.15856E+01,-0.15940E+01, & - &-0.16024E+01,-0.16107E+01,-0.16191E+01,-0.16274E+01,-0.16356E+01, & - &-0.16439E+01,-0.16521E+01,-0.16603E+01,-0.16684E+01,-0.16766E+01, & - &-0.16847E+01,-0.16928E+01,-0.17008E+01,-0.17089E+01,-0.17169E+01, & - &-0.17249E+01,-0.17328E+01,-0.17408E+01,-0.17487E+01,-0.17566E+01, & - &-0.17645E+01,-0.17723E+01,-0.17802E+01,-0.17880E+01,-0.17958E+01, & - &-0.18036E+01,-0.18114E+01,-0.18191E+01,-0.18268E+01,-0.18346E+01, & - &-0.18423E+01,-0.18499E+01,-0.18576E+01,-0.18652E+01,-0.18729E+01, & - &-0.18805E+01,-0.18881E+01,-0.18957E+01,-0.19032E+01,-0.19108E+01, & - &-0.19183E+01,-0.19258E+01,-0.19334E+01,-0.19409E+01,-0.19483E+01, & - &-0.19558E+01,-0.19633E+01,-0.19707E+01,-0.19781E+01,-0.19855E+01, & - &-0.19929E+01,-0.20003E+01,-0.20077E+01,-0.20151E+01,-0.20224E+01, & - &-0.20298E+01,-0.20371E+01,-0.20444E+01,-0.20517E+01,-0.20590E+01, & - &-0.20663E+01,-0.20736E+01,-0.20808E+01,-0.20881E+01,-0.20953E+01, & - &-0.21026E+01,-0.21098E+01,-0.21170E+01,-0.21242E+01,-0.21314E+01, & - &-0.21386E+01,-0.21457E+01,-0.21529E+01,-0.21601E+01,-0.21672E+01, & - &-0.21743E+01,-0.21815E+01,-0.21886E+01,-0.21957E+01,-0.22028E+01, & - &-0.22099E+01,-0.22169E+01,-0.22240E+01,-0.22311E+01,-0.22381E+01/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.22452E+01,-0.22522E+01,-0.22593E+01,-0.22663E+01,-0.22733E+01, & - &-0.22803E+01,-0.22873E+01,-0.22943E+01,-0.23013E+01,-0.23082E+01, & - &-0.23152E+01,-0.23222E+01,-0.23291E+01,-0.23361E+01,-0.23430E+01, & - &-0.23499E+01,-0.23569E+01,-0.23638E+01,-0.23707E+01,-0.23776E+01, & - &-0.23845E+01,-0.23914E+01,-0.23983E+01,-0.24052E+01,-0.24120E+01, & - &-0.24189E+01,-0.24258E+01,-0.24326E+01,-0.24395E+01,-0.24463E+01, & - &-0.24531E+01,-0.24600E+01,-0.24668E+01,-0.24736E+01,-0.24804E+01, & - &-0.24872E+01,-0.24940E+01,-0.25008E+01,-0.25076E+01,-0.25144E+01, & - &-0.25211E+01 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.45623E-01,-0.90075E-01,-0.10774E+00,-0.11790E+00,-0.12423E+00, & - &-0.12817E+00,-0.13046E+00,-0.13152E+00,-0.13161E+00,-0.13092E+00, & - &-0.12958E+00,-0.12767E+00,-0.12527E+00,-0.12245E+00,-0.11923E+00, & - &-0.11566E+00,-0.11177E+00,-0.10758E+00,-0.10312E+00,-0.98394E-01, & - &-0.93430E-01,-0.88237E-01,-0.82830E-01,-0.77218E-01,-0.71412E-01, & - &-0.65422E-01,-0.59256E-01,-0.52921E-01,-0.46426E-01,-0.39777E-01, & - &-0.32981E-01,-0.26044E-01,-0.18972E-01,-0.11771E-01,-0.44450E-02, & - & 0.29997E-02, 0.10558E-01, 0.18226E-01, 0.25999E-01, 0.33872E-01, & - & 0.41842E-01, 0.49903E-01, 0.58053E-01, 0.66287E-01, 0.74602E-01, & - & 0.82995E-01, 0.91462E-01, 0.10000E+00, 0.10861E+00, 0.11728E+00, & - & 0.12601E+00, 0.13481E+00, 0.14366E+00, 0.15257E+00, 0.16153E+00, & - & 0.17055E+00, 0.17962E+00, 0.18873E+00, 0.19790E+00, 0.20711E+00, & - & 0.21637E+00, 0.22567E+00, 0.23502E+00, 0.24442E+00, 0.25386E+00, & - & 0.26334E+00, 0.27287E+00, 0.28244E+00, 0.29205E+00, 0.30172E+00, & - & 0.31142E+00, 0.32118E+00, 0.33098E+00, 0.34083E+00, 0.35072E+00, & - & 0.36067E+00, 0.37066E+00, 0.38071E+00, 0.39081E+00, 0.40096E+00, & - & 0.41116E+00, 0.42141E+00, 0.43172E+00, 0.44208E+00, 0.45250E+00, & - & 0.46297E+00, 0.47349E+00, 0.48407E+00, 0.49470E+00, 0.50539E+00, & - & 0.51613E+00, 0.52692E+00, 0.53777E+00, 0.54867E+00, 0.55961E+00, & - & 0.57061E+00, 0.58165E+00, 0.59274E+00, 0.60387E+00, 0.61505E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.62627E+00, 0.63752E+00, 0.64882E+00, 0.66015E+00, 0.67151E+00, & - & 0.68291E+00, 0.69433E+00, 0.70578E+00, 0.71726E+00, 0.72876E+00, & - & 0.74028E+00, 0.75182E+00, 0.76338E+00, 0.77495E+00, 0.78653E+00, & - & 0.79813E+00, 0.80973E+00, 0.82134E+00, 0.83296E+00, 0.84458E+00, & - & 0.85620E+00, 0.86782E+00, 0.87945E+00, 0.89107E+00, 0.90268E+00, & - & 0.91429E+00, 0.92589E+00, 0.93749E+00, 0.94908E+00, 0.96066E+00, & - & 0.97222E+00, 0.98378E+00, 0.99532E+00, 0.10069E+01, 0.10184E+01, & - & 0.10299E+01, 0.10414E+01, 0.10528E+01, 0.10643E+01, 0.10757E+01, & - & 0.10871E+01, 0.10985E+01, 0.11099E+01, 0.11213E+01, 0.11326E+01, & - & 0.11440E+01, 0.11553E+01, 0.11666E+01, 0.11778E+01, 0.11891E+01, & - & 0.12003E+01, 0.12115E+01, 0.12227E+01, 0.12338E+01, 0.12450E+01, & - & 0.12561E+01, 0.12672E+01, 0.12783E+01, 0.12893E+01, 0.13004E+01, & - & 0.13114E+01, 0.13224E+01, 0.13333E+01, 0.13443E+01, 0.13552E+01, & - & 0.13661E+01, 0.13770E+01, 0.13878E+01, 0.13987E+01, 0.14095E+01, & - & 0.14203E+01, 0.14310E+01, 0.14418E+01, 0.14525E+01, 0.14632E+01, & - & 0.14739E+01, 0.14845E+01, 0.14951E+01, 0.15058E+01, 0.15163E+01, & - & 0.15269E+01, 0.15374E+01, 0.15479E+01, 0.15584E+01, 0.15689E+01, & - & 0.15794E+01, 0.15898E+01, 0.16002E+01, 0.16105E+01, 0.16209E+01, & - & 0.16312E+01, 0.16415E+01, 0.16518E+01, 0.16621E+01, 0.16723E+01, & - & 0.16826E+01, 0.16928E+01, 0.17029E+01, 0.17131E+01, 0.17232E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.17333E+01, 0.17434E+01, 0.17535E+01, 0.17635E+01, 0.17735E+01, & - & 0.17835E+01, 0.17935E+01, 0.18034E+01, 0.18134E+01, 0.18233E+01, & - & 0.18332E+01, 0.18430E+01, 0.18529E+01, 0.18627E+01, 0.18725E+01, & - & 0.18823E+01, 0.18920E+01, 0.19017E+01, 0.19115E+01, 0.19211E+01, & - & 0.19308E+01, 0.19405E+01, 0.19501E+01, 0.19597E+01, 0.19693E+01, & - & 0.19788E+01, 0.19884E+01, 0.19979E+01, 0.20074E+01, 0.20169E+01, & - & 0.20263E+01, 0.20358E+01, 0.20452E+01, 0.20546E+01, 0.20640E+01, & - & 0.20733E+01, 0.20827E+01, 0.20920E+01, 0.21013E+01, 0.21105E+01, & - & 0.21198E+01, 0.21290E+01, 0.21383E+01, 0.21474E+01, 0.21566E+01, & - & 0.21658E+01, 0.21749E+01, 0.21840E+01, 0.21931E+01, 0.22022E+01, & - & 0.22113E+01, 0.22203E+01, 0.22293E+01, 0.22383E+01, 0.22473E+01, & - & 0.22563E+01, 0.22652E+01, 0.22741E+01, 0.22830E+01, 0.22919E+01, & - & 0.23008E+01, 0.23096E+01, 0.23185E+01, 0.23273E+01, 0.23361E+01, & - & 0.23448E+01, 0.23536E+01, 0.23623E+01, 0.23710E+01, 0.23797E+01, & - & 0.23884E+01, 0.23971E+01, 0.24057E+01, 0.24144E+01, 0.24230E+01, & - & 0.24316E+01, 0.24401E+01, 0.24487E+01, 0.24572E+01, 0.24657E+01, & - & 0.24742E+01, 0.24827E+01, 0.24912E+01, 0.24997E+01, 0.25081E+01, & - & 0.25165E+01, 0.25249E+01, 0.25333E+01, 0.25416E+01, 0.25500E+01, & - & 0.25583E+01, 0.25666E+01, 0.25749E+01, 0.25832E+01, 0.25915E+01, & - & 0.25997E+01, 0.26080E+01, 0.26162E+01, 0.26244E+01, 0.26326E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.26407E+01, 0.26489E+01, 0.26570E+01, 0.26651E+01, 0.26732E+01, & - & 0.26813E+01, 0.26894E+01, 0.26974E+01, 0.27055E+01, 0.27135E+01, & - & 0.27215E+01, 0.27295E+01, 0.27374E+01, 0.27454E+01, 0.27533E+01, & - & 0.27613E+01, 0.27692E+01, 0.27771E+01, 0.27850E+01, 0.27928E+01, & - & 0.28007E+01, 0.28085E+01, 0.28163E+01, 0.28241E+01, 0.28319E+01, & - & 0.28397E+01, 0.28475E+01, 0.28552E+01, 0.28629E+01, 0.28706E+01, & - & 0.28783E+01, 0.28860E+01, 0.28937E+01, 0.29014E+01, 0.29090E+01, & - & 0.29166E+01, 0.29242E+01, 0.29318E+01, 0.29394E+01, 0.29470E+01, & - & 0.29545E+01, 0.29621E+01, 0.29696E+01, 0.29771E+01, 0.29846E+01, & - & 0.29921E+01, 0.29996E+01, 0.30070E+01, 0.30145E+01, 0.30219E+01, & - & 0.30293E+01, 0.30367E+01, 0.30441E+01, 0.30515E+01, 0.30589E+01, & - & 0.30662E+01, 0.30735E+01, 0.30809E+01, 0.30882E+01, 0.30955E+01, & - & 0.31027E+01, 0.31100E+01, 0.31173E+01, 0.31245E+01, 0.31317E+01, & - & 0.31390E+01, 0.31462E+01, 0.31534E+01, 0.31605E+01, 0.31677E+01, & - & 0.31748E+01, 0.31820E+01, 0.31891E+01, 0.31962E+01, 0.32033E+01, & - & 0.32104E+01, 0.32175E+01, 0.32245E+01, 0.32316E+01, 0.32386E+01, & - & 0.32457E+01, 0.32527E+01, 0.32597E+01, 0.32667E+01, 0.32736E+01, & - & 0.32806E+01, 0.32875E+01, 0.32945E+01, 0.33014E+01, 0.33083E+01, & - & 0.33152E+01, 0.33221E+01, 0.33290E+01, 0.33359E+01, 0.33427E+01, & - & 0.33496E+01, 0.33564E+01, 0.33632E+01, 0.33700E+01, 0.33768E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.33836E+01, 0.33904E+01, 0.33971E+01, 0.34039E+01, 0.34106E+01, & - & 0.34174E+01, 0.34241E+01, 0.34308E+01, 0.34375E+01, 0.34442E+01, & - & 0.34508E+01, 0.34575E+01, 0.34641E+01, 0.34708E+01, 0.34774E+01, & - & 0.34840E+01, 0.34906E+01, 0.34972E+01, 0.35038E+01, 0.35104E+01, & - & 0.35169E+01, 0.35235E+01, 0.35300E+01, 0.35365E+01, 0.35431E+01, & - & 0.35496E+01, 0.35561E+01, 0.35625E+01, 0.35690E+01, 0.35755E+01, & - & 0.35819E+01, 0.35884E+01, 0.35948E+01, 0.36012E+01, 0.36076E+01, & - & 0.36140E+01, 0.36204E+01, 0.36268E+01, 0.36332E+01, 0.36395E+01, & - & 0.36459E+01, 0.36522E+01, 0.36585E+01, 0.36649E+01, 0.36712E+01, & - & 0.36775E+01, 0.36838E+01, 0.36900E+01, 0.36963E+01, 0.37026E+01, & - & 0.37088E+01, 0.37150E+01, 0.37213E+01, 0.37275E+01, 0.37337E+01, & - & 0.37399E+01, 0.37461E+01, 0.37523E+01, 0.37584E+01, 0.37646E+01, & - & 0.37707E+01, 0.37769E+01, 0.37830E+01, 0.37891E+01, 0.37952E+01, & - & 0.38013E+01, 0.38074E+01, 0.38135E+01, 0.38196E+01, 0.38256E+01, & - & 0.38317E+01, 0.38377E+01, 0.38438E+01, 0.38498E+01, 0.38558E+01, & - & 0.38618E+01, 0.38678E+01, 0.38738E+01, 0.38798E+01, 0.38858E+01, & - & 0.38917E+01, 0.38977E+01, 0.39036E+01, 0.39096E+01, 0.39155E+01, & - & 0.39214E+01, 0.39273E+01, 0.39332E+01, 0.39391E+01, 0.39450E+01, & - & 0.39509E+01, 0.39567E+01, 0.39626E+01, 0.39684E+01, 0.39743E+01, & - & 0.39801E+01, 0.39859E+01, 0.39917E+01, 0.39975E+01, 0.40033E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.40091E+01, 0.40149E+01, 0.40206E+01, 0.40264E+01, 0.40321E+01, & - & 0.40379E+01, 0.40436E+01, 0.40493E+01, 0.40551E+01, 0.40608E+01, & - & 0.40665E+01, 0.40722E+01, 0.40778E+01, 0.40835E+01, 0.40892E+01, & - & 0.40948E+01, 0.41005E+01, 0.41061E+01, 0.41118E+01, 0.41174E+01, & - & 0.41230E+01, 0.41286E+01, 0.41342E+01, 0.41398E+01, 0.41454E+01, & - & 0.41510E+01, 0.41565E+01, 0.41621E+01, 0.41677E+01, 0.41732E+01, & - & 0.41787E+01, 0.41843E+01, 0.41898E+01, 0.41953E+01, 0.42008E+01, & - & 0.42063E+01, 0.42118E+01, 0.42173E+01, 0.42228E+01, 0.42282E+01, & - & 0.42337E+01, 0.42391E+01, 0.42446E+01, 0.42500E+01, 0.42554E+01, & - & 0.42609E+01, 0.42663E+01, 0.42717E+01, 0.42771E+01, 0.42825E+01, & - & 0.42878E+01, 0.42932E+01, 0.42986E+01, 0.43040E+01, 0.43093E+01, & - & 0.43146E+01, 0.43200E+01, 0.43253E+01, 0.43306E+01, 0.43360E+01, & - & 0.43413E+01, 0.43466E+01, 0.43519E+01, 0.43571E+01, 0.43624E+01, & - & 0.43677E+01, 0.43730E+01, 0.43782E+01, 0.43835E+01, 0.43887E+01, & - & 0.43940E+01, 0.43992E+01, 0.44044E+01, 0.44096E+01, 0.44148E+01, & - & 0.44200E+01, 0.44252E+01, 0.44304E+01, 0.44356E+01, 0.44408E+01, & - & 0.44459E+01, 0.44511E+01, 0.44562E+01, 0.44614E+01, 0.44665E+01, & - & 0.44717E+01, 0.44768E+01, 0.44819E+01, 0.44870E+01, 0.44921E+01, & - & 0.44972E+01, 0.45023E+01, 0.45074E+01, 0.45125E+01, 0.45175E+01, & - & 0.45226E+01, 0.45277E+01, 0.45327E+01, 0.45377E+01, 0.45428E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.45968E+01, 0.46461E+01, 0.46948E+01, 0.47428E+01, 0.47903E+01, & - & 0.48372E+01, 0.48835E+01, 0.49293E+01, 0.49745E+01, 0.50191E+01, & - & 0.50633E+01, 0.51069E+01, 0.51500E+01, 0.51927E+01, 0.52349E+01, & - & 0.52765E+01, 0.53178E+01, 0.53586E+01, 0.53989E+01, 0.54388E+01, & - & 0.54783E+01, 0.55174E+01, 0.55560E+01, 0.55943E+01, 0.56322E+01, & - & 0.56696E+01, 0.57068E+01, 0.57435E+01, 0.57799E+01, 0.58159E+01, & - & 0.58515E+01, 0.58869E+01, 0.59218E+01, 0.59565E+01, 0.59908E+01, & - & 0.60248E+01, 0.60585E+01, 0.60919E+01, 0.61249E+01, 0.61577E+01, & - & 0.61902E+01, 0.62224E+01, 0.62543E+01, 0.62859E+01, 0.63172E+01, & - & 0.63483E+01, 0.63791E+01, 0.64096E+01, 0.64399E+01, 0.64699E+01, & - & 0.64997E+01, 0.65292E+01, 0.65585E+01, 0.65875E+01, 0.66163E+01, & - & 0.66449E+01, 0.66733E+01, 0.67014E+01, 0.67293E+01, 0.67569E+01, & - & 0.67844E+01, 0.68116E+01, 0.68387E+01, 0.68655E+01, 0.68921E+01, & - & 0.69185E+01, 0.69447E+01, 0.69708E+01, 0.69966E+01, 0.70222E+01, & - & 0.70477E+01, 0.70729E+01, 0.70980E+01, 0.71229E+01, 0.71476E+01, & - & 0.71721E+01, 0.71965E+01, 0.72207E+01, 0.72447E+01, 0.72686E+01, & - & 0.72922E+01, 0.73158E+01, 0.73391E+01, 0.73623E+01, 0.73854E+01, & - & 0.74082E+01, 0.74310E+01, 0.74536E+01, 0.74760E+01, 0.74983E+01, & - & 0.75204E+01, 0.75424E+01, 0.75642E+01, 0.75859E+01, 0.76075E+01, & - & 0.76289E+01, 0.76502E+01, 0.76714E+01, 0.76924E+01, 0.77133E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.77340E+01, 0.77546E+01, 0.77751E+01, 0.77955E+01, 0.78157E+01, & - & 0.78358E+01, 0.78558E+01, 0.78757E+01, 0.78955E+01, 0.79151E+01, & - & 0.79346E+01, 0.79540E+01, 0.79733E+01, 0.79925E+01, 0.80115E+01, & - & 0.80305E+01, 0.80493E+01, 0.80680E+01, 0.80867E+01, 0.81052E+01, & - & 0.81236E+01, 0.81419E+01, 0.81601E+01, 0.81782E+01, 0.81961E+01, & - & 0.82140E+01, 0.82318E+01, 0.82495E+01, 0.82671E+01, 0.82846E+01, & - & 0.83020E+01, 0.83193E+01, 0.83365E+01, 0.83536E+01, 0.83706E+01, & - & 0.83876E+01, 0.84044E+01, 0.84212E+01, 0.84378E+01, 0.84544E+01, & - & 0.84709E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.47941E-01,-0.10187E+00,-0.12775E+00,-0.14554E+00,-0.15916E+00, & - &-0.17016E+00,-0.17935E+00,-0.18720E+00,-0.19401E+00,-0.19998E+00, & - &-0.20526E+00,-0.20996E+00,-0.21416E+00,-0.21792E+00,-0.22130E+00, & - &-0.22433E+00,-0.22706E+00,-0.22950E+00,-0.23169E+00,-0.23364E+00, & - &-0.23537E+00,-0.23689E+00,-0.23822E+00,-0.23937E+00,-0.24035E+00, & - &-0.24117E+00,-0.24183E+00,-0.24235E+00,-0.24273E+00,-0.24298E+00, & - &-0.24310E+00,-0.24310E+00,-0.24299E+00,-0.24276E+00,-0.24242E+00, & - &-0.24198E+00,-0.24144E+00,-0.24080E+00,-0.24008E+00,-0.23926E+00, & - &-0.23835E+00,-0.23736E+00,-0.23630E+00,-0.23515E+00,-0.23393E+00, & - &-0.23264E+00,-0.23128E+00,-0.22985E+00,-0.22835E+00,-0.22680E+00, & - &-0.22518E+00,-0.22350E+00,-0.22177E+00,-0.21998E+00,-0.21814E+00, & - &-0.21625E+00,-0.21431E+00,-0.21232E+00,-0.21028E+00,-0.20820E+00, & - &-0.20607E+00,-0.20391E+00,-0.20170E+00,-0.19945E+00,-0.19716E+00, & - &-0.19483E+00,-0.19246E+00,-0.19006E+00,-0.18762E+00,-0.18514E+00, & - &-0.18263E+00,-0.18009E+00,-0.17751E+00,-0.17490E+00,-0.17225E+00, & - &-0.16957E+00,-0.16686E+00,-0.16412E+00,-0.16135E+00,-0.15854E+00, & - &-0.15571E+00,-0.15284E+00,-0.14994E+00,-0.14702E+00,-0.14406E+00, & - &-0.14108E+00,-0.13806E+00,-0.13502E+00,-0.13195E+00,-0.12885E+00, & - &-0.12573E+00,-0.12257E+00,-0.11940E+00,-0.11619E+00,-0.11297E+00, & - &-0.10972E+00,-0.10644E+00,-0.10315E+00,-0.99827E-01,-0.96489E-01/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.93130E-01,-0.89752E-01,-0.86357E-01,-0.82944E-01,-0.79515E-01, & - &-0.76070E-01,-0.72611E-01,-0.69138E-01,-0.65653E-01,-0.62156E-01, & - &-0.58649E-01,-0.55131E-01,-0.51605E-01,-0.48070E-01,-0.44529E-01, & - &-0.40980E-01,-0.37426E-01,-0.33868E-01,-0.30305E-01,-0.26738E-01, & - &-0.23169E-01,-0.19598E-01,-0.16026E-01,-0.12452E-01,-0.88787E-02, & - &-0.53053E-02,-0.17329E-02, 0.18381E-02, 0.54075E-02, 0.89747E-02, & - & 0.12539E-01, 0.16101E-01, 0.19659E-01, 0.23213E-01, 0.26764E-01, & - & 0.30310E-01, 0.33851E-01, 0.37388E-01, 0.40919E-01, 0.44446E-01, & - & 0.47966E-01, 0.51481E-01, 0.54990E-01, 0.58493E-01, 0.61990E-01, & - & 0.65481E-01, 0.68964E-01, 0.72442E-01, 0.75912E-01, 0.79376E-01, & - & 0.82833E-01, 0.86282E-01, 0.89725E-01, 0.93161E-01, 0.96589E-01, & - & 0.10001E+00, 0.10342E+00, 0.10683E+00, 0.11023E+00, 0.11362E+00, & - & 0.11700E+00, 0.12038E+00, 0.12375E+00, 0.12711E+00, 0.13046E+00, & - & 0.13381E+00, 0.13714E+00, 0.14047E+00, 0.14379E+00, 0.14711E+00, & - & 0.15041E+00, 0.15371E+00, 0.15700E+00, 0.16028E+00, 0.16356E+00, & - & 0.16683E+00, 0.17008E+00, 0.17334E+00, 0.17658E+00, 0.17981E+00, & - & 0.18304E+00, 0.18626E+00, 0.18947E+00, 0.19268E+00, 0.19587E+00, & - & 0.19906E+00, 0.20224E+00, 0.20541E+00, 0.20858E+00, 0.21173E+00, & - & 0.21488E+00, 0.21802E+00, 0.22116E+00, 0.22428E+00, 0.22740E+00, & - & 0.23051E+00, 0.23361E+00, 0.23671E+00, 0.23979E+00, 0.24287E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.24594E+00, 0.24901E+00, 0.25206E+00, 0.25511E+00, 0.25815E+00, & - & 0.26119E+00, 0.26422E+00, 0.26723E+00, 0.27025E+00, 0.27325E+00, & - & 0.27625E+00, 0.27924E+00, 0.28222E+00, 0.28519E+00, 0.28816E+00, & - & 0.29112E+00, 0.29407E+00, 0.29702E+00, 0.29996E+00, 0.30289E+00, & - & 0.30581E+00, 0.30873E+00, 0.31164E+00, 0.31454E+00, 0.31743E+00, & - & 0.32032E+00, 0.32320E+00, 0.32608E+00, 0.32895E+00, 0.33181E+00, & - & 0.33466E+00, 0.33751E+00, 0.34035E+00, 0.34318E+00, 0.34601E+00, & - & 0.34883E+00, 0.35164E+00, 0.35445E+00, 0.35725E+00, 0.36004E+00, & - & 0.36282E+00, 0.36560E+00, 0.36838E+00, 0.37114E+00, 0.37390E+00, & - & 0.37666E+00, 0.37940E+00, 0.38214E+00, 0.38488E+00, 0.38760E+00, & - & 0.39033E+00, 0.39304E+00, 0.39575E+00, 0.39845E+00, 0.40115E+00, & - & 0.40384E+00, 0.40652E+00, 0.40920E+00, 0.41187E+00, 0.41453E+00, & - & 0.41719E+00, 0.41985E+00, 0.42249E+00, 0.42513E+00, 0.42777E+00, & - & 0.43040E+00, 0.43302E+00, 0.43563E+00, 0.43825E+00, 0.44085E+00, & - & 0.44345E+00, 0.44604E+00, 0.44863E+00, 0.45121E+00, 0.45379E+00, & - & 0.45636E+00, 0.45892E+00, 0.46148E+00, 0.46403E+00, 0.46658E+00, & - & 0.46912E+00, 0.47165E+00, 0.47419E+00, 0.47671E+00, 0.47923E+00, & - & 0.48174E+00, 0.48425E+00, 0.48675E+00, 0.48925E+00, 0.49174E+00, & - & 0.49423E+00, 0.49671E+00, 0.49918E+00, 0.50165E+00, 0.50412E+00, & - & 0.50658E+00, 0.50903E+00, 0.51148E+00, 0.51392E+00, 0.51636E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.51879E+00, 0.52122E+00, 0.52364E+00, 0.52606E+00, 0.52847E+00, & - & 0.53088E+00, 0.53328E+00, 0.53568E+00, 0.53807E+00, 0.54046E+00, & - & 0.54284E+00, 0.54522E+00, 0.54759E+00, 0.54996E+00, 0.55232E+00, & - & 0.55467E+00, 0.55703E+00, 0.55937E+00, 0.56172E+00, 0.56405E+00, & - & 0.56639E+00, 0.56871E+00, 0.57104E+00, 0.57336E+00, 0.57567E+00, & - & 0.57798E+00, 0.58028E+00, 0.58258E+00, 0.58488E+00, 0.58717E+00, & - & 0.58945E+00, 0.59173E+00, 0.59401E+00, 0.59628E+00, 0.59855E+00, & - & 0.60081E+00, 0.60307E+00, 0.60532E+00, 0.60757E+00, 0.60981E+00, & - & 0.61205E+00, 0.61429E+00, 0.61652E+00, 0.61874E+00, 0.62097E+00, & - & 0.62318E+00, 0.62540E+00, 0.62761E+00, 0.62981E+00, 0.63201E+00, & - & 0.63421E+00, 0.63640E+00, 0.63859E+00, 0.64077E+00, 0.64295E+00, & - & 0.64512E+00, 0.64729E+00, 0.64946E+00, 0.65162E+00, 0.65378E+00, & - & 0.65593E+00, 0.65808E+00, 0.66022E+00, 0.66236E+00, 0.66450E+00, & - & 0.66663E+00, 0.66876E+00, 0.67089E+00, 0.67301E+00, 0.67512E+00, & - & 0.67724E+00, 0.67935E+00, 0.68145E+00, 0.68355E+00, 0.68565E+00, & - & 0.68774E+00, 0.68983E+00, 0.69191E+00, 0.69399E+00, 0.69607E+00, & - & 0.69814E+00, 0.70021E+00, 0.70228E+00, 0.70434E+00, 0.70639E+00, & - & 0.70845E+00, 0.71050E+00, 0.71254E+00, 0.71459E+00, 0.71662E+00, & - & 0.71866E+00, 0.72069E+00, 0.72272E+00, 0.72474E+00, 0.72676E+00, & - & 0.72878E+00, 0.73079E+00, 0.73280E+00, 0.73480E+00, 0.73680E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.73880E+00, 0.74079E+00, 0.74279E+00, 0.74477E+00, 0.74675E+00, & - & 0.74873E+00, 0.75071E+00, 0.75268E+00, 0.75465E+00, 0.75662E+00, & - & 0.75858E+00, 0.76054E+00, 0.76249E+00, 0.76444E+00, 0.76639E+00, & - & 0.76833E+00, 0.77028E+00, 0.77221E+00, 0.77415E+00, 0.77608E+00, & - & 0.77801E+00, 0.77993E+00, 0.78185E+00, 0.78377E+00, 0.78568E+00, & - & 0.78759E+00, 0.78950E+00, 0.79140E+00, 0.79330E+00, 0.79520E+00, & - & 0.79709E+00, 0.79898E+00, 0.80087E+00, 0.80275E+00, 0.80463E+00, & - & 0.80651E+00, 0.80838E+00, 0.81025E+00, 0.81212E+00, 0.81399E+00, & - & 0.81585E+00, 0.81770E+00, 0.81956E+00, 0.82141E+00, 0.82326E+00, & - & 0.82510E+00, 0.82694E+00, 0.82878E+00, 0.83062E+00, 0.83245E+00, & - & 0.83428E+00, 0.83611E+00, 0.83793E+00, 0.83975E+00, 0.84157E+00, & - & 0.84338E+00, 0.84519E+00, 0.84700E+00, 0.84880E+00, 0.85061E+00, & - & 0.85240E+00, 0.85420E+00, 0.85599E+00, 0.85778E+00, 0.85957E+00, & - & 0.86135E+00, 0.86313E+00, 0.86491E+00, 0.86669E+00, 0.86846E+00, & - & 0.87023E+00, 0.87199E+00, 0.87376E+00, 0.87552E+00, 0.87727E+00, & - & 0.87903E+00, 0.88078E+00, 0.88253E+00, 0.88427E+00, 0.88602E+00, & - & 0.88776E+00, 0.88949E+00, 0.89123E+00, 0.89296E+00, 0.89469E+00, & - & 0.89641E+00, 0.89814E+00, 0.89986E+00, 0.90157E+00, 0.90329E+00, & - & 0.90500E+00, 0.90671E+00, 0.90842E+00, 0.91012E+00, 0.91182E+00, & - & 0.91352E+00, 0.91521E+00, 0.91691E+00, 0.91860E+00, 0.92028E+00/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.92197E+00, 0.92365E+00, 0.92533E+00, 0.92700E+00, 0.92868E+00, & - & 0.93035E+00, 0.93202E+00, 0.93368E+00, 0.93535E+00, 0.93701E+00, & - & 0.93867E+00, 0.94032E+00, 0.94197E+00, 0.94362E+00, 0.94527E+00, & - & 0.94692E+00, 0.94856E+00, 0.95020E+00, 0.95184E+00, 0.95347E+00, & - & 0.95510E+00, 0.95673E+00, 0.95836E+00, 0.95998E+00, 0.96160E+00, & - & 0.96322E+00, 0.96484E+00, 0.96646E+00, 0.96807E+00, 0.96968E+00, & - & 0.97128E+00, 0.97289E+00, 0.97449E+00, 0.97609E+00, 0.97769E+00, & - & 0.97928E+00, 0.98087E+00, 0.98246E+00, 0.98405E+00, 0.98563E+00, & - & 0.98722E+00, 0.98880E+00, 0.99037E+00, 0.99195E+00, 0.99352E+00, & - & 0.99509E+00, 0.99666E+00, 0.99822E+00, 0.99979E+00, 0.10013E+01, & - & 0.10029E+01, 0.10045E+01, 0.10060E+01, 0.10076E+01, 0.10091E+01, & - & 0.10107E+01, 0.10122E+01, 0.10137E+01, 0.10153E+01, 0.10168E+01, & - & 0.10184E+01, 0.10199E+01, 0.10214E+01, 0.10230E+01, 0.10245E+01, & - & 0.10260E+01, 0.10275E+01, 0.10290E+01, 0.10306E+01, 0.10321E+01, & - & 0.10336E+01, 0.10351E+01, 0.10366E+01, 0.10381E+01, 0.10396E+01, & - & 0.10411E+01, 0.10426E+01, 0.10441E+01, 0.10456E+01, 0.10471E+01, & - & 0.10486E+01, 0.10501E+01, 0.10516E+01, 0.10530E+01, 0.10545E+01, & - & 0.10560E+01, 0.10575E+01, 0.10590E+01, 0.10604E+01, 0.10619E+01, & - & 0.10634E+01, 0.10648E+01, 0.10663E+01, 0.10678E+01, 0.10692E+01, & - & 0.10707E+01, 0.10721E+01, 0.10736E+01, 0.10750E+01, 0.10765E+01/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.10920E+01, 0.11062E+01, 0.11202E+01, 0.11339E+01, 0.11475E+01, & - & 0.11609E+01, 0.11741E+01, 0.11872E+01, 0.12000E+01, 0.12127E+01, & - & 0.12252E+01, 0.12376E+01, 0.12498E+01, 0.12619E+01, 0.12738E+01, & - & 0.12855E+01, 0.12971E+01, 0.13086E+01, 0.13199E+01, 0.13311E+01, & - & 0.13421E+01, 0.13531E+01, 0.13638E+01, 0.13745E+01, 0.13850E+01, & - & 0.13954E+01, 0.14057E+01, 0.14159E+01, 0.14259E+01, 0.14359E+01, & - & 0.14457E+01, 0.14554E+01, 0.14650E+01, 0.14745E+01, 0.14839E+01, & - & 0.14932E+01, 0.15024E+01, 0.15115E+01, 0.15205E+01, 0.15294E+01, & - & 0.15382E+01, 0.15469E+01, 0.15555E+01, 0.15641E+01, 0.15725E+01, & - & 0.15808E+01, 0.15891E+01, 0.15973E+01, 0.16054E+01, 0.16134E+01, & - & 0.16213E+01, 0.16292E+01, 0.16370E+01, 0.16447E+01, 0.16523E+01, & - & 0.16598E+01, 0.16673E+01, 0.16747E+01, 0.16820E+01, 0.16893E+01, & - & 0.16965E+01, 0.17036E+01, 0.17106E+01, 0.17176E+01, 0.17245E+01, & - & 0.17314E+01, 0.17381E+01, 0.17449E+01, 0.17515E+01, 0.17581E+01, & - & 0.17646E+01, 0.17711E+01, 0.17775E+01, 0.17839E+01, 0.17902E+01, & - & 0.17964E+01, 0.18026E+01, 0.18087E+01, 0.18148E+01, 0.18208E+01, & - & 0.18268E+01, 0.18327E+01, 0.18385E+01, 0.18443E+01, 0.18501E+01, & - & 0.18558E+01, 0.18614E+01, 0.18671E+01, 0.18726E+01, 0.18781E+01, & - & 0.18836E+01, 0.18890E+01, 0.18943E+01, 0.18997E+01, 0.19049E+01, & - & 0.19102E+01, 0.19153E+01, 0.19205E+01, 0.19256E+01, 0.19306E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19356E+01, 0.19406E+01, 0.19455E+01, 0.19504E+01, 0.19552E+01, & - & 0.19600E+01, 0.19648E+01, 0.19695E+01, 0.19742E+01, 0.19788E+01, & - & 0.19835E+01, 0.19880E+01, 0.19925E+01, 0.19970E+01, 0.20015E+01, & - & 0.20059E+01, 0.20103E+01, 0.20146E+01, 0.20190E+01, 0.20232E+01, & - & 0.20275E+01, 0.20317E+01, 0.20359E+01, 0.20400E+01, 0.20441E+01, & - & 0.20482E+01, 0.20522E+01, 0.20562E+01, 0.20602E+01, 0.20641E+01, & - & 0.20681E+01, 0.20719E+01, 0.20758E+01, 0.20796E+01, 0.20834E+01, & - & 0.20872E+01, 0.20909E+01, 0.20946E+01, 0.20983E+01, 0.21019E+01, & - & 0.21055E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.47292E-01,-0.97810E-01,-0.12025E+00,-0.13463E+00,-0.14486E+00, & - &-0.15252E+00,-0.15842E+00,-0.16303E+00,-0.16665E+00,-0.16950E+00, & - &-0.17170E+00,-0.17339E+00,-0.17464E+00,-0.17551E+00,-0.17606E+00, & - &-0.17633E+00,-0.17636E+00,-0.17617E+00,-0.17579E+00,-0.17524E+00, & - &-0.17454E+00,-0.17370E+00,-0.17274E+00,-0.17167E+00,-0.17050E+00, & - &-0.16924E+00,-0.16790E+00,-0.16648E+00,-0.16500E+00,-0.16345E+00, & - &-0.16185E+00,-0.16020E+00,-0.15851E+00,-0.15677E+00,-0.15499E+00, & - &-0.15319E+00,-0.15135E+00,-0.14948E+00,-0.14759E+00,-0.14568E+00, & - &-0.14374E+00,-0.14179E+00,-0.13982E+00,-0.13784E+00,-0.13585E+00, & - &-0.13384E+00,-0.13183E+00,-0.12981E+00,-0.12778E+00,-0.12574E+00, & - &-0.12369E+00,-0.12165E+00,-0.11959E+00,-0.11753E+00,-0.11547E+00, & - &-0.11341E+00,-0.11134E+00,-0.10926E+00,-0.10719E+00,-0.10510E+00, & - &-0.10302E+00,-0.10093E+00,-0.98835E-01,-0.96735E-01,-0.94630E-01, & - &-0.92519E-01,-0.90401E-01,-0.88277E-01,-0.86145E-01,-0.84004E-01, & - &-0.81855E-01,-0.79696E-01,-0.77527E-01,-0.75348E-01,-0.73157E-01, & - &-0.70954E-01,-0.68738E-01,-0.66510E-01,-0.64268E-01,-0.62011E-01, & - &-0.59741E-01,-0.57455E-01,-0.55153E-01,-0.52836E-01,-0.50503E-01, & - &-0.48154E-01,-0.45788E-01,-0.43406E-01,-0.41006E-01,-0.38591E-01, & - &-0.36158E-01,-0.33709E-01,-0.31243E-01,-0.28761E-01,-0.26264E-01, & - &-0.23750E-01,-0.21221E-01,-0.18676E-01,-0.16117E-01,-0.13544E-01/ - - DATA (BNC10M(I),I=101,200)/ & - &-0.10957E-01,-0.83559E-02,-0.57424E-02,-0.31166E-02,-0.47900E-03, & - & 0.21698E-02, 0.48293E-02, 0.74989E-02, 0.10178E-01, 0.12866E-01, & - & 0.15562E-01, 0.18266E-01, 0.20977E-01, 0.23695E-01, 0.26419E-01, & - & 0.29149E-01, 0.31883E-01, 0.34622E-01, 0.37365E-01, 0.40112E-01, & - & 0.42862E-01, 0.45614E-01, 0.48369E-01, 0.51126E-01, 0.53884E-01, & - & 0.56643E-01, 0.59403E-01, 0.62164E-01, 0.64925E-01, 0.67685E-01, & - & 0.70446E-01, 0.73206E-01, 0.75965E-01, 0.78723E-01, 0.81480E-01, & - & 0.84236E-01, 0.86990E-01, 0.89742E-01, 0.92493E-01, 0.95241E-01, & - & 0.97988E-01, 0.10073E+00, 0.10347E+00, 0.10621E+00, 0.10895E+00, & - & 0.11169E+00, 0.11442E+00, 0.11715E+00, 0.11987E+00, 0.12260E+00, & - & 0.12532E+00, 0.12803E+00, 0.13075E+00, 0.13346E+00, 0.13617E+00, & - & 0.13887E+00, 0.14157E+00, 0.14427E+00, 0.14697E+00, 0.14966E+00, & - & 0.15235E+00, 0.15503E+00, 0.15771E+00, 0.16039E+00, 0.16307E+00, & - & 0.16574E+00, 0.16840E+00, 0.17107E+00, 0.17373E+00, 0.17639E+00, & - & 0.17904E+00, 0.18169E+00, 0.18433E+00, 0.18698E+00, 0.18961E+00, & - & 0.19225E+00, 0.19488E+00, 0.19751E+00, 0.20013E+00, 0.20275E+00, & - & 0.20537E+00, 0.20798E+00, 0.21059E+00, 0.21319E+00, 0.21579E+00, & - & 0.21839E+00, 0.22098E+00, 0.22357E+00, 0.22615E+00, 0.22873E+00, & - & 0.23131E+00, 0.23388E+00, 0.23645E+00, 0.23902E+00, 0.24158E+00, & - & 0.24414E+00, 0.24669E+00, 0.24924E+00, 0.25178E+00, 0.25433E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.25686E+00, 0.25940E+00, 0.26192E+00, 0.26445E+00, 0.26697E+00, & - & 0.26949E+00, 0.27200E+00, 0.27451E+00, 0.27701E+00, 0.27952E+00, & - & 0.28201E+00, 0.28450E+00, 0.28699E+00, 0.28948E+00, 0.29196E+00, & - & 0.29444E+00, 0.29691E+00, 0.29938E+00, 0.30184E+00, 0.30430E+00, & - & 0.30676E+00, 0.30921E+00, 0.31166E+00, 0.31410E+00, 0.31654E+00, & - & 0.31898E+00, 0.32141E+00, 0.32384E+00, 0.32626E+00, 0.32868E+00, & - & 0.33109E+00, 0.33351E+00, 0.33591E+00, 0.33832E+00, 0.34071E+00, & - & 0.34311E+00, 0.34550E+00, 0.34789E+00, 0.35027E+00, 0.35265E+00, & - & 0.35502E+00, 0.35740E+00, 0.35976E+00, 0.36213E+00, 0.36448E+00, & - & 0.36684E+00, 0.36919E+00, 0.37154E+00, 0.37388E+00, 0.37622E+00, & - & 0.37855E+00, 0.38088E+00, 0.38321E+00, 0.38553E+00, 0.38785E+00, & - & 0.39016E+00, 0.39247E+00, 0.39478E+00, 0.39708E+00, 0.39938E+00, & - & 0.40168E+00, 0.40397E+00, 0.40626E+00, 0.40854E+00, 0.41082E+00, & - & 0.41309E+00, 0.41536E+00, 0.41763E+00, 0.41989E+00, 0.42215E+00, & - & 0.42441E+00, 0.42666E+00, 0.42891E+00, 0.43115E+00, 0.43339E+00, & - & 0.43563E+00, 0.43786E+00, 0.44009E+00, 0.44231E+00, 0.44453E+00, & - & 0.44675E+00, 0.44896E+00, 0.45117E+00, 0.45337E+00, 0.45558E+00, & - & 0.45777E+00, 0.45997E+00, 0.46216E+00, 0.46434E+00, 0.46652E+00, & - & 0.46870E+00, 0.47088E+00, 0.47305E+00, 0.47522E+00, 0.47738E+00, & - & 0.47954E+00, 0.48169E+00, 0.48385E+00, 0.48600E+00, 0.48814E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.49028E+00, 0.49242E+00, 0.49455E+00, 0.49668E+00, 0.49881E+00, & - & 0.50093E+00, 0.50305E+00, 0.50516E+00, 0.50728E+00, 0.50938E+00, & - & 0.51149E+00, 0.51359E+00, 0.51569E+00, 0.51778E+00, 0.51987E+00, & - & 0.52196E+00, 0.52404E+00, 0.52612E+00, 0.52819E+00, 0.53026E+00, & - & 0.53233E+00, 0.53440E+00, 0.53646E+00, 0.53851E+00, 0.54057E+00, & - & 0.54262E+00, 0.54467E+00, 0.54671E+00, 0.54875E+00, 0.55079E+00, & - & 0.55282E+00, 0.55485E+00, 0.55687E+00, 0.55890E+00, 0.56092E+00, & - & 0.56293E+00, 0.56494E+00, 0.56695E+00, 0.56896E+00, 0.57096E+00, & - & 0.57296E+00, 0.57495E+00, 0.57694E+00, 0.57893E+00, 0.58092E+00, & - & 0.58290E+00, 0.58488E+00, 0.58685E+00, 0.58882E+00, 0.59079E+00, & - & 0.59275E+00, 0.59472E+00, 0.59667E+00, 0.59863E+00, 0.60058E+00, & - & 0.60253E+00, 0.60447E+00, 0.60641E+00, 0.60835E+00, 0.61029E+00, & - & 0.61222E+00, 0.61415E+00, 0.61607E+00, 0.61799E+00, 0.61991E+00, & - & 0.62183E+00, 0.62374E+00, 0.62565E+00, 0.62755E+00, 0.62945E+00, & - & 0.63135E+00, 0.63325E+00, 0.63514E+00, 0.63703E+00, 0.63892E+00, & - & 0.64080E+00, 0.64268E+00, 0.64456E+00, 0.64643E+00, 0.64830E+00, & - & 0.65017E+00, 0.65204E+00, 0.65390E+00, 0.65576E+00, 0.65761E+00, & - & 0.65946E+00, 0.66131E+00, 0.66316E+00, 0.66500E+00, 0.66684E+00, & - & 0.66868E+00, 0.67051E+00, 0.67234E+00, 0.67417E+00, 0.67600E+00, & - & 0.67782E+00, 0.67964E+00, 0.68145E+00, 0.68326E+00, 0.68507E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.68688E+00, 0.68868E+00, 0.69049E+00, 0.69228E+00, 0.69408E+00, & - & 0.69587E+00, 0.69766E+00, 0.69944E+00, 0.70123E+00, 0.70301E+00, & - & 0.70479E+00, 0.70656E+00, 0.70833E+00, 0.71010E+00, 0.71187E+00, & - & 0.71363E+00, 0.71539E+00, 0.71715E+00, 0.71890E+00, 0.72065E+00, & - & 0.72240E+00, 0.72415E+00, 0.72589E+00, 0.72763E+00, 0.72937E+00, & - & 0.73110E+00, 0.73283E+00, 0.73456E+00, 0.73629E+00, 0.73801E+00, & - & 0.73973E+00, 0.74145E+00, 0.74316E+00, 0.74487E+00, 0.74658E+00, & - & 0.74829E+00, 0.75000E+00, 0.75170E+00, 0.75339E+00, 0.75509E+00, & - & 0.75678E+00, 0.75847E+00, 0.76016E+00, 0.76185E+00, 0.76353E+00, & - & 0.76521E+00, 0.76689E+00, 0.76856E+00, 0.77023E+00, 0.77190E+00, & - & 0.77357E+00, 0.77523E+00, 0.77689E+00, 0.77855E+00, 0.78021E+00, & - & 0.78186E+00, 0.78351E+00, 0.78516E+00, 0.78680E+00, 0.78844E+00, & - & 0.79009E+00, 0.79172E+00, 0.79336E+00, 0.79499E+00, 0.79662E+00, & - & 0.79825E+00, 0.79987E+00, 0.80149E+00, 0.80311E+00, 0.80473E+00, & - & 0.80635E+00, 0.80796E+00, 0.80957E+00, 0.81117E+00, 0.81278E+00, & - & 0.81438E+00, 0.81598E+00, 0.81758E+00, 0.81917E+00, 0.82076E+00, & - & 0.82235E+00, 0.82394E+00, 0.82553E+00, 0.82711E+00, 0.82869E+00, & - & 0.83027E+00, 0.83184E+00, 0.83341E+00, 0.83498E+00, 0.83655E+00, & - & 0.83812E+00, 0.83968E+00, 0.84124E+00, 0.84280E+00, 0.84435E+00, & - & 0.84591E+00, 0.84746E+00, 0.84901E+00, 0.85055E+00, 0.85210E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.85364E+00, 0.85518E+00, 0.85671E+00, 0.85825E+00, 0.85978E+00, & - & 0.86131E+00, 0.86284E+00, 0.86436E+00, 0.86589E+00, 0.86741E+00, & - & 0.86892E+00, 0.87044E+00, 0.87195E+00, 0.87346E+00, 0.87497E+00, & - & 0.87648E+00, 0.87799E+00, 0.87949E+00, 0.88099E+00, 0.88249E+00, & - & 0.88398E+00, 0.88547E+00, 0.88696E+00, 0.88845E+00, 0.88994E+00, & - & 0.89142E+00, 0.89291E+00, 0.89439E+00, 0.89586E+00, 0.89734E+00, & - & 0.89881E+00, 0.90028E+00, 0.90175E+00, 0.90322E+00, 0.90468E+00, & - & 0.90615E+00, 0.90761E+00, 0.90906E+00, 0.91052E+00, 0.91197E+00, & - & 0.91343E+00, 0.91488E+00, 0.91632E+00, 0.91777E+00, 0.91921E+00, & - & 0.92065E+00, 0.92209E+00, 0.92353E+00, 0.92496E+00, 0.92639E+00, & - & 0.92782E+00, 0.92925E+00, 0.93068E+00, 0.93210E+00, 0.93352E+00, & - & 0.93494E+00, 0.93636E+00, 0.93778E+00, 0.93919E+00, 0.94060E+00, & - & 0.94201E+00, 0.94342E+00, 0.94483E+00, 0.94623E+00, 0.94763E+00, & - & 0.94903E+00, 0.95043E+00, 0.95182E+00, 0.95322E+00, 0.95461E+00, & - & 0.95600E+00, 0.95738E+00, 0.95877E+00, 0.96015E+00, 0.96153E+00, & - & 0.96291E+00, 0.96429E+00, 0.96566E+00, 0.96704E+00, 0.96841E+00, & - & 0.96978E+00, 0.97115E+00, 0.97251E+00, 0.97388E+00, 0.97524E+00, & - & 0.97660E+00, 0.97795E+00, 0.97931E+00, 0.98066E+00, 0.98202E+00, & - & 0.98337E+00, 0.98471E+00, 0.98606E+00, 0.98740E+00, 0.98875E+00, & - & 0.99009E+00, 0.99143E+00, 0.99276E+00, 0.99410E+00, 0.99543E+00/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.10097E+01, 0.10227E+01, 0.10356E+01, 0.10483E+01, 0.10608E+01, & - & 0.10731E+01, 0.10852E+01, 0.10972E+01, 0.11091E+01, 0.11208E+01, & - & 0.11323E+01, 0.11437E+01, 0.11549E+01, 0.11660E+01, 0.11770E+01, & - & 0.11878E+01, 0.11985E+01, 0.12090E+01, 0.12195E+01, 0.12298E+01, & - & 0.12399E+01, 0.12500E+01, 0.12599E+01, 0.12697E+01, 0.12794E+01, & - & 0.12889E+01, 0.12984E+01, 0.13077E+01, 0.13170E+01, 0.13261E+01, & - & 0.13351E+01, 0.13441E+01, 0.13529E+01, 0.13616E+01, 0.13702E+01, & - & 0.13788E+01, 0.13872E+01, 0.13955E+01, 0.14038E+01, 0.14119E+01, & - & 0.14200E+01, 0.14280E+01, 0.14359E+01, 0.14437E+01, 0.14514E+01, & - & 0.14590E+01, 0.14666E+01, 0.14741E+01, 0.14815E+01, 0.14888E+01, & - & 0.14961E+01, 0.15032E+01, 0.15103E+01, 0.15174E+01, 0.15243E+01, & - & 0.15312E+01, 0.15380E+01, 0.15448E+01, 0.15515E+01, 0.15581E+01, & - & 0.15646E+01, 0.15711E+01, 0.15775E+01, 0.15839E+01, 0.15901E+01, & - & 0.15964E+01, 0.16025E+01, 0.16086E+01, 0.16147E+01, 0.16207E+01, & - & 0.16266E+01, 0.16325E+01, 0.16383E+01, 0.16441E+01, 0.16498E+01, & - & 0.16554E+01, 0.16610E+01, 0.16666E+01, 0.16721E+01, 0.16775E+01, & - & 0.16829E+01, 0.16882E+01, 0.16935E+01, 0.16988E+01, 0.17040E+01, & - & 0.17091E+01, 0.17142E+01, 0.17193E+01, 0.17243E+01, 0.17292E+01, & - & 0.17342E+01, 0.17390E+01, 0.17439E+01, 0.17486E+01, 0.17534E+01, & - & 0.17581E+01, 0.17627E+01, 0.17674E+01, 0.17719E+01, 0.17765E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17810E+01, 0.17854E+01, 0.17898E+01, 0.17942E+01, 0.17985E+01, & - & 0.18028E+01, 0.18071E+01, 0.18113E+01, 0.18155E+01, 0.18196E+01, & - & 0.18238E+01, 0.18278E+01, 0.18319E+01, 0.18359E+01, 0.18399E+01, & - & 0.18438E+01, 0.18477E+01, 0.18516E+01, 0.18554E+01, 0.18592E+01, & - & 0.18630E+01, 0.18667E+01, 0.18704E+01, 0.18741E+01, 0.18777E+01, & - & 0.18814E+01, 0.18849E+01, 0.18885E+01, 0.18920E+01, 0.18955E+01, & - & 0.18990E+01, 0.19024E+01, 0.19058E+01, 0.19092E+01, 0.19125E+01, & - & 0.19158E+01, 0.19191E+01, 0.19224E+01, 0.19256E+01, 0.19288E+01, & - & 0.19320E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.45992E-01,-0.91415E-01,-0.10957E+00,-0.12001E+00,-0.12652E+00, & - &-0.13058E+00,-0.13296E+00,-0.13409E+00,-0.13425E+00,-0.13365E+00, & - &-0.13241E+00,-0.13063E+00,-0.12840E+00,-0.12577E+00,-0.12279E+00, & - &-0.11951E+00,-0.11594E+00,-0.11213E+00,-0.10809E+00,-0.10384E+00, & - &-0.99402E-01,-0.94790E-01,-0.90019E-01,-0.85098E-01,-0.80040E-01, & - &-0.74855E-01,-0.69550E-01,-0.64135E-01,-0.58616E-01,-0.53002E-01, & - &-0.47297E-01,-0.41509E-01,-0.35643E-01,-0.29704E-01,-0.23697E-01, & - &-0.17626E-01,-0.11497E-01,-0.53118E-02, 0.92416E-03, 0.72078E-02, & - & 0.13536E-01, 0.19905E-01, 0.26312E-01, 0.32755E-01, 0.39231E-01, & - & 0.45737E-01, 0.52272E-01, 0.58833E-01, 0.65418E-01, 0.72027E-01, & - & 0.78657E-01, 0.85307E-01, 0.91976E-01, 0.98664E-01, 0.10537E+00, & - & 0.11209E+00, 0.11883E+00, 0.12558E+00, 0.13235E+00, 0.13913E+00, & - & 0.14593E+00, 0.15274E+00, 0.15958E+00, 0.16642E+00, 0.17329E+00, & - & 0.18017E+00, 0.18707E+00, 0.19399E+00, 0.20093E+00, 0.20789E+00, & - & 0.21487E+00, 0.22188E+00, 0.22891E+00, 0.23597E+00, 0.24305E+00, & - & 0.25016E+00, 0.25730E+00, 0.26447E+00, 0.27166E+00, 0.27890E+00, & - & 0.28616E+00, 0.29346E+00, 0.30079E+00, 0.30815E+00, 0.31556E+00, & - & 0.32299E+00, 0.33047E+00, 0.33798E+00, 0.34553E+00, 0.35311E+00, & - & 0.36073E+00, 0.36839E+00, 0.37608E+00, 0.38381E+00, 0.39158E+00, & - & 0.39937E+00, 0.40721E+00, 0.41507E+00, 0.42297E+00, 0.43089E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.43885E+00, 0.44683E+00, 0.45485E+00, 0.46288E+00, 0.47095E+00, & - & 0.47903E+00, 0.48714E+00, 0.49527E+00, 0.50341E+00, 0.51158E+00, & - & 0.51976E+00, 0.52795E+00, 0.53616E+00, 0.54438E+00, 0.55261E+00, & - & 0.56085E+00, 0.56909E+00, 0.57735E+00, 0.58561E+00, 0.59387E+00, & - & 0.60213E+00, 0.61040E+00, 0.61867E+00, 0.62693E+00, 0.63520E+00, & - & 0.64346E+00, 0.65172E+00, 0.65998E+00, 0.66823E+00, 0.67648E+00, & - & 0.68472E+00, 0.69296E+00, 0.70119E+00, 0.70941E+00, 0.71762E+00, & - & 0.72582E+00, 0.73402E+00, 0.74220E+00, 0.75038E+00, 0.75854E+00, & - & 0.76670E+00, 0.77484E+00, 0.78297E+00, 0.79109E+00, 0.79920E+00, & - & 0.80730E+00, 0.81539E+00, 0.82346E+00, 0.83152E+00, 0.83957E+00, & - & 0.84760E+00, 0.85562E+00, 0.86363E+00, 0.87163E+00, 0.87961E+00, & - & 0.88758E+00, 0.89553E+00, 0.90347E+00, 0.91140E+00, 0.91931E+00, & - & 0.92721E+00, 0.93510E+00, 0.94297E+00, 0.95083E+00, 0.95867E+00, & - & 0.96650E+00, 0.97431E+00, 0.98211E+00, 0.98990E+00, 0.99767E+00, & - & 0.10054E+01, 0.10132E+01, 0.10209E+01, 0.10286E+01, 0.10363E+01, & - & 0.10440E+01, 0.10517E+01, 0.10593E+01, 0.10669E+01, 0.10746E+01, & - & 0.10822E+01, 0.10898E+01, 0.10974E+01, 0.11049E+01, 0.11125E+01, & - & 0.11200E+01, 0.11275E+01, 0.11350E+01, 0.11425E+01, 0.11500E+01, & - & 0.11574E+01, 0.11649E+01, 0.11723E+01, 0.11797E+01, 0.11871E+01, & - & 0.11945E+01, 0.12019E+01, 0.12092E+01, 0.12166E+01, 0.12239E+01/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.12312E+01, 0.12385E+01, 0.12458E+01, 0.12531E+01, 0.12603E+01, & - & 0.12675E+01, 0.12748E+01, 0.12820E+01, 0.12892E+01, 0.12963E+01, & - & 0.13035E+01, 0.13106E+01, 0.13178E+01, 0.13249E+01, 0.13320E+01, & - & 0.13391E+01, 0.13462E+01, 0.13532E+01, 0.13603E+01, 0.13673E+01, & - & 0.13743E+01, 0.13813E+01, 0.13883E+01, 0.13953E+01, 0.14022E+01, & - & 0.14092E+01, 0.14161E+01, 0.14230E+01, 0.14299E+01, 0.14368E+01, & - & 0.14437E+01, 0.14505E+01, 0.14574E+01, 0.14642E+01, 0.14710E+01, & - & 0.14778E+01, 0.14846E+01, 0.14914E+01, 0.14981E+01, 0.15049E+01, & - & 0.15116E+01, 0.15183E+01, 0.15250E+01, 0.15317E+01, 0.15384E+01, & - & 0.15450E+01, 0.15517E+01, 0.15583E+01, 0.15650E+01, 0.15716E+01, & - & 0.15782E+01, 0.15847E+01, 0.15913E+01, 0.15979E+01, 0.16044E+01, & - & 0.16109E+01, 0.16174E+01, 0.16239E+01, 0.16304E+01, 0.16369E+01, & - & 0.16434E+01, 0.16498E+01, 0.16562E+01, 0.16627E+01, 0.16691E+01, & - & 0.16755E+01, 0.16818E+01, 0.16882E+01, 0.16946E+01, 0.17009E+01, & - & 0.17072E+01, 0.17136E+01, 0.17199E+01, 0.17262E+01, 0.17324E+01, & - & 0.17387E+01, 0.17450E+01, 0.17512E+01, 0.17574E+01, 0.17636E+01, & - & 0.17699E+01, 0.17760E+01, 0.17822E+01, 0.17884E+01, 0.17945E+01, & - & 0.18007E+01, 0.18068E+01, 0.18129E+01, 0.18190E+01, 0.18251E+01, & - & 0.18312E+01, 0.18373E+01, 0.18434E+01, 0.18494E+01, 0.18554E+01, & - & 0.18615E+01, 0.18675E+01, 0.18735E+01, 0.18795E+01, 0.18854E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.18914E+01, 0.18973E+01, 0.19033E+01, 0.19092E+01, 0.19151E+01, & - & 0.19210E+01, 0.19269E+01, 0.19328E+01, 0.19387E+01, 0.19446E+01, & - & 0.19504E+01, 0.19562E+01, 0.19621E+01, 0.19679E+01, 0.19737E+01, & - & 0.19795E+01, 0.19853E+01, 0.19910E+01, 0.19968E+01, 0.20025E+01, & - & 0.20083E+01, 0.20140E+01, 0.20197E+01, 0.20254E+01, 0.20311E+01, & - & 0.20368E+01, 0.20425E+01, 0.20481E+01, 0.20538E+01, 0.20594E+01, & - & 0.20651E+01, 0.20707E+01, 0.20763E+01, 0.20819E+01, 0.20875E+01, & - & 0.20931E+01, 0.20986E+01, 0.21042E+01, 0.21097E+01, 0.21153E+01, & - & 0.21208E+01, 0.21263E+01, 0.21318E+01, 0.21373E+01, 0.21428E+01, & - & 0.21483E+01, 0.21537E+01, 0.21592E+01, 0.21646E+01, 0.21701E+01, & - & 0.21755E+01, 0.21809E+01, 0.21863E+01, 0.21917E+01, 0.21971E+01, & - & 0.22025E+01, 0.22078E+01, 0.22132E+01, 0.22185E+01, 0.22239E+01, & - & 0.22292E+01, 0.22345E+01, 0.22398E+01, 0.22451E+01, 0.22504E+01, & - & 0.22557E+01, 0.22610E+01, 0.22662E+01, 0.22715E+01, 0.22767E+01, & - & 0.22819E+01, 0.22872E+01, 0.22924E+01, 0.22976E+01, 0.23028E+01, & - & 0.23080E+01, 0.23131E+01, 0.23183E+01, 0.23235E+01, 0.23286E+01, & - & 0.23338E+01, 0.23389E+01, 0.23440E+01, 0.23491E+01, 0.23542E+01, & - & 0.23593E+01, 0.23644E+01, 0.23695E+01, 0.23746E+01, 0.23796E+01, & - & 0.23847E+01, 0.23897E+01, 0.23947E+01, 0.23998E+01, 0.24048E+01, & - & 0.24098E+01, 0.24148E+01, 0.24198E+01, 0.24248E+01, 0.24297E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.24347E+01, 0.24397E+01, 0.24446E+01, 0.24496E+01, 0.24545E+01, & - & 0.24594E+01, 0.24643E+01, 0.24692E+01, 0.24741E+01, 0.24790E+01, & - & 0.24839E+01, 0.24888E+01, 0.24936E+01, 0.24985E+01, 0.25033E+01, & - & 0.25082E+01, 0.25130E+01, 0.25178E+01, 0.25227E+01, 0.25275E+01, & - & 0.25323E+01, 0.25371E+01, 0.25418E+01, 0.25466E+01, 0.25514E+01, & - & 0.25561E+01, 0.25609E+01, 0.25656E+01, 0.25704E+01, 0.25751E+01, & - & 0.25798E+01, 0.25845E+01, 0.25892E+01, 0.25939E+01, 0.25986E+01, & - & 0.26033E+01, 0.26080E+01, 0.26127E+01, 0.26173E+01, 0.26220E+01, & - & 0.26266E+01, 0.26313E+01, 0.26359E+01, 0.26405E+01, 0.26451E+01, & - & 0.26497E+01, 0.26543E+01, 0.26589E+01, 0.26635E+01, 0.26681E+01, & - & 0.26727E+01, 0.26772E+01, 0.26818E+01, 0.26863E+01, 0.26909E+01, & - & 0.26954E+01, 0.26999E+01, 0.27044E+01, 0.27090E+01, 0.27135E+01, & - & 0.27180E+01, 0.27224E+01, 0.27269E+01, 0.27314E+01, 0.27359E+01, & - & 0.27403E+01, 0.27448E+01, 0.27492E+01, 0.27537E+01, 0.27581E+01, & - & 0.27626E+01, 0.27670E+01, 0.27714E+01, 0.27758E+01, 0.27802E+01, & - & 0.27846E+01, 0.27890E+01, 0.27934E+01, 0.27977E+01, 0.28021E+01, & - & 0.28065E+01, 0.28108E+01, 0.28152E+01, 0.28195E+01, 0.28238E+01, & - & 0.28282E+01, 0.28325E+01, 0.28368E+01, 0.28411E+01, 0.28454E+01, & - & 0.28497E+01, 0.28540E+01, 0.28583E+01, 0.28625E+01, 0.28668E+01, & - & 0.28711E+01, 0.28753E+01, 0.28796E+01, 0.28838E+01, 0.28880E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.28923E+01, 0.28965E+01, 0.29007E+01, 0.29049E+01, 0.29091E+01, & - & 0.29133E+01, 0.29175E+01, 0.29217E+01, 0.29259E+01, 0.29301E+01, & - & 0.29342E+01, 0.29384E+01, 0.29425E+01, 0.29467E+01, 0.29508E+01, & - & 0.29550E+01, 0.29591E+01, 0.29632E+01, 0.29673E+01, 0.29714E+01, & - & 0.29756E+01, 0.29797E+01, 0.29837E+01, 0.29878E+01, 0.29919E+01, & - & 0.29960E+01, 0.30001E+01, 0.30041E+01, 0.30082E+01, 0.30122E+01, & - & 0.30163E+01, 0.30203E+01, 0.30244E+01, 0.30284E+01, 0.30324E+01, & - & 0.30364E+01, 0.30404E+01, 0.30444E+01, 0.30484E+01, 0.30524E+01, & - & 0.30564E+01, 0.30604E+01, 0.30644E+01, 0.30684E+01, 0.30723E+01, & - & 0.30763E+01, 0.30802E+01, 0.30842E+01, 0.30881E+01, 0.30921E+01, & - & 0.30960E+01, 0.30999E+01, 0.31039E+01, 0.31078E+01, 0.31117E+01, & - & 0.31156E+01, 0.31195E+01, 0.31234E+01, 0.31273E+01, 0.31311E+01, & - & 0.31350E+01, 0.31389E+01, 0.31428E+01, 0.31466E+01, 0.31505E+01, & - & 0.31543E+01, 0.31582E+01, 0.31620E+01, 0.31658E+01, 0.31697E+01, & - & 0.31735E+01, 0.31773E+01, 0.31811E+01, 0.31849E+01, 0.31887E+01, & - & 0.31925E+01, 0.31963E+01, 0.32001E+01, 0.32039E+01, 0.32077E+01, & - & 0.32115E+01, 0.32152E+01, 0.32190E+01, 0.32227E+01, 0.32265E+01, & - & 0.32302E+01, 0.32340E+01, 0.32377E+01, 0.32414E+01, 0.32452E+01, & - & 0.32489E+01, 0.32526E+01, 0.32563E+01, 0.32600E+01, 0.32637E+01, & - & 0.32674E+01, 0.32711E+01, 0.32748E+01, 0.32785E+01, 0.32822E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.33216E+01, 0.33575E+01, 0.33930E+01, 0.34281E+01, 0.34627E+01, & - & 0.34969E+01, 0.35306E+01, 0.35640E+01, 0.35969E+01, 0.36294E+01, & - & 0.36616E+01, 0.36933E+01, 0.37247E+01, 0.37557E+01, 0.37864E+01, & - & 0.38167E+01, 0.38467E+01, 0.38764E+01, 0.39057E+01, 0.39347E+01, & - & 0.39633E+01, 0.39917E+01, 0.40198E+01, 0.40475E+01, 0.40750E+01, & - & 0.41022E+01, 0.41291E+01, 0.41558E+01, 0.41821E+01, 0.42082E+01, & - & 0.42341E+01, 0.42596E+01, 0.42850E+01, 0.43100E+01, 0.43349E+01, & - & 0.43595E+01, 0.43838E+01, 0.44080E+01, 0.44319E+01, 0.44556E+01, & - & 0.44790E+01, 0.45023E+01, 0.45253E+01, 0.45481E+01, 0.45707E+01, & - & 0.45932E+01, 0.46154E+01, 0.46374E+01, 0.46592E+01, 0.46809E+01, & - & 0.47023E+01, 0.47236E+01, 0.47447E+01, 0.47656E+01, 0.47863E+01, & - & 0.48069E+01, 0.48273E+01, 0.48475E+01, 0.48675E+01, 0.48874E+01, & - & 0.49071E+01, 0.49267E+01, 0.49461E+01, 0.49654E+01, 0.49845E+01, & - & 0.50034E+01, 0.50222E+01, 0.50409E+01, 0.50594E+01, 0.50778E+01, & - & 0.50960E+01, 0.51141E+01, 0.51321E+01, 0.51499E+01, 0.51676E+01, & - & 0.51851E+01, 0.52025E+01, 0.52198E+01, 0.52370E+01, 0.52541E+01, & - & 0.52710E+01, 0.52878E+01, 0.53044E+01, 0.53210E+01, 0.53374E+01, & - & 0.53538E+01, 0.53700E+01, 0.53861E+01, 0.54021E+01, 0.54179E+01, & - & 0.54337E+01, 0.54494E+01, 0.54649E+01, 0.54804E+01, 0.54957E+01, & - & 0.55109E+01, 0.55261E+01, 0.55411E+01, 0.55560E+01, 0.55709E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.55856E+01, 0.56002E+01, 0.56148E+01, 0.56292E+01, 0.56436E+01, & - & 0.56579E+01, 0.56720E+01, 0.56861E+01, 0.57001E+01, 0.57140E+01, & - & 0.57278E+01, 0.57416E+01, 0.57552E+01, 0.57688E+01, 0.57822E+01, & - & 0.57956E+01, 0.58089E+01, 0.58222E+01, 0.58353E+01, 0.58484E+01, & - & 0.58614E+01, 0.58743E+01, 0.58871E+01, 0.58999E+01, 0.59126E+01, & - & 0.59252E+01, 0.59377E+01, 0.59501E+01, 0.59625E+01, 0.59748E+01, & - & 0.59871E+01, 0.59993E+01, 0.60114E+01, 0.60234E+01, 0.60353E+01, & - & 0.60472E+01, 0.60591E+01, 0.60708E+01, 0.60825E+01, 0.60941E+01, & - & 0.61057E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.47116E-01,-0.97475E-01,-0.12015E+00,-0.13491E+00,-0.14562E+00, & - &-0.15380E+00,-0.16023E+00,-0.16537E+00,-0.16952E+00,-0.17287E+00, & - &-0.17555E+00,-0.17769E+00,-0.17935E+00,-0.18059E+00,-0.18148E+00, & - &-0.18204E+00,-0.18230E+00,-0.18230E+00,-0.18206E+00,-0.18160E+00, & - &-0.18093E+00,-0.18008E+00,-0.17904E+00,-0.17783E+00,-0.17647E+00, & - &-0.17496E+00,-0.17331E+00,-0.17153E+00,-0.16962E+00,-0.16760E+00, & - &-0.16545E+00,-0.16320E+00,-0.16085E+00,-0.15839E+00,-0.15584E+00, & - &-0.15321E+00,-0.15048E+00,-0.14767E+00,-0.14478E+00,-0.14181E+00, & - &-0.13877E+00,-0.13567E+00,-0.13249E+00,-0.12925E+00,-0.12594E+00, & - &-0.12258E+00,-0.11916E+00,-0.11568E+00,-0.11216E+00,-0.10858E+00, & - &-0.10495E+00,-0.10127E+00,-0.97550E-01,-0.93785E-01,-0.89977E-01, & - &-0.86128E-01,-0.82239E-01,-0.78311E-01,-0.74345E-01,-0.70342E-01, & - &-0.66304E-01,-0.62230E-01,-0.58122E-01,-0.53979E-01,-0.49803E-01, & - &-0.45593E-01,-0.41351E-01,-0.37076E-01,-0.32768E-01,-0.28428E-01, & - &-0.24056E-01,-0.19651E-01,-0.15214E-01,-0.10744E-01,-0.62423E-02, & - &-0.17073E-02, 0.28604E-02, 0.74611E-02, 0.12095E-01, 0.16762E-01, & - & 0.21462E-01, 0.26196E-01, 0.30963E-01, 0.35763E-01, 0.40597E-01, & - & 0.45463E-01, 0.50363E-01, 0.55296E-01, 0.60261E-01, 0.65258E-01, & - & 0.70287E-01, 0.75348E-01, 0.80439E-01, 0.85560E-01, 0.90710E-01, & - & 0.95889E-01, 0.10110E+00, 0.10633E+00, 0.11159E+00, 0.11687E+00/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.12218E+00, 0.12752E+00, 0.13287E+00, 0.13824E+00, 0.14364E+00, & - & 0.14905E+00, 0.15448E+00, 0.15993E+00, 0.16539E+00, 0.17086E+00, & - & 0.17635E+00, 0.18185E+00, 0.18736E+00, 0.19287E+00, 0.19840E+00, & - & 0.20393E+00, 0.20947E+00, 0.21502E+00, 0.22057E+00, 0.22612E+00, & - & 0.23167E+00, 0.23722E+00, 0.24278E+00, 0.24834E+00, 0.25389E+00, & - & 0.25944E+00, 0.26499E+00, 0.27054E+00, 0.27608E+00, 0.28162E+00, & - & 0.28715E+00, 0.29268E+00, 0.29821E+00, 0.30373E+00, 0.30924E+00, & - & 0.31474E+00, 0.32024E+00, 0.32573E+00, 0.33121E+00, 0.33668E+00, & - & 0.34215E+00, 0.34761E+00, 0.35306E+00, 0.35850E+00, 0.36393E+00, & - & 0.36935E+00, 0.37476E+00, 0.38016E+00, 0.38555E+00, 0.39094E+00, & - & 0.39631E+00, 0.40167E+00, 0.40703E+00, 0.41237E+00, 0.41770E+00, & - & 0.42302E+00, 0.42833E+00, 0.43363E+00, 0.43893E+00, 0.44420E+00, & - & 0.44947E+00, 0.45473E+00, 0.45998E+00, 0.46522E+00, 0.47044E+00, & - & 0.47566E+00, 0.48087E+00, 0.48606E+00, 0.49124E+00, 0.49641E+00, & - & 0.50158E+00, 0.50673E+00, 0.51187E+00, 0.51699E+00, 0.52211E+00, & - & 0.52722E+00, 0.53232E+00, 0.53740E+00, 0.54247E+00, 0.54754E+00, & - & 0.55259E+00, 0.55763E+00, 0.56266E+00, 0.56768E+00, 0.57269E+00, & - & 0.57769E+00, 0.58267E+00, 0.58765E+00, 0.59262E+00, 0.59757E+00, & - & 0.60251E+00, 0.60745E+00, 0.61237E+00, 0.61728E+00, 0.62218E+00, & - & 0.62707E+00, 0.63195E+00, 0.63682E+00, 0.64168E+00, 0.64652E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.65136E+00, 0.65619E+00, 0.66100E+00, 0.66581E+00, 0.67060E+00, & - & 0.67539E+00, 0.68016E+00, 0.68492E+00, 0.68968E+00, 0.69442E+00, & - & 0.69915E+00, 0.70387E+00, 0.70858E+00, 0.71328E+00, 0.71798E+00, & - & 0.72266E+00, 0.72733E+00, 0.73199E+00, 0.73664E+00, 0.74128E+00, & - & 0.74591E+00, 0.75053E+00, 0.75514E+00, 0.75974E+00, 0.76433E+00, & - & 0.76891E+00, 0.77348E+00, 0.77804E+00, 0.78260E+00, 0.78714E+00, & - & 0.79167E+00, 0.79619E+00, 0.80070E+00, 0.80521E+00, 0.80970E+00, & - & 0.81418E+00, 0.81866E+00, 0.82312E+00, 0.82758E+00, 0.83202E+00, & - & 0.83646E+00, 0.84089E+00, 0.84530E+00, 0.84971E+00, 0.85411E+00, & - & 0.85850E+00, 0.86288E+00, 0.86725E+00, 0.87161E+00, 0.87597E+00, & - & 0.88031E+00, 0.88465E+00, 0.88897E+00, 0.89329E+00, 0.89760E+00, & - & 0.90189E+00, 0.90619E+00, 0.91047E+00, 0.91474E+00, 0.91900E+00, & - & 0.92326E+00, 0.92750E+00, 0.93174E+00, 0.93597E+00, 0.94019E+00, & - & 0.94440E+00, 0.94860E+00, 0.95280E+00, 0.95698E+00, 0.96116E+00, & - & 0.96533E+00, 0.96949E+00, 0.97364E+00, 0.97778E+00, 0.98192E+00, & - & 0.98604E+00, 0.99016E+00, 0.99427E+00, 0.99837E+00, 0.10025E+01, & - & 0.10066E+01, 0.10106E+01, 0.10147E+01, 0.10188E+01, 0.10228E+01, & - & 0.10269E+01, 0.10309E+01, 0.10349E+01, 0.10389E+01, 0.10430E+01, & - & 0.10470E+01, 0.10510E+01, 0.10549E+01, 0.10589E+01, 0.10629E+01, & - & 0.10669E+01, 0.10708E+01, 0.10748E+01, 0.10787E+01, 0.10827E+01/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.10866E+01, 0.10905E+01, 0.10944E+01, 0.10983E+01, 0.11022E+01, & - & 0.11061E+01, 0.11100E+01, 0.11139E+01, 0.11177E+01, 0.11216E+01, & - & 0.11254E+01, 0.11293E+01, 0.11331E+01, 0.11370E+01, 0.11408E+01, & - & 0.11446E+01, 0.11484E+01, 0.11522E+01, 0.11560E+01, 0.11598E+01, & - & 0.11636E+01, 0.11673E+01, 0.11711E+01, 0.11749E+01, 0.11786E+01, & - & 0.11824E+01, 0.11861E+01, 0.11898E+01, 0.11936E+01, 0.11973E+01, & - & 0.12010E+01, 0.12047E+01, 0.12084E+01, 0.12121E+01, 0.12157E+01, & - & 0.12194E+01, 0.12231E+01, 0.12268E+01, 0.12304E+01, 0.12341E+01, & - & 0.12377E+01, 0.12413E+01, 0.12450E+01, 0.12486E+01, 0.12522E+01, & - & 0.12558E+01, 0.12594E+01, 0.12630E+01, 0.12666E+01, 0.12702E+01, & - & 0.12738E+01, 0.12773E+01, 0.12809E+01, 0.12844E+01, 0.12880E+01, & - & 0.12915E+01, 0.12951E+01, 0.12986E+01, 0.13021E+01, 0.13057E+01, & - & 0.13092E+01, 0.13127E+01, 0.13162E+01, 0.13197E+01, 0.13232E+01, & - & 0.13266E+01, 0.13301E+01, 0.13336E+01, 0.13370E+01, 0.13405E+01, & - & 0.13440E+01, 0.13474E+01, 0.13508E+01, 0.13543E+01, 0.13577E+01, & - & 0.13611E+01, 0.13645E+01, 0.13679E+01, 0.13714E+01, 0.13747E+01, & - & 0.13781E+01, 0.13815E+01, 0.13849E+01, 0.13883E+01, 0.13916E+01, & - & 0.13950E+01, 0.13984E+01, 0.14017E+01, 0.14051E+01, 0.14084E+01, & - & 0.14117E+01, 0.14151E+01, 0.14184E+01, 0.14217E+01, 0.14250E+01, & - & 0.14283E+01, 0.14316E+01, 0.14349E+01, 0.14382E+01, 0.14415E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.14448E+01, 0.14480E+01, 0.14513E+01, 0.14546E+01, 0.14578E+01, & - & 0.14611E+01, 0.14643E+01, 0.14676E+01, 0.14708E+01, 0.14740E+01, & - & 0.14772E+01, 0.14805E+01, 0.14837E+01, 0.14869E+01, 0.14901E+01, & - & 0.14933E+01, 0.14965E+01, 0.14997E+01, 0.15028E+01, 0.15060E+01, & - & 0.15092E+01, 0.15124E+01, 0.15155E+01, 0.15187E+01, 0.15218E+01, & - & 0.15250E+01, 0.15281E+01, 0.15312E+01, 0.15344E+01, 0.15375E+01, & - & 0.15406E+01, 0.15437E+01, 0.15468E+01, 0.15499E+01, 0.15530E+01, & - & 0.15561E+01, 0.15592E+01, 0.15623E+01, 0.15654E+01, 0.15685E+01, & - & 0.15715E+01, 0.15746E+01, 0.15776E+01, 0.15807E+01, 0.15838E+01, & - & 0.15868E+01, 0.15898E+01, 0.15929E+01, 0.15959E+01, 0.15989E+01, & - & 0.16020E+01, 0.16050E+01, 0.16080E+01, 0.16110E+01, 0.16140E+01, & - & 0.16170E+01, 0.16200E+01, 0.16230E+01, 0.16259E+01, 0.16289E+01, & - & 0.16319E+01, 0.16349E+01, 0.16378E+01, 0.16408E+01, 0.16437E+01, & - & 0.16467E+01, 0.16496E+01, 0.16526E+01, 0.16555E+01, 0.16585E+01, & - & 0.16614E+01, 0.16643E+01, 0.16672E+01, 0.16701E+01, 0.16731E+01, & - & 0.16760E+01, 0.16789E+01, 0.16818E+01, 0.16846E+01, 0.16875E+01, & - & 0.16904E+01, 0.16933E+01, 0.16962E+01, 0.16990E+01, 0.17019E+01, & - & 0.17048E+01, 0.17076E+01, 0.17105E+01, 0.17133E+01, 0.17162E+01, & - & 0.17190E+01, 0.17218E+01, 0.17247E+01, 0.17275E+01, 0.17303E+01, & - & 0.17331E+01, 0.17360E+01, 0.17388E+01, 0.17416E+01, 0.17444E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.17472E+01, 0.17500E+01, 0.17528E+01, 0.17555E+01, 0.17583E+01, & - & 0.17611E+01, 0.17639E+01, 0.17666E+01, 0.17694E+01, 0.17722E+01, & - & 0.17749E+01, 0.17777E+01, 0.17804E+01, 0.17832E+01, 0.17859E+01, & - & 0.17887E+01, 0.17914E+01, 0.17941E+01, 0.17968E+01, 0.17996E+01, & - & 0.18023E+01, 0.18050E+01, 0.18077E+01, 0.18104E+01, 0.18131E+01, & - & 0.18158E+01, 0.18185E+01, 0.18212E+01, 0.18239E+01, 0.18265E+01, & - & 0.18292E+01, 0.18319E+01, 0.18346E+01, 0.18372E+01, 0.18399E+01, & - & 0.18426E+01, 0.18452E+01, 0.18479E+01, 0.18505E+01, 0.18531E+01, & - & 0.18558E+01, 0.18584E+01, 0.18611E+01, 0.18637E+01, 0.18663E+01, & - & 0.18689E+01, 0.18715E+01, 0.18742E+01, 0.18768E+01, 0.18794E+01, & - & 0.18820E+01, 0.18846E+01, 0.18872E+01, 0.18898E+01, 0.18923E+01, & - & 0.18949E+01, 0.18975E+01, 0.19001E+01, 0.19027E+01, 0.19052E+01, & - & 0.19078E+01, 0.19104E+01, 0.19129E+01, 0.19155E+01, 0.19180E+01, & - & 0.19206E+01, 0.19231E+01, 0.19257E+01, 0.19282E+01, 0.19307E+01, & - & 0.19333E+01, 0.19358E+01, 0.19383E+01, 0.19408E+01, 0.19433E+01, & - & 0.19459E+01, 0.19484E+01, 0.19509E+01, 0.19534E+01, 0.19559E+01, & - & 0.19584E+01, 0.19609E+01, 0.19634E+01, 0.19658E+01, 0.19683E+01, & - & 0.19708E+01, 0.19733E+01, 0.19757E+01, 0.19782E+01, 0.19807E+01, & - & 0.19831E+01, 0.19856E+01, 0.19881E+01, 0.19905E+01, 0.19930E+01, & - & 0.19954E+01, 0.19978E+01, 0.20003E+01, 0.20027E+01, 0.20052E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.20312E+01, 0.20550E+01, 0.20785E+01, 0.21017E+01, 0.21246E+01, & - & 0.21472E+01, 0.21695E+01, 0.21916E+01, 0.22134E+01, 0.22349E+01, & - & 0.22561E+01, 0.22771E+01, 0.22978E+01, 0.23183E+01, 0.23386E+01, & - & 0.23586E+01, 0.23784E+01, 0.23980E+01, 0.24173E+01, 0.24364E+01, & - & 0.24553E+01, 0.24740E+01, 0.24925E+01, 0.25108E+01, 0.25289E+01, & - & 0.25468E+01, 0.25646E+01, 0.25821E+01, 0.25994E+01, 0.26166E+01, & - & 0.26336E+01, 0.26504E+01, 0.26670E+01, 0.26835E+01, 0.26998E+01, & - & 0.27160E+01, 0.27320E+01, 0.27478E+01, 0.27635E+01, 0.27790E+01, & - & 0.27944E+01, 0.28096E+01, 0.28247E+01, 0.28396E+01, 0.28544E+01, & - & 0.28690E+01, 0.28836E+01, 0.28980E+01, 0.29122E+01, 0.29263E+01, & - & 0.29403E+01, 0.29542E+01, 0.29680E+01, 0.29816E+01, 0.29951E+01, & - & 0.30085E+01, 0.30217E+01, 0.30349E+01, 0.30479E+01, 0.30609E+01, & - & 0.30737E+01, 0.30864E+01, 0.30990E+01, 0.31115E+01, 0.31239E+01, & - & 0.31362E+01, 0.31483E+01, 0.31604E+01, 0.31724E+01, 0.31843E+01, & - & 0.31961E+01, 0.32078E+01, 0.32194E+01, 0.32309E+01, 0.32423E+01, & - & 0.32536E+01, 0.32648E+01, 0.32760E+01, 0.32870E+01, 0.32980E+01, & - & 0.33089E+01, 0.33197E+01, 0.33304E+01, 0.33411E+01, 0.33516E+01, & - & 0.33621E+01, 0.33725E+01, 0.33828E+01, 0.33931E+01, 0.34032E+01, & - & 0.34133E+01, 0.34233E+01, 0.34333E+01, 0.34431E+01, 0.34529E+01, & - & 0.34627E+01, 0.34723E+01, 0.34819E+01, 0.34914E+01, 0.35009E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.35103E+01, 0.35196E+01, 0.35288E+01, 0.35380E+01, 0.35471E+01, & - & 0.35562E+01, 0.35652E+01, 0.35741E+01, 0.35830E+01, 0.35918E+01, & - & 0.36005E+01, 0.36092E+01, 0.36178E+01, 0.36264E+01, 0.36349E+01, & - & 0.36434E+01, 0.36518E+01, 0.36601E+01, 0.36684E+01, 0.36766E+01, & - & 0.36848E+01, 0.36929E+01, 0.37010E+01, 0.37090E+01, 0.37169E+01, & - & 0.37248E+01, 0.37327E+01, 0.37405E+01, 0.37483E+01, 0.37560E+01, & - & 0.37636E+01, 0.37712E+01, 0.37788E+01, 0.37863E+01, 0.37938E+01, & - & 0.38012E+01, 0.38085E+01, 0.38159E+01, 0.38231E+01, 0.38304E+01, & - & 0.38376E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.78016E-01,-0.16930E+00,-0.21481E+00,-0.24696E+00,-0.27216E+00, & - &-0.29302E+00,-0.31087E+00,-0.32649E+00,-0.34040E+00,-0.35293E+00, & - &-0.36434E+00,-0.37481E+00,-0.38448E+00,-0.39347E+00,-0.40186E+00, & - &-0.40972E+00,-0.41711E+00,-0.42408E+00,-0.43067E+00,-0.43692E+00, & - &-0.44285E+00,-0.44850E+00,-0.45388E+00,-0.45901E+00,-0.46392E+00, & - &-0.46861E+00,-0.47311E+00,-0.47741E+00,-0.48155E+00,-0.48551E+00, & - &-0.48933E+00,-0.49299E+00,-0.49651E+00,-0.49991E+00,-0.50317E+00, & - &-0.50632E+00,-0.50935E+00,-0.51227E+00,-0.51508E+00,-0.51780E+00, & - &-0.52042E+00,-0.52294E+00,-0.52538E+00,-0.52774E+00,-0.53001E+00, & - &-0.53221E+00,-0.53432E+00,-0.53637E+00,-0.53835E+00,-0.54026E+00, & - &-0.54210E+00,-0.54389E+00,-0.54561E+00,-0.54727E+00,-0.54888E+00, & - &-0.55044E+00,-0.55194E+00,-0.55339E+00,-0.55479E+00,-0.55615E+00, & - &-0.55746E+00,-0.55872E+00,-0.55994E+00,-0.56113E+00,-0.56227E+00, & - &-0.56337E+00,-0.56443E+00,-0.56546E+00,-0.56645E+00,-0.56741E+00, & - &-0.56833E+00,-0.56922E+00,-0.57008E+00,-0.57090E+00,-0.57170E+00, & - &-0.57246E+00,-0.57320E+00,-0.57391E+00,-0.57459E+00,-0.57524E+00, & - &-0.57587E+00,-0.57647E+00,-0.57704E+00,-0.57759E+00,-0.57812E+00, & - &-0.57862E+00,-0.57910E+00,-0.57955E+00,-0.57999E+00,-0.58040E+00, & - &-0.58078E+00,-0.58115E+00,-0.58150E+00,-0.58183E+00,-0.58214E+00, & - &-0.58243E+00,-0.58270E+00,-0.58295E+00,-0.58318E+00,-0.58340E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.58360E+00,-0.58379E+00,-0.58396E+00,-0.58411E+00,-0.58425E+00, & - &-0.58438E+00,-0.58449E+00,-0.58459E+00,-0.58467E+00,-0.58475E+00, & - &-0.58481E+00,-0.58486E+00,-0.58490E+00,-0.58493E+00,-0.58495E+00, & - &-0.58495E+00,-0.58495E+00,-0.58495E+00,-0.58493E+00,-0.58490E+00, & - &-0.58487E+00,-0.58483E+00,-0.58478E+00,-0.58473E+00,-0.58467E+00, & - &-0.58460E+00,-0.58452E+00,-0.58445E+00,-0.58436E+00,-0.58427E+00, & - &-0.58418E+00,-0.58408E+00,-0.58397E+00,-0.58386E+00,-0.58375E+00, & - &-0.58363E+00,-0.58351E+00,-0.58339E+00,-0.58326E+00,-0.58313E+00, & - &-0.58300E+00,-0.58286E+00,-0.58272E+00,-0.58258E+00,-0.58243E+00, & - &-0.58228E+00,-0.58213E+00,-0.58198E+00,-0.58183E+00,-0.58167E+00, & - &-0.58151E+00,-0.58135E+00,-0.58119E+00,-0.58102E+00,-0.58086E+00, & - &-0.58069E+00,-0.58052E+00,-0.58035E+00,-0.58018E+00,-0.58001E+00, & - &-0.57983E+00,-0.57966E+00,-0.57948E+00,-0.57930E+00,-0.57912E+00, & - &-0.57894E+00,-0.57876E+00,-0.57858E+00,-0.57840E+00,-0.57822E+00, & - &-0.57803E+00,-0.57785E+00,-0.57766E+00,-0.57748E+00,-0.57729E+00, & - &-0.57711E+00,-0.57692E+00,-0.57673E+00,-0.57655E+00,-0.57636E+00, & - &-0.57617E+00,-0.57598E+00,-0.57579E+00,-0.57561E+00,-0.57542E+00, & - &-0.57523E+00,-0.57504E+00,-0.57485E+00,-0.57466E+00,-0.57447E+00, & - &-0.57428E+00,-0.57409E+00,-0.57390E+00,-0.57372E+00,-0.57353E+00, & - &-0.57334E+00,-0.57315E+00,-0.57296E+00,-0.57277E+00,-0.57258E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.57240E+00,-0.57221E+00,-0.57202E+00,-0.57183E+00,-0.57165E+00, & - &-0.57146E+00,-0.57127E+00,-0.57109E+00,-0.57090E+00,-0.57072E+00, & - &-0.57053E+00,-0.57035E+00,-0.57016E+00,-0.56998E+00,-0.56980E+00, & - &-0.56961E+00,-0.56943E+00,-0.56925E+00,-0.56907E+00,-0.56888E+00, & - &-0.56870E+00,-0.56852E+00,-0.56834E+00,-0.56816E+00,-0.56798E+00, & - &-0.56781E+00,-0.56763E+00,-0.56745E+00,-0.56727E+00,-0.56710E+00, & - &-0.56692E+00,-0.56675E+00,-0.56657E+00,-0.56640E+00,-0.56623E+00, & - &-0.56605E+00,-0.56588E+00,-0.56571E+00,-0.56554E+00,-0.56537E+00, & - &-0.56520E+00,-0.56503E+00,-0.56486E+00,-0.56469E+00,-0.56452E+00, & - &-0.56436E+00,-0.56419E+00,-0.56402E+00,-0.56386E+00,-0.56370E+00, & - &-0.56353E+00,-0.56337E+00,-0.56321E+00,-0.56304E+00,-0.56288E+00, & - &-0.56272E+00,-0.56256E+00,-0.56240E+00,-0.56225E+00,-0.56209E+00, & - &-0.56193E+00,-0.56178E+00,-0.56162E+00,-0.56146E+00,-0.56131E+00, & - &-0.56116E+00,-0.56100E+00,-0.56085E+00,-0.56070E+00,-0.56055E+00, & - &-0.56040E+00,-0.56025E+00,-0.56010E+00,-0.55995E+00,-0.55980E+00, & - &-0.55966E+00,-0.55951E+00,-0.55937E+00,-0.55922E+00,-0.55908E+00, & - &-0.55893E+00,-0.55879E+00,-0.55865E+00,-0.55851E+00,-0.55837E+00, & - &-0.55823E+00,-0.55809E+00,-0.55795E+00,-0.55781E+00,-0.55768E+00, & - &-0.55754E+00,-0.55740E+00,-0.55727E+00,-0.55714E+00,-0.55700E+00, & - &-0.55687E+00,-0.55674E+00,-0.55661E+00,-0.55648E+00,-0.55635E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.55622E+00,-0.55609E+00,-0.55596E+00,-0.55583E+00,-0.55571E+00, & - &-0.55558E+00,-0.55546E+00,-0.55533E+00,-0.55521E+00,-0.55509E+00, & - &-0.55496E+00,-0.55484E+00,-0.55472E+00,-0.55460E+00,-0.55448E+00, & - &-0.55436E+00,-0.55425E+00,-0.55413E+00,-0.55401E+00,-0.55390E+00, & - &-0.55378E+00,-0.55367E+00,-0.55355E+00,-0.55344E+00,-0.55333E+00, & - &-0.55322E+00,-0.55311E+00,-0.55300E+00,-0.55289E+00,-0.55278E+00, & - &-0.55267E+00,-0.55256E+00,-0.55246E+00,-0.55235E+00,-0.55224E+00, & - &-0.55214E+00,-0.55204E+00,-0.55193E+00,-0.55183E+00,-0.55173E+00, & - &-0.55163E+00,-0.55153E+00,-0.55143E+00,-0.55133E+00,-0.55123E+00, & - &-0.55113E+00,-0.55103E+00,-0.55094E+00,-0.55084E+00,-0.55075E+00, & - &-0.55065E+00,-0.55056E+00,-0.55047E+00,-0.55037E+00,-0.55028E+00, & - &-0.55019E+00,-0.55010E+00,-0.55001E+00,-0.54992E+00,-0.54983E+00, & - &-0.54975E+00,-0.54966E+00,-0.54957E+00,-0.54949E+00,-0.54940E+00, & - &-0.54932E+00,-0.54924E+00,-0.54915E+00,-0.54907E+00,-0.54899E+00, & - &-0.54891E+00,-0.54883E+00,-0.54875E+00,-0.54867E+00,-0.54859E+00, & - &-0.54851E+00,-0.54844E+00,-0.54836E+00,-0.54828E+00,-0.54821E+00, & - &-0.54813E+00,-0.54806E+00,-0.54799E+00,-0.54792E+00,-0.54784E+00, & - &-0.54777E+00,-0.54770E+00,-0.54763E+00,-0.54756E+00,-0.54749E+00, & - &-0.54743E+00,-0.54736E+00,-0.54729E+00,-0.54723E+00,-0.54716E+00, & - &-0.54710E+00,-0.54703E+00,-0.54697E+00,-0.54691E+00,-0.54684E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.54678E+00,-0.54672E+00,-0.54666E+00,-0.54660E+00,-0.54654E+00, & - &-0.54648E+00,-0.54643E+00,-0.54637E+00,-0.54631E+00,-0.54626E+00, & - &-0.54620E+00,-0.54615E+00,-0.54609E+00,-0.54604E+00,-0.54599E+00, & - &-0.54593E+00,-0.54588E+00,-0.54583E+00,-0.54578E+00,-0.54573E+00, & - &-0.54568E+00,-0.54563E+00,-0.54558E+00,-0.54554E+00,-0.54549E+00, & - &-0.54544E+00,-0.54540E+00,-0.54535E+00,-0.54531E+00,-0.54527E+00, & - &-0.54522E+00,-0.54518E+00,-0.54514E+00,-0.54510E+00,-0.54506E+00, & - &-0.54502E+00,-0.54498E+00,-0.54494E+00,-0.54490E+00,-0.54486E+00, & - &-0.54482E+00,-0.54479E+00,-0.54475E+00,-0.54471E+00,-0.54468E+00, & - &-0.54465E+00,-0.54461E+00,-0.54458E+00,-0.54455E+00,-0.54451E+00, & - &-0.54448E+00,-0.54445E+00,-0.54442E+00,-0.54439E+00,-0.54436E+00, & - &-0.54433E+00,-0.54430E+00,-0.54428E+00,-0.54425E+00,-0.54422E+00, & - &-0.54420E+00,-0.54417E+00,-0.54415E+00,-0.54412E+00,-0.54410E+00, & - &-0.54408E+00,-0.54405E+00,-0.54403E+00,-0.54401E+00,-0.54399E+00, & - &-0.54397E+00,-0.54395E+00,-0.54393E+00,-0.54391E+00,-0.54389E+00, & - &-0.54388E+00,-0.54386E+00,-0.54384E+00,-0.54383E+00,-0.54381E+00, & - &-0.54380E+00,-0.54378E+00,-0.54377E+00,-0.54376E+00,-0.54374E+00, & - &-0.54373E+00,-0.54372E+00,-0.54371E+00,-0.54370E+00,-0.54369E+00, & - &-0.54368E+00,-0.54367E+00,-0.54366E+00,-0.54365E+00,-0.54365E+00, & - &-0.54364E+00,-0.54363E+00,-0.54363E+00,-0.54362E+00,-0.54362E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.54361E+00,-0.54361E+00,-0.54361E+00,-0.54361E+00,-0.54360E+00, & - &-0.54360E+00,-0.54360E+00,-0.54360E+00,-0.54360E+00,-0.54360E+00, & - &-0.54360E+00,-0.54360E+00,-0.54361E+00,-0.54361E+00,-0.54361E+00, & - &-0.54361E+00,-0.54362E+00,-0.54362E+00,-0.54363E+00,-0.54363E+00, & - &-0.54364E+00,-0.54365E+00,-0.54365E+00,-0.54366E+00,-0.54367E+00, & - &-0.54368E+00,-0.54369E+00,-0.54370E+00,-0.54371E+00,-0.54372E+00, & - &-0.54373E+00,-0.54374E+00,-0.54375E+00,-0.54376E+00,-0.54378E+00, & - &-0.54379E+00,-0.54380E+00,-0.54382E+00,-0.54383E+00,-0.54385E+00, & - &-0.54387E+00,-0.54388E+00,-0.54390E+00,-0.54392E+00,-0.54393E+00, & - &-0.54395E+00,-0.54397E+00,-0.54399E+00,-0.54401E+00,-0.54403E+00, & - &-0.54405E+00,-0.54407E+00,-0.54409E+00,-0.54412E+00,-0.54414E+00, & - &-0.54416E+00,-0.54418E+00,-0.54421E+00,-0.54423E+00,-0.54426E+00, & - &-0.54428E+00,-0.54431E+00,-0.54434E+00,-0.54436E+00,-0.54439E+00, & - &-0.54442E+00,-0.54445E+00,-0.54447E+00,-0.54450E+00,-0.54453E+00, & - &-0.54456E+00,-0.54459E+00,-0.54462E+00,-0.54466E+00,-0.54469E+00, & - &-0.54472E+00,-0.54475E+00,-0.54479E+00,-0.54482E+00,-0.54485E+00, & - &-0.54489E+00,-0.54492E+00,-0.54496E+00,-0.54499E+00,-0.54503E+00, & - &-0.54507E+00,-0.54510E+00,-0.54514E+00,-0.54518E+00,-0.54522E+00, & - &-0.54526E+00,-0.54530E+00,-0.54534E+00,-0.54538E+00,-0.54542E+00, & - &-0.54546E+00,-0.54550E+00,-0.54554E+00,-0.54558E+00,-0.54563E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.54612E+00,-0.54661E+00,-0.54715E+00,-0.54773E+00,-0.54835E+00, & - &-0.54901E+00,-0.54971E+00,-0.55044E+00,-0.55121E+00,-0.55202E+00, & - &-0.55287E+00,-0.55374E+00,-0.55466E+00,-0.55560E+00,-0.55658E+00, & - &-0.55760E+00,-0.55864E+00,-0.55972E+00,-0.56083E+00,-0.56196E+00, & - &-0.56313E+00,-0.56433E+00,-0.56556E+00,-0.56681E+00,-0.56809E+00, & - &-0.56940E+00,-0.57074E+00,-0.57210E+00,-0.57349E+00,-0.57491E+00, & - &-0.57635E+00,-0.57782E+00,-0.57931E+00,-0.58082E+00,-0.58236E+00, & - &-0.58392E+00,-0.58551E+00,-0.58712E+00,-0.58875E+00,-0.59040E+00, & - &-0.59207E+00,-0.59377E+00,-0.59549E+00,-0.59722E+00,-0.59898E+00, & - &-0.60076E+00,-0.60256E+00,-0.60438E+00,-0.60621E+00,-0.60807E+00, & - &-0.60994E+00,-0.61183E+00,-0.61375E+00,-0.61567E+00,-0.61762E+00, & - &-0.61959E+00,-0.62157E+00,-0.62357E+00,-0.62558E+00,-0.62761E+00, & - &-0.62966E+00,-0.63173E+00,-0.63381E+00,-0.63590E+00,-0.63801E+00, & - &-0.64014E+00,-0.64228E+00,-0.64444E+00,-0.64661E+00,-0.64879E+00, & - &-0.65099E+00,-0.65321E+00,-0.65544E+00,-0.65768E+00,-0.65993E+00, & - &-0.66220E+00,-0.66448E+00,-0.66678E+00,-0.66909E+00,-0.67141E+00, & - &-0.67374E+00,-0.67609E+00,-0.67845E+00,-0.68082E+00,-0.68320E+00, & - &-0.68559E+00,-0.68800E+00,-0.69042E+00,-0.69285E+00,-0.69529E+00, & - &-0.69774E+00,-0.70021E+00,-0.70268E+00,-0.70516E+00,-0.70766E+00, & - &-0.71017E+00,-0.71268E+00,-0.71521E+00,-0.71775E+00,-0.72030E+00/ - - DATA (BNC13M(I),I=701,741)/ & - &-0.72285E+00,-0.72542E+00,-0.72800E+00,-0.73059E+00,-0.73318E+00, & - &-0.73579E+00,-0.73840E+00,-0.74103E+00,-0.74366E+00,-0.74631E+00, & - &-0.74896E+00,-0.75162E+00,-0.75429E+00,-0.75697E+00,-0.75965E+00, & - &-0.76235E+00,-0.76505E+00,-0.76777E+00,-0.77049E+00,-0.77322E+00, & - &-0.77595E+00,-0.77870E+00,-0.78145E+00,-0.78421E+00,-0.78698E+00, & - &-0.78976E+00,-0.79254E+00,-0.79534E+00,-0.79814E+00,-0.80094E+00, & - &-0.80376E+00,-0.80658E+00,-0.80941E+00,-0.81224E+00,-0.81509E+00, & - &-0.81794E+00,-0.82079E+00,-0.82366E+00,-0.82653E+00,-0.82940E+00, & - &-0.83229E+00 & - & / - ENDBLOCKDATA KMCF248 diff --git a/src/arome/chem/internals/data_kmcf273a.F b/src/arome/chem/internals/data_kmcf273a.F deleted file mode 100644 index e7a542040389a1a3433fc80d6d543638640f2487..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf273a.F +++ /dev/null @@ -1,2218 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf273a.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:30 $ -!----------------------------------------------------------------- - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA KMCF273A -! *** CONTAINS THE DATA FOR KUSSIK-MEISNER BINARY COEFFICIENT ARRAYS -! NEEDED IN SUBROUTINE KM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA KMCF273 -! - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC273/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - DATA (BNC01M(I),I=1,100)/ & - &-0.46407E-01,-0.96708E-01,-0.11948E+00,-0.13432E+00,-0.14508E+00, & - &-0.15330E+00,-0.15979E+00,-0.16500E+00,-0.16923E+00,-0.17269E+00, & - &-0.17553E+00,-0.17785E+00,-0.17973E+00,-0.18124E+00,-0.18244E+00, & - &-0.18336E+00,-0.18404E+00,-0.18450E+00,-0.18477E+00,-0.18488E+00, & - &-0.18483E+00,-0.18465E+00,-0.18435E+00,-0.18393E+00,-0.18342E+00, & - &-0.18282E+00,-0.18213E+00,-0.18137E+00,-0.18054E+00,-0.17965E+00, & - &-0.17870E+00,-0.17770E+00,-0.17665E+00,-0.17556E+00,-0.17443E+00, & - &-0.17327E+00,-0.17207E+00,-0.17084E+00,-0.16958E+00,-0.16830E+00, & - &-0.16700E+00,-0.16568E+00,-0.16434E+00,-0.16298E+00,-0.16161E+00, & - &-0.16022E+00,-0.15882E+00,-0.15741E+00,-0.15599E+00,-0.15455E+00, & - &-0.15311E+00,-0.15166E+00,-0.15021E+00,-0.14875E+00,-0.14728E+00, & - &-0.14580E+00,-0.14432E+00,-0.14283E+00,-0.14134E+00,-0.13984E+00, & - &-0.13833E+00,-0.13682E+00,-0.13530E+00,-0.13378E+00,-0.13224E+00, & - &-0.13071E+00,-0.12916E+00,-0.12761E+00,-0.12605E+00,-0.12448E+00, & - &-0.12290E+00,-0.12131E+00,-0.11971E+00,-0.11810E+00,-0.11649E+00, & - &-0.11486E+00,-0.11322E+00,-0.11156E+00,-0.10990E+00,-0.10822E+00, & - &-0.10653E+00,-0.10483E+00,-0.10311E+00,-0.10138E+00,-0.99639E-01, & - &-0.97882E-01,-0.96110E-01,-0.94324E-01,-0.92525E-01,-0.90711E-01, & - &-0.88883E-01,-0.87042E-01,-0.85186E-01,-0.83317E-01,-0.81435E-01, & - &-0.79539E-01,-0.77630E-01,-0.75709E-01,-0.73776E-01,-0.71830E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.69873E-01,-0.67905E-01,-0.65926E-01,-0.63937E-01,-0.61937E-01, & - &-0.59929E-01,-0.57911E-01,-0.55885E-01,-0.53851E-01,-0.51809E-01, & - &-0.49760E-01,-0.47705E-01,-0.45643E-01,-0.43575E-01,-0.41502E-01, & - &-0.39424E-01,-0.37342E-01,-0.35255E-01,-0.33165E-01,-0.31071E-01, & - &-0.28975E-01,-0.26875E-01,-0.24774E-01,-0.22670E-01,-0.20565E-01, & - &-0.18458E-01,-0.16350E-01,-0.14240E-01,-0.12131E-01,-0.10020E-01, & - &-0.79100E-02,-0.57993E-02,-0.36888E-02,-0.15785E-02, 0.53139E-03, & - & 0.26407E-02, 0.47494E-02, 0.68572E-02, 0.89641E-02, 0.11070E-01, & - & 0.13175E-01, 0.15278E-01, 0.17380E-01, 0.19481E-01, 0.21580E-01, & - & 0.23678E-01, 0.25774E-01, 0.27869E-01, 0.29962E-01, 0.32052E-01, & - & 0.34142E-01, 0.36229E-01, 0.38314E-01, 0.40398E-01, 0.42479E-01, & - & 0.44558E-01, 0.46636E-01, 0.48711E-01, 0.50784E-01, 0.52855E-01, & - & 0.54924E-01, 0.56990E-01, 0.59054E-01, 0.61116E-01, 0.63176E-01, & - & 0.65233E-01, 0.67288E-01, 0.69341E-01, 0.71391E-01, 0.73439E-01, & - & 0.75485E-01, 0.77528E-01, 0.79569E-01, 0.81607E-01, 0.83642E-01, & - & 0.85675E-01, 0.87706E-01, 0.89734E-01, 0.91760E-01, 0.93783E-01, & - & 0.95803E-01, 0.97821E-01, 0.99836E-01, 0.10185E+00, 0.10386E+00, & - & 0.10587E+00, 0.10787E+00, 0.10987E+00, 0.11187E+00, 0.11387E+00, & - & 0.11586E+00, 0.11785E+00, 0.11984E+00, 0.12183E+00, 0.12381E+00, & - & 0.12579E+00, 0.12777E+00, 0.12974E+00, 0.13172E+00, 0.13369E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.13565E+00, 0.13762E+00, 0.13958E+00, 0.14154E+00, 0.14349E+00, & - & 0.14544E+00, 0.14739E+00, 0.14934E+00, 0.15129E+00, 0.15323E+00, & - & 0.15517E+00, 0.15710E+00, 0.15904E+00, 0.16097E+00, 0.16289E+00, & - & 0.16482E+00, 0.16674E+00, 0.16866E+00, 0.17057E+00, 0.17249E+00, & - & 0.17440E+00, 0.17631E+00, 0.17821E+00, 0.18011E+00, 0.18201E+00, & - & 0.18391E+00, 0.18580E+00, 0.18769E+00, 0.18958E+00, 0.19146E+00, & - & 0.19334E+00, 0.19522E+00, 0.19710E+00, 0.19897E+00, 0.20084E+00, & - & 0.20271E+00, 0.20458E+00, 0.20644E+00, 0.20830E+00, 0.21015E+00, & - & 0.21201E+00, 0.21386E+00, 0.21570E+00, 0.21755E+00, 0.21939E+00, & - & 0.22123E+00, 0.22307E+00, 0.22490E+00, 0.22673E+00, 0.22856E+00, & - & 0.23038E+00, 0.23221E+00, 0.23403E+00, 0.23584E+00, 0.23766E+00, & - & 0.23947E+00, 0.24127E+00, 0.24308E+00, 0.24488E+00, 0.24668E+00, & - & 0.24848E+00, 0.25027E+00, 0.25206E+00, 0.25385E+00, 0.25564E+00, & - & 0.25742E+00, 0.25920E+00, 0.26098E+00, 0.26275E+00, 0.26452E+00, & - & 0.26629E+00, 0.26806E+00, 0.26982E+00, 0.27158E+00, 0.27334E+00, & - & 0.27509E+00, 0.27684E+00, 0.27859E+00, 0.28034E+00, 0.28208E+00, & - & 0.28383E+00, 0.28556E+00, 0.28730E+00, 0.28903E+00, 0.29076E+00, & - & 0.29249E+00, 0.29422E+00, 0.29594E+00, 0.29766E+00, 0.29937E+00, & - & 0.30109E+00, 0.30280E+00, 0.30451E+00, 0.30621E+00, 0.30792E+00, & - & 0.30962E+00, 0.31131E+00, 0.31301E+00, 0.31470E+00, 0.31639E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.31808E+00, 0.31976E+00, 0.32144E+00, 0.32312E+00, 0.32480E+00, & - & 0.32647E+00, 0.32815E+00, 0.32981E+00, 0.33148E+00, 0.33314E+00, & - & 0.33480E+00, 0.33646E+00, 0.33812E+00, 0.33977E+00, 0.34142E+00, & - & 0.34307E+00, 0.34471E+00, 0.34636E+00, 0.34800E+00, 0.34963E+00, & - & 0.35127E+00, 0.35290E+00, 0.35453E+00, 0.35616E+00, 0.35778E+00, & - & 0.35940E+00, 0.36102E+00, 0.36264E+00, 0.36426E+00, 0.36587E+00, & - & 0.36748E+00, 0.36908E+00, 0.37069E+00, 0.37229E+00, 0.37389E+00, & - & 0.37549E+00, 0.37708E+00, 0.37867E+00, 0.38026E+00, 0.38185E+00, & - & 0.38343E+00, 0.38502E+00, 0.38659E+00, 0.38817E+00, 0.38975E+00, & - & 0.39132E+00, 0.39289E+00, 0.39446E+00, 0.39602E+00, 0.39758E+00, & - & 0.39914E+00, 0.40070E+00, 0.40226E+00, 0.40381E+00, 0.40536E+00, & - & 0.40691E+00, 0.40845E+00, 0.41000E+00, 0.41154E+00, 0.41308E+00, & - & 0.41461E+00, 0.41615E+00, 0.41768E+00, 0.41921E+00, 0.42073E+00, & - & 0.42226E+00, 0.42378E+00, 0.42530E+00, 0.42682E+00, 0.42833E+00, & - & 0.42985E+00, 0.43136E+00, 0.43286E+00, 0.43437E+00, 0.43587E+00, & - & 0.43737E+00, 0.43887E+00, 0.44037E+00, 0.44187E+00, 0.44336E+00, & - & 0.44485E+00, 0.44633E+00, 0.44782E+00, 0.44930E+00, 0.45078E+00, & - & 0.45226E+00, 0.45374E+00, 0.45521E+00, 0.45669E+00, 0.45815E+00, & - & 0.45962E+00, 0.46109E+00, 0.46255E+00, 0.46401E+00, 0.46547E+00, & - & 0.46693E+00, 0.46838E+00, 0.46983E+00, 0.47128E+00, 0.47273E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.47418E+00, 0.47562E+00, 0.47706E+00, 0.47850E+00, 0.47994E+00, & - & 0.48137E+00, 0.48280E+00, 0.48423E+00, 0.48566E+00, 0.48709E+00, & - & 0.48851E+00, 0.48993E+00, 0.49135E+00, 0.49277E+00, 0.49419E+00, & - & 0.49560E+00, 0.49701E+00, 0.49842E+00, 0.49983E+00, 0.50123E+00, & - & 0.50264E+00, 0.50404E+00, 0.50544E+00, 0.50683E+00, 0.50823E+00, & - & 0.50962E+00, 0.51101E+00, 0.51240E+00, 0.51379E+00, 0.51517E+00, & - & 0.51656E+00, 0.51794E+00, 0.51931E+00, 0.52069E+00, 0.52207E+00, & - & 0.52344E+00, 0.52481E+00, 0.52618E+00, 0.52754E+00, 0.52891E+00, & - & 0.53027E+00, 0.53163E+00, 0.53299E+00, 0.53435E+00, 0.53570E+00, & - & 0.53705E+00, 0.53840E+00, 0.53975E+00, 0.54110E+00, 0.54245E+00, & - & 0.54379E+00, 0.54513E+00, 0.54647E+00, 0.54781E+00, 0.54914E+00, & - & 0.55047E+00, 0.55180E+00, 0.55313E+00, 0.55446E+00, 0.55579E+00, & - & 0.55711E+00, 0.55843E+00, 0.55975E+00, 0.56107E+00, 0.56239E+00, & - & 0.56370E+00, 0.56501E+00, 0.56632E+00, 0.56763E+00, 0.56894E+00, & - & 0.57025E+00, 0.57155E+00, 0.57285E+00, 0.57415E+00, 0.57545E+00, & - & 0.57674E+00, 0.57804E+00, 0.57933E+00, 0.58062E+00, 0.58191E+00, & - & 0.58319E+00, 0.58448E+00, 0.58576E+00, 0.58704E+00, 0.58832E+00, & - & 0.58960E+00, 0.59088E+00, 0.59215E+00, 0.59342E+00, 0.59469E+00, & - & 0.59596E+00, 0.59723E+00, 0.59849E+00, 0.59976E+00, 0.60102E+00, & - & 0.60228E+00, 0.60354E+00, 0.60479E+00, 0.60605E+00, 0.60730E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.60855E+00, 0.60980E+00, 0.61105E+00, 0.61230E+00, 0.61354E+00, & - & 0.61478E+00, 0.61602E+00, 0.61726E+00, 0.61850E+00, 0.61974E+00, & - & 0.62097E+00, 0.62220E+00, 0.62343E+00, 0.62466E+00, 0.62589E+00, & - & 0.62711E+00, 0.62834E+00, 0.62956E+00, 0.63078E+00, 0.63200E+00, & - & 0.63322E+00, 0.63443E+00, 0.63565E+00, 0.63686E+00, 0.63807E+00, & - & 0.63928E+00, 0.64049E+00, 0.64169E+00, 0.64290E+00, 0.64410E+00, & - & 0.64530E+00, 0.64650E+00, 0.64770E+00, 0.64889E+00, 0.65009E+00, & - & 0.65128E+00, 0.65247E+00, 0.65366E+00, 0.65485E+00, 0.65603E+00, & - & 0.65722E+00, 0.65840E+00, 0.65958E+00, 0.66076E+00, 0.66194E+00, & - & 0.66312E+00, 0.66429E+00, 0.66547E+00, 0.66664E+00, 0.66781E+00, & - & 0.66898E+00, 0.67015E+00, 0.67131E+00, 0.67248E+00, 0.67364E+00, & - & 0.67480E+00, 0.67596E+00, 0.67712E+00, 0.67828E+00, 0.67943E+00, & - & 0.68058E+00, 0.68174E+00, 0.68289E+00, 0.68404E+00, 0.68518E+00, & - & 0.68633E+00, 0.68748E+00, 0.68862E+00, 0.68976E+00, 0.69090E+00, & - & 0.69204E+00, 0.69318E+00, 0.69431E+00, 0.69545E+00, 0.69658E+00, & - & 0.69771E+00, 0.69884E+00, 0.69997E+00, 0.70109E+00, 0.70222E+00, & - & 0.70334E+00, 0.70447E+00, 0.70559E+00, 0.70671E+00, 0.70782E+00, & - & 0.70894E+00, 0.71006E+00, 0.71117E+00, 0.71228E+00, 0.71339E+00, & - & 0.71450E+00, 0.71561E+00, 0.71672E+00, 0.71782E+00, 0.71893E+00, & - & 0.72003E+00, 0.72113E+00, 0.72223E+00, 0.72333E+00, 0.72442E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.73618E+00, 0.74693E+00, 0.75754E+00, 0.76801E+00, 0.77836E+00, & - & 0.78859E+00, 0.79869E+00, 0.80867E+00, 0.81853E+00, 0.82827E+00, & - & 0.83790E+00, 0.84742E+00, 0.85683E+00, 0.86613E+00, 0.87532E+00, & - & 0.88441E+00, 0.89340E+00, 0.90229E+00, 0.91108E+00, 0.91978E+00, & - & 0.92838E+00, 0.93688E+00, 0.94530E+00, 0.95363E+00, 0.96187E+00, & - & 0.97002E+00, 0.97808E+00, 0.98607E+00, 0.99397E+00, 0.10018E+01, & - & 0.10095E+01, 0.10172E+01, 0.10248E+01, 0.10323E+01, 0.10397E+01, & - & 0.10471E+01, 0.10544E+01, 0.10616E+01, 0.10688E+01, 0.10758E+01, & - & 0.10828E+01, 0.10898E+01, 0.10967E+01, 0.11035E+01, 0.11102E+01, & - & 0.11169E+01, 0.11236E+01, 0.11301E+01, 0.11366E+01, 0.11431E+01, & - & 0.11495E+01, 0.11558E+01, 0.11621E+01, 0.11683E+01, 0.11745E+01, & - & 0.11806E+01, 0.11867E+01, 0.11927E+01, 0.11986E+01, 0.12045E+01, & - & 0.12104E+01, 0.12162E+01, 0.12220E+01, 0.12277E+01, 0.12333E+01, & - & 0.12389E+01, 0.12445E+01, 0.12500E+01, 0.12555E+01, 0.12609E+01, & - & 0.12663E+01, 0.12717E+01, 0.12770E+01, 0.12822E+01, 0.12874E+01, & - & 0.12926E+01, 0.12977E+01, 0.13028E+01, 0.13079E+01, 0.13129E+01, & - & 0.13179E+01, 0.13228E+01, 0.13277E+01, 0.13325E+01, 0.13374E+01, & - & 0.13421E+01, 0.13469E+01, 0.13516E+01, 0.13563E+01, 0.13609E+01, & - & 0.13655E+01, 0.13701E+01, 0.13746E+01, 0.13792E+01, 0.13836E+01, & - & 0.13881E+01, 0.13925E+01, 0.13968E+01, 0.14012E+01, 0.14055E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.14098E+01, 0.14140E+01, 0.14183E+01, 0.14224E+01, 0.14266E+01, & - & 0.14307E+01, 0.14348E+01, 0.14389E+01, 0.14430E+01, 0.14470E+01, & - & 0.14510E+01, 0.14549E+01, 0.14589E+01, 0.14628E+01, 0.14666E+01, & - & 0.14705E+01, 0.14743E+01, 0.14781E+01, 0.14819E+01, 0.14856E+01, & - & 0.14894E+01, 0.14931E+01, 0.14967E+01, 0.15004E+01, 0.15040E+01, & - & 0.15076E+01, 0.15112E+01, 0.15147E+01, 0.15183E+01, 0.15218E+01, & - & 0.15253E+01, 0.15287E+01, 0.15322E+01, 0.15356E+01, 0.15390E+01, & - & 0.15424E+01, 0.15457E+01, 0.15490E+01, 0.15524E+01, 0.15556E+01, & - & 0.15589E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.95525E-01,-0.20796E+00,-0.26423E+00,-0.30406E+00,-0.33534E+00, & - &-0.36126E+00,-0.38348E+00,-0.40297E+00,-0.42035E+00,-0.43605E+00, & - &-0.45039E+00,-0.46358E+00,-0.47581E+00,-0.48722E+00,-0.49790E+00, & - &-0.50796E+00,-0.51746E+00,-0.52646E+00,-0.53502E+00,-0.54318E+00, & - &-0.55098E+00,-0.55845E+00,-0.56561E+00,-0.57250E+00,-0.57913E+00, & - &-0.58552E+00,-0.59170E+00,-0.59767E+00,-0.60345E+00,-0.60905E+00, & - &-0.61449E+00,-0.61976E+00,-0.62489E+00,-0.62989E+00,-0.63474E+00, & - &-0.63948E+00,-0.64410E+00,-0.64860E+00,-0.65300E+00,-0.65729E+00, & - &-0.66149E+00,-0.66560E+00,-0.66962E+00,-0.67356E+00,-0.67741E+00, & - &-0.68119E+00,-0.68489E+00,-0.68852E+00,-0.69209E+00,-0.69559E+00, & - &-0.69902E+00,-0.70240E+00,-0.70571E+00,-0.70897E+00,-0.71218E+00, & - &-0.71534E+00,-0.71844E+00,-0.72149E+00,-0.72450E+00,-0.72747E+00, & - &-0.73039E+00,-0.73327E+00,-0.73610E+00,-0.73890E+00,-0.74166E+00, & - &-0.74438E+00,-0.74707E+00,-0.74973E+00,-0.75235E+00,-0.75493E+00, & - &-0.75749E+00,-0.76002E+00,-0.76252E+00,-0.76499E+00,-0.76743E+00, & - &-0.76985E+00,-0.77224E+00,-0.77461E+00,-0.77695E+00,-0.77927E+00, & - &-0.78156E+00,-0.78384E+00,-0.78609E+00,-0.78833E+00,-0.79054E+00, & - &-0.79273E+00,-0.79491E+00,-0.79706E+00,-0.79920E+00,-0.80132E+00, & - &-0.80342E+00,-0.80551E+00,-0.80758E+00,-0.80963E+00,-0.81167E+00, & - &-0.81370E+00,-0.81570E+00,-0.81770E+00,-0.81968E+00,-0.82164E+00/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.82360E+00,-0.82553E+00,-0.82746E+00,-0.82937E+00,-0.83127E+00, & - &-0.83316E+00,-0.83503E+00,-0.83689E+00,-0.83874E+00,-0.84058E+00, & - &-0.84241E+00,-0.84422E+00,-0.84602E+00,-0.84782E+00,-0.84960E+00, & - &-0.85137E+00,-0.85312E+00,-0.85487E+00,-0.85661E+00,-0.85834E+00, & - &-0.86005E+00,-0.86176E+00,-0.86346E+00,-0.86514E+00,-0.86682E+00, & - &-0.86849E+00,-0.87015E+00,-0.87180E+00,-0.87343E+00,-0.87506E+00, & - &-0.87668E+00,-0.87830E+00,-0.87990E+00,-0.88149E+00,-0.88308E+00, & - &-0.88466E+00,-0.88622E+00,-0.88779E+00,-0.88934E+00,-0.89088E+00, & - &-0.89242E+00,-0.89395E+00,-0.89547E+00,-0.89698E+00,-0.89848E+00, & - &-0.89998E+00,-0.90147E+00,-0.90295E+00,-0.90443E+00,-0.90590E+00, & - &-0.90736E+00,-0.90881E+00,-0.91026E+00,-0.91170E+00,-0.91313E+00, & - &-0.91456E+00,-0.91598E+00,-0.91740E+00,-0.91880E+00,-0.92020E+00, & - &-0.92160E+00,-0.92299E+00,-0.92437E+00,-0.92575E+00,-0.92712E+00, & - &-0.92848E+00,-0.92984E+00,-0.93120E+00,-0.93254E+00,-0.93389E+00, & - &-0.93522E+00,-0.93655E+00,-0.93788E+00,-0.93920E+00,-0.94052E+00, & - &-0.94182E+00,-0.94313E+00,-0.94443E+00,-0.94572E+00,-0.94701E+00, & - &-0.94830E+00,-0.94958E+00,-0.95085E+00,-0.95212E+00,-0.95338E+00, & - &-0.95464E+00,-0.95590E+00,-0.95715E+00,-0.95840E+00,-0.95964E+00, & - &-0.96087E+00,-0.96211E+00,-0.96333E+00,-0.96456E+00,-0.96578E+00, & - &-0.96699E+00,-0.96820E+00,-0.96941E+00,-0.97061E+00,-0.97181E+00/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.97300E+00,-0.97419E+00,-0.97538E+00,-0.97656E+00,-0.97774E+00, & - &-0.97892E+00,-0.98009E+00,-0.98125E+00,-0.98242E+00,-0.98358E+00, & - &-0.98473E+00,-0.98588E+00,-0.98703E+00,-0.98817E+00,-0.98932E+00, & - &-0.99045E+00,-0.99159E+00,-0.99272E+00,-0.99384E+00,-0.99497E+00, & - &-0.99609E+00,-0.99720E+00,-0.99832E+00,-0.99943E+00,-0.10005E+01, & - &-0.10016E+01,-0.10027E+01,-0.10038E+01,-0.10049E+01,-0.10060E+01, & - &-0.10071E+01,-0.10082E+01,-0.10093E+01,-0.10103E+01,-0.10114E+01, & - &-0.10125E+01,-0.10136E+01,-0.10146E+01,-0.10157E+01,-0.10168E+01, & - &-0.10178E+01,-0.10189E+01,-0.10199E+01,-0.10210E+01,-0.10220E+01, & - &-0.10231E+01,-0.10241E+01,-0.10251E+01,-0.10262E+01,-0.10272E+01, & - &-0.10282E+01,-0.10293E+01,-0.10303E+01,-0.10313E+01,-0.10323E+01, & - &-0.10333E+01,-0.10344E+01,-0.10354E+01,-0.10364E+01,-0.10374E+01, & - &-0.10384E+01,-0.10394E+01,-0.10404E+01,-0.10414E+01,-0.10424E+01, & - &-0.10434E+01,-0.10444E+01,-0.10453E+01,-0.10463E+01,-0.10473E+01, & - &-0.10483E+01,-0.10493E+01,-0.10502E+01,-0.10512E+01,-0.10522E+01, & - &-0.10532E+01,-0.10541E+01,-0.10551E+01,-0.10560E+01,-0.10570E+01, & - &-0.10580E+01,-0.10589E+01,-0.10599E+01,-0.10608E+01,-0.10618E+01, & - &-0.10627E+01,-0.10637E+01,-0.10646E+01,-0.10655E+01,-0.10665E+01, & - &-0.10674E+01,-0.10684E+01,-0.10693E+01,-0.10702E+01,-0.10711E+01, & - &-0.10721E+01,-0.10730E+01,-0.10739E+01,-0.10748E+01,-0.10758E+01/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.10767E+01,-0.10776E+01,-0.10785E+01,-0.10794E+01,-0.10803E+01, & - &-0.10812E+01,-0.10821E+01,-0.10830E+01,-0.10839E+01,-0.10848E+01, & - &-0.10857E+01,-0.10866E+01,-0.10875E+01,-0.10884E+01,-0.10893E+01, & - &-0.10902E+01,-0.10911E+01,-0.10920E+01,-0.10929E+01,-0.10938E+01, & - &-0.10946E+01,-0.10955E+01,-0.10964E+01,-0.10973E+01,-0.10981E+01, & - &-0.10990E+01,-0.10999E+01,-0.11008E+01,-0.11016E+01,-0.11025E+01, & - &-0.11034E+01,-0.11042E+01,-0.11051E+01,-0.11059E+01,-0.11068E+01, & - &-0.11077E+01,-0.11085E+01,-0.11094E+01,-0.11102E+01,-0.11111E+01, & - &-0.11119E+01,-0.11128E+01,-0.11136E+01,-0.11145E+01,-0.11153E+01, & - &-0.11161E+01,-0.11170E+01,-0.11178E+01,-0.11187E+01,-0.11195E+01, & - &-0.11203E+01,-0.11212E+01,-0.11220E+01,-0.11228E+01,-0.11237E+01, & - &-0.11245E+01,-0.11253E+01,-0.11261E+01,-0.11270E+01,-0.11278E+01, & - &-0.11286E+01,-0.11294E+01,-0.11302E+01,-0.11311E+01,-0.11319E+01, & - &-0.11327E+01,-0.11335E+01,-0.11343E+01,-0.11351E+01,-0.11359E+01, & - &-0.11367E+01,-0.11376E+01,-0.11384E+01,-0.11392E+01,-0.11400E+01, & - &-0.11408E+01,-0.11416E+01,-0.11424E+01,-0.11432E+01,-0.11440E+01, & - &-0.11448E+01,-0.11456E+01,-0.11463E+01,-0.11471E+01,-0.11479E+01, & - &-0.11487E+01,-0.11495E+01,-0.11503E+01,-0.11511E+01,-0.11519E+01, & - &-0.11526E+01,-0.11534E+01,-0.11542E+01,-0.11550E+01,-0.11558E+01, & - &-0.11565E+01,-0.11573E+01,-0.11581E+01,-0.11589E+01,-0.11596E+01/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.11604E+01,-0.11612E+01,-0.11620E+01,-0.11627E+01,-0.11635E+01, & - &-0.11643E+01,-0.11650E+01,-0.11658E+01,-0.11666E+01,-0.11673E+01, & - &-0.11681E+01,-0.11688E+01,-0.11696E+01,-0.11704E+01,-0.11711E+01, & - &-0.11719E+01,-0.11726E+01,-0.11734E+01,-0.11741E+01,-0.11749E+01, & - &-0.11756E+01,-0.11764E+01,-0.11771E+01,-0.11779E+01,-0.11786E+01, & - &-0.11794E+01,-0.11801E+01,-0.11809E+01,-0.11816E+01,-0.11824E+01, & - &-0.11831E+01,-0.11838E+01,-0.11846E+01,-0.11853E+01,-0.11860E+01, & - &-0.11868E+01,-0.11875E+01,-0.11883E+01,-0.11890E+01,-0.11897E+01, & - &-0.11905E+01,-0.11912E+01,-0.11919E+01,-0.11926E+01,-0.11934E+01, & - &-0.11941E+01,-0.11948E+01,-0.11955E+01,-0.11963E+01,-0.11970E+01, & - &-0.11977E+01,-0.11984E+01,-0.11992E+01,-0.11999E+01,-0.12006E+01, & - &-0.12013E+01,-0.12020E+01,-0.12028E+01,-0.12035E+01,-0.12042E+01, & - &-0.12049E+01,-0.12056E+01,-0.12063E+01,-0.12070E+01,-0.12077E+01, & - &-0.12085E+01,-0.12092E+01,-0.12099E+01,-0.12106E+01,-0.12113E+01, & - &-0.12120E+01,-0.12127E+01,-0.12134E+01,-0.12141E+01,-0.12148E+01, & - &-0.12155E+01,-0.12162E+01,-0.12169E+01,-0.12176E+01,-0.12183E+01, & - &-0.12190E+01,-0.12197E+01,-0.12204E+01,-0.12211E+01,-0.12218E+01, & - &-0.12225E+01,-0.12232E+01,-0.12239E+01,-0.12246E+01,-0.12252E+01, & - &-0.12259E+01,-0.12266E+01,-0.12273E+01,-0.12280E+01,-0.12287E+01, & - &-0.12294E+01,-0.12301E+01,-0.12307E+01,-0.12314E+01,-0.12321E+01/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.12328E+01,-0.12335E+01,-0.12341E+01,-0.12348E+01,-0.12355E+01, & - &-0.12362E+01,-0.12369E+01,-0.12375E+01,-0.12382E+01,-0.12389E+01, & - &-0.12396E+01,-0.12402E+01,-0.12409E+01,-0.12416E+01,-0.12423E+01, & - &-0.12429E+01,-0.12436E+01,-0.12443E+01,-0.12449E+01,-0.12456E+01, & - &-0.12463E+01,-0.12470E+01,-0.12476E+01,-0.12483E+01,-0.12489E+01, & - &-0.12496E+01,-0.12503E+01,-0.12509E+01,-0.12516E+01,-0.12523E+01, & - &-0.12529E+01,-0.12536E+01,-0.12542E+01,-0.12549E+01,-0.12556E+01, & - &-0.12562E+01,-0.12569E+01,-0.12575E+01,-0.12582E+01,-0.12589E+01, & - &-0.12595E+01,-0.12602E+01,-0.12608E+01,-0.12615E+01,-0.12621E+01, & - &-0.12628E+01,-0.12634E+01,-0.12641E+01,-0.12647E+01,-0.12654E+01, & - &-0.12660E+01,-0.12667E+01,-0.12673E+01,-0.12680E+01,-0.12686E+01, & - &-0.12693E+01,-0.12699E+01,-0.12706E+01,-0.12712E+01,-0.12718E+01, & - &-0.12725E+01,-0.12731E+01,-0.12738E+01,-0.12744E+01,-0.12750E+01, & - &-0.12757E+01,-0.12763E+01,-0.12770E+01,-0.12776E+01,-0.12782E+01, & - &-0.12789E+01,-0.12795E+01,-0.12802E+01,-0.12808E+01,-0.12814E+01, & - &-0.12821E+01,-0.12827E+01,-0.12833E+01,-0.12840E+01,-0.12846E+01, & - &-0.12852E+01,-0.12858E+01,-0.12865E+01,-0.12871E+01,-0.12877E+01, & - &-0.12884E+01,-0.12890E+01,-0.12896E+01,-0.12903E+01,-0.12909E+01, & - &-0.12915E+01,-0.12921E+01,-0.12928E+01,-0.12934E+01,-0.12940E+01, & - &-0.12946E+01,-0.12952E+01,-0.12959E+01,-0.12965E+01,-0.12971E+01/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.13038E+01,-0.13099E+01,-0.13160E+01,-0.13220E+01,-0.13280E+01, & - &-0.13340E+01,-0.13399E+01,-0.13457E+01,-0.13515E+01,-0.13573E+01, & - &-0.13631E+01,-0.13688E+01,-0.13744E+01,-0.13801E+01,-0.13856E+01, & - &-0.13912E+01,-0.13967E+01,-0.14022E+01,-0.14077E+01,-0.14131E+01, & - &-0.14185E+01,-0.14239E+01,-0.14292E+01,-0.14345E+01,-0.14398E+01, & - &-0.14451E+01,-0.14503E+01,-0.14555E+01,-0.14607E+01,-0.14659E+01, & - &-0.14710E+01,-0.14761E+01,-0.14812E+01,-0.14862E+01,-0.14913E+01, & - &-0.14963E+01,-0.15013E+01,-0.15063E+01,-0.15112E+01,-0.15161E+01, & - &-0.15211E+01,-0.15260E+01,-0.15308E+01,-0.15357E+01,-0.15405E+01, & - &-0.15453E+01,-0.15501E+01,-0.15549E+01,-0.15597E+01,-0.15644E+01, & - &-0.15692E+01,-0.15739E+01,-0.15786E+01,-0.15833E+01,-0.15880E+01, & - &-0.15926E+01,-0.15972E+01,-0.16019E+01,-0.16065E+01,-0.16111E+01, & - &-0.16157E+01,-0.16202E+01,-0.16248E+01,-0.16293E+01,-0.16338E+01, & - &-0.16384E+01,-0.16429E+01,-0.16473E+01,-0.16518E+01,-0.16563E+01, & - &-0.16607E+01,-0.16652E+01,-0.16696E+01,-0.16740E+01,-0.16784E+01, & - &-0.16828E+01,-0.16872E+01,-0.16915E+01,-0.16959E+01,-0.17003E+01, & - &-0.17046E+01,-0.17089E+01,-0.17132E+01,-0.17175E+01,-0.17218E+01, & - &-0.17261E+01,-0.17304E+01,-0.17347E+01,-0.17389E+01,-0.17432E+01, & - &-0.17474E+01,-0.17516E+01,-0.17559E+01,-0.17601E+01,-0.17643E+01, & - &-0.17685E+01,-0.17726E+01,-0.17768E+01,-0.17810E+01,-0.17851E+01/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.17893E+01,-0.17934E+01,-0.17976E+01,-0.18017E+01,-0.18058E+01, & - &-0.18099E+01,-0.18140E+01,-0.18181E+01,-0.18222E+01,-0.18263E+01, & - &-0.18304E+01,-0.18344E+01,-0.18385E+01,-0.18425E+01,-0.18466E+01, & - &-0.18506E+01,-0.18547E+01,-0.18587E+01,-0.18627E+01,-0.18667E+01, & - &-0.18707E+01,-0.18747E+01,-0.18787E+01,-0.18827E+01,-0.18866E+01, & - &-0.18906E+01,-0.18946E+01,-0.18985E+01,-0.19025E+01,-0.19064E+01, & - &-0.19104E+01,-0.19143E+01,-0.19182E+01,-0.19222E+01,-0.19261E+01, & - &-0.19300E+01,-0.19339E+01,-0.19378E+01,-0.19417E+01,-0.19456E+01, & - &-0.19495E+01 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.47892E-01,-0.10469E+00,-0.13335E+00,-0.15377E+00,-0.16990E+00, & - &-0.18333E+00,-0.19490E+00,-0.20510E+00,-0.21423E+00,-0.22252E+00, & - &-0.23012E+00,-0.23714E+00,-0.24367E+00,-0.24979E+00,-0.25554E+00, & - &-0.26097E+00,-0.26612E+00,-0.27101E+00,-0.27568E+00,-0.28015E+00, & - &-0.28443E+00,-0.28854E+00,-0.29249E+00,-0.29630E+00,-0.29998E+00, & - &-0.30354E+00,-0.30699E+00,-0.31033E+00,-0.31357E+00,-0.31671E+00, & - &-0.31977E+00,-0.32275E+00,-0.32565E+00,-0.32848E+00,-0.33124E+00, & - &-0.33393E+00,-0.33656E+00,-0.33913E+00,-0.34164E+00,-0.34410E+00, & - &-0.34651E+00,-0.34887E+00,-0.35118E+00,-0.35344E+00,-0.35567E+00, & - &-0.35785E+00,-0.35999E+00,-0.36209E+00,-0.36415E+00,-0.36618E+00, & - &-0.36817E+00,-0.37013E+00,-0.37206E+00,-0.37396E+00,-0.37583E+00, & - &-0.37767E+00,-0.37948E+00,-0.38127E+00,-0.38303E+00,-0.38476E+00, & - &-0.38648E+00,-0.38816E+00,-0.38983E+00,-0.39148E+00,-0.39310E+00, & - &-0.39470E+00,-0.39629E+00,-0.39786E+00,-0.39941E+00,-0.40094E+00, & - &-0.40245E+00,-0.40395E+00,-0.40543E+00,-0.40690E+00,-0.40836E+00, & - &-0.40980E+00,-0.41122E+00,-0.41264E+00,-0.41404E+00,-0.41543E+00, & - &-0.41681E+00,-0.41817E+00,-0.41953E+00,-0.42087E+00,-0.42221E+00, & - &-0.42354E+00,-0.42485E+00,-0.42616E+00,-0.42745E+00,-0.42874E+00, & - &-0.43002E+00,-0.43129E+00,-0.43256E+00,-0.43381E+00,-0.43506E+00, & - &-0.43630E+00,-0.43753E+00,-0.43876E+00,-0.43998E+00,-0.44119E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.44239E+00,-0.44359E+00,-0.44478E+00,-0.44597E+00,-0.44715E+00, & - &-0.44832E+00,-0.44948E+00,-0.45064E+00,-0.45179E+00,-0.45294E+00, & - &-0.45408E+00,-0.45521E+00,-0.45634E+00,-0.45746E+00,-0.45858E+00, & - &-0.45969E+00,-0.46079E+00,-0.46189E+00,-0.46298E+00,-0.46407E+00, & - &-0.46515E+00,-0.46623E+00,-0.46730E+00,-0.46836E+00,-0.46942E+00, & - &-0.47047E+00,-0.47152E+00,-0.47257E+00,-0.47360E+00,-0.47464E+00, & - &-0.47566E+00,-0.47669E+00,-0.47770E+00,-0.47871E+00,-0.47972E+00, & - &-0.48072E+00,-0.48172E+00,-0.48271E+00,-0.48370E+00,-0.48468E+00, & - &-0.48566E+00,-0.48663E+00,-0.48760E+00,-0.48857E+00,-0.48953E+00, & - &-0.49048E+00,-0.49143E+00,-0.49238E+00,-0.49332E+00,-0.49426E+00, & - &-0.49520E+00,-0.49613E+00,-0.49705E+00,-0.49797E+00,-0.49889E+00, & - &-0.49980E+00,-0.50071E+00,-0.50162E+00,-0.50252E+00,-0.50342E+00, & - &-0.50432E+00,-0.50521E+00,-0.50609E+00,-0.50698E+00,-0.50786E+00, & - &-0.50873E+00,-0.50961E+00,-0.51047E+00,-0.51134E+00,-0.51220E+00, & - &-0.51306E+00,-0.51392E+00,-0.51477E+00,-0.51562E+00,-0.51647E+00, & - &-0.51731E+00,-0.51815E+00,-0.51898E+00,-0.51982E+00,-0.52065E+00, & - &-0.52147E+00,-0.52230E+00,-0.52312E+00,-0.52394E+00,-0.52475E+00, & - &-0.52556E+00,-0.52637E+00,-0.52718E+00,-0.52798E+00,-0.52878E+00, & - &-0.52958E+00,-0.53038E+00,-0.53117E+00,-0.53196E+00,-0.53275E+00, & - &-0.53353E+00,-0.53431E+00,-0.53509E+00,-0.53587E+00,-0.53664E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.53741E+00,-0.53818E+00,-0.53895E+00,-0.53971E+00,-0.54047E+00, & - &-0.54123E+00,-0.54199E+00,-0.54274E+00,-0.54349E+00,-0.54424E+00, & - &-0.54499E+00,-0.54573E+00,-0.54648E+00,-0.54722E+00,-0.54796E+00, & - &-0.54869E+00,-0.54942E+00,-0.55016E+00,-0.55088E+00,-0.55161E+00, & - &-0.55234E+00,-0.55306E+00,-0.55378E+00,-0.55450E+00,-0.55521E+00, & - &-0.55593E+00,-0.55664E+00,-0.55735E+00,-0.55806E+00,-0.55876E+00, & - &-0.55947E+00,-0.56017E+00,-0.56087E+00,-0.56156E+00,-0.56226E+00, & - &-0.56295E+00,-0.56365E+00,-0.56434E+00,-0.56503E+00,-0.56571E+00, & - &-0.56640E+00,-0.56708E+00,-0.56776E+00,-0.56844E+00,-0.56912E+00, & - &-0.56979E+00,-0.57046E+00,-0.57114E+00,-0.57181E+00,-0.57248E+00, & - &-0.57314E+00,-0.57381E+00,-0.57447E+00,-0.57513E+00,-0.57579E+00, & - &-0.57645E+00,-0.57711E+00,-0.57776E+00,-0.57841E+00,-0.57907E+00, & - &-0.57971E+00,-0.58036E+00,-0.58101E+00,-0.58165E+00,-0.58230E+00, & - &-0.58294E+00,-0.58358E+00,-0.58422E+00,-0.58486E+00,-0.58549E+00, & - &-0.58613E+00,-0.58676E+00,-0.58739E+00,-0.58802E+00,-0.58865E+00, & - &-0.58928E+00,-0.58990E+00,-0.59052E+00,-0.59115E+00,-0.59177E+00, & - &-0.59239E+00,-0.59301E+00,-0.59362E+00,-0.59424E+00,-0.59485E+00, & - &-0.59546E+00,-0.59607E+00,-0.59668E+00,-0.59729E+00,-0.59790E+00, & - &-0.59851E+00,-0.59911E+00,-0.59971E+00,-0.60031E+00,-0.60092E+00, & - &-0.60151E+00,-0.60211E+00,-0.60271E+00,-0.60330E+00,-0.60390E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.60449E+00,-0.60508E+00,-0.60567E+00,-0.60626E+00,-0.60685E+00, & - &-0.60744E+00,-0.60802E+00,-0.60860E+00,-0.60919E+00,-0.60977E+00, & - &-0.61035E+00,-0.61093E+00,-0.61151E+00,-0.61208E+00,-0.61266E+00, & - &-0.61323E+00,-0.61381E+00,-0.61438E+00,-0.61495E+00,-0.61552E+00, & - &-0.61609E+00,-0.61666E+00,-0.61722E+00,-0.61779E+00,-0.61835E+00, & - &-0.61892E+00,-0.61948E+00,-0.62004E+00,-0.62060E+00,-0.62116E+00, & - &-0.62171E+00,-0.62227E+00,-0.62283E+00,-0.62338E+00,-0.62393E+00, & - &-0.62449E+00,-0.62504E+00,-0.62559E+00,-0.62614E+00,-0.62669E+00, & - &-0.62723E+00,-0.62778E+00,-0.62833E+00,-0.62887E+00,-0.62941E+00, & - &-0.62996E+00,-0.63050E+00,-0.63104E+00,-0.63158E+00,-0.63211E+00, & - &-0.63265E+00,-0.63319E+00,-0.63372E+00,-0.63426E+00,-0.63479E+00, & - &-0.63532E+00,-0.63586E+00,-0.63639E+00,-0.63692E+00,-0.63744E+00, & - &-0.63797E+00,-0.63850E+00,-0.63903E+00,-0.63955E+00,-0.64007E+00, & - &-0.64060E+00,-0.64112E+00,-0.64164E+00,-0.64216E+00,-0.64268E+00, & - &-0.64320E+00,-0.64372E+00,-0.64424E+00,-0.64475E+00,-0.64527E+00, & - &-0.64578E+00,-0.64630E+00,-0.64681E+00,-0.64732E+00,-0.64783E+00, & - &-0.64834E+00,-0.64885E+00,-0.64936E+00,-0.64987E+00,-0.65037E+00, & - &-0.65088E+00,-0.65139E+00,-0.65189E+00,-0.65239E+00,-0.65290E+00, & - &-0.65340E+00,-0.65390E+00,-0.65440E+00,-0.65490E+00,-0.65540E+00, & - &-0.65590E+00,-0.65639E+00,-0.65689E+00,-0.65739E+00,-0.65788E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.65838E+00,-0.65887E+00,-0.65936E+00,-0.65985E+00,-0.66035E+00, & - &-0.66084E+00,-0.66133E+00,-0.66181E+00,-0.66230E+00,-0.66279E+00, & - &-0.66328E+00,-0.66376E+00,-0.66425E+00,-0.66473E+00,-0.66522E+00, & - &-0.66570E+00,-0.66618E+00,-0.66666E+00,-0.66714E+00,-0.66762E+00, & - &-0.66810E+00,-0.66858E+00,-0.66906E+00,-0.66954E+00,-0.67001E+00, & - &-0.67049E+00,-0.67097E+00,-0.67144E+00,-0.67191E+00,-0.67239E+00, & - &-0.67286E+00,-0.67333E+00,-0.67380E+00,-0.67427E+00,-0.67474E+00, & - &-0.67521E+00,-0.67568E+00,-0.67615E+00,-0.67662E+00,-0.67708E+00, & - &-0.67755E+00,-0.67801E+00,-0.67848E+00,-0.67894E+00,-0.67941E+00, & - &-0.67987E+00,-0.68033E+00,-0.68079E+00,-0.68125E+00,-0.68171E+00, & - &-0.68217E+00,-0.68263E+00,-0.68309E+00,-0.68355E+00,-0.68400E+00, & - &-0.68446E+00,-0.68492E+00,-0.68537E+00,-0.68583E+00,-0.68628E+00, & - &-0.68673E+00,-0.68719E+00,-0.68764E+00,-0.68809E+00,-0.68854E+00, & - &-0.68899E+00,-0.68944E+00,-0.68989E+00,-0.69034E+00,-0.69079E+00, & - &-0.69124E+00,-0.69168E+00,-0.69213E+00,-0.69257E+00,-0.69302E+00, & - &-0.69346E+00,-0.69391E+00,-0.69435E+00,-0.69480E+00,-0.69524E+00, & - &-0.69568E+00,-0.69612E+00,-0.69656E+00,-0.69700E+00,-0.69744E+00, & - &-0.69788E+00,-0.69832E+00,-0.69876E+00,-0.69919E+00,-0.69963E+00, & - &-0.70007E+00,-0.70050E+00,-0.70094E+00,-0.70137E+00,-0.70181E+00, & - &-0.70224E+00,-0.70267E+00,-0.70311E+00,-0.70354E+00,-0.70397E+00/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.70440E+00,-0.70483E+00,-0.70526E+00,-0.70569E+00,-0.70612E+00, & - &-0.70655E+00,-0.70698E+00,-0.70740E+00,-0.70783E+00,-0.70826E+00, & - &-0.70868E+00,-0.70911E+00,-0.70953E+00,-0.70996E+00,-0.71038E+00, & - &-0.71081E+00,-0.71123E+00,-0.71165E+00,-0.71207E+00,-0.71250E+00, & - &-0.71292E+00,-0.71334E+00,-0.71376E+00,-0.71418E+00,-0.71460E+00, & - &-0.71501E+00,-0.71543E+00,-0.71585E+00,-0.71627E+00,-0.71668E+00, & - &-0.71710E+00,-0.71752E+00,-0.71793E+00,-0.71835E+00,-0.71876E+00, & - &-0.71917E+00,-0.71959E+00,-0.72000E+00,-0.72041E+00,-0.72083E+00, & - &-0.72124E+00,-0.72165E+00,-0.72206E+00,-0.72247E+00,-0.72288E+00, & - &-0.72329E+00,-0.72370E+00,-0.72411E+00,-0.72451E+00,-0.72492E+00, & - &-0.72533E+00,-0.72574E+00,-0.72614E+00,-0.72655E+00,-0.72695E+00, & - &-0.72736E+00,-0.72776E+00,-0.72817E+00,-0.72857E+00,-0.72897E+00, & - &-0.72938E+00,-0.72978E+00,-0.73018E+00,-0.73058E+00,-0.73098E+00, & - &-0.73139E+00,-0.73179E+00,-0.73219E+00,-0.73259E+00,-0.73298E+00, & - &-0.73338E+00,-0.73378E+00,-0.73418E+00,-0.73458E+00,-0.73497E+00, & - &-0.73537E+00,-0.73577E+00,-0.73616E+00,-0.73656E+00,-0.73695E+00, & - &-0.73735E+00,-0.73774E+00,-0.73814E+00,-0.73853E+00,-0.73892E+00, & - &-0.73932E+00,-0.73971E+00,-0.74010E+00,-0.74049E+00,-0.74088E+00, & - &-0.74127E+00,-0.74166E+00,-0.74205E+00,-0.74244E+00,-0.74283E+00, & - &-0.74322E+00,-0.74361E+00,-0.74400E+00,-0.74439E+00,-0.74477E+00/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.74893E+00,-0.75275E+00,-0.75652E+00,-0.76027E+00,-0.76398E+00, & - &-0.76765E+00,-0.77130E+00,-0.77492E+00,-0.77850E+00,-0.78206E+00, & - &-0.78558E+00,-0.78908E+00,-0.79256E+00,-0.79600E+00,-0.79942E+00, & - &-0.80282E+00,-0.80619E+00,-0.80954E+00,-0.81286E+00,-0.81617E+00, & - &-0.81944E+00,-0.82270E+00,-0.82594E+00,-0.82915E+00,-0.83235E+00, & - &-0.83552E+00,-0.83868E+00,-0.84181E+00,-0.84493E+00,-0.84803E+00, & - &-0.85111E+00,-0.85417E+00,-0.85722E+00,-0.86025E+00,-0.86326E+00, & - &-0.86626E+00,-0.86924E+00,-0.87221E+00,-0.87515E+00,-0.87809E+00, & - &-0.88101E+00,-0.88391E+00,-0.88681E+00,-0.88968E+00,-0.89255E+00, & - &-0.89540E+00,-0.89823E+00,-0.90106E+00,-0.90387E+00,-0.90666E+00, & - &-0.90945E+00,-0.91222E+00,-0.91499E+00,-0.91773E+00,-0.92047E+00, & - &-0.92320E+00,-0.92592E+00,-0.92862E+00,-0.93131E+00,-0.93400E+00, & - &-0.93667E+00,-0.93933E+00,-0.94198E+00,-0.94462E+00,-0.94726E+00, & - &-0.94988E+00,-0.95249E+00,-0.95509E+00,-0.95769E+00,-0.96027E+00, & - &-0.96285E+00,-0.96541E+00,-0.96797E+00,-0.97052E+00,-0.97306E+00, & - &-0.97559E+00,-0.97812E+00,-0.98063E+00,-0.98314E+00,-0.98564E+00, & - &-0.98813E+00,-0.99062E+00,-0.99309E+00,-0.99556E+00,-0.99802E+00, & - &-0.10005E+01,-0.10029E+01,-0.10054E+01,-0.10078E+01,-0.10102E+01, & - &-0.10126E+01,-0.10150E+01,-0.10175E+01,-0.10198E+01,-0.10222E+01, & - &-0.10246E+01,-0.10270E+01,-0.10294E+01,-0.10317E+01,-0.10341E+01/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.10365E+01,-0.10388E+01,-0.10411E+01,-0.10435E+01,-0.10458E+01, & - &-0.10481E+01,-0.10505E+01,-0.10528E+01,-0.10551E+01,-0.10574E+01, & - &-0.10597E+01,-0.10620E+01,-0.10642E+01,-0.10665E+01,-0.10688E+01, & - &-0.10711E+01,-0.10733E+01,-0.10756E+01,-0.10778E+01,-0.10801E+01, & - &-0.10823E+01,-0.10846E+01,-0.10868E+01,-0.10890E+01,-0.10913E+01, & - &-0.10935E+01,-0.10957E+01,-0.10979E+01,-0.11001E+01,-0.11023E+01, & - &-0.11045E+01,-0.11067E+01,-0.11089E+01,-0.11111E+01,-0.11133E+01, & - &-0.11154E+01,-0.11176E+01,-0.11198E+01,-0.11219E+01,-0.11241E+01, & - &-0.11263E+01 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.95602E-01,-0.20838E+00,-0.26497E+00,-0.30509E+00,-0.33666E+00, & - &-0.36287E+00,-0.38536E+00,-0.40512E+00,-0.42276E+00,-0.43873E+00, & - &-0.45332E+00,-0.46676E+00,-0.47924E+00,-0.49089E+00,-0.50182E+00, & - &-0.51211E+00,-0.52185E+00,-0.53109E+00,-0.53988E+00,-0.54827E+00, & - &-0.55629E+00,-0.56398E+00,-0.57137E+00,-0.57848E+00,-0.58532E+00, & - &-0.59193E+00,-0.59832E+00,-0.60450E+00,-0.61049E+00,-0.61630E+00, & - &-0.62194E+00,-0.62742E+00,-0.63275E+00,-0.63794E+00,-0.64299E+00, & - &-0.64792E+00,-0.65273E+00,-0.65742E+00,-0.66201E+00,-0.66649E+00, & - &-0.67087E+00,-0.67516E+00,-0.67936E+00,-0.68347E+00,-0.68750E+00, & - &-0.69145E+00,-0.69533E+00,-0.69913E+00,-0.70286E+00,-0.70653E+00, & - &-0.71013E+00,-0.71367E+00,-0.71715E+00,-0.72057E+00,-0.72393E+00, & - &-0.72724E+00,-0.73050E+00,-0.73371E+00,-0.73687E+00,-0.73999E+00, & - &-0.74306E+00,-0.74609E+00,-0.74907E+00,-0.75202E+00,-0.75492E+00, & - &-0.75779E+00,-0.76063E+00,-0.76342E+00,-0.76619E+00,-0.76892E+00, & - &-0.77162E+00,-0.77428E+00,-0.77692E+00,-0.77953E+00,-0.78212E+00, & - &-0.78467E+00,-0.78720E+00,-0.78971E+00,-0.79219E+00,-0.79464E+00, & - &-0.79708E+00,-0.79949E+00,-0.80188E+00,-0.80425E+00,-0.80660E+00, & - &-0.80893E+00,-0.81124E+00,-0.81353E+00,-0.81581E+00,-0.81807E+00, & - &-0.82031E+00,-0.82253E+00,-0.82474E+00,-0.82693E+00,-0.82910E+00, & - &-0.83127E+00,-0.83341E+00,-0.83554E+00,-0.83766E+00,-0.83976E+00/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.84185E+00,-0.84393E+00,-0.84599E+00,-0.84804E+00,-0.85007E+00, & - &-0.85210E+00,-0.85411E+00,-0.85611E+00,-0.85809E+00,-0.86007E+00, & - &-0.86203E+00,-0.86398E+00,-0.86592E+00,-0.86785E+00,-0.86977E+00, & - &-0.87167E+00,-0.87357E+00,-0.87545E+00,-0.87732E+00,-0.87918E+00, & - &-0.88103E+00,-0.88287E+00,-0.88470E+00,-0.88652E+00,-0.88833E+00, & - &-0.89013E+00,-0.89192E+00,-0.89370E+00,-0.89547E+00,-0.89724E+00, & - &-0.89899E+00,-0.90073E+00,-0.90246E+00,-0.90419E+00,-0.90590E+00, & - &-0.90761E+00,-0.90930E+00,-0.91099E+00,-0.91267E+00,-0.91434E+00, & - &-0.91601E+00,-0.91766E+00,-0.91931E+00,-0.92094E+00,-0.92257E+00, & - &-0.92420E+00,-0.92581E+00,-0.92742E+00,-0.92902E+00,-0.93061E+00, & - &-0.93219E+00,-0.93377E+00,-0.93534E+00,-0.93690E+00,-0.93846E+00, & - &-0.94000E+00,-0.94155E+00,-0.94308E+00,-0.94461E+00,-0.94613E+00, & - &-0.94764E+00,-0.94915E+00,-0.95065E+00,-0.95215E+00,-0.95363E+00, & - &-0.95512E+00,-0.95659E+00,-0.95806E+00,-0.95953E+00,-0.96099E+00, & - &-0.96244E+00,-0.96388E+00,-0.96532E+00,-0.96676E+00,-0.96819E+00, & - &-0.96961E+00,-0.97103E+00,-0.97244E+00,-0.97385E+00,-0.97525E+00, & - &-0.97665E+00,-0.97804E+00,-0.97942E+00,-0.98080E+00,-0.98218E+00, & - &-0.98355E+00,-0.98491E+00,-0.98627E+00,-0.98763E+00,-0.98898E+00, & - &-0.99033E+00,-0.99167E+00,-0.99300E+00,-0.99434E+00,-0.99566E+00, & - &-0.99699E+00,-0.99830E+00,-0.99962E+00,-0.10009E+01,-0.10022E+01/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.10035E+01,-0.10048E+01,-0.10061E+01,-0.10074E+01,-0.10087E+01, & - &-0.10100E+01,-0.10112E+01,-0.10125E+01,-0.10138E+01,-0.10150E+01, & - &-0.10163E+01,-0.10176E+01,-0.10188E+01,-0.10200E+01,-0.10213E+01, & - &-0.10225E+01,-0.10238E+01,-0.10250E+01,-0.10262E+01,-0.10274E+01, & - &-0.10287E+01,-0.10299E+01,-0.10311E+01,-0.10323E+01,-0.10335E+01, & - &-0.10347E+01,-0.10359E+01,-0.10371E+01,-0.10383E+01,-0.10395E+01, & - &-0.10407E+01,-0.10419E+01,-0.10430E+01,-0.10442E+01,-0.10454E+01, & - &-0.10465E+01,-0.10477E+01,-0.10489E+01,-0.10500E+01,-0.10512E+01, & - &-0.10523E+01,-0.10535E+01,-0.10546E+01,-0.10558E+01,-0.10569E+01, & - &-0.10581E+01,-0.10592E+01,-0.10603E+01,-0.10615E+01,-0.10626E+01, & - &-0.10637E+01,-0.10648E+01,-0.10659E+01,-0.10670E+01,-0.10682E+01, & - &-0.10693E+01,-0.10704E+01,-0.10715E+01,-0.10726E+01,-0.10737E+01, & - &-0.10748E+01,-0.10759E+01,-0.10769E+01,-0.10780E+01,-0.10791E+01, & - &-0.10802E+01,-0.10813E+01,-0.10824E+01,-0.10834E+01,-0.10845E+01, & - &-0.10856E+01,-0.10866E+01,-0.10877E+01,-0.10888E+01,-0.10898E+01, & - &-0.10909E+01,-0.10919E+01,-0.10930E+01,-0.10940E+01,-0.10951E+01, & - &-0.10961E+01,-0.10972E+01,-0.10982E+01,-0.10992E+01,-0.11003E+01, & - &-0.11013E+01,-0.11023E+01,-0.11034E+01,-0.11044E+01,-0.11054E+01, & - &-0.11064E+01,-0.11074E+01,-0.11085E+01,-0.11095E+01,-0.11105E+01, & - &-0.11115E+01,-0.11125E+01,-0.11135E+01,-0.11145E+01,-0.11155E+01/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.11165E+01,-0.11175E+01,-0.11185E+01,-0.11195E+01,-0.11205E+01, & - &-0.11215E+01,-0.11225E+01,-0.11234E+01,-0.11244E+01,-0.11254E+01, & - &-0.11264E+01,-0.11274E+01,-0.11283E+01,-0.11293E+01,-0.11303E+01, & - &-0.11313E+01,-0.11322E+01,-0.11332E+01,-0.11342E+01,-0.11351E+01, & - &-0.11361E+01,-0.11370E+01,-0.11380E+01,-0.11389E+01,-0.11399E+01, & - &-0.11408E+01,-0.11418E+01,-0.11427E+01,-0.11437E+01,-0.11446E+01, & - &-0.11456E+01,-0.11465E+01,-0.11475E+01,-0.11484E+01,-0.11493E+01, & - &-0.11503E+01,-0.11512E+01,-0.11521E+01,-0.11531E+01,-0.11540E+01, & - &-0.11549E+01,-0.11558E+01,-0.11567E+01,-0.11577E+01,-0.11586E+01, & - &-0.11595E+01,-0.11604E+01,-0.11613E+01,-0.11622E+01,-0.11632E+01, & - &-0.11641E+01,-0.11650E+01,-0.11659E+01,-0.11668E+01,-0.11677E+01, & - &-0.11686E+01,-0.11695E+01,-0.11704E+01,-0.11713E+01,-0.11722E+01, & - &-0.11731E+01,-0.11740E+01,-0.11749E+01,-0.11757E+01,-0.11766E+01, & - &-0.11775E+01,-0.11784E+01,-0.11793E+01,-0.11802E+01,-0.11810E+01, & - &-0.11819E+01,-0.11828E+01,-0.11837E+01,-0.11846E+01,-0.11854E+01, & - &-0.11863E+01,-0.11872E+01,-0.11880E+01,-0.11889E+01,-0.11898E+01, & - &-0.11906E+01,-0.11915E+01,-0.11924E+01,-0.11932E+01,-0.11941E+01, & - &-0.11949E+01,-0.11958E+01,-0.11967E+01,-0.11975E+01,-0.11984E+01, & - &-0.11992E+01,-0.12001E+01,-0.12009E+01,-0.12018E+01,-0.12026E+01, & - &-0.12035E+01,-0.12043E+01,-0.12051E+01,-0.12060E+01,-0.12068E+01/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.12077E+01,-0.12085E+01,-0.12093E+01,-0.12102E+01,-0.12110E+01, & - &-0.12118E+01,-0.12127E+01,-0.12135E+01,-0.12143E+01,-0.12152E+01, & - &-0.12160E+01,-0.12168E+01,-0.12176E+01,-0.12185E+01,-0.12193E+01, & - &-0.12201E+01,-0.12209E+01,-0.12217E+01,-0.12226E+01,-0.12234E+01, & - &-0.12242E+01,-0.12250E+01,-0.12258E+01,-0.12266E+01,-0.12274E+01, & - &-0.12283E+01,-0.12291E+01,-0.12299E+01,-0.12307E+01,-0.12315E+01, & - &-0.12323E+01,-0.12331E+01,-0.12339E+01,-0.12347E+01,-0.12355E+01, & - &-0.12363E+01,-0.12371E+01,-0.12379E+01,-0.12387E+01,-0.12395E+01, & - &-0.12403E+01,-0.12411E+01,-0.12419E+01,-0.12426E+01,-0.12434E+01, & - &-0.12442E+01,-0.12450E+01,-0.12458E+01,-0.12466E+01,-0.12474E+01, & - &-0.12482E+01,-0.12489E+01,-0.12497E+01,-0.12505E+01,-0.12513E+01, & - &-0.12521E+01,-0.12528E+01,-0.12536E+01,-0.12544E+01,-0.12552E+01, & - &-0.12559E+01,-0.12567E+01,-0.12575E+01,-0.12583E+01,-0.12590E+01, & - &-0.12598E+01,-0.12606E+01,-0.12613E+01,-0.12621E+01,-0.12629E+01, & - &-0.12636E+01,-0.12644E+01,-0.12652E+01,-0.12659E+01,-0.12667E+01, & - &-0.12674E+01,-0.12682E+01,-0.12690E+01,-0.12697E+01,-0.12705E+01, & - &-0.12712E+01,-0.12720E+01,-0.12727E+01,-0.12735E+01,-0.12742E+01, & - &-0.12750E+01,-0.12757E+01,-0.12765E+01,-0.12772E+01,-0.12780E+01, & - &-0.12787E+01,-0.12795E+01,-0.12802E+01,-0.12810E+01,-0.12817E+01, & - &-0.12825E+01,-0.12832E+01,-0.12839E+01,-0.12847E+01,-0.12854E+01/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.12862E+01,-0.12869E+01,-0.12876E+01,-0.12884E+01,-0.12891E+01, & - &-0.12898E+01,-0.12906E+01,-0.12913E+01,-0.12920E+01,-0.12928E+01, & - &-0.12935E+01,-0.12942E+01,-0.12950E+01,-0.12957E+01,-0.12964E+01, & - &-0.12971E+01,-0.12979E+01,-0.12986E+01,-0.12993E+01,-0.13000E+01, & - &-0.13008E+01,-0.13015E+01,-0.13022E+01,-0.13029E+01,-0.13036E+01, & - &-0.13044E+01,-0.13051E+01,-0.13058E+01,-0.13065E+01,-0.13072E+01, & - &-0.13079E+01,-0.13087E+01,-0.13094E+01,-0.13101E+01,-0.13108E+01, & - &-0.13115E+01,-0.13122E+01,-0.13129E+01,-0.13136E+01,-0.13143E+01, & - &-0.13151E+01,-0.13158E+01,-0.13165E+01,-0.13172E+01,-0.13179E+01, & - &-0.13186E+01,-0.13193E+01,-0.13200E+01,-0.13207E+01,-0.13214E+01, & - &-0.13221E+01,-0.13228E+01,-0.13235E+01,-0.13242E+01,-0.13249E+01, & - &-0.13256E+01,-0.13263E+01,-0.13270E+01,-0.13277E+01,-0.13284E+01, & - &-0.13291E+01,-0.13298E+01,-0.13304E+01,-0.13311E+01,-0.13318E+01, & - &-0.13325E+01,-0.13332E+01,-0.13339E+01,-0.13346E+01,-0.13353E+01, & - &-0.13360E+01,-0.13367E+01,-0.13373E+01,-0.13380E+01,-0.13387E+01, & - &-0.13394E+01,-0.13401E+01,-0.13408E+01,-0.13414E+01,-0.13421E+01, & - &-0.13428E+01,-0.13435E+01,-0.13442E+01,-0.13448E+01,-0.13455E+01, & - &-0.13462E+01,-0.13469E+01,-0.13476E+01,-0.13482E+01,-0.13489E+01, & - &-0.13496E+01,-0.13503E+01,-0.13509E+01,-0.13516E+01,-0.13523E+01, & - &-0.13530E+01,-0.13536E+01,-0.13543E+01,-0.13550E+01,-0.13556E+01/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.13628E+01,-0.13694E+01,-0.13760E+01,-0.13825E+01,-0.13889E+01, & - &-0.13953E+01,-0.14016E+01,-0.14079E+01,-0.14142E+01,-0.14204E+01, & - &-0.14265E+01,-0.14327E+01,-0.14387E+01,-0.14448E+01,-0.14507E+01, & - &-0.14567E+01,-0.14626E+01,-0.14685E+01,-0.14743E+01,-0.14801E+01, & - &-0.14859E+01,-0.14916E+01,-0.14973E+01,-0.15030E+01,-0.15087E+01, & - &-0.15143E+01,-0.15198E+01,-0.15254E+01,-0.15309E+01,-0.15364E+01, & - &-0.15419E+01,-0.15473E+01,-0.15527E+01,-0.15581E+01,-0.15635E+01, & - &-0.15688E+01,-0.15741E+01,-0.15794E+01,-0.15846E+01,-0.15899E+01, & - &-0.15951E+01,-0.16003E+01,-0.16055E+01,-0.16106E+01,-0.16157E+01, & - &-0.16208E+01,-0.16259E+01,-0.16310E+01,-0.16360E+01,-0.16411E+01, & - &-0.16461E+01,-0.16511E+01,-0.16560E+01,-0.16610E+01,-0.16659E+01, & - &-0.16708E+01,-0.16757E+01,-0.16806E+01,-0.16855E+01,-0.16903E+01, & - &-0.16952E+01,-0.17000E+01,-0.17048E+01,-0.17096E+01,-0.17143E+01, & - &-0.17191E+01,-0.17238E+01,-0.17285E+01,-0.17333E+01,-0.17379E+01, & - &-0.17426E+01,-0.17473E+01,-0.17520E+01,-0.17566E+01,-0.17612E+01, & - &-0.17658E+01,-0.17704E+01,-0.17750E+01,-0.17796E+01,-0.17842E+01, & - &-0.17887E+01,-0.17933E+01,-0.17978E+01,-0.18023E+01,-0.18068E+01, & - &-0.18113E+01,-0.18158E+01,-0.18203E+01,-0.18247E+01,-0.18292E+01, & - &-0.18336E+01,-0.18380E+01,-0.18425E+01,-0.18469E+01,-0.18513E+01, & - &-0.18556E+01,-0.18600E+01,-0.18644E+01,-0.18687E+01,-0.18731E+01/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.18774E+01,-0.18818E+01,-0.18861E+01,-0.18904E+01,-0.18947E+01, & - &-0.18990E+01,-0.19033E+01,-0.19075E+01,-0.19118E+01,-0.19161E+01, & - &-0.19203E+01,-0.19245E+01,-0.19288E+01,-0.19330E+01,-0.19372E+01, & - &-0.19414E+01,-0.19456E+01,-0.19498E+01,-0.19540E+01,-0.19582E+01, & - &-0.19623E+01,-0.19665E+01,-0.19707E+01,-0.19748E+01,-0.19789E+01, & - &-0.19831E+01,-0.19872E+01,-0.19913E+01,-0.19954E+01,-0.19995E+01, & - &-0.20036E+01,-0.20077E+01,-0.20118E+01,-0.20159E+01,-0.20199E+01, & - &-0.20240E+01,-0.20280E+01,-0.20321E+01,-0.20361E+01,-0.20402E+01, & - &-0.20442E+01 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.48407E-01,-0.10752E+00,-0.13832E+00,-0.16078E+00,-0.17887E+00, & - &-0.19423E+00,-0.20767E+00,-0.21970E+00,-0.23063E+00,-0.24069E+00, & - &-0.25003E+00,-0.25876E+00,-0.26699E+00,-0.27478E+00,-0.28218E+00, & - &-0.28924E+00,-0.29599E+00,-0.30248E+00,-0.30872E+00,-0.31474E+00, & - &-0.32056E+00,-0.32619E+00,-0.33165E+00,-0.33695E+00,-0.34210E+00, & - &-0.34712E+00,-0.35200E+00,-0.35676E+00,-0.36141E+00,-0.36595E+00, & - &-0.37039E+00,-0.37472E+00,-0.37897E+00,-0.38313E+00,-0.38720E+00, & - &-0.39119E+00,-0.39511E+00,-0.39895E+00,-0.40271E+00,-0.40642E+00, & - &-0.41005E+00,-0.41362E+00,-0.41713E+00,-0.42058E+00,-0.42397E+00, & - &-0.42731E+00,-0.43059E+00,-0.43382E+00,-0.43700E+00,-0.44014E+00, & - &-0.44323E+00,-0.44627E+00,-0.44927E+00,-0.45222E+00,-0.45514E+00, & - &-0.45802E+00,-0.46085E+00,-0.46366E+00,-0.46642E+00,-0.46916E+00, & - &-0.47186E+00,-0.47453E+00,-0.47717E+00,-0.47978E+00,-0.48236E+00, & - &-0.48491E+00,-0.48744E+00,-0.48995E+00,-0.49243E+00,-0.49489E+00, & - &-0.49732E+00,-0.49974E+00,-0.50213E+00,-0.50451E+00,-0.50687E+00, & - &-0.50921E+00,-0.51154E+00,-0.51385E+00,-0.51614E+00,-0.51842E+00, & - &-0.52069E+00,-0.52295E+00,-0.52519E+00,-0.52742E+00,-0.52963E+00, & - &-0.53184E+00,-0.53404E+00,-0.53622E+00,-0.53840E+00,-0.54057E+00, & - &-0.54273E+00,-0.54487E+00,-0.54701E+00,-0.54915E+00,-0.55127E+00, & - &-0.55338E+00,-0.55549E+00,-0.55759E+00,-0.55968E+00,-0.56176E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.56384E+00,-0.56591E+00,-0.56797E+00,-0.57002E+00,-0.57206E+00, & - &-0.57410E+00,-0.57613E+00,-0.57815E+00,-0.58016E+00,-0.58217E+00, & - &-0.58417E+00,-0.58616E+00,-0.58814E+00,-0.59011E+00,-0.59208E+00, & - &-0.59404E+00,-0.59599E+00,-0.59793E+00,-0.59986E+00,-0.60178E+00, & - &-0.60370E+00,-0.60561E+00,-0.60751E+00,-0.60940E+00,-0.61128E+00, & - &-0.61316E+00,-0.61503E+00,-0.61688E+00,-0.61873E+00,-0.62058E+00, & - &-0.62241E+00,-0.62424E+00,-0.62605E+00,-0.62786E+00,-0.62966E+00, & - &-0.63146E+00,-0.63324E+00,-0.63502E+00,-0.63679E+00,-0.63855E+00, & - &-0.64030E+00,-0.64204E+00,-0.64378E+00,-0.64551E+00,-0.64723E+00, & - &-0.64895E+00,-0.65066E+00,-0.65235E+00,-0.65405E+00,-0.65573E+00, & - &-0.65741E+00,-0.65908E+00,-0.66074E+00,-0.66240E+00,-0.66405E+00, & - &-0.66569E+00,-0.66733E+00,-0.66895E+00,-0.67058E+00,-0.67219E+00, & - &-0.67380E+00,-0.67540E+00,-0.67700E+00,-0.67859E+00,-0.68017E+00, & - &-0.68174E+00,-0.68331E+00,-0.68488E+00,-0.68643E+00,-0.68798E+00, & - &-0.68953E+00,-0.69107E+00,-0.69260E+00,-0.69413E+00,-0.69565E+00, & - &-0.69716E+00,-0.69867E+00,-0.70017E+00,-0.70167E+00,-0.70316E+00, & - &-0.70465E+00,-0.70613E+00,-0.70760E+00,-0.70907E+00,-0.71054E+00, & - &-0.71199E+00,-0.71345E+00,-0.71489E+00,-0.71634E+00,-0.71777E+00, & - &-0.71920E+00,-0.72063E+00,-0.72205E+00,-0.72347E+00,-0.72488E+00, & - &-0.72629E+00,-0.72769E+00,-0.72908E+00,-0.73047E+00,-0.73186E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.73324E+00,-0.73462E+00,-0.73599E+00,-0.73736E+00,-0.73872E+00, & - &-0.74008E+00,-0.74143E+00,-0.74278E+00,-0.74412E+00,-0.74546E+00, & - &-0.74679E+00,-0.74812E+00,-0.74945E+00,-0.75077E+00,-0.75209E+00, & - &-0.75340E+00,-0.75471E+00,-0.75601E+00,-0.75731E+00,-0.75861E+00, & - &-0.75990E+00,-0.76118E+00,-0.76246E+00,-0.76374E+00,-0.76502E+00, & - &-0.76629E+00,-0.76755E+00,-0.76881E+00,-0.77007E+00,-0.77133E+00, & - &-0.77257E+00,-0.77382E+00,-0.77506E+00,-0.77630E+00,-0.77753E+00, & - &-0.77876E+00,-0.77999E+00,-0.78121E+00,-0.78243E+00,-0.78365E+00, & - &-0.78486E+00,-0.78607E+00,-0.78727E+00,-0.78847E+00,-0.78967E+00, & - &-0.79086E+00,-0.79205E+00,-0.79323E+00,-0.79441E+00,-0.79559E+00, & - &-0.79677E+00,-0.79794E+00,-0.79911E+00,-0.80027E+00,-0.80143E+00, & - &-0.80259E+00,-0.80375E+00,-0.80490E+00,-0.80604E+00,-0.80719E+00, & - &-0.80833E+00,-0.80947E+00,-0.81060E+00,-0.81173E+00,-0.81286E+00, & - &-0.81398E+00,-0.81510E+00,-0.81622E+00,-0.81734E+00,-0.81845E+00, & - &-0.81956E+00,-0.82066E+00,-0.82177E+00,-0.82287E+00,-0.82396E+00, & - &-0.82505E+00,-0.82614E+00,-0.82723E+00,-0.82832E+00,-0.82940E+00, & - &-0.83048E+00,-0.83155E+00,-0.83262E+00,-0.83369E+00,-0.83476E+00, & - &-0.83582E+00,-0.83688E+00,-0.83794E+00,-0.83899E+00,-0.84005E+00, & - &-0.84110E+00,-0.84214E+00,-0.84319E+00,-0.84423E+00,-0.84527E+00, & - &-0.84630E+00,-0.84733E+00,-0.84836E+00,-0.84939E+00,-0.85041E+00/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.85144E+00,-0.85246E+00,-0.85347E+00,-0.85449E+00,-0.85550E+00, & - &-0.85651E+00,-0.85751E+00,-0.85852E+00,-0.85952E+00,-0.86051E+00, & - &-0.86151E+00,-0.86250E+00,-0.86349E+00,-0.86448E+00,-0.86547E+00, & - &-0.86645E+00,-0.86743E+00,-0.86841E+00,-0.86939E+00,-0.87036E+00, & - &-0.87133E+00,-0.87230E+00,-0.87327E+00,-0.87423E+00,-0.87519E+00, & - &-0.87615E+00,-0.87711E+00,-0.87806E+00,-0.87901E+00,-0.87996E+00, & - &-0.88091E+00,-0.88185E+00,-0.88280E+00,-0.88374E+00,-0.88468E+00, & - &-0.88561E+00,-0.88655E+00,-0.88748E+00,-0.88841E+00,-0.88933E+00, & - &-0.89026E+00,-0.89118E+00,-0.89210E+00,-0.89302E+00,-0.89394E+00, & - &-0.89485E+00,-0.89576E+00,-0.89667E+00,-0.89758E+00,-0.89849E+00, & - &-0.89939E+00,-0.90029E+00,-0.90119E+00,-0.90209E+00,-0.90298E+00, & - &-0.90387E+00,-0.90477E+00,-0.90565E+00,-0.90654E+00,-0.90743E+00, & - &-0.90831E+00,-0.90919E+00,-0.91007E+00,-0.91095E+00,-0.91182E+00, & - &-0.91269E+00,-0.91357E+00,-0.91443E+00,-0.91530E+00,-0.91617E+00, & - &-0.91703E+00,-0.91789E+00,-0.91875E+00,-0.91961E+00,-0.92046E+00, & - &-0.92132E+00,-0.92217E+00,-0.92302E+00,-0.92387E+00,-0.92471E+00, & - &-0.92556E+00,-0.92640E+00,-0.92724E+00,-0.92808E+00,-0.92892E+00, & - &-0.92975E+00,-0.93059E+00,-0.93142E+00,-0.93225E+00,-0.93308E+00, & - &-0.93390E+00,-0.93473E+00,-0.93555E+00,-0.93637E+00,-0.93719E+00, & - &-0.93801E+00,-0.93883E+00,-0.93964E+00,-0.94045E+00,-0.94126E+00/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.94207E+00,-0.94288E+00,-0.94369E+00,-0.94449E+00,-0.94529E+00, & - &-0.94609E+00,-0.94689E+00,-0.94769E+00,-0.94849E+00,-0.94928E+00, & - &-0.95007E+00,-0.95087E+00,-0.95166E+00,-0.95244E+00,-0.95323E+00, & - &-0.95401E+00,-0.95480E+00,-0.95558E+00,-0.95636E+00,-0.95714E+00, & - &-0.95791E+00,-0.95869E+00,-0.95946E+00,-0.96023E+00,-0.96101E+00, & - &-0.96177E+00,-0.96254E+00,-0.96331E+00,-0.96407E+00,-0.96484E+00, & - &-0.96560E+00,-0.96636E+00,-0.96712E+00,-0.96787E+00,-0.96863E+00, & - &-0.96938E+00,-0.97014E+00,-0.97089E+00,-0.97164E+00,-0.97238E+00, & - &-0.97313E+00,-0.97388E+00,-0.97462E+00,-0.97536E+00,-0.97610E+00, & - &-0.97684E+00,-0.97758E+00,-0.97832E+00,-0.97905E+00,-0.97979E+00, & - &-0.98052E+00,-0.98125E+00,-0.98198E+00,-0.98271E+00,-0.98344E+00, & - &-0.98416E+00,-0.98489E+00,-0.98561E+00,-0.98633E+00,-0.98705E+00, & - &-0.98777E+00,-0.98849E+00,-0.98921E+00,-0.98992E+00,-0.99064E+00, & - &-0.99135E+00,-0.99206E+00,-0.99277E+00,-0.99348E+00,-0.99419E+00, & - &-0.99489E+00,-0.99560E+00,-0.99630E+00,-0.99700E+00,-0.99770E+00, & - &-0.99840E+00,-0.99910E+00,-0.99980E+00,-0.10005E+01,-0.10012E+01, & - &-0.10019E+01,-0.10026E+01,-0.10033E+01,-0.10040E+01,-0.10046E+01, & - &-0.10053E+01,-0.10060E+01,-0.10067E+01,-0.10074E+01,-0.10081E+01, & - &-0.10087E+01,-0.10094E+01,-0.10101E+01,-0.10108E+01,-0.10115E+01, & - &-0.10121E+01,-0.10128E+01,-0.10135E+01,-0.10142E+01,-0.10148E+01/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.10155E+01,-0.10162E+01,-0.10168E+01,-0.10175E+01,-0.10182E+01, & - &-0.10188E+01,-0.10195E+01,-0.10201E+01,-0.10208E+01,-0.10215E+01, & - &-0.10221E+01,-0.10228E+01,-0.10234E+01,-0.10241E+01,-0.10247E+01, & - &-0.10254E+01,-0.10260E+01,-0.10267E+01,-0.10273E+01,-0.10280E+01, & - &-0.10286E+01,-0.10293E+01,-0.10299E+01,-0.10306E+01,-0.10312E+01, & - &-0.10319E+01,-0.10325E+01,-0.10331E+01,-0.10338E+01,-0.10344E+01, & - &-0.10351E+01,-0.10357E+01,-0.10363E+01,-0.10370E+01,-0.10376E+01, & - &-0.10382E+01,-0.10389E+01,-0.10395E+01,-0.10401E+01,-0.10407E+01, & - &-0.10414E+01,-0.10420E+01,-0.10426E+01,-0.10432E+01,-0.10439E+01, & - &-0.10445E+01,-0.10451E+01,-0.10457E+01,-0.10463E+01,-0.10470E+01, & - &-0.10476E+01,-0.10482E+01,-0.10488E+01,-0.10494E+01,-0.10500E+01, & - &-0.10506E+01,-0.10512E+01,-0.10519E+01,-0.10525E+01,-0.10531E+01, & - &-0.10537E+01,-0.10543E+01,-0.10549E+01,-0.10555E+01,-0.10561E+01, & - &-0.10567E+01,-0.10573E+01,-0.10579E+01,-0.10585E+01,-0.10591E+01, & - &-0.10597E+01,-0.10603E+01,-0.10609E+01,-0.10615E+01,-0.10621E+01, & - &-0.10627E+01,-0.10633E+01,-0.10639E+01,-0.10644E+01,-0.10650E+01, & - &-0.10656E+01,-0.10662E+01,-0.10668E+01,-0.10674E+01,-0.10680E+01, & - &-0.10685E+01,-0.10691E+01,-0.10697E+01,-0.10703E+01,-0.10709E+01, & - &-0.10715E+01,-0.10720E+01,-0.10726E+01,-0.10732E+01,-0.10738E+01, & - &-0.10743E+01,-0.10749E+01,-0.10755E+01,-0.10761E+01,-0.10766E+01/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.10828E+01,-0.10883E+01,-0.10939E+01,-0.10993E+01,-0.11047E+01, & - &-0.11099E+01,-0.11152E+01,-0.11203E+01,-0.11254E+01,-0.11304E+01, & - &-0.11354E+01,-0.11403E+01,-0.11451E+01,-0.11499E+01,-0.11546E+01, & - &-0.11593E+01,-0.11639E+01,-0.11685E+01,-0.11730E+01,-0.11775E+01, & - &-0.11819E+01,-0.11863E+01,-0.11906E+01,-0.11949E+01,-0.11991E+01, & - &-0.12033E+01,-0.12075E+01,-0.12116E+01,-0.12156E+01,-0.12197E+01, & - &-0.12237E+01,-0.12276E+01,-0.12316E+01,-0.12355E+01,-0.12393E+01, & - &-0.12431E+01,-0.12469E+01,-0.12507E+01,-0.12544E+01,-0.12581E+01, & - &-0.12618E+01,-0.12654E+01,-0.12690E+01,-0.12726E+01,-0.12761E+01, & - &-0.12797E+01,-0.12831E+01,-0.12866E+01,-0.12901E+01,-0.12935E+01, & - &-0.12969E+01,-0.13002E+01,-0.13036E+01,-0.13069E+01,-0.13102E+01, & - &-0.13135E+01,-0.13167E+01,-0.13200E+01,-0.13232E+01,-0.13264E+01, & - &-0.13295E+01,-0.13327E+01,-0.13358E+01,-0.13389E+01,-0.13420E+01, & - &-0.13451E+01,-0.13481E+01,-0.13512E+01,-0.13542E+01,-0.13572E+01, & - &-0.13601E+01,-0.13631E+01,-0.13661E+01,-0.13690E+01,-0.13719E+01, & - &-0.13748E+01,-0.13777E+01,-0.13806E+01,-0.13834E+01,-0.13863E+01, & - &-0.13891E+01,-0.13919E+01,-0.13947E+01,-0.13975E+01,-0.14002E+01, & - &-0.14030E+01,-0.14057E+01,-0.14085E+01,-0.14112E+01,-0.14139E+01, & - &-0.14166E+01,-0.14192E+01,-0.14219E+01,-0.14246E+01,-0.14272E+01, & - &-0.14298E+01,-0.14325E+01,-0.14351E+01,-0.14377E+01,-0.14402E+01/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.14428E+01,-0.14454E+01,-0.14479E+01,-0.14505E+01,-0.14530E+01, & - &-0.14555E+01,-0.14581E+01,-0.14606E+01,-0.14631E+01,-0.14655E+01, & - &-0.14680E+01,-0.14705E+01,-0.14729E+01,-0.14754E+01,-0.14778E+01, & - &-0.14803E+01,-0.14827E+01,-0.14851E+01,-0.14875E+01,-0.14899E+01, & - &-0.14923E+01,-0.14947E+01,-0.14970E+01,-0.14994E+01,-0.15017E+01, & - &-0.15041E+01,-0.15064E+01,-0.15088E+01,-0.15111E+01,-0.15134E+01, & - &-0.15157E+01,-0.15180E+01,-0.15203E+01,-0.15226E+01,-0.15249E+01, & - &-0.15272E+01,-0.15294E+01,-0.15317E+01,-0.15340E+01,-0.15362E+01, & - &-0.15385E+01 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.47150E-01,-0.10066E+00,-0.12632E+00,-0.14389E+00,-0.15726E+00, & - &-0.16803E+00,-0.17700E+00,-0.18464E+00,-0.19127E+00,-0.19709E+00, & - &-0.20226E+00,-0.20689E+00,-0.21106E+00,-0.21484E+00,-0.21828E+00, & - &-0.22143E+00,-0.22432E+00,-0.22698E+00,-0.22943E+00,-0.23171E+00, & - &-0.23382E+00,-0.23578E+00,-0.23761E+00,-0.23932E+00,-0.24091E+00, & - &-0.24240E+00,-0.24380E+00,-0.24511E+00,-0.24634E+00,-0.24750E+00, & - &-0.24859E+00,-0.24961E+00,-0.25058E+00,-0.25149E+00,-0.25235E+00, & - &-0.25316E+00,-0.25393E+00,-0.25466E+00,-0.25535E+00,-0.25600E+00, & - &-0.25662E+00,-0.25721E+00,-0.25776E+00,-0.25829E+00,-0.25879E+00, & - &-0.25927E+00,-0.25972E+00,-0.26015E+00,-0.26056E+00,-0.26095E+00, & - &-0.26132E+00,-0.26167E+00,-0.26201E+00,-0.26232E+00,-0.26262E+00, & - &-0.26291E+00,-0.26318E+00,-0.26344E+00,-0.26368E+00,-0.26391E+00, & - &-0.26412E+00,-0.26433E+00,-0.26452E+00,-0.26470E+00,-0.26486E+00, & - &-0.26502E+00,-0.26516E+00,-0.26529E+00,-0.26541E+00,-0.26552E+00, & - &-0.26562E+00,-0.26570E+00,-0.26578E+00,-0.26584E+00,-0.26589E+00, & - &-0.26594E+00,-0.26597E+00,-0.26599E+00,-0.26600E+00,-0.26600E+00, & - &-0.26598E+00,-0.26596E+00,-0.26593E+00,-0.26589E+00,-0.26583E+00, & - &-0.26577E+00,-0.26569E+00,-0.26561E+00,-0.26551E+00,-0.26541E+00, & - &-0.26529E+00,-0.26517E+00,-0.26504E+00,-0.26490E+00,-0.26474E+00, & - &-0.26458E+00,-0.26441E+00,-0.26424E+00,-0.26405E+00,-0.26386E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.26365E+00,-0.26345E+00,-0.26323E+00,-0.26300E+00,-0.26277E+00, & - &-0.26254E+00,-0.26229E+00,-0.26204E+00,-0.26179E+00,-0.26153E+00, & - &-0.26126E+00,-0.26099E+00,-0.26071E+00,-0.26043E+00,-0.26014E+00, & - &-0.25985E+00,-0.25955E+00,-0.25925E+00,-0.25895E+00,-0.25864E+00, & - &-0.25833E+00,-0.25802E+00,-0.25770E+00,-0.25738E+00,-0.25706E+00, & - &-0.25673E+00,-0.25640E+00,-0.25607E+00,-0.25574E+00,-0.25540E+00, & - &-0.25506E+00,-0.25472E+00,-0.25438E+00,-0.25404E+00,-0.25369E+00, & - &-0.25335E+00,-0.25300E+00,-0.25265E+00,-0.25230E+00,-0.25194E+00, & - &-0.25159E+00,-0.25123E+00,-0.25088E+00,-0.25052E+00,-0.25016E+00, & - &-0.24980E+00,-0.24944E+00,-0.24908E+00,-0.24872E+00,-0.24835E+00, & - &-0.24799E+00,-0.24762E+00,-0.24726E+00,-0.24689E+00,-0.24652E+00, & - &-0.24615E+00,-0.24578E+00,-0.24541E+00,-0.24504E+00,-0.24467E+00, & - &-0.24430E+00,-0.24393E+00,-0.24356E+00,-0.24318E+00,-0.24281E+00, & - &-0.24244E+00,-0.24206E+00,-0.24169E+00,-0.24131E+00,-0.24094E+00, & - &-0.24056E+00,-0.24019E+00,-0.23981E+00,-0.23943E+00,-0.23906E+00, & - &-0.23868E+00,-0.23830E+00,-0.23792E+00,-0.23755E+00,-0.23717E+00, & - &-0.23679E+00,-0.23641E+00,-0.23603E+00,-0.23566E+00,-0.23528E+00, & - &-0.23490E+00,-0.23452E+00,-0.23414E+00,-0.23376E+00,-0.23339E+00, & - &-0.23301E+00,-0.23263E+00,-0.23225E+00,-0.23187E+00,-0.23149E+00, & - &-0.23111E+00,-0.23073E+00,-0.23036E+00,-0.22998E+00,-0.22960E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.22922E+00,-0.22884E+00,-0.22847E+00,-0.22809E+00,-0.22771E+00, & - &-0.22733E+00,-0.22695E+00,-0.22658E+00,-0.22620E+00,-0.22582E+00, & - &-0.22545E+00,-0.22507E+00,-0.22469E+00,-0.22432E+00,-0.22394E+00, & - &-0.22357E+00,-0.22319E+00,-0.22282E+00,-0.22244E+00,-0.22207E+00, & - &-0.22169E+00,-0.22132E+00,-0.22094E+00,-0.22057E+00,-0.22020E+00, & - &-0.21982E+00,-0.21945E+00,-0.21908E+00,-0.21871E+00,-0.21833E+00, & - &-0.21796E+00,-0.21759E+00,-0.21722E+00,-0.21685E+00,-0.21648E+00, & - &-0.21611E+00,-0.21574E+00,-0.21537E+00,-0.21500E+00,-0.21463E+00, & - &-0.21426E+00,-0.21390E+00,-0.21353E+00,-0.21316E+00,-0.21280E+00, & - &-0.21243E+00,-0.21206E+00,-0.21170E+00,-0.21133E+00,-0.21097E+00, & - &-0.21060E+00,-0.21024E+00,-0.20987E+00,-0.20951E+00,-0.20915E+00, & - &-0.20879E+00,-0.20842E+00,-0.20806E+00,-0.20770E+00,-0.20734E+00, & - &-0.20698E+00,-0.20662E+00,-0.20626E+00,-0.20590E+00,-0.20554E+00, & - &-0.20518E+00,-0.20483E+00,-0.20447E+00,-0.20411E+00,-0.20376E+00, & - &-0.20340E+00,-0.20304E+00,-0.20269E+00,-0.20233E+00,-0.20198E+00, & - &-0.20163E+00,-0.20127E+00,-0.20092E+00,-0.20057E+00,-0.20022E+00, & - &-0.19986E+00,-0.19951E+00,-0.19916E+00,-0.19881E+00,-0.19846E+00, & - &-0.19811E+00,-0.19776E+00,-0.19742E+00,-0.19707E+00,-0.19672E+00, & - &-0.19637E+00,-0.19603E+00,-0.19568E+00,-0.19534E+00,-0.19499E+00, & - &-0.19465E+00,-0.19430E+00,-0.19396E+00,-0.19362E+00,-0.19327E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.19293E+00,-0.19259E+00,-0.19225E+00,-0.19191E+00,-0.19157E+00, & - &-0.19123E+00,-0.19089E+00,-0.19055E+00,-0.19021E+00,-0.18988E+00, & - &-0.18954E+00,-0.18920E+00,-0.18887E+00,-0.18853E+00,-0.18819E+00, & - &-0.18786E+00,-0.18752E+00,-0.18719E+00,-0.18686E+00,-0.18652E+00, & - &-0.18619E+00,-0.18586E+00,-0.18553E+00,-0.18520E+00,-0.18487E+00, & - &-0.18454E+00,-0.18421E+00,-0.18388E+00,-0.18355E+00,-0.18322E+00, & - &-0.18290E+00,-0.18257E+00,-0.18224E+00,-0.18192E+00,-0.18159E+00, & - &-0.18127E+00,-0.18094E+00,-0.18062E+00,-0.18029E+00,-0.17997E+00, & - &-0.17965E+00,-0.17933E+00,-0.17901E+00,-0.17868E+00,-0.17836E+00, & - &-0.17804E+00,-0.17772E+00,-0.17741E+00,-0.17709E+00,-0.17677E+00, & - &-0.17645E+00,-0.17613E+00,-0.17582E+00,-0.17550E+00,-0.17519E+00, & - &-0.17487E+00,-0.17456E+00,-0.17424E+00,-0.17393E+00,-0.17362E+00, & - &-0.17330E+00,-0.17299E+00,-0.17268E+00,-0.17237E+00,-0.17206E+00, & - &-0.17175E+00,-0.17144E+00,-0.17113E+00,-0.17082E+00,-0.17051E+00, & - &-0.17020E+00,-0.16990E+00,-0.16959E+00,-0.16928E+00,-0.16898E+00, & - &-0.16867E+00,-0.16837E+00,-0.16806E+00,-0.16776E+00,-0.16746E+00, & - &-0.16715E+00,-0.16685E+00,-0.16655E+00,-0.16625E+00,-0.16595E+00, & - &-0.16565E+00,-0.16535E+00,-0.16505E+00,-0.16475E+00,-0.16445E+00, & - &-0.16415E+00,-0.16385E+00,-0.16355E+00,-0.16326E+00,-0.16296E+00, & - &-0.16267E+00,-0.16237E+00,-0.16208E+00,-0.16178E+00,-0.16149E+00/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.16119E+00,-0.16090E+00,-0.16061E+00,-0.16032E+00,-0.16003E+00, & - &-0.15973E+00,-0.15944E+00,-0.15915E+00,-0.15886E+00,-0.15858E+00, & - &-0.15829E+00,-0.15800E+00,-0.15771E+00,-0.15742E+00,-0.15714E+00, & - &-0.15685E+00,-0.15656E+00,-0.15628E+00,-0.15599E+00,-0.15571E+00, & - &-0.15543E+00,-0.15514E+00,-0.15486E+00,-0.15458E+00,-0.15429E+00, & - &-0.15401E+00,-0.15373E+00,-0.15345E+00,-0.15317E+00,-0.15289E+00, & - &-0.15261E+00,-0.15233E+00,-0.15205E+00,-0.15177E+00,-0.15150E+00, & - &-0.15122E+00,-0.15094E+00,-0.15067E+00,-0.15039E+00,-0.15012E+00, & - &-0.14984E+00,-0.14957E+00,-0.14929E+00,-0.14902E+00,-0.14875E+00, & - &-0.14847E+00,-0.14820E+00,-0.14793E+00,-0.14766E+00,-0.14739E+00, & - &-0.14712E+00,-0.14685E+00,-0.14658E+00,-0.14631E+00,-0.14604E+00, & - &-0.14577E+00,-0.14550E+00,-0.14523E+00,-0.14497E+00,-0.14470E+00, & - &-0.14443E+00,-0.14417E+00,-0.14390E+00,-0.14364E+00,-0.14337E+00, & - &-0.14311E+00,-0.14285E+00,-0.14258E+00,-0.14232E+00,-0.14206E+00, & - &-0.14180E+00,-0.14154E+00,-0.14127E+00,-0.14101E+00,-0.14075E+00, & - &-0.14049E+00,-0.14024E+00,-0.13998E+00,-0.13972E+00,-0.13946E+00, & - &-0.13920E+00,-0.13895E+00,-0.13869E+00,-0.13843E+00,-0.13818E+00, & - &-0.13792E+00,-0.13767E+00,-0.13741E+00,-0.13716E+00,-0.13690E+00, & - &-0.13665E+00,-0.13640E+00,-0.13614E+00,-0.13589E+00,-0.13564E+00, & - &-0.13539E+00,-0.13514E+00,-0.13489E+00,-0.13464E+00,-0.13439E+00/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.13414E+00,-0.13389E+00,-0.13364E+00,-0.13339E+00,-0.13315E+00, & - &-0.13290E+00,-0.13265E+00,-0.13241E+00,-0.13216E+00,-0.13191E+00, & - &-0.13167E+00,-0.13142E+00,-0.13118E+00,-0.13094E+00,-0.13069E+00, & - &-0.13045E+00,-0.13021E+00,-0.12996E+00,-0.12972E+00,-0.12948E+00, & - &-0.12924E+00,-0.12900E+00,-0.12876E+00,-0.12852E+00,-0.12828E+00, & - &-0.12804E+00,-0.12780E+00,-0.12756E+00,-0.12732E+00,-0.12708E+00, & - &-0.12685E+00,-0.12661E+00,-0.12637E+00,-0.12614E+00,-0.12590E+00, & - &-0.12567E+00,-0.12543E+00,-0.12520E+00,-0.12496E+00,-0.12473E+00, & - &-0.12449E+00,-0.12426E+00,-0.12403E+00,-0.12380E+00,-0.12356E+00, & - &-0.12333E+00,-0.12310E+00,-0.12287E+00,-0.12264E+00,-0.12241E+00, & - &-0.12218E+00,-0.12195E+00,-0.12172E+00,-0.12149E+00,-0.12127E+00, & - &-0.12104E+00,-0.12081E+00,-0.12058E+00,-0.12036E+00,-0.12013E+00, & - &-0.11990E+00,-0.11968E+00,-0.11945E+00,-0.11923E+00,-0.11900E+00, & - &-0.11878E+00,-0.11856E+00,-0.11833E+00,-0.11811E+00,-0.11789E+00, & - &-0.11766E+00,-0.11744E+00,-0.11722E+00,-0.11700E+00,-0.11678E+00, & - &-0.11656E+00,-0.11634E+00,-0.11612E+00,-0.11590E+00,-0.11568E+00, & - &-0.11546E+00,-0.11524E+00,-0.11502E+00,-0.11481E+00,-0.11459E+00, & - &-0.11437E+00,-0.11416E+00,-0.11394E+00,-0.11372E+00,-0.11351E+00, & - &-0.11329E+00,-0.11308E+00,-0.11286E+00,-0.11265E+00,-0.11244E+00, & - &-0.11222E+00,-0.11201E+00,-0.11180E+00,-0.11158E+00,-0.11137E+00/ - - DATA (BNC06M(I),I=601,700)/ & - &-0.10910E+00,-0.10704E+00,-0.10500E+00,-0.10300E+00,-0.10104E+00, & - &-0.99099E-01,-0.97194E-01,-0.95319E-01,-0.93474E-01,-0.91659E-01, & - &-0.89872E-01,-0.88114E-01,-0.86385E-01,-0.84682E-01,-0.83007E-01, & - &-0.81358E-01,-0.79736E-01,-0.78139E-01,-0.76568E-01,-0.75022E-01, & - &-0.73500E-01,-0.72002E-01,-0.70529E-01,-0.69079E-01,-0.67651E-01, & - &-0.66247E-01,-0.64865E-01,-0.63505E-01,-0.62167E-01,-0.60850E-01, & - &-0.59554E-01,-0.58278E-01,-0.57024E-01,-0.55789E-01,-0.54574E-01, & - &-0.53379E-01,-0.52203E-01,-0.51046E-01,-0.49908E-01,-0.48788E-01, & - &-0.47686E-01,-0.46602E-01,-0.45536E-01,-0.44487E-01,-0.43456E-01, & - &-0.42441E-01,-0.41444E-01,-0.40462E-01,-0.39497E-01,-0.38548E-01, & - &-0.37615E-01,-0.36697E-01,-0.35795E-01,-0.34908E-01,-0.34037E-01, & - &-0.33180E-01,-0.32337E-01,-0.31509E-01,-0.30696E-01,-0.29896E-01, & - &-0.29110E-01,-0.28338E-01,-0.27580E-01,-0.26835E-01,-0.26103E-01, & - &-0.25384E-01,-0.24679E-01,-0.23985E-01,-0.23305E-01,-0.22637E-01, & - &-0.21981E-01,-0.21338E-01,-0.20706E-01,-0.20086E-01,-0.19478E-01, & - &-0.18882E-01,-0.18297E-01,-0.17724E-01,-0.17161E-01,-0.16610E-01, & - &-0.16070E-01,-0.15540E-01,-0.15021E-01,-0.14513E-01,-0.14015E-01, & - &-0.13528E-01,-0.13050E-01,-0.12583E-01,-0.12126E-01,-0.11679E-01, & - &-0.11242E-01,-0.10814E-01,-0.10396E-01,-0.99873E-02,-0.95881E-02, & - &-0.91981E-02,-0.88174E-02,-0.84457E-02,-0.80831E-02,-0.77293E-02/ - - DATA (BNC06M(I),I=701,741)/ & - &-0.73844E-02,-0.70483E-02,-0.67208E-02,-0.64018E-02,-0.60913E-02, & - &-0.57891E-02,-0.54953E-02,-0.52097E-02,-0.49322E-02,-0.46628E-02, & - &-0.44013E-02,-0.41478E-02,-0.39020E-02,-0.36640E-02,-0.34338E-02, & - &-0.32110E-02,-0.29958E-02,-0.27881E-02,-0.25878E-02,-0.23947E-02, & - &-0.22090E-02,-0.20303E-02,-0.18588E-02,-0.16944E-02,-0.15370E-02, & - &-0.13864E-02,-0.12427E-02,-0.11059E-02,-0.97561E-03,-0.85213E-03, & - &-0.73525E-03,-0.62493E-03,-0.52107E-03,-0.42366E-03,-0.33261E-03, & - &-0.24793E-03,-0.16947E-03,-0.97264E-04,-0.31222E-04, 0.28782E-04, & - & 0.82683E-04 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.95410E-01,-0.20734E+00,-0.26314E+00,-0.30252E+00,-0.33337E+00, & - &-0.35888E+00,-0.38069E+00,-0.39978E+00,-0.41677E+00,-0.43209E+00, & - &-0.44604E+00,-0.45886E+00,-0.47072E+00,-0.48176E+00,-0.49209E+00, & - &-0.50179E+00,-0.51093E+00,-0.51959E+00,-0.52781E+00,-0.53563E+00, & - &-0.54309E+00,-0.55022E+00,-0.55706E+00,-0.56362E+00,-0.56993E+00, & - &-0.57600E+00,-0.58186E+00,-0.58752E+00,-0.59299E+00,-0.59828E+00, & - &-0.60341E+00,-0.60839E+00,-0.61322E+00,-0.61792E+00,-0.62249E+00, & - &-0.62693E+00,-0.63126E+00,-0.63549E+00,-0.63961E+00,-0.64363E+00, & - &-0.64755E+00,-0.65139E+00,-0.65514E+00,-0.65881E+00,-0.66240E+00, & - &-0.66592E+00,-0.66937E+00,-0.67275E+00,-0.67606E+00,-0.67931E+00, & - &-0.68250E+00,-0.68563E+00,-0.68871E+00,-0.69173E+00,-0.69470E+00, & - &-0.69762E+00,-0.70049E+00,-0.70331E+00,-0.70609E+00,-0.70883E+00, & - &-0.71153E+00,-0.71418E+00,-0.71680E+00,-0.71938E+00,-0.72192E+00, & - &-0.72442E+00,-0.72690E+00,-0.72933E+00,-0.73174E+00,-0.73412E+00, & - &-0.73646E+00,-0.73878E+00,-0.74107E+00,-0.74333E+00,-0.74556E+00, & - &-0.74777E+00,-0.74996E+00,-0.75212E+00,-0.75425E+00,-0.75636E+00, & - &-0.75845E+00,-0.76052E+00,-0.76257E+00,-0.76460E+00,-0.76661E+00, & - &-0.76859E+00,-0.77056E+00,-0.77251E+00,-0.77444E+00,-0.77636E+00, & - &-0.77826E+00,-0.78014E+00,-0.78200E+00,-0.78385E+00,-0.78568E+00, & - &-0.78750E+00,-0.78930E+00,-0.79109E+00,-0.79286E+00,-0.79462E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.79637E+00,-0.79810E+00,-0.79982E+00,-0.80152E+00,-0.80322E+00, & - &-0.80490E+00,-0.80657E+00,-0.80822E+00,-0.80987E+00,-0.81150E+00, & - &-0.81312E+00,-0.81473E+00,-0.81633E+00,-0.81791E+00,-0.81949E+00, & - &-0.82106E+00,-0.82261E+00,-0.82416E+00,-0.82569E+00,-0.82722E+00, & - &-0.82873E+00,-0.83024E+00,-0.83173E+00,-0.83322E+00,-0.83469E+00, & - &-0.83616E+00,-0.83762E+00,-0.83907E+00,-0.84051E+00,-0.84194E+00, & - &-0.84337E+00,-0.84478E+00,-0.84619E+00,-0.84759E+00,-0.84898E+00, & - &-0.85036E+00,-0.85174E+00,-0.85310E+00,-0.85446E+00,-0.85581E+00, & - &-0.85716E+00,-0.85850E+00,-0.85983E+00,-0.86115E+00,-0.86246E+00, & - &-0.86377E+00,-0.86507E+00,-0.86637E+00,-0.86766E+00,-0.86894E+00, & - &-0.87022E+00,-0.87148E+00,-0.87275E+00,-0.87400E+00,-0.87525E+00, & - &-0.87650E+00,-0.87774E+00,-0.87897E+00,-0.88020E+00,-0.88142E+00, & - &-0.88263E+00,-0.88384E+00,-0.88504E+00,-0.88624E+00,-0.88744E+00, & - &-0.88862E+00,-0.88980E+00,-0.89098E+00,-0.89215E+00,-0.89332E+00, & - &-0.89448E+00,-0.89564E+00,-0.89679E+00,-0.89794E+00,-0.89908E+00, & - &-0.90022E+00,-0.90135E+00,-0.90248E+00,-0.90360E+00,-0.90472E+00, & - &-0.90583E+00,-0.90694E+00,-0.90805E+00,-0.90915E+00,-0.91024E+00, & - &-0.91134E+00,-0.91242E+00,-0.91351E+00,-0.91459E+00,-0.91566E+00, & - &-0.91673E+00,-0.91780E+00,-0.91887E+00,-0.91993E+00,-0.92098E+00, & - &-0.92203E+00,-0.92308E+00,-0.92413E+00,-0.92517E+00,-0.92620E+00/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.92724E+00,-0.92827E+00,-0.92929E+00,-0.93032E+00,-0.93134E+00, & - &-0.93235E+00,-0.93336E+00,-0.93437E+00,-0.93538E+00,-0.93638E+00, & - &-0.93738E+00,-0.93837E+00,-0.93937E+00,-0.94035E+00,-0.94134E+00, & - &-0.94232E+00,-0.94330E+00,-0.94428E+00,-0.94525E+00,-0.94622E+00, & - &-0.94719E+00,-0.94815E+00,-0.94912E+00,-0.95007E+00,-0.95103E+00, & - &-0.95198E+00,-0.95293E+00,-0.95388E+00,-0.95482E+00,-0.95576E+00, & - &-0.95670E+00,-0.95764E+00,-0.95857E+00,-0.95950E+00,-0.96043E+00, & - &-0.96135E+00,-0.96228E+00,-0.96320E+00,-0.96411E+00,-0.96503E+00, & - &-0.96594E+00,-0.96685E+00,-0.96776E+00,-0.96866E+00,-0.96956E+00, & - &-0.97046E+00,-0.97136E+00,-0.97226E+00,-0.97315E+00,-0.97404E+00, & - &-0.97493E+00,-0.97581E+00,-0.97670E+00,-0.97758E+00,-0.97845E+00, & - &-0.97933E+00,-0.98021E+00,-0.98108E+00,-0.98195E+00,-0.98281E+00, & - &-0.98368E+00,-0.98454E+00,-0.98540E+00,-0.98626E+00,-0.98712E+00, & - &-0.98798E+00,-0.98883E+00,-0.98968E+00,-0.99053E+00,-0.99137E+00, & - &-0.99222E+00,-0.99306E+00,-0.99390E+00,-0.99474E+00,-0.99558E+00, & - &-0.99641E+00,-0.99725E+00,-0.99808E+00,-0.99891E+00,-0.99973E+00, & - &-0.10006E+01,-0.10014E+01,-0.10022E+01,-0.10030E+01,-0.10038E+01, & - &-0.10047E+01,-0.10055E+01,-0.10063E+01,-0.10071E+01,-0.10079E+01, & - &-0.10087E+01,-0.10095E+01,-0.10103E+01,-0.10111E+01,-0.10119E+01, & - &-0.10127E+01,-0.10135E+01,-0.10143E+01,-0.10151E+01,-0.10159E+01/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.10167E+01,-0.10175E+01,-0.10183E+01,-0.10191E+01,-0.10198E+01, & - &-0.10206E+01,-0.10214E+01,-0.10222E+01,-0.10230E+01,-0.10237E+01, & - &-0.10245E+01,-0.10253E+01,-0.10261E+01,-0.10268E+01,-0.10276E+01, & - &-0.10284E+01,-0.10291E+01,-0.10299E+01,-0.10307E+01,-0.10314E+01, & - &-0.10322E+01,-0.10329E+01,-0.10337E+01,-0.10344E+01,-0.10352E+01, & - &-0.10360E+01,-0.10367E+01,-0.10375E+01,-0.10382E+01,-0.10390E+01, & - &-0.10397E+01,-0.10404E+01,-0.10412E+01,-0.10419E+01,-0.10427E+01, & - &-0.10434E+01,-0.10442E+01,-0.10449E+01,-0.10456E+01,-0.10464E+01, & - &-0.10471E+01,-0.10478E+01,-0.10486E+01,-0.10493E+01,-0.10500E+01, & - &-0.10507E+01,-0.10515E+01,-0.10522E+01,-0.10529E+01,-0.10536E+01, & - &-0.10544E+01,-0.10551E+01,-0.10558E+01,-0.10565E+01,-0.10572E+01, & - &-0.10579E+01,-0.10587E+01,-0.10594E+01,-0.10601E+01,-0.10608E+01, & - &-0.10615E+01,-0.10622E+01,-0.10629E+01,-0.10636E+01,-0.10643E+01, & - &-0.10650E+01,-0.10657E+01,-0.10664E+01,-0.10671E+01,-0.10678E+01, & - &-0.10685E+01,-0.10692E+01,-0.10699E+01,-0.10706E+01,-0.10713E+01, & - &-0.10720E+01,-0.10727E+01,-0.10734E+01,-0.10741E+01,-0.10748E+01, & - &-0.10755E+01,-0.10761E+01,-0.10768E+01,-0.10775E+01,-0.10782E+01, & - &-0.10789E+01,-0.10796E+01,-0.10802E+01,-0.10809E+01,-0.10816E+01, & - &-0.10823E+01,-0.10830E+01,-0.10836E+01,-0.10843E+01,-0.10850E+01, & - &-0.10857E+01,-0.10863E+01,-0.10870E+01,-0.10877E+01,-0.10883E+01/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.10890E+01,-0.10897E+01,-0.10903E+01,-0.10910E+01,-0.10917E+01, & - &-0.10923E+01,-0.10930E+01,-0.10937E+01,-0.10943E+01,-0.10950E+01, & - &-0.10956E+01,-0.10963E+01,-0.10970E+01,-0.10976E+01,-0.10983E+01, & - &-0.10989E+01,-0.10996E+01,-0.11002E+01,-0.11009E+01,-0.11015E+01, & - &-0.11022E+01,-0.11028E+01,-0.11035E+01,-0.11041E+01,-0.11048E+01, & - &-0.11054E+01,-0.11061E+01,-0.11067E+01,-0.11074E+01,-0.11080E+01, & - &-0.11086E+01,-0.11093E+01,-0.11099E+01,-0.11106E+01,-0.11112E+01, & - &-0.11118E+01,-0.11125E+01,-0.11131E+01,-0.11138E+01,-0.11144E+01, & - &-0.11150E+01,-0.11157E+01,-0.11163E+01,-0.11169E+01,-0.11176E+01, & - &-0.11182E+01,-0.11188E+01,-0.11195E+01,-0.11201E+01,-0.11207E+01, & - &-0.11213E+01,-0.11220E+01,-0.11226E+01,-0.11232E+01,-0.11238E+01, & - &-0.11245E+01,-0.11251E+01,-0.11257E+01,-0.11263E+01,-0.11270E+01, & - &-0.11276E+01,-0.11282E+01,-0.11288E+01,-0.11294E+01,-0.11300E+01, & - &-0.11307E+01,-0.11313E+01,-0.11319E+01,-0.11325E+01,-0.11331E+01, & - &-0.11337E+01,-0.11344E+01,-0.11350E+01,-0.11356E+01,-0.11362E+01, & - &-0.11368E+01,-0.11374E+01,-0.11380E+01,-0.11386E+01,-0.11392E+01, & - &-0.11398E+01,-0.11404E+01,-0.11410E+01,-0.11417E+01,-0.11423E+01, & - &-0.11429E+01,-0.11435E+01,-0.11441E+01,-0.11447E+01,-0.11453E+01, & - &-0.11459E+01,-0.11465E+01,-0.11471E+01,-0.11477E+01,-0.11483E+01, & - &-0.11489E+01,-0.11495E+01,-0.11501E+01,-0.11507E+01,-0.11512E+01/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.11518E+01,-0.11524E+01,-0.11530E+01,-0.11536E+01,-0.11542E+01, & - &-0.11548E+01,-0.11554E+01,-0.11560E+01,-0.11566E+01,-0.11572E+01, & - &-0.11578E+01,-0.11583E+01,-0.11589E+01,-0.11595E+01,-0.11601E+01, & - &-0.11607E+01,-0.11613E+01,-0.11619E+01,-0.11624E+01,-0.11630E+01, & - &-0.11636E+01,-0.11642E+01,-0.11648E+01,-0.11654E+01,-0.11659E+01, & - &-0.11665E+01,-0.11671E+01,-0.11677E+01,-0.11683E+01,-0.11688E+01, & - &-0.11694E+01,-0.11700E+01,-0.11706E+01,-0.11711E+01,-0.11717E+01, & - &-0.11723E+01,-0.11729E+01,-0.11734E+01,-0.11740E+01,-0.11746E+01, & - &-0.11752E+01,-0.11757E+01,-0.11763E+01,-0.11769E+01,-0.11774E+01, & - &-0.11780E+01,-0.11786E+01,-0.11792E+01,-0.11797E+01,-0.11803E+01, & - &-0.11809E+01,-0.11814E+01,-0.11820E+01,-0.11826E+01,-0.11831E+01, & - &-0.11837E+01,-0.11842E+01,-0.11848E+01,-0.11854E+01,-0.11859E+01, & - &-0.11865E+01,-0.11871E+01,-0.11876E+01,-0.11882E+01,-0.11887E+01, & - &-0.11893E+01,-0.11899E+01,-0.11904E+01,-0.11910E+01,-0.11915E+01, & - &-0.11921E+01,-0.11927E+01,-0.11932E+01,-0.11938E+01,-0.11943E+01, & - &-0.11949E+01,-0.11954E+01,-0.11960E+01,-0.11965E+01,-0.11971E+01, & - &-0.11977E+01,-0.11982E+01,-0.11988E+01,-0.11993E+01,-0.11999E+01, & - &-0.12004E+01,-0.12010E+01,-0.12015E+01,-0.12021E+01,-0.12026E+01, & - &-0.12032E+01,-0.12037E+01,-0.12043E+01,-0.12048E+01,-0.12054E+01, & - &-0.12059E+01,-0.12065E+01,-0.12070E+01,-0.12075E+01,-0.12081E+01/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.12140E+01,-0.12193E+01,-0.12247E+01,-0.12300E+01,-0.12353E+01, & - &-0.12405E+01,-0.12457E+01,-0.12509E+01,-0.12560E+01,-0.12611E+01, & - &-0.12662E+01,-0.12712E+01,-0.12763E+01,-0.12812E+01,-0.12862E+01, & - &-0.12911E+01,-0.12960E+01,-0.13009E+01,-0.13058E+01,-0.13106E+01, & - &-0.13154E+01,-0.13202E+01,-0.13250E+01,-0.13297E+01,-0.13344E+01, & - &-0.13391E+01,-0.13438E+01,-0.13484E+01,-0.13531E+01,-0.13577E+01, & - &-0.13623E+01,-0.13669E+01,-0.13714E+01,-0.13760E+01,-0.13805E+01, & - &-0.13850E+01,-0.13895E+01,-0.13940E+01,-0.13984E+01,-0.14029E+01, & - &-0.14073E+01,-0.14117E+01,-0.14161E+01,-0.14205E+01,-0.14249E+01, & - &-0.14292E+01,-0.14336E+01,-0.14379E+01,-0.14422E+01,-0.14465E+01, & - &-0.14508E+01,-0.14551E+01,-0.14593E+01,-0.14636E+01,-0.14678E+01, & - &-0.14720E+01,-0.14763E+01,-0.14805E+01,-0.14847E+01,-0.14888E+01, & - &-0.14930E+01,-0.14972E+01,-0.15013E+01,-0.15055E+01,-0.15096E+01, & - &-0.15137E+01,-0.15178E+01,-0.15219E+01,-0.15260E+01,-0.15301E+01, & - &-0.15341E+01,-0.15382E+01,-0.15423E+01,-0.15463E+01,-0.15503E+01, & - &-0.15544E+01,-0.15584E+01,-0.15624E+01,-0.15664E+01,-0.15704E+01, & - &-0.15744E+01,-0.15783E+01,-0.15823E+01,-0.15863E+01,-0.15902E+01, & - &-0.15941E+01,-0.15981E+01,-0.16020E+01,-0.16059E+01,-0.16098E+01, & - &-0.16138E+01,-0.16176E+01,-0.16215E+01,-0.16254E+01,-0.16293E+01, & - &-0.16332E+01,-0.16370E+01,-0.16409E+01,-0.16448E+01,-0.16486E+01/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.16524E+01,-0.16563E+01,-0.16601E+01,-0.16639E+01,-0.16677E+01, & - &-0.16715E+01,-0.16753E+01,-0.16791E+01,-0.16829E+01,-0.16867E+01, & - &-0.16905E+01,-0.16943E+01,-0.16980E+01,-0.17018E+01,-0.17055E+01, & - &-0.17093E+01,-0.17130E+01,-0.17168E+01,-0.17205E+01,-0.17243E+01, & - &-0.17280E+01,-0.17317E+01,-0.17354E+01,-0.17391E+01,-0.17428E+01, & - &-0.17465E+01,-0.17502E+01,-0.17539E+01,-0.17576E+01,-0.17613E+01, & - &-0.17650E+01,-0.17686E+01,-0.17723E+01,-0.17760E+01,-0.17796E+01, & - &-0.17833E+01,-0.17869E+01,-0.17906E+01,-0.17942E+01,-0.17978E+01, & - &-0.18015E+01 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.44732E-01,-0.88841E-01,-0.10667E+00,-0.11710E+00,-0.12376E+00, & - &-0.12807E+00,-0.13075E+00,-0.13222E+00,-0.13274E+00,-0.13249E+00, & - &-0.13160E+00,-0.13016E+00,-0.12825E+00,-0.12592E+00,-0.12321E+00, & - &-0.12016E+00,-0.11680E+00,-0.11316E+00,-0.10925E+00,-0.10509E+00, & - &-0.10070E+00,-0.96097E-01,-0.91288E-01,-0.86286E-01,-0.81100E-01, & - &-0.75739E-01,-0.70212E-01,-0.64527E-01,-0.58690E-01,-0.52709E-01, & - &-0.46590E-01,-0.40338E-01,-0.33960E-01,-0.27460E-01,-0.20845E-01, & - &-0.14118E-01,-0.72843E-02,-0.34872E-03, 0.66847E-02, 0.13812E-01, & - & 0.21029E-01, 0.28331E-01, 0.35716E-01, 0.43180E-01, 0.50719E-01, & - & 0.58331E-01, 0.66012E-01, 0.73759E-01, 0.81569E-01, 0.89441E-01, & - & 0.97371E-01, 0.10536E+00, 0.11340E+00, 0.12149E+00, 0.12963E+00, & - & 0.13783E+00, 0.14607E+00, 0.15435E+00, 0.16268E+00, 0.17106E+00, & - & 0.17947E+00, 0.18793E+00, 0.19643E+00, 0.20498E+00, 0.21356E+00, & - & 0.22219E+00, 0.23085E+00, 0.23956E+00, 0.24831E+00, 0.25710E+00, & - & 0.26593E+00, 0.27481E+00, 0.28372E+00, 0.29269E+00, 0.30169E+00, & - & 0.31074E+00, 0.31984E+00, 0.32898E+00, 0.33817E+00, 0.34741E+00, & - & 0.35669E+00, 0.36602E+00, 0.37541E+00, 0.38484E+00, 0.39432E+00, & - & 0.40385E+00, 0.41343E+00, 0.42306E+00, 0.43273E+00, 0.44246E+00, & - & 0.45224E+00, 0.46206E+00, 0.47193E+00, 0.48185E+00, 0.49181E+00, & - & 0.50182E+00, 0.51187E+00, 0.52196E+00, 0.53209E+00, 0.54227E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.55248E+00, 0.56272E+00, 0.57300E+00, 0.58331E+00, 0.59366E+00, & - & 0.60403E+00, 0.61442E+00, 0.62485E+00, 0.63529E+00, 0.64576E+00, & - & 0.65625E+00, 0.66675E+00, 0.67727E+00, 0.68780E+00, 0.69835E+00, & - & 0.70890E+00, 0.71946E+00, 0.73003E+00, 0.74061E+00, 0.75119E+00, & - & 0.76177E+00, 0.77235E+00, 0.78293E+00, 0.79351E+00, 0.80408E+00, & - & 0.81465E+00, 0.82522E+00, 0.83577E+00, 0.84633E+00, 0.85687E+00, & - & 0.86740E+00, 0.87792E+00, 0.88844E+00, 0.89894E+00, 0.90942E+00, & - & 0.91990E+00, 0.93036E+00, 0.94081E+00, 0.95124E+00, 0.96166E+00, & - & 0.97206E+00, 0.98244E+00, 0.99281E+00, 0.10032E+01, 0.10135E+01, & - & 0.10238E+01, 0.10341E+01, 0.10444E+01, 0.10547E+01, 0.10649E+01, & - & 0.10752E+01, 0.10854E+01, 0.10956E+01, 0.11057E+01, 0.11159E+01, & - & 0.11260E+01, 0.11361E+01, 0.11462E+01, 0.11563E+01, 0.11664E+01, & - & 0.11764E+01, 0.11864E+01, 0.11964E+01, 0.12064E+01, 0.12164E+01, & - & 0.12263E+01, 0.12362E+01, 0.12461E+01, 0.12560E+01, 0.12658E+01, & - & 0.12757E+01, 0.12855E+01, 0.12953E+01, 0.13051E+01, 0.13148E+01, & - & 0.13246E+01, 0.13343E+01, 0.13440E+01, 0.13536E+01, 0.13633E+01, & - & 0.13729E+01, 0.13825E+01, 0.13921E+01, 0.14017E+01, 0.14112E+01, & - & 0.14208E+01, 0.14303E+01, 0.14398E+01, 0.14492E+01, 0.14587E+01, & - & 0.14681E+01, 0.14775E+01, 0.14869E+01, 0.14963E+01, 0.15056E+01, & - & 0.15150E+01, 0.15243E+01, 0.15336E+01, 0.15428E+01, 0.15521E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.15613E+01, 0.15705E+01, 0.15797E+01, 0.15889E+01, 0.15980E+01, & - & 0.16071E+01, 0.16162E+01, 0.16253E+01, 0.16344E+01, 0.16434E+01, & - & 0.16525E+01, 0.16615E+01, 0.16705E+01, 0.16794E+01, 0.16884E+01, & - & 0.16973E+01, 0.17062E+01, 0.17151E+01, 0.17240E+01, 0.17328E+01, & - & 0.17417E+01, 0.17505E+01, 0.17593E+01, 0.17681E+01, 0.17768E+01, & - & 0.17855E+01, 0.17943E+01, 0.18030E+01, 0.18117E+01, 0.18203E+01, & - & 0.18290E+01, 0.18376E+01, 0.18462E+01, 0.18548E+01, 0.18634E+01, & - & 0.18719E+01, 0.18804E+01, 0.18890E+01, 0.18975E+01, 0.19059E+01, & - & 0.19144E+01, 0.19228E+01, 0.19313E+01, 0.19397E+01, 0.19481E+01, & - & 0.19564E+01, 0.19648E+01, 0.19731E+01, 0.19814E+01, 0.19897E+01, & - & 0.19980E+01, 0.20063E+01, 0.20145E+01, 0.20228E+01, 0.20310E+01, & - & 0.20392E+01, 0.20474E+01, 0.20555E+01, 0.20637E+01, 0.20718E+01, & - & 0.20799E+01, 0.20880E+01, 0.20961E+01, 0.21042E+01, 0.21122E+01, & - & 0.21202E+01, 0.21282E+01, 0.21362E+01, 0.21442E+01, 0.21522E+01, & - & 0.21601E+01, 0.21681E+01, 0.21760E+01, 0.21839E+01, 0.21917E+01, & - & 0.21996E+01, 0.22075E+01, 0.22153E+01, 0.22231E+01, 0.22309E+01, & - & 0.22387E+01, 0.22465E+01, 0.22542E+01, 0.22620E+01, 0.22697E+01, & - & 0.22774E+01, 0.22851E+01, 0.22928E+01, 0.23004E+01, 0.23081E+01, & - & 0.23157E+01, 0.23233E+01, 0.23309E+01, 0.23385E+01, 0.23461E+01, & - & 0.23536E+01, 0.23612E+01, 0.23687E+01, 0.23762E+01, 0.23837E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.23912E+01, 0.23987E+01, 0.24061E+01, 0.24135E+01, 0.24210E+01, & - & 0.24284E+01, 0.24358E+01, 0.24432E+01, 0.24505E+01, 0.24579E+01, & - & 0.24652E+01, 0.24725E+01, 0.24798E+01, 0.24871E+01, 0.24944E+01, & - & 0.25017E+01, 0.25089E+01, 0.25162E+01, 0.25234E+01, 0.25306E+01, & - & 0.25378E+01, 0.25450E+01, 0.25522E+01, 0.25593E+01, 0.25665E+01, & - & 0.25736E+01, 0.25807E+01, 0.25878E+01, 0.25949E+01, 0.26020E+01, & - & 0.26091E+01, 0.26161E+01, 0.26231E+01, 0.26302E+01, 0.26372E+01, & - & 0.26442E+01, 0.26512E+01, 0.26581E+01, 0.26651E+01, 0.26720E+01, & - & 0.26790E+01, 0.26859E+01, 0.26928E+01, 0.26997E+01, 0.27066E+01, & - & 0.27135E+01, 0.27203E+01, 0.27272E+01, 0.27340E+01, 0.27408E+01, & - & 0.27476E+01, 0.27544E+01, 0.27612E+01, 0.27680E+01, 0.27747E+01, & - & 0.27815E+01, 0.27882E+01, 0.27949E+01, 0.28016E+01, 0.28083E+01, & - & 0.28150E+01, 0.28217E+01, 0.28284E+01, 0.28350E+01, 0.28417E+01, & - & 0.28483E+01, 0.28549E+01, 0.28615E+01, 0.28681E+01, 0.28747E+01, & - & 0.28812E+01, 0.28878E+01, 0.28944E+01, 0.29009E+01, 0.29074E+01, & - & 0.29139E+01, 0.29204E+01, 0.29269E+01, 0.29334E+01, 0.29399E+01, & - & 0.29463E+01, 0.29528E+01, 0.29592E+01, 0.29656E+01, 0.29720E+01, & - & 0.29784E+01, 0.29848E+01, 0.29912E+01, 0.29976E+01, 0.30039E+01, & - & 0.30103E+01, 0.30166E+01, 0.30229E+01, 0.30292E+01, 0.30355E+01, & - & 0.30418E+01, 0.30481E+01, 0.30544E+01, 0.30607E+01, 0.30669E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.30731E+01, 0.30794E+01, 0.30856E+01, 0.30918E+01, 0.30980E+01, & - & 0.31042E+01, 0.31104E+01, 0.31165E+01, 0.31227E+01, 0.31288E+01, & - & 0.31350E+01, 0.31411E+01, 0.31472E+01, 0.31533E+01, 0.31594E+01, & - & 0.31655E+01, 0.31716E+01, 0.31777E+01, 0.31837E+01, 0.31898E+01, & - & 0.31958E+01, 0.32018E+01, 0.32078E+01, 0.32139E+01, 0.32198E+01, & - & 0.32258E+01, 0.32318E+01, 0.32378E+01, 0.32437E+01, 0.32497E+01, & - & 0.32556E+01, 0.32616E+01, 0.32675E+01, 0.32734E+01, 0.32793E+01, & - & 0.32852E+01, 0.32911E+01, 0.32970E+01, 0.33028E+01, 0.33087E+01, & - & 0.33145E+01, 0.33204E+01, 0.33262E+01, 0.33320E+01, 0.33378E+01, & - & 0.33436E+01, 0.33494E+01, 0.33552E+01, 0.33610E+01, 0.33667E+01, & - & 0.33725E+01, 0.33782E+01, 0.33840E+01, 0.33897E+01, 0.33954E+01, & - & 0.34011E+01, 0.34068E+01, 0.34125E+01, 0.34182E+01, 0.34239E+01, & - & 0.34296E+01, 0.34352E+01, 0.34409E+01, 0.34465E+01, 0.34521E+01, & - & 0.34578E+01, 0.34634E+01, 0.34690E+01, 0.34746E+01, 0.34802E+01, & - & 0.34858E+01, 0.34913E+01, 0.34969E+01, 0.35025E+01, 0.35080E+01, & - & 0.35135E+01, 0.35191E+01, 0.35246E+01, 0.35301E+01, 0.35356E+01, & - & 0.35411E+01, 0.35466E+01, 0.35521E+01, 0.35576E+01, 0.35630E+01, & - & 0.35685E+01, 0.35739E+01, 0.35794E+01, 0.35848E+01, 0.35902E+01, & - & 0.35957E+01, 0.36011E+01, 0.36065E+01, 0.36119E+01, 0.36173E+01, & - & 0.36226E+01, 0.36280E+01, 0.36334E+01, 0.36387E+01, 0.36441E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.36494E+01, 0.36547E+01, 0.36601E+01, 0.36654E+01, 0.36707E+01, & - & 0.36760E+01, 0.36813E+01, 0.36866E+01, 0.36918E+01, 0.36971E+01, & - & 0.37024E+01, 0.37076E+01, 0.37129E+01, 0.37181E+01, 0.37234E+01, & - & 0.37286E+01, 0.37338E+01, 0.37390E+01, 0.37442E+01, 0.37494E+01, & - & 0.37546E+01, 0.37598E+01, 0.37649E+01, 0.37701E+01, 0.37753E+01, & - & 0.37804E+01, 0.37856E+01, 0.37907E+01, 0.37958E+01, 0.38010E+01, & - & 0.38061E+01, 0.38112E+01, 0.38163E+01, 0.38214E+01, 0.38265E+01, & - & 0.38316E+01, 0.38366E+01, 0.38417E+01, 0.38468E+01, 0.38518E+01, & - & 0.38568E+01, 0.38619E+01, 0.38669E+01, 0.38719E+01, 0.38770E+01, & - & 0.38820E+01, 0.38870E+01, 0.38920E+01, 0.38970E+01, 0.39020E+01, & - & 0.39069E+01, 0.39119E+01, 0.39169E+01, 0.39218E+01, 0.39268E+01, & - & 0.39317E+01, 0.39366E+01, 0.39416E+01, 0.39465E+01, 0.39514E+01, & - & 0.39563E+01, 0.39612E+01, 0.39661E+01, 0.39710E+01, 0.39759E+01, & - & 0.39808E+01, 0.39857E+01, 0.39905E+01, 0.39954E+01, 0.40002E+01, & - & 0.40051E+01, 0.40099E+01, 0.40147E+01, 0.40196E+01, 0.40244E+01, & - & 0.40292E+01, 0.40340E+01, 0.40388E+01, 0.40436E+01, 0.40484E+01, & - & 0.40532E+01, 0.40579E+01, 0.40627E+01, 0.40675E+01, 0.40722E+01, & - & 0.40770E+01, 0.40817E+01, 0.40865E+01, 0.40912E+01, 0.40959E+01, & - & 0.41006E+01, 0.41054E+01, 0.41101E+01, 0.41148E+01, 0.41195E+01, & - & 0.41242E+01, 0.41288E+01, 0.41335E+01, 0.41382E+01, 0.41429E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.41929E+01, 0.42386E+01, 0.42837E+01, 0.43283E+01, 0.43723E+01, & - & 0.44159E+01, 0.44588E+01, 0.45013E+01, 0.45433E+01, 0.45849E+01, & - & 0.46259E+01, 0.46665E+01, 0.47066E+01, 0.47463E+01, 0.47856E+01, & - & 0.48244E+01, 0.48628E+01, 0.49008E+01, 0.49384E+01, 0.49757E+01, & - & 0.50125E+01, 0.50490E+01, 0.50851E+01, 0.51208E+01, 0.51562E+01, & - & 0.51912E+01, 0.52259E+01, 0.52603E+01, 0.52943E+01, 0.53280E+01, & - & 0.53614E+01, 0.53945E+01, 0.54273E+01, 0.54598E+01, 0.54919E+01, & - & 0.55238E+01, 0.55554E+01, 0.55868E+01, 0.56178E+01, 0.56486E+01, & - & 0.56791E+01, 0.57094E+01, 0.57394E+01, 0.57691E+01, 0.57986E+01, & - & 0.58279E+01, 0.58569E+01, 0.58856E+01, 0.59142E+01, 0.59425E+01, & - & 0.59705E+01, 0.59984E+01, 0.60260E+01, 0.60534E+01, 0.60807E+01, & - & 0.61076E+01, 0.61344E+01, 0.61610E+01, 0.61874E+01, 0.62136E+01, & - & 0.62396E+01, 0.62653E+01, 0.62909E+01, 0.63164E+01, 0.63416E+01, & - & 0.63666E+01, 0.63915E+01, 0.64162E+01, 0.64407E+01, 0.64650E+01, & - & 0.64892E+01, 0.65132E+01, 0.65370E+01, 0.65607E+01, 0.65842E+01, & - & 0.66076E+01, 0.66308E+01, 0.66538E+01, 0.66767E+01, 0.66994E+01, & - & 0.67220E+01, 0.67444E+01, 0.67667E+01, 0.67889E+01, 0.68108E+01, & - & 0.68327E+01, 0.68544E+01, 0.68760E+01, 0.68974E+01, 0.69188E+01, & - & 0.69399E+01, 0.69610E+01, 0.69819E+01, 0.70027E+01, 0.70233E+01, & - & 0.70439E+01, 0.70643E+01, 0.70846E+01, 0.71047E+01, 0.71248E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.71447E+01, 0.71645E+01, 0.71842E+01, 0.72038E+01, 0.72233E+01, & - & 0.72426E+01, 0.72619E+01, 0.72810E+01, 0.73000E+01, 0.73189E+01, & - & 0.73378E+01, 0.73565E+01, 0.73751E+01, 0.73936E+01, 0.74120E+01, & - & 0.74303E+01, 0.74484E+01, 0.74665E+01, 0.74845E+01, 0.75024E+01, & - & 0.75203E+01, 0.75380E+01, 0.75556E+01, 0.75731E+01, 0.75905E+01, & - & 0.76079E+01, 0.76251E+01, 0.76423E+01, 0.76593E+01, 0.76763E+01, & - & 0.76932E+01, 0.77100E+01, 0.77268E+01, 0.77434E+01, 0.77600E+01, & - & 0.77764E+01, 0.77928E+01, 0.78091E+01, 0.78253E+01, 0.78415E+01, & - & 0.78576E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.46818E-01,-0.99454E-01,-0.12468E+00,-0.14198E+00,-0.15520E+00, & - &-0.16586E+00,-0.17475E+00,-0.18233E+00,-0.18889E+00,-0.19464E+00, & - &-0.19972E+00,-0.20422E+00,-0.20825E+00,-0.21184E+00,-0.21507E+00, & - &-0.21797E+00,-0.22056E+00,-0.22288E+00,-0.22496E+00,-0.22681E+00, & - &-0.22844E+00,-0.22988E+00,-0.23114E+00,-0.23222E+00,-0.23314E+00, & - &-0.23391E+00,-0.23453E+00,-0.23502E+00,-0.23537E+00,-0.23559E+00, & - &-0.23570E+00,-0.23569E+00,-0.23557E+00,-0.23535E+00,-0.23502E+00, & - &-0.23460E+00,-0.23408E+00,-0.23348E+00,-0.23278E+00,-0.23200E+00, & - &-0.23115E+00,-0.23021E+00,-0.22920E+00,-0.22811E+00,-0.22696E+00, & - &-0.22574E+00,-0.22445E+00,-0.22310E+00,-0.22169E+00,-0.22023E+00, & - &-0.21870E+00,-0.21712E+00,-0.21549E+00,-0.21381E+00,-0.21207E+00, & - &-0.21029E+00,-0.20847E+00,-0.20660E+00,-0.20468E+00,-0.20272E+00, & - &-0.20073E+00,-0.19869E+00,-0.19661E+00,-0.19450E+00,-0.19235E+00, & - &-0.19016E+00,-0.18794E+00,-0.18569E+00,-0.18340E+00,-0.18107E+00, & - &-0.17872E+00,-0.17633E+00,-0.17392E+00,-0.17147E+00,-0.16899E+00, & - &-0.16648E+00,-0.16394E+00,-0.16137E+00,-0.15877E+00,-0.15614E+00, & - &-0.15349E+00,-0.15080E+00,-0.14809E+00,-0.14535E+00,-0.14259E+00, & - &-0.13979E+00,-0.13697E+00,-0.13413E+00,-0.13125E+00,-0.12836E+00, & - &-0.12544E+00,-0.12249E+00,-0.11952E+00,-0.11653E+00,-0.11351E+00, & - &-0.11047E+00,-0.10741E+00,-0.10433E+00,-0.10124E+00,-0.98117E-01/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.94980E-01,-0.91826E-01,-0.88655E-01,-0.85469E-01,-0.82267E-01, & - &-0.79051E-01,-0.75822E-01,-0.72581E-01,-0.69327E-01,-0.66063E-01, & - &-0.62789E-01,-0.59505E-01,-0.56214E-01,-0.52914E-01,-0.49608E-01, & - &-0.46296E-01,-0.42978E-01,-0.39656E-01,-0.36329E-01,-0.33000E-01, & - &-0.29667E-01,-0.26333E-01,-0.22997E-01,-0.19660E-01,-0.16323E-01, & - &-0.12985E-01,-0.96483E-02,-0.63125E-02,-0.29780E-02, 0.35480E-03, & - & 0.36852E-02, 0.70134E-02, 0.10339E-01, 0.13661E-01, 0.16979E-01, & - & 0.20294E-01, 0.23605E-01, 0.26912E-01, 0.30214E-01, 0.33512E-01, & - & 0.36805E-01, 0.40093E-01, 0.43376E-01, 0.46653E-01, 0.49925E-01, & - & 0.53192E-01, 0.56453E-01, 0.59708E-01, 0.62957E-01, 0.66200E-01, & - & 0.69437E-01, 0.72668E-01, 0.75892E-01, 0.79111E-01, 0.82322E-01, & - & 0.85528E-01, 0.88727E-01, 0.91919E-01, 0.95104E-01, 0.98283E-01, & - & 0.10146E+00, 0.10462E+00, 0.10778E+00, 0.11093E+00, 0.11408E+00, & - & 0.11722E+00, 0.12035E+00, 0.12347E+00, 0.12659E+00, 0.12970E+00, & - & 0.13280E+00, 0.13590E+00, 0.13899E+00, 0.14207E+00, 0.14515E+00, & - & 0.14822E+00, 0.15128E+00, 0.15433E+00, 0.15738E+00, 0.16042E+00, & - & 0.16345E+00, 0.16648E+00, 0.16950E+00, 0.17251E+00, 0.17552E+00, & - & 0.17852E+00, 0.18151E+00, 0.18449E+00, 0.18747E+00, 0.19044E+00, & - & 0.19341E+00, 0.19636E+00, 0.19931E+00, 0.20226E+00, 0.20519E+00, & - & 0.20812E+00, 0.21104E+00, 0.21396E+00, 0.21687E+00, 0.21977E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.22266E+00, 0.22555E+00, 0.22843E+00, 0.23131E+00, 0.23418E+00, & - & 0.23704E+00, 0.23989E+00, 0.24274E+00, 0.24558E+00, 0.24842E+00, & - & 0.25124E+00, 0.25407E+00, 0.25688E+00, 0.25969E+00, 0.26249E+00, & - & 0.26529E+00, 0.26807E+00, 0.27086E+00, 0.27363E+00, 0.27640E+00, & - & 0.27917E+00, 0.28192E+00, 0.28467E+00, 0.28742E+00, 0.29015E+00, & - & 0.29288E+00, 0.29561E+00, 0.29833E+00, 0.30104E+00, 0.30375E+00, & - & 0.30645E+00, 0.30914E+00, 0.31183E+00, 0.31451E+00, 0.31719E+00, & - & 0.31986E+00, 0.32252E+00, 0.32518E+00, 0.32783E+00, 0.33048E+00, & - & 0.33312E+00, 0.33575E+00, 0.33838E+00, 0.34100E+00, 0.34362E+00, & - & 0.34623E+00, 0.34883E+00, 0.35143E+00, 0.35402E+00, 0.35661E+00, & - & 0.35919E+00, 0.36177E+00, 0.36434E+00, 0.36690E+00, 0.36946E+00, & - & 0.37201E+00, 0.37456E+00, 0.37710E+00, 0.37964E+00, 0.38217E+00, & - & 0.38470E+00, 0.38722E+00, 0.38973E+00, 0.39224E+00, 0.39474E+00, & - & 0.39724E+00, 0.39974E+00, 0.40222E+00, 0.40471E+00, 0.40718E+00, & - & 0.40966E+00, 0.41212E+00, 0.41458E+00, 0.41704E+00, 0.41949E+00, & - & 0.42194E+00, 0.42438E+00, 0.42681E+00, 0.42924E+00, 0.43167E+00, & - & 0.43409E+00, 0.43650E+00, 0.43891E+00, 0.44132E+00, 0.44372E+00, & - & 0.44611E+00, 0.44851E+00, 0.45089E+00, 0.45327E+00, 0.45565E+00, & - & 0.45802E+00, 0.46038E+00, 0.46274E+00, 0.46510E+00, 0.46745E+00, & - & 0.46980E+00, 0.47214E+00, 0.47448E+00, 0.47681E+00, 0.47914E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.48146E+00, 0.48378E+00, 0.48609E+00, 0.48840E+00, 0.49070E+00, & - & 0.49300E+00, 0.49530E+00, 0.49759E+00, 0.49988E+00, 0.50216E+00, & - & 0.50444E+00, 0.50671E+00, 0.50898E+00, 0.51124E+00, 0.51350E+00, & - & 0.51575E+00, 0.51800E+00, 0.52025E+00, 0.52249E+00, 0.52473E+00, & - & 0.52696E+00, 0.52919E+00, 0.53141E+00, 0.53363E+00, 0.53585E+00, & - & 0.53806E+00, 0.54027E+00, 0.54247E+00, 0.54467E+00, 0.54686E+00, & - & 0.54905E+00, 0.55124E+00, 0.55342E+00, 0.55560E+00, 0.55777E+00, & - & 0.55994E+00, 0.56211E+00, 0.56427E+00, 0.56643E+00, 0.56858E+00, & - & 0.57073E+00, 0.57288E+00, 0.57502E+00, 0.57715E+00, 0.57929E+00, & - & 0.58142E+00, 0.58354E+00, 0.58566E+00, 0.58778E+00, 0.58990E+00, & - & 0.59201E+00, 0.59411E+00, 0.59621E+00, 0.59831E+00, 0.60041E+00, & - & 0.60250E+00, 0.60458E+00, 0.60667E+00, 0.60874E+00, 0.61082E+00, & - & 0.61289E+00, 0.61496E+00, 0.61702E+00, 0.61908E+00, 0.62114E+00, & - & 0.62319E+00, 0.62524E+00, 0.62729E+00, 0.62933E+00, 0.63137E+00, & - & 0.63340E+00, 0.63544E+00, 0.63746E+00, 0.63949E+00, 0.64151E+00, & - & 0.64352E+00, 0.64554E+00, 0.64755E+00, 0.64955E+00, 0.65156E+00, & - & 0.65355E+00, 0.65555E+00, 0.65754E+00, 0.65953E+00, 0.66152E+00, & - & 0.66350E+00, 0.66548E+00, 0.66745E+00, 0.66942E+00, 0.67139E+00, & - & 0.67335E+00, 0.67532E+00, 0.67727E+00, 0.67923E+00, 0.68118E+00, & - & 0.68313E+00, 0.68507E+00, 0.68701E+00, 0.68895E+00, 0.69089E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.69282E+00, 0.69475E+00, 0.69667E+00, 0.69859E+00, 0.70051E+00, & - & 0.70243E+00, 0.70434E+00, 0.70625E+00, 0.70815E+00, 0.71005E+00, & - & 0.71195E+00, 0.71385E+00, 0.71574E+00, 0.71763E+00, 0.71952E+00, & - & 0.72140E+00, 0.72328E+00, 0.72516E+00, 0.72703E+00, 0.72890E+00, & - & 0.73077E+00, 0.73264E+00, 0.73450E+00, 0.73636E+00, 0.73821E+00, & - & 0.74006E+00, 0.74191E+00, 0.74376E+00, 0.74560E+00, 0.74745E+00, & - & 0.74928E+00, 0.75112E+00, 0.75295E+00, 0.75478E+00, 0.75660E+00, & - & 0.75843E+00, 0.76025E+00, 0.76206E+00, 0.76388E+00, 0.76569E+00, & - & 0.76750E+00, 0.76930E+00, 0.77110E+00, 0.77290E+00, 0.77470E+00, & - & 0.77649E+00, 0.77828E+00, 0.78007E+00, 0.78186E+00, 0.78364E+00, & - & 0.78542E+00, 0.78720E+00, 0.78897E+00, 0.79074E+00, 0.79251E+00, & - & 0.79428E+00, 0.79604E+00, 0.79780E+00, 0.79956E+00, 0.80131E+00, & - & 0.80306E+00, 0.80481E+00, 0.80656E+00, 0.80830E+00, 0.81005E+00, & - & 0.81178E+00, 0.81352E+00, 0.81525E+00, 0.81698E+00, 0.81871E+00, & - & 0.82044E+00, 0.82216E+00, 0.82388E+00, 0.82560E+00, 0.82731E+00, & - & 0.82902E+00, 0.83073E+00, 0.83244E+00, 0.83414E+00, 0.83585E+00, & - & 0.83754E+00, 0.83924E+00, 0.84093E+00, 0.84263E+00, 0.84431E+00, & - & 0.84600E+00, 0.84768E+00, 0.84937E+00, 0.85104E+00, 0.85272E+00, & - & 0.85439E+00, 0.85607E+00, 0.85773E+00, 0.85940E+00, 0.86106E+00, & - & 0.86273E+00, 0.86438E+00, 0.86604E+00, 0.86769E+00, 0.86935E+00/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.87100E+00, 0.87264E+00, 0.87429E+00, 0.87593E+00, 0.87757E+00, & - & 0.87920E+00, 0.88084E+00, 0.88247E+00, 0.88410E+00, 0.88573E+00, & - & 0.88735E+00, 0.88898E+00, 0.89060E+00, 0.89221E+00, 0.89383E+00, & - & 0.89544E+00, 0.89705E+00, 0.89866E+00, 0.90027E+00, 0.90187E+00, & - & 0.90347E+00, 0.90507E+00, 0.90667E+00, 0.90827E+00, 0.90986E+00, & - & 0.91145E+00, 0.91304E+00, 0.91462E+00, 0.91621E+00, 0.91779E+00, & - & 0.91937E+00, 0.92094E+00, 0.92252E+00, 0.92409E+00, 0.92566E+00, & - & 0.92723E+00, 0.92879E+00, 0.93036E+00, 0.93192E+00, 0.93347E+00, & - & 0.93503E+00, 0.93659E+00, 0.93814E+00, 0.93969E+00, 0.94124E+00, & - & 0.94278E+00, 0.94433E+00, 0.94587E+00, 0.94741E+00, 0.94894E+00, & - & 0.95048E+00, 0.95201E+00, 0.95354E+00, 0.95507E+00, 0.95660E+00, & - & 0.95812E+00, 0.95965E+00, 0.96117E+00, 0.96269E+00, 0.96420E+00, & - & 0.96572E+00, 0.96723E+00, 0.96874E+00, 0.97025E+00, 0.97175E+00, & - & 0.97325E+00, 0.97476E+00, 0.97626E+00, 0.97775E+00, 0.97925E+00, & - & 0.98074E+00, 0.98223E+00, 0.98372E+00, 0.98521E+00, 0.98670E+00, & - & 0.98818E+00, 0.98966E+00, 0.99114E+00, 0.99262E+00, 0.99410E+00, & - & 0.99557E+00, 0.99704E+00, 0.99851E+00, 0.99998E+00, 0.10014E+01, & - & 0.10029E+01, 0.10044E+01, 0.10058E+01, 0.10073E+01, 0.10087E+01, & - & 0.10102E+01, 0.10116E+01, 0.10131E+01, 0.10145E+01, 0.10160E+01, & - & 0.10174E+01, 0.10189E+01, 0.10203E+01, 0.10218E+01, 0.10232E+01/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.10386E+01, 0.10527E+01, 0.10666E+01, 0.10803E+01, 0.10938E+01, & - & 0.11072E+01, 0.11204E+01, 0.11334E+01, 0.11463E+01, 0.11591E+01, & - & 0.11717E+01, 0.11841E+01, 0.11964E+01, 0.12086E+01, 0.12206E+01, & - & 0.12325E+01, 0.12442E+01, 0.12558E+01, 0.12673E+01, 0.12787E+01, & - & 0.12900E+01, 0.13011E+01, 0.13121E+01, 0.13230E+01, 0.13338E+01, & - & 0.13444E+01, 0.13550E+01, 0.13655E+01, 0.13758E+01, 0.13860E+01, & - & 0.13962E+01, 0.14062E+01, 0.14162E+01, 0.14260E+01, 0.14358E+01, & - & 0.14454E+01, 0.14550E+01, 0.14645E+01, 0.14738E+01, 0.14831E+01, & - & 0.14924E+01, 0.15015E+01, 0.15105E+01, 0.15195E+01, 0.15284E+01, & - & 0.15372E+01, 0.15459E+01, 0.15545E+01, 0.15631E+01, 0.15716E+01, & - & 0.15800E+01, 0.15884E+01, 0.15966E+01, 0.16049E+01, 0.16130E+01, & - & 0.16211E+01, 0.16291E+01, 0.16370E+01, 0.16449E+01, 0.16527E+01, & - & 0.16604E+01, 0.16681E+01, 0.16757E+01, 0.16833E+01, 0.16908E+01, & - & 0.16982E+01, 0.17056E+01, 0.17129E+01, 0.17201E+01, 0.17273E+01, & - & 0.17345E+01, 0.17416E+01, 0.17486E+01, 0.17556E+01, 0.17626E+01, & - & 0.17694E+01, 0.17763E+01, 0.17830E+01, 0.17898E+01, 0.17964E+01, & - & 0.18031E+01, 0.18097E+01, 0.18162E+01, 0.18227E+01, 0.18291E+01, & - & 0.18355E+01, 0.18418E+01, 0.18481E+01, 0.18544E+01, 0.18606E+01, & - & 0.18668E+01, 0.18729E+01, 0.18790E+01, 0.18850E+01, 0.18910E+01, & - & 0.18970E+01, 0.19029E+01, 0.19088E+01, 0.19146E+01, 0.19204E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19262E+01, 0.19319E+01, 0.19376E+01, 0.19432E+01, 0.19488E+01, & - & 0.19544E+01, 0.19599E+01, 0.19654E+01, 0.19709E+01, 0.19763E+01, & - & 0.19817E+01, 0.19871E+01, 0.19924E+01, 0.19977E+01, 0.20029E+01, & - & 0.20082E+01, 0.20133E+01, 0.20185E+01, 0.20236E+01, 0.20287E+01, & - & 0.20338E+01, 0.20388E+01, 0.20438E+01, 0.20488E+01, 0.20537E+01, & - & 0.20586E+01, 0.20635E+01, 0.20683E+01, 0.20731E+01, 0.20779E+01, & - & 0.20827E+01, 0.20874E+01, 0.20921E+01, 0.20968E+01, 0.21014E+01, & - & 0.21061E+01, 0.21107E+01, 0.21152E+01, 0.21198E+01, 0.21243E+01, & - & 0.21288E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.46234E-01,-0.95802E-01,-0.11793E+00,-0.13215E+00,-0.14233E+00, & - &-0.14999E+00,-0.15592E+00,-0.16058E+00,-0.16428E+00,-0.16721E+00, & - &-0.16952E+00,-0.17131E+00,-0.17268E+00,-0.17367E+00,-0.17435E+00, & - &-0.17476E+00,-0.17493E+00,-0.17488E+00,-0.17465E+00,-0.17425E+00, & - &-0.17370E+00,-0.17301E+00,-0.17221E+00,-0.17129E+00,-0.17028E+00, & - &-0.16917E+00,-0.16799E+00,-0.16673E+00,-0.16540E+00,-0.16402E+00, & - &-0.16257E+00,-0.16108E+00,-0.15954E+00,-0.15796E+00,-0.15634E+00, & - &-0.15468E+00,-0.15300E+00,-0.15128E+00,-0.14954E+00,-0.14778E+00, & - &-0.14600E+00,-0.14419E+00,-0.14237E+00,-0.14054E+00,-0.13869E+00, & - &-0.13682E+00,-0.13495E+00,-0.13307E+00,-0.13117E+00,-0.12927E+00, & - &-0.12737E+00,-0.12545E+00,-0.12353E+00,-0.12160E+00,-0.11967E+00, & - &-0.11774E+00,-0.11579E+00,-0.11385E+00,-0.11190E+00,-0.10994E+00, & - &-0.10798E+00,-0.10601E+00,-0.10404E+00,-0.10206E+00,-0.10008E+00, & - &-0.98086E-01,-0.96089E-01,-0.94084E-01,-0.92071E-01,-0.90050E-01, & - &-0.88020E-01,-0.85981E-01,-0.83932E-01,-0.81872E-01,-0.79801E-01, & - &-0.77719E-01,-0.75624E-01,-0.73517E-01,-0.71397E-01,-0.69264E-01, & - &-0.67117E-01,-0.64955E-01,-0.62779E-01,-0.60589E-01,-0.58383E-01, & - &-0.56162E-01,-0.53926E-01,-0.51674E-01,-0.49406E-01,-0.47123E-01, & - &-0.44825E-01,-0.42510E-01,-0.40181E-01,-0.37837E-01,-0.35477E-01, & - &-0.33103E-01,-0.30715E-01,-0.28312E-01,-0.25896E-01,-0.23466E-01/ - - DATA (BNC10M(I),I=101,200)/ & - &-0.21024E-01,-0.18569E-01,-0.16103E-01,-0.13624E-01,-0.11135E-01, & - &-0.86356E-02,-0.61260E-02,-0.36070E-02,-0.10791E-02, 0.14571E-02, & - & 0.40011E-02, 0.65524E-02, 0.91106E-02, 0.11675E-01, 0.14245E-01, & - & 0.16820E-01, 0.19401E-01, 0.21985E-01, 0.24574E-01, 0.27166E-01, & - & 0.29761E-01, 0.32358E-01, 0.34958E-01, 0.37560E-01, 0.40164E-01, & - & 0.42768E-01, 0.45374E-01, 0.47981E-01, 0.50587E-01, 0.53194E-01, & - & 0.55801E-01, 0.58408E-01, 0.61014E-01, 0.63620E-01, 0.66224E-01, & - & 0.68828E-01, 0.71430E-01, 0.74031E-01, 0.76630E-01, 0.79228E-01, & - & 0.81824E-01, 0.84419E-01, 0.87011E-01, 0.89602E-01, 0.92190E-01, & - & 0.94776E-01, 0.97360E-01, 0.99941E-01, 0.10252E+00, 0.10510E+00, & - & 0.10767E+00, 0.11024E+00, 0.11281E+00, 0.11538E+00, 0.11794E+00, & - & 0.12050E+00, 0.12306E+00, 0.12562E+00, 0.12817E+00, 0.13072E+00, & - & 0.13327E+00, 0.13581E+00, 0.13835E+00, 0.14089E+00, 0.14342E+00, & - & 0.14595E+00, 0.14848E+00, 0.15101E+00, 0.15353E+00, 0.15605E+00, & - & 0.15857E+00, 0.16108E+00, 0.16359E+00, 0.16609E+00, 0.16860E+00, & - & 0.17110E+00, 0.17359E+00, 0.17609E+00, 0.17858E+00, 0.18106E+00, & - & 0.18355E+00, 0.18603E+00, 0.18850E+00, 0.19098E+00, 0.19345E+00, & - & 0.19591E+00, 0.19838E+00, 0.20084E+00, 0.20329E+00, 0.20574E+00, & - & 0.20819E+00, 0.21064E+00, 0.21308E+00, 0.21552E+00, 0.21795E+00, & - & 0.22039E+00, 0.22281E+00, 0.22524E+00, 0.22766E+00, 0.23008E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.23249E+00, 0.23490E+00, 0.23731E+00, 0.23971E+00, 0.24211E+00, & - & 0.24451E+00, 0.24690E+00, 0.24929E+00, 0.25167E+00, 0.25406E+00, & - & 0.25643E+00, 0.25881E+00, 0.26118E+00, 0.26355E+00, 0.26591E+00, & - & 0.26827E+00, 0.27063E+00, 0.27298E+00, 0.27533E+00, 0.27768E+00, & - & 0.28002E+00, 0.28236E+00, 0.28469E+00, 0.28702E+00, 0.28935E+00, & - & 0.29167E+00, 0.29399E+00, 0.29631E+00, 0.29862E+00, 0.30093E+00, & - & 0.30324E+00, 0.30554E+00, 0.30784E+00, 0.31013E+00, 0.31242E+00, & - & 0.31471E+00, 0.31700E+00, 0.31928E+00, 0.32155E+00, 0.32383E+00, & - & 0.32610E+00, 0.32836E+00, 0.33062E+00, 0.33288E+00, 0.33514E+00, & - & 0.33739E+00, 0.33964E+00, 0.34188E+00, 0.34412E+00, 0.34636E+00, & - & 0.34859E+00, 0.35082E+00, 0.35305E+00, 0.35527E+00, 0.35749E+00, & - & 0.35971E+00, 0.36192E+00, 0.36413E+00, 0.36633E+00, 0.36854E+00, & - & 0.37073E+00, 0.37293E+00, 0.37512E+00, 0.37731E+00, 0.37949E+00, & - & 0.38167E+00, 0.38385E+00, 0.38602E+00, 0.38819E+00, 0.39036E+00, & - & 0.39252E+00, 0.39468E+00, 0.39683E+00, 0.39899E+00, 0.40113E+00, & - & 0.40328E+00, 0.40542E+00, 0.40756E+00, 0.40970E+00, 0.41183E+00, & - & 0.41395E+00, 0.41608E+00, 0.41820E+00, 0.42032E+00, 0.42243E+00, & - & 0.42454E+00, 0.42665E+00, 0.42875E+00, 0.43085E+00, 0.43295E+00, & - & 0.43505E+00, 0.43714E+00, 0.43922E+00, 0.44131E+00, 0.44339E+00, & - & 0.44546E+00, 0.44754E+00, 0.44961E+00, 0.45167E+00, 0.45374E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.45580E+00, 0.45786E+00, 0.45991E+00, 0.46196E+00, 0.46401E+00, & - & 0.46605E+00, 0.46809E+00, 0.47013E+00, 0.47216E+00, 0.47419E+00, & - & 0.47622E+00, 0.47824E+00, 0.48026E+00, 0.48228E+00, 0.48429E+00, & - & 0.48631E+00, 0.48831E+00, 0.49032E+00, 0.49232E+00, 0.49432E+00, & - & 0.49631E+00, 0.49830E+00, 0.50029E+00, 0.50228E+00, 0.50426E+00, & - & 0.50624E+00, 0.50821E+00, 0.51019E+00, 0.51216E+00, 0.51412E+00, & - & 0.51609E+00, 0.51805E+00, 0.52000E+00, 0.52196E+00, 0.52391E+00, & - & 0.52585E+00, 0.52780E+00, 0.52974E+00, 0.53168E+00, 0.53361E+00, & - & 0.53554E+00, 0.53747E+00, 0.53940E+00, 0.54132E+00, 0.54324E+00, & - & 0.54516E+00, 0.54707E+00, 0.54898E+00, 0.55089E+00, 0.55280E+00, & - & 0.55470E+00, 0.55660E+00, 0.55849E+00, 0.56038E+00, 0.56227E+00, & - & 0.56416E+00, 0.56605E+00, 0.56793E+00, 0.56980E+00, 0.57168E+00, & - & 0.57355E+00, 0.57542E+00, 0.57729E+00, 0.57915E+00, 0.58101E+00, & - & 0.58287E+00, 0.58472E+00, 0.58657E+00, 0.58842E+00, 0.59027E+00, & - & 0.59211E+00, 0.59395E+00, 0.59579E+00, 0.59762E+00, 0.59945E+00, & - & 0.60128E+00, 0.60311E+00, 0.60493E+00, 0.60675E+00, 0.60857E+00, & - & 0.61038E+00, 0.61219E+00, 0.61400E+00, 0.61581E+00, 0.61761E+00, & - & 0.61941E+00, 0.62121E+00, 0.62300E+00, 0.62480E+00, 0.62659E+00, & - & 0.62837E+00, 0.63016E+00, 0.63194E+00, 0.63372E+00, 0.63549E+00, & - & 0.63727E+00, 0.63904E+00, 0.64080E+00, 0.64257E+00, 0.64433E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.64609E+00, 0.64785E+00, 0.64960E+00, 0.65135E+00, 0.65310E+00, & - & 0.65485E+00, 0.65659E+00, 0.65833E+00, 0.66007E+00, 0.66181E+00, & - & 0.66354E+00, 0.66527E+00, 0.66700E+00, 0.66872E+00, 0.67044E+00, & - & 0.67216E+00, 0.67388E+00, 0.67560E+00, 0.67731E+00, 0.67902E+00, & - & 0.68073E+00, 0.68243E+00, 0.68413E+00, 0.68583E+00, 0.68753E+00, & - & 0.68922E+00, 0.69092E+00, 0.69260E+00, 0.69429E+00, 0.69598E+00, & - & 0.69766E+00, 0.69934E+00, 0.70101E+00, 0.70269E+00, 0.70436E+00, & - & 0.70603E+00, 0.70770E+00, 0.70936E+00, 0.71102E+00, 0.71268E+00, & - & 0.71434E+00, 0.71599E+00, 0.71765E+00, 0.71930E+00, 0.72094E+00, & - & 0.72259E+00, 0.72423E+00, 0.72587E+00, 0.72751E+00, 0.72914E+00, & - & 0.73078E+00, 0.73241E+00, 0.73404E+00, 0.73566E+00, 0.73729E+00, & - & 0.73891E+00, 0.74053E+00, 0.74214E+00, 0.74376E+00, 0.74537E+00, & - & 0.74698E+00, 0.74858E+00, 0.75019E+00, 0.75179E+00, 0.75339E+00, & - & 0.75499E+00, 0.75658E+00, 0.75818E+00, 0.75977E+00, 0.76136E+00, & - & 0.76294E+00, 0.76453E+00, 0.76611E+00, 0.76769E+00, 0.76927E+00, & - & 0.77084E+00, 0.77241E+00, 0.77398E+00, 0.77555E+00, 0.77712E+00, & - & 0.77868E+00, 0.78024E+00, 0.78180E+00, 0.78336E+00, 0.78492E+00, & - & 0.78647E+00, 0.78802E+00, 0.78957E+00, 0.79111E+00, 0.79266E+00, & - & 0.79420E+00, 0.79574E+00, 0.79728E+00, 0.79881E+00, 0.80034E+00, & - & 0.80188E+00, 0.80340E+00, 0.80493E+00, 0.80646E+00, 0.80798E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.80950E+00, 0.81102E+00, 0.81253E+00, 0.81405E+00, 0.81556E+00, & - & 0.81707E+00, 0.81858E+00, 0.82008E+00, 0.82158E+00, 0.82309E+00, & - & 0.82459E+00, 0.82608E+00, 0.82758E+00, 0.82907E+00, 0.83056E+00, & - & 0.83205E+00, 0.83354E+00, 0.83502E+00, 0.83651E+00, 0.83799E+00, & - & 0.83947E+00, 0.84094E+00, 0.84242E+00, 0.84389E+00, 0.84536E+00, & - & 0.84683E+00, 0.84830E+00, 0.84976E+00, 0.85122E+00, 0.85268E+00, & - & 0.85414E+00, 0.85560E+00, 0.85705E+00, 0.85851E+00, 0.85996E+00, & - & 0.86141E+00, 0.86285E+00, 0.86430E+00, 0.86574E+00, 0.86718E+00, & - & 0.86862E+00, 0.87006E+00, 0.87149E+00, 0.87293E+00, 0.87436E+00, & - & 0.87579E+00, 0.87721E+00, 0.87864E+00, 0.88006E+00, 0.88149E+00, & - & 0.88291E+00, 0.88432E+00, 0.88574E+00, 0.88715E+00, 0.88857E+00, & - & 0.88998E+00, 0.89139E+00, 0.89279E+00, 0.89420E+00, 0.89560E+00, & - & 0.89700E+00, 0.89840E+00, 0.89980E+00, 0.90119E+00, 0.90259E+00, & - & 0.90398E+00, 0.90537E+00, 0.90676E+00, 0.90814E+00, 0.90953E+00, & - & 0.91091E+00, 0.91229E+00, 0.91367E+00, 0.91505E+00, 0.91642E+00, & - & 0.91780E+00, 0.91917E+00, 0.92054E+00, 0.92191E+00, 0.92327E+00, & - & 0.92464E+00, 0.92600E+00, 0.92736E+00, 0.92872E+00, 0.93008E+00, & - & 0.93144E+00, 0.93279E+00, 0.93414E+00, 0.93549E+00, 0.93684E+00, & - & 0.93819E+00, 0.93954E+00, 0.94088E+00, 0.94222E+00, 0.94356E+00, & - & 0.94490E+00, 0.94624E+00, 0.94757E+00, 0.94891E+00, 0.95024E+00/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.96452E+00, 0.97756E+00, 0.99045E+00, 0.10032E+01, 0.10157E+01, & - & 0.10282E+01, 0.10404E+01, 0.10525E+01, 0.10645E+01, 0.10763E+01, & - & 0.10880E+01, 0.10996E+01, 0.11110E+01, 0.11223E+01, 0.11335E+01, & - & 0.11445E+01, 0.11555E+01, 0.11663E+01, 0.11769E+01, 0.11875E+01, & - & 0.11980E+01, 0.12083E+01, 0.12185E+01, 0.12287E+01, 0.12387E+01, & - & 0.12486E+01, 0.12584E+01, 0.12681E+01, 0.12777E+01, 0.12872E+01, & - & 0.12967E+01, 0.13060E+01, 0.13152E+01, 0.13244E+01, 0.13334E+01, & - & 0.13424E+01, 0.13513E+01, 0.13601E+01, 0.13688E+01, 0.13774E+01, & - & 0.13860E+01, 0.13944E+01, 0.14028E+01, 0.14111E+01, 0.14194E+01, & - & 0.14275E+01, 0.14356E+01, 0.14437E+01, 0.14516E+01, 0.14595E+01, & - & 0.14673E+01, 0.14750E+01, 0.14827E+01, 0.14903E+01, 0.14978E+01, & - & 0.15053E+01, 0.15127E+01, 0.15201E+01, 0.15274E+01, 0.15346E+01, & - & 0.15418E+01, 0.15489E+01, 0.15559E+01, 0.15629E+01, 0.15698E+01, & - & 0.15767E+01, 0.15835E+01, 0.15903E+01, 0.15970E+01, 0.16037E+01, & - & 0.16103E+01, 0.16168E+01, 0.16233E+01, 0.16298E+01, 0.16362E+01, & - & 0.16425E+01, 0.16488E+01, 0.16551E+01, 0.16613E+01, 0.16675E+01, & - & 0.16736E+01, 0.16797E+01, 0.16857E+01, 0.16917E+01, 0.16976E+01, & - & 0.17035E+01, 0.17093E+01, 0.17152E+01, 0.17209E+01, 0.17266E+01, & - & 0.17323E+01, 0.17380E+01, 0.17436E+01, 0.17491E+01, 0.17546E+01, & - & 0.17601E+01, 0.17656E+01, 0.17710E+01, 0.17763E+01, 0.17817E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17870E+01, 0.17922E+01, 0.17975E+01, 0.18026E+01, 0.18078E+01, & - & 0.18129E+01, 0.18180E+01, 0.18230E+01, 0.18281E+01, 0.18330E+01, & - & 0.18380E+01, 0.18429E+01, 0.18478E+01, 0.18526E+01, 0.18575E+01, & - & 0.18622E+01, 0.18670E+01, 0.18717E+01, 0.18764E+01, 0.18811E+01, & - & 0.18857E+01, 0.18903E+01, 0.18949E+01, 0.18994E+01, 0.19040E+01, & - & 0.19085E+01, 0.19129E+01, 0.19174E+01, 0.19218E+01, 0.19261E+01, & - & 0.19305E+01, 0.19348E+01, 0.19391E+01, 0.19434E+01, 0.19476E+01, & - & 0.19519E+01, 0.19560E+01, 0.19602E+01, 0.19644E+01, 0.19685E+01, & - & 0.19726E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.45064E-01,-0.90047E-01,-0.10831E+00,-0.11900E+00,-0.12582E+00, & - &-0.13024E+00,-0.13300E+00,-0.13453E+00,-0.13511E+00,-0.13494E+00, & - &-0.13415E+00,-0.13283E+00,-0.13107E+00,-0.12891E+00,-0.12642E+00, & - &-0.12362E+00,-0.12056E+00,-0.11725E+00,-0.11372E+00,-0.10999E+00, & - &-0.10608E+00,-0.10200E+00,-0.97758E-01,-0.93378E-01,-0.88865E-01, & - &-0.84228E-01,-0.79477E-01,-0.74619E-01,-0.69661E-01,-0.64611E-01, & - &-0.59474E-01,-0.54257E-01,-0.48964E-01,-0.43600E-01,-0.38171E-01, & - &-0.32681E-01,-0.27134E-01,-0.21533E-01,-0.15883E-01,-0.10186E-01, & - &-0.44467E-02, 0.13329E-02, 0.71497E-02, 0.13001E-01, 0.18885E-01, & - & 0.24799E-01, 0.30740E-01, 0.36708E-01, 0.42700E-01, 0.48715E-01, & - & 0.54751E-01, 0.60806E-01, 0.66881E-01, 0.72974E-01, 0.79084E-01, & - & 0.85210E-01, 0.91353E-01, 0.97511E-01, 0.10368E+00, 0.10987E+00, & - & 0.11608E+00, 0.12230E+00, 0.12853E+00, 0.13478E+00, 0.14105E+00, & - & 0.14733E+00, 0.15364E+00, 0.15996E+00, 0.16629E+00, 0.17265E+00, & - & 0.17903E+00, 0.18544E+00, 0.19186E+00, 0.19831E+00, 0.20478E+00, & - & 0.21128E+00, 0.21781E+00, 0.22436E+00, 0.23094E+00, 0.23755E+00, & - & 0.24419E+00, 0.25087E+00, 0.25757E+00, 0.26430E+00, 0.27107E+00, & - & 0.27787E+00, 0.28471E+00, 0.29157E+00, 0.29847E+00, 0.30541E+00, & - & 0.31238E+00, 0.31938E+00, 0.32641E+00, 0.33348E+00, 0.34058E+00, & - & 0.34771E+00, 0.35487E+00, 0.36206E+00, 0.36928E+00, 0.37653E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.38380E+00, 0.39110E+00, 0.39843E+00, 0.40578E+00, 0.41315E+00, & - & 0.42054E+00, 0.42795E+00, 0.43539E+00, 0.44283E+00, 0.45030E+00, & - & 0.45778E+00, 0.46527E+00, 0.47278E+00, 0.48029E+00, 0.48782E+00, & - & 0.49535E+00, 0.50289E+00, 0.51044E+00, 0.51799E+00, 0.52555E+00, & - & 0.53310E+00, 0.54066E+00, 0.54823E+00, 0.55579E+00, 0.56335E+00, & - & 0.57091E+00, 0.57846E+00, 0.58602E+00, 0.59357E+00, 0.60111E+00, & - & 0.60865E+00, 0.61619E+00, 0.62371E+00, 0.63124E+00, 0.63875E+00, & - & 0.64626E+00, 0.65376E+00, 0.66125E+00, 0.66873E+00, 0.67620E+00, & - & 0.68366E+00, 0.69112E+00, 0.69856E+00, 0.70599E+00, 0.71342E+00, & - & 0.72083E+00, 0.72823E+00, 0.73562E+00, 0.74300E+00, 0.75037E+00, & - & 0.75773E+00, 0.76507E+00, 0.77241E+00, 0.77973E+00, 0.78704E+00, & - & 0.79434E+00, 0.80162E+00, 0.80890E+00, 0.81616E+00, 0.82341E+00, & - & 0.83065E+00, 0.83787E+00, 0.84508E+00, 0.85228E+00, 0.85947E+00, & - & 0.86664E+00, 0.87380E+00, 0.88095E+00, 0.88808E+00, 0.89520E+00, & - & 0.90231E+00, 0.90941E+00, 0.91649E+00, 0.92356E+00, 0.93062E+00, & - & 0.93766E+00, 0.94469E+00, 0.95171E+00, 0.95871E+00, 0.96570E+00, & - & 0.97268E+00, 0.97964E+00, 0.98659E+00, 0.99353E+00, 0.10005E+01, & - & 0.10074E+01, 0.10143E+01, 0.10211E+01, 0.10280E+01, 0.10349E+01, & - & 0.10417E+01, 0.10485E+01, 0.10554E+01, 0.10622E+01, 0.10690E+01, & - & 0.10757E+01, 0.10825E+01, 0.10892E+01, 0.10960E+01, 0.11027E+01/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.11094E+01, 0.11161E+01, 0.11228E+01, 0.11295E+01, 0.11361E+01, & - & 0.11428E+01, 0.11494E+01, 0.11560E+01, 0.11626E+01, 0.11692E+01, & - & 0.11758E+01, 0.11823E+01, 0.11889E+01, 0.11954E+01, 0.12019E+01, & - & 0.12085E+01, 0.12150E+01, 0.12214E+01, 0.12279E+01, 0.12344E+01, & - & 0.12408E+01, 0.12472E+01, 0.12537E+01, 0.12601E+01, 0.12665E+01, & - & 0.12728E+01, 0.12792E+01, 0.12856E+01, 0.12919E+01, 0.12982E+01, & - & 0.13045E+01, 0.13109E+01, 0.13171E+01, 0.13234E+01, 0.13297E+01, & - & 0.13359E+01, 0.13422E+01, 0.13484E+01, 0.13546E+01, 0.13608E+01, & - & 0.13670E+01, 0.13732E+01, 0.13794E+01, 0.13855E+01, 0.13917E+01, & - & 0.13978E+01, 0.14039E+01, 0.14100E+01, 0.14161E+01, 0.14222E+01, & - & 0.14282E+01, 0.14343E+01, 0.14403E+01, 0.14464E+01, 0.14524E+01, & - & 0.14584E+01, 0.14644E+01, 0.14704E+01, 0.14763E+01, 0.14823E+01, & - & 0.14882E+01, 0.14942E+01, 0.15001E+01, 0.15060E+01, 0.15119E+01, & - & 0.15178E+01, 0.15237E+01, 0.15295E+01, 0.15354E+01, 0.15412E+01, & - & 0.15471E+01, 0.15529E+01, 0.15587E+01, 0.15645E+01, 0.15703E+01, & - & 0.15761E+01, 0.15818E+01, 0.15876E+01, 0.15933E+01, 0.15990E+01, & - & 0.16047E+01, 0.16105E+01, 0.16162E+01, 0.16218E+01, 0.16275E+01, & - & 0.16332E+01, 0.16388E+01, 0.16445E+01, 0.16501E+01, 0.16557E+01, & - & 0.16613E+01, 0.16669E+01, 0.16725E+01, 0.16781E+01, 0.16836E+01, & - & 0.16892E+01, 0.16947E+01, 0.17003E+01, 0.17058E+01, 0.17113E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.17168E+01, 0.17223E+01, 0.17278E+01, 0.17332E+01, 0.17387E+01, & - & 0.17441E+01, 0.17496E+01, 0.17550E+01, 0.17604E+01, 0.17658E+01, & - & 0.17712E+01, 0.17766E+01, 0.17820E+01, 0.17874E+01, 0.17927E+01, & - & 0.17981E+01, 0.18034E+01, 0.18087E+01, 0.18141E+01, 0.18194E+01, & - & 0.18247E+01, 0.18300E+01, 0.18352E+01, 0.18405E+01, 0.18458E+01, & - & 0.18510E+01, 0.18562E+01, 0.18615E+01, 0.18667E+01, 0.18719E+01, & - & 0.18771E+01, 0.18823E+01, 0.18875E+01, 0.18927E+01, 0.18978E+01, & - & 0.19030E+01, 0.19081E+01, 0.19132E+01, 0.19184E+01, 0.19235E+01, & - & 0.19286E+01, 0.19337E+01, 0.19388E+01, 0.19439E+01, 0.19489E+01, & - & 0.19540E+01, 0.19590E+01, 0.19641E+01, 0.19691E+01, 0.19741E+01, & - & 0.19792E+01, 0.19842E+01, 0.19892E+01, 0.19942E+01, 0.19991E+01, & - & 0.20041E+01, 0.20091E+01, 0.20140E+01, 0.20190E+01, 0.20239E+01, & - & 0.20288E+01, 0.20338E+01, 0.20387E+01, 0.20436E+01, 0.20485E+01, & - & 0.20533E+01, 0.20582E+01, 0.20631E+01, 0.20679E+01, 0.20728E+01, & - & 0.20776E+01, 0.20825E+01, 0.20873E+01, 0.20921E+01, 0.20969E+01, & - & 0.21017E+01, 0.21065E+01, 0.21113E+01, 0.21161E+01, 0.21209E+01, & - & 0.21256E+01, 0.21304E+01, 0.21351E+01, 0.21398E+01, 0.21446E+01, & - & 0.21493E+01, 0.21540E+01, 0.21587E+01, 0.21634E+01, 0.21681E+01, & - & 0.21728E+01, 0.21774E+01, 0.21821E+01, 0.21868E+01, 0.21914E+01, & - & 0.21960E+01, 0.22007E+01, 0.22053E+01, 0.22099E+01, 0.22145E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.22191E+01, 0.22237E+01, 0.22283E+01, 0.22329E+01, 0.22375E+01, & - & 0.22420E+01, 0.22466E+01, 0.22511E+01, 0.22557E+01, 0.22602E+01, & - & 0.22647E+01, 0.22693E+01, 0.22738E+01, 0.22783E+01, 0.22828E+01, & - & 0.22873E+01, 0.22917E+01, 0.22962E+01, 0.23007E+01, 0.23051E+01, & - & 0.23096E+01, 0.23140E+01, 0.23185E+01, 0.23229E+01, 0.23273E+01, & - & 0.23318E+01, 0.23362E+01, 0.23406E+01, 0.23450E+01, 0.23494E+01, & - & 0.23537E+01, 0.23581E+01, 0.23625E+01, 0.23668E+01, 0.23712E+01, & - & 0.23756E+01, 0.23799E+01, 0.23842E+01, 0.23886E+01, 0.23929E+01, & - & 0.23972E+01, 0.24015E+01, 0.24058E+01, 0.24101E+01, 0.24144E+01, & - & 0.24187E+01, 0.24229E+01, 0.24272E+01, 0.24315E+01, 0.24357E+01, & - & 0.24400E+01, 0.24442E+01, 0.24484E+01, 0.24527E+01, 0.24569E+01, & - & 0.24611E+01, 0.24653E+01, 0.24695E+01, 0.24737E+01, 0.24779E+01, & - & 0.24821E+01, 0.24862E+01, 0.24904E+01, 0.24946E+01, 0.24987E+01, & - & 0.25029E+01, 0.25070E+01, 0.25112E+01, 0.25153E+01, 0.25194E+01, & - & 0.25235E+01, 0.25276E+01, 0.25317E+01, 0.25358E+01, 0.25399E+01, & - & 0.25440E+01, 0.25481E+01, 0.25522E+01, 0.25563E+01, 0.25603E+01, & - & 0.25644E+01, 0.25684E+01, 0.25725E+01, 0.25765E+01, 0.25805E+01, & - & 0.25846E+01, 0.25886E+01, 0.25926E+01, 0.25966E+01, 0.26006E+01, & - & 0.26046E+01, 0.26086E+01, 0.26126E+01, 0.26166E+01, 0.26205E+01, & - & 0.26245E+01, 0.26285E+01, 0.26324E+01, 0.26364E+01, 0.26403E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.26443E+01, 0.26482E+01, 0.26521E+01, 0.26561E+01, 0.26600E+01, & - & 0.26639E+01, 0.26678E+01, 0.26717E+01, 0.26756E+01, 0.26795E+01, & - & 0.26834E+01, 0.26872E+01, 0.26911E+01, 0.26950E+01, 0.26988E+01, & - & 0.27027E+01, 0.27065E+01, 0.27104E+01, 0.27142E+01, 0.27181E+01, & - & 0.27219E+01, 0.27257E+01, 0.27295E+01, 0.27333E+01, 0.27371E+01, & - & 0.27409E+01, 0.27447E+01, 0.27485E+01, 0.27523E+01, 0.27561E+01, & - & 0.27599E+01, 0.27636E+01, 0.27674E+01, 0.27712E+01, 0.27749E+01, & - & 0.27787E+01, 0.27824E+01, 0.27861E+01, 0.27899E+01, 0.27936E+01, & - & 0.27973E+01, 0.28010E+01, 0.28048E+01, 0.28085E+01, 0.28122E+01, & - & 0.28159E+01, 0.28195E+01, 0.28232E+01, 0.28269E+01, 0.28306E+01, & - & 0.28343E+01, 0.28379E+01, 0.28416E+01, 0.28453E+01, 0.28489E+01, & - & 0.28525E+01, 0.28562E+01, 0.28598E+01, 0.28635E+01, 0.28671E+01, & - & 0.28707E+01, 0.28743E+01, 0.28779E+01, 0.28815E+01, 0.28851E+01, & - & 0.28887E+01, 0.28923E+01, 0.28959E+01, 0.28995E+01, 0.29031E+01, & - & 0.29067E+01, 0.29102E+01, 0.29138E+01, 0.29174E+01, 0.29209E+01, & - & 0.29245E+01, 0.29280E+01, 0.29315E+01, 0.29351E+01, 0.29386E+01, & - & 0.29421E+01, 0.29457E+01, 0.29492E+01, 0.29527E+01, 0.29562E+01, & - & 0.29597E+01, 0.29632E+01, 0.29667E+01, 0.29702E+01, 0.29737E+01, & - & 0.29772E+01, 0.29806E+01, 0.29841E+01, 0.29876E+01, 0.29910E+01, & - & 0.29945E+01, 0.29980E+01, 0.30014E+01, 0.30048E+01, 0.30083E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.30452E+01, 0.30789E+01, 0.31122E+01, 0.31450E+01, 0.31775E+01, & - & 0.32096E+01, 0.32413E+01, 0.32726E+01, 0.33035E+01, 0.33341E+01, & - & 0.33644E+01, 0.33943E+01, 0.34238E+01, 0.34531E+01, 0.34820E+01, & - & 0.35106E+01, 0.35389E+01, 0.35668E+01, 0.35945E+01, 0.36219E+01, & - & 0.36490E+01, 0.36759E+01, 0.37024E+01, 0.37287E+01, 0.37548E+01, & - & 0.37805E+01, 0.38061E+01, 0.38313E+01, 0.38564E+01, 0.38811E+01, & - & 0.39057E+01, 0.39300E+01, 0.39541E+01, 0.39780E+01, 0.40016E+01, & - & 0.40250E+01, 0.40483E+01, 0.40713E+01, 0.40941E+01, 0.41167E+01, & - & 0.41391E+01, 0.41613E+01, 0.41833E+01, 0.42051E+01, 0.42268E+01, & - & 0.42482E+01, 0.42695E+01, 0.42906E+01, 0.43116E+01, 0.43323E+01, & - & 0.43529E+01, 0.43733E+01, 0.43936E+01, 0.44137E+01, 0.44336E+01, & - & 0.44534E+01, 0.44730E+01, 0.44925E+01, 0.45118E+01, 0.45310E+01, & - & 0.45500E+01, 0.45689E+01, 0.45877E+01, 0.46063E+01, 0.46247E+01, & - & 0.46431E+01, 0.46613E+01, 0.46793E+01, 0.46973E+01, 0.47151E+01, & - & 0.47327E+01, 0.47503E+01, 0.47677E+01, 0.47850E+01, 0.48022E+01, & - & 0.48193E+01, 0.48362E+01, 0.48530E+01, 0.48698E+01, 0.48864E+01, & - & 0.49029E+01, 0.49192E+01, 0.49355E+01, 0.49517E+01, 0.49677E+01, & - & 0.49837E+01, 0.49995E+01, 0.50153E+01, 0.50309E+01, 0.50465E+01, & - & 0.50619E+01, 0.50773E+01, 0.50925E+01, 0.51077E+01, 0.51227E+01, & - & 0.51377E+01, 0.51526E+01, 0.51673E+01, 0.51820E+01, 0.51966E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.52112E+01, 0.52256E+01, 0.52399E+01, 0.52542E+01, 0.52683E+01, & - & 0.52824E+01, 0.52964E+01, 0.53104E+01, 0.53242E+01, 0.53380E+01, & - & 0.53516E+01, 0.53652E+01, 0.53788E+01, 0.53922E+01, 0.54056E+01, & - & 0.54189E+01, 0.54321E+01, 0.54453E+01, 0.54583E+01, 0.54713E+01, & - & 0.54843E+01, 0.54971E+01, 0.55099E+01, 0.55226E+01, 0.55353E+01, & - & 0.55479E+01, 0.55604E+01, 0.55729E+01, 0.55852E+01, 0.55976E+01, & - & 0.56098E+01, 0.56220E+01, 0.56341E+01, 0.56462E+01, 0.56582E+01, & - & 0.56701E+01, 0.56820E+01, 0.56938E+01, 0.57056E+01, 0.57173E+01, & - & 0.57289E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.46075E-01,-0.95502E-01,-0.11783E+00,-0.13242E+00,-0.14301E+00, & - &-0.15113E+00,-0.15754E+00,-0.16269E+00,-0.16685E+00,-0.17024E+00, & - &-0.17298E+00,-0.17518E+00,-0.17692E+00,-0.17825E+00,-0.17923E+00, & - &-0.17990E+00,-0.18028E+00,-0.18041E+00,-0.18030E+00,-0.17998E+00, & - &-0.17946E+00,-0.17875E+00,-0.17788E+00,-0.17684E+00,-0.17565E+00, & - &-0.17433E+00,-0.17286E+00,-0.17128E+00,-0.16957E+00,-0.16775E+00, & - &-0.16581E+00,-0.16378E+00,-0.16165E+00,-0.15942E+00,-0.15710E+00, & - &-0.15470E+00,-0.15222E+00,-0.14965E+00,-0.14702E+00,-0.14431E+00, & - &-0.14153E+00,-0.13868E+00,-0.13577E+00,-0.13280E+00,-0.12977E+00, & - &-0.12669E+00,-0.12355E+00,-0.12036E+00,-0.11712E+00,-0.11383E+00, & - &-0.11049E+00,-0.10711E+00,-0.10369E+00,-0.10023E+00,-0.96726E-01, & - &-0.93185E-01,-0.89606E-01,-0.85990E-01,-0.82339E-01,-0.78653E-01, & - &-0.74934E-01,-0.71181E-01,-0.67397E-01,-0.63580E-01,-0.59732E-01, & - &-0.55853E-01,-0.51943E-01,-0.48003E-01,-0.44033E-01,-0.40032E-01, & - &-0.36001E-01,-0.31941E-01,-0.27850E-01,-0.23729E-01,-0.19578E-01, & - &-0.15397E-01,-0.11185E-01,-0.69434E-02,-0.26710E-02, 0.16320E-02, & - & 0.59656E-02, 0.10330E-01, 0.14725E-01, 0.19151E-01, 0.23607E-01, & - & 0.28093E-01, 0.32610E-01, 0.37158E-01, 0.41734E-01, 0.46341E-01, & - & 0.50976E-01, 0.55640E-01, 0.60333E-01, 0.65052E-01, 0.69799E-01, & - & 0.74572E-01, 0.79370E-01, 0.84193E-01, 0.89040E-01, 0.93910E-01/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.98802E-01, 0.10371E+00, 0.10865E+00, 0.11360E+00, 0.11857E+00, & - & 0.12356E+00, 0.12856E+00, 0.13358E+00, 0.13861E+00, 0.14365E+00, & - & 0.14871E+00, 0.15378E+00, 0.15885E+00, 0.16394E+00, 0.16903E+00, & - & 0.17413E+00, 0.17923E+00, 0.18434E+00, 0.18945E+00, 0.19457E+00, & - & 0.19969E+00, 0.20481E+00, 0.20993E+00, 0.21505E+00, 0.22017E+00, & - & 0.22529E+00, 0.23040E+00, 0.23552E+00, 0.24063E+00, 0.24574E+00, & - & 0.25084E+00, 0.25594E+00, 0.26103E+00, 0.26612E+00, 0.27120E+00, & - & 0.27628E+00, 0.28135E+00, 0.28642E+00, 0.29148E+00, 0.29653E+00, & - & 0.30157E+00, 0.30661E+00, 0.31163E+00, 0.31665E+00, 0.32167E+00, & - & 0.32667E+00, 0.33167E+00, 0.33666E+00, 0.34163E+00, 0.34660E+00, & - & 0.35157E+00, 0.35652E+00, 0.36146E+00, 0.36640E+00, 0.37132E+00, & - & 0.37624E+00, 0.38115E+00, 0.38604E+00, 0.39093E+00, 0.39581E+00, & - & 0.40068E+00, 0.40554E+00, 0.41039E+00, 0.41523E+00, 0.42006E+00, & - & 0.42488E+00, 0.42970E+00, 0.43450E+00, 0.43929E+00, 0.44408E+00, & - & 0.44885E+00, 0.45361E+00, 0.45837E+00, 0.46311E+00, 0.46785E+00, & - & 0.47257E+00, 0.47729E+00, 0.48199E+00, 0.48669E+00, 0.49137E+00, & - & 0.49605E+00, 0.50072E+00, 0.50537E+00, 0.51002E+00, 0.51466E+00, & - & 0.51928E+00, 0.52390E+00, 0.52851E+00, 0.53311E+00, 0.53770E+00, & - & 0.54228E+00, 0.54684E+00, 0.55140E+00, 0.55595E+00, 0.56050E+00, & - & 0.56503E+00, 0.56955E+00, 0.57406E+00, 0.57856E+00, 0.58306E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.58754E+00, 0.59201E+00, 0.59648E+00, 0.60093E+00, 0.60538E+00, & - & 0.60982E+00, 0.61424E+00, 0.61866E+00, 0.62307E+00, 0.62747E+00, & - & 0.63186E+00, 0.63624E+00, 0.64061E+00, 0.64497E+00, 0.64933E+00, & - & 0.65367E+00, 0.65801E+00, 0.66233E+00, 0.66665E+00, 0.67096E+00, & - & 0.67525E+00, 0.67954E+00, 0.68383E+00, 0.68810E+00, 0.69236E+00, & - & 0.69662E+00, 0.70086E+00, 0.70510E+00, 0.70933E+00, 0.71354E+00, & - & 0.71776E+00, 0.72196E+00, 0.72615E+00, 0.73033E+00, 0.73451E+00, & - & 0.73868E+00, 0.74284E+00, 0.74699E+00, 0.75113E+00, 0.75526E+00, & - & 0.75939E+00, 0.76350E+00, 0.76761E+00, 0.77171E+00, 0.77580E+00, & - & 0.77989E+00, 0.78396E+00, 0.78803E+00, 0.79208E+00, 0.79614E+00, & - & 0.80018E+00, 0.80421E+00, 0.80824E+00, 0.81225E+00, 0.81626E+00, & - & 0.82027E+00, 0.82426E+00, 0.82825E+00, 0.83222E+00, 0.83619E+00, & - & 0.84015E+00, 0.84411E+00, 0.84805E+00, 0.85199E+00, 0.85592E+00, & - & 0.85985E+00, 0.86376E+00, 0.86767E+00, 0.87157E+00, 0.87546E+00, & - & 0.87935E+00, 0.88322E+00, 0.88709E+00, 0.89095E+00, 0.89481E+00, & - & 0.89866E+00, 0.90250E+00, 0.90633E+00, 0.91015E+00, 0.91397E+00, & - & 0.91778E+00, 0.92158E+00, 0.92538E+00, 0.92916E+00, 0.93295E+00, & - & 0.93672E+00, 0.94049E+00, 0.94424E+00, 0.94800E+00, 0.95174E+00, & - & 0.95548E+00, 0.95921E+00, 0.96293E+00, 0.96665E+00, 0.97036E+00, & - & 0.97406E+00, 0.97776E+00, 0.98145E+00, 0.98513E+00, 0.98880E+00/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.99247E+00, 0.99613E+00, 0.99979E+00, 0.10034E+01, 0.10071E+01, & - & 0.10107E+01, 0.10143E+01, 0.10180E+01, 0.10216E+01, 0.10252E+01, & - & 0.10288E+01, 0.10324E+01, 0.10360E+01, 0.10395E+01, 0.10431E+01, & - & 0.10467E+01, 0.10502E+01, 0.10538E+01, 0.10573E+01, 0.10609E+01, & - & 0.10644E+01, 0.10680E+01, 0.10715E+01, 0.10750E+01, 0.10785E+01, & - & 0.10820E+01, 0.10855E+01, 0.10890E+01, 0.10925E+01, 0.10960E+01, & - & 0.10994E+01, 0.11029E+01, 0.11064E+01, 0.11098E+01, 0.11133E+01, & - & 0.11167E+01, 0.11201E+01, 0.11236E+01, 0.11270E+01, 0.11304E+01, & - & 0.11338E+01, 0.11372E+01, 0.11406E+01, 0.11440E+01, 0.11474E+01, & - & 0.11508E+01, 0.11542E+01, 0.11575E+01, 0.11609E+01, 0.11642E+01, & - & 0.11676E+01, 0.11709E+01, 0.11743E+01, 0.11776E+01, 0.11810E+01, & - & 0.11843E+01, 0.11876E+01, 0.11909E+01, 0.11942E+01, 0.11975E+01, & - & 0.12008E+01, 0.12041E+01, 0.12074E+01, 0.12107E+01, 0.12139E+01, & - & 0.12172E+01, 0.12205E+01, 0.12237E+01, 0.12270E+01, 0.12302E+01, & - & 0.12335E+01, 0.12367E+01, 0.12399E+01, 0.12431E+01, 0.12464E+01, & - & 0.12496E+01, 0.12528E+01, 0.12560E+01, 0.12592E+01, 0.12624E+01, & - & 0.12656E+01, 0.12687E+01, 0.12719E+01, 0.12751E+01, 0.12782E+01, & - & 0.12814E+01, 0.12846E+01, 0.12877E+01, 0.12909E+01, 0.12940E+01, & - & 0.12971E+01, 0.13003E+01, 0.13034E+01, 0.13065E+01, 0.13096E+01, & - & 0.13127E+01, 0.13158E+01, 0.13189E+01, 0.13220E+01, 0.13251E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.13282E+01, 0.13313E+01, 0.13343E+01, 0.13374E+01, 0.13405E+01, & - & 0.13435E+01, 0.13466E+01, 0.13496E+01, 0.13527E+01, 0.13557E+01, & - & 0.13588E+01, 0.13618E+01, 0.13648E+01, 0.13678E+01, 0.13708E+01, & - & 0.13739E+01, 0.13769E+01, 0.13799E+01, 0.13829E+01, 0.13858E+01, & - & 0.13888E+01, 0.13918E+01, 0.13948E+01, 0.13978E+01, 0.14007E+01, & - & 0.14037E+01, 0.14067E+01, 0.14096E+01, 0.14126E+01, 0.14155E+01, & - & 0.14184E+01, 0.14214E+01, 0.14243E+01, 0.14272E+01, 0.14302E+01, & - & 0.14331E+01, 0.14360E+01, 0.14389E+01, 0.14418E+01, 0.14447E+01, & - & 0.14476E+01, 0.14505E+01, 0.14534E+01, 0.14563E+01, 0.14591E+01, & - & 0.14620E+01, 0.14649E+01, 0.14678E+01, 0.14706E+01, 0.14735E+01, & - & 0.14763E+01, 0.14792E+01, 0.14820E+01, 0.14849E+01, 0.14877E+01, & - & 0.14905E+01, 0.14933E+01, 0.14962E+01, 0.14990E+01, 0.15018E+01, & - & 0.15046E+01, 0.15074E+01, 0.15102E+01, 0.15130E+01, 0.15158E+01, & - & 0.15186E+01, 0.15214E+01, 0.15242E+01, 0.15269E+01, 0.15297E+01, & - & 0.15325E+01, 0.15352E+01, 0.15380E+01, 0.15408E+01, 0.15435E+01, & - & 0.15463E+01, 0.15490E+01, 0.15517E+01, 0.15545E+01, 0.15572E+01, & - & 0.15599E+01, 0.15627E+01, 0.15654E+01, 0.15681E+01, 0.15708E+01, & - & 0.15735E+01, 0.15762E+01, 0.15789E+01, 0.15816E+01, 0.15843E+01, & - & 0.15870E+01, 0.15897E+01, 0.15924E+01, 0.15951E+01, 0.15977E+01, & - & 0.16004E+01, 0.16031E+01, 0.16057E+01, 0.16084E+01, 0.16110E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.16137E+01, 0.16163E+01, 0.16190E+01, 0.16216E+01, 0.16243E+01, & - & 0.16269E+01, 0.16295E+01, 0.16321E+01, 0.16348E+01, 0.16374E+01, & - & 0.16400E+01, 0.16426E+01, 0.16452E+01, 0.16478E+01, 0.16504E+01, & - & 0.16530E+01, 0.16556E+01, 0.16582E+01, 0.16608E+01, 0.16634E+01, & - & 0.16659E+01, 0.16685E+01, 0.16711E+01, 0.16736E+01, 0.16762E+01, & - & 0.16788E+01, 0.16813E+01, 0.16839E+01, 0.16864E+01, 0.16890E+01, & - & 0.16915E+01, 0.16940E+01, 0.16966E+01, 0.16991E+01, 0.17016E+01, & - & 0.17042E+01, 0.17067E+01, 0.17092E+01, 0.17117E+01, 0.17142E+01, & - & 0.17167E+01, 0.17192E+01, 0.17218E+01, 0.17242E+01, 0.17267E+01, & - & 0.17292E+01, 0.17317E+01, 0.17342E+01, 0.17367E+01, 0.17392E+01, & - & 0.17416E+01, 0.17441E+01, 0.17466E+01, 0.17490E+01, 0.17515E+01, & - & 0.17540E+01, 0.17564E+01, 0.17589E+01, 0.17613E+01, 0.17638E+01, & - & 0.17662E+01, 0.17686E+01, 0.17711E+01, 0.17735E+01, 0.17759E+01, & - & 0.17784E+01, 0.17808E+01, 0.17832E+01, 0.17856E+01, 0.17880E+01, & - & 0.17904E+01, 0.17929E+01, 0.17953E+01, 0.17977E+01, 0.18001E+01, & - & 0.18024E+01, 0.18048E+01, 0.18072E+01, 0.18096E+01, 0.18120E+01, & - & 0.18144E+01, 0.18167E+01, 0.18191E+01, 0.18215E+01, 0.18239E+01, & - & 0.18262E+01, 0.18286E+01, 0.18309E+01, 0.18333E+01, 0.18356E+01, & - & 0.18380E+01, 0.18403E+01, 0.18427E+01, 0.18450E+01, 0.18474E+01, & - & 0.18497E+01, 0.18520E+01, 0.18543E+01, 0.18567E+01, 0.18590E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.18839E+01, 0.19066E+01, 0.19291E+01, 0.19513E+01, 0.19732E+01, & - & 0.19949E+01, 0.20163E+01, 0.20374E+01, 0.20583E+01, 0.20790E+01, & - & 0.20994E+01, 0.21196E+01, 0.21396E+01, 0.21594E+01, 0.21789E+01, & - & 0.21982E+01, 0.22174E+01, 0.22363E+01, 0.22550E+01, 0.22735E+01, & - & 0.22918E+01, 0.23100E+01, 0.23279E+01, 0.23457E+01, 0.23633E+01, & - & 0.23807E+01, 0.23979E+01, 0.24150E+01, 0.24319E+01, 0.24487E+01, & - & 0.24653E+01, 0.24817E+01, 0.24980E+01, 0.25141E+01, 0.25301E+01, & - & 0.25459E+01, 0.25616E+01, 0.25771E+01, 0.25925E+01, 0.26078E+01, & - & 0.26229E+01, 0.26379E+01, 0.26527E+01, 0.26675E+01, 0.26821E+01, & - & 0.26965E+01, 0.27109E+01, 0.27251E+01, 0.27393E+01, 0.27532E+01, & - & 0.27671E+01, 0.27809E+01, 0.27945E+01, 0.28081E+01, 0.28215E+01, & - & 0.28349E+01, 0.28481E+01, 0.28612E+01, 0.28742E+01, 0.28871E+01, & - & 0.28999E+01, 0.29126E+01, 0.29252E+01, 0.29378E+01, 0.29502E+01, & - & 0.29625E+01, 0.29747E+01, 0.29869E+01, 0.29989E+01, 0.30109E+01, & - & 0.30228E+01, 0.30346E+01, 0.30463E+01, 0.30579E+01, 0.30694E+01, & - & 0.30809E+01, 0.30923E+01, 0.31036E+01, 0.31148E+01, 0.31259E+01, & - & 0.31370E+01, 0.31480E+01, 0.31589E+01, 0.31697E+01, 0.31805E+01, & - & 0.31912E+01, 0.32018E+01, 0.32123E+01, 0.32228E+01, 0.32332E+01, & - & 0.32436E+01, 0.32538E+01, 0.32640E+01, 0.32742E+01, 0.32842E+01, & - & 0.32943E+01, 0.33042E+01, 0.33141E+01, 0.33239E+01, 0.33336E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.33433E+01, 0.33530E+01, 0.33626E+01, 0.33721E+01, 0.33815E+01, & - & 0.33909E+01, 0.34003E+01, 0.34095E+01, 0.34188E+01, 0.34279E+01, & - & 0.34371E+01, 0.34461E+01, 0.34551E+01, 0.34641E+01, 0.34730E+01, & - & 0.34819E+01, 0.34906E+01, 0.34994E+01, 0.35081E+01, 0.35167E+01, & - & 0.35253E+01, 0.35339E+01, 0.35424E+01, 0.35508E+01, 0.35592E+01, & - & 0.35676E+01, 0.35759E+01, 0.35842E+01, 0.35924E+01, 0.36006E+01, & - & 0.36087E+01, 0.36168E+01, 0.36248E+01, 0.36328E+01, 0.36408E+01, & - & 0.36487E+01, 0.36565E+01, 0.36644E+01, 0.36721E+01, 0.36799E+01, & - & 0.36876E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.76088E-01,-0.16481E+00,-0.20885E+00,-0.23985E+00,-0.26408E+00, & - &-0.28407E+00,-0.30112E+00,-0.31600E+00,-0.32922E+00,-0.34109E+00, & - &-0.35188E+00,-0.36175E+00,-0.37084E+00,-0.37927E+00,-0.38712E+00, & - &-0.39445E+00,-0.40133E+00,-0.40781E+00,-0.41391E+00,-0.41968E+00, & - &-0.42515E+00,-0.43034E+00,-0.43528E+00,-0.43998E+00,-0.44445E+00, & - &-0.44873E+00,-0.45281E+00,-0.45671E+00,-0.46044E+00,-0.46402E+00, & - &-0.46744E+00,-0.47073E+00,-0.47388E+00,-0.47690E+00,-0.47980E+00, & - &-0.48259E+00,-0.48527E+00,-0.48784E+00,-0.49032E+00,-0.49270E+00, & - &-0.49498E+00,-0.49718E+00,-0.49930E+00,-0.50133E+00,-0.50329E+00, & - &-0.50517E+00,-0.50698E+00,-0.50872E+00,-0.51040E+00,-0.51201E+00, & - &-0.51356E+00,-0.51505E+00,-0.51648E+00,-0.51786E+00,-0.51919E+00, & - &-0.52046E+00,-0.52169E+00,-0.52287E+00,-0.52400E+00,-0.52508E+00, & - &-0.52613E+00,-0.52713E+00,-0.52809E+00,-0.52901E+00,-0.52989E+00, & - &-0.53074E+00,-0.53155E+00,-0.53233E+00,-0.53307E+00,-0.53378E+00, & - &-0.53446E+00,-0.53510E+00,-0.53572E+00,-0.53631E+00,-0.53686E+00, & - &-0.53739E+00,-0.53790E+00,-0.53837E+00,-0.53882E+00,-0.53924E+00, & - &-0.53964E+00,-0.54002E+00,-0.54036E+00,-0.54069E+00,-0.54099E+00, & - &-0.54128E+00,-0.54153E+00,-0.54177E+00,-0.54199E+00,-0.54218E+00, & - &-0.54236E+00,-0.54251E+00,-0.54265E+00,-0.54277E+00,-0.54287E+00, & - &-0.54295E+00,-0.54301E+00,-0.54306E+00,-0.54309E+00,-0.54310E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.54310E+00,-0.54309E+00,-0.54306E+00,-0.54301E+00,-0.54295E+00, & - &-0.54288E+00,-0.54279E+00,-0.54270E+00,-0.54259E+00,-0.54247E+00, & - &-0.54233E+00,-0.54219E+00,-0.54204E+00,-0.54188E+00,-0.54170E+00, & - &-0.54152E+00,-0.54133E+00,-0.54113E+00,-0.54092E+00,-0.54071E+00, & - &-0.54049E+00,-0.54026E+00,-0.54002E+00,-0.53978E+00,-0.53953E+00, & - &-0.53927E+00,-0.53901E+00,-0.53875E+00,-0.53848E+00,-0.53820E+00, & - &-0.53792E+00,-0.53763E+00,-0.53734E+00,-0.53705E+00,-0.53675E+00, & - &-0.53645E+00,-0.53614E+00,-0.53583E+00,-0.53552E+00,-0.53520E+00, & - &-0.53488E+00,-0.53456E+00,-0.53423E+00,-0.53391E+00,-0.53357E+00, & - &-0.53324E+00,-0.53291E+00,-0.53257E+00,-0.53223E+00,-0.53188E+00, & - &-0.53154E+00,-0.53119E+00,-0.53085E+00,-0.53050E+00,-0.53014E+00, & - &-0.52979E+00,-0.52944E+00,-0.52908E+00,-0.52872E+00,-0.52836E+00, & - &-0.52800E+00,-0.52764E+00,-0.52728E+00,-0.52691E+00,-0.52655E+00, & - &-0.52618E+00,-0.52582E+00,-0.52545E+00,-0.52508E+00,-0.52471E+00, & - &-0.52434E+00,-0.52397E+00,-0.52360E+00,-0.52323E+00,-0.52285E+00, & - &-0.52248E+00,-0.52211E+00,-0.52173E+00,-0.52136E+00,-0.52098E+00, & - &-0.52061E+00,-0.52023E+00,-0.51985E+00,-0.51948E+00,-0.51910E+00, & - &-0.51872E+00,-0.51834E+00,-0.51797E+00,-0.51759E+00,-0.51721E+00, & - &-0.51683E+00,-0.51646E+00,-0.51608E+00,-0.51570E+00,-0.51532E+00, & - &-0.51494E+00,-0.51456E+00,-0.51419E+00,-0.51381E+00,-0.51343E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.51305E+00,-0.51267E+00,-0.51230E+00,-0.51192E+00,-0.51154E+00, & - &-0.51116E+00,-0.51079E+00,-0.51041E+00,-0.51003E+00,-0.50966E+00, & - &-0.50928E+00,-0.50891E+00,-0.50853E+00,-0.50815E+00,-0.50778E+00, & - &-0.50740E+00,-0.50703E+00,-0.50666E+00,-0.50628E+00,-0.50591E+00, & - &-0.50554E+00,-0.50516E+00,-0.50479E+00,-0.50442E+00,-0.50405E+00, & - &-0.50368E+00,-0.50330E+00,-0.50293E+00,-0.50256E+00,-0.50219E+00, & - &-0.50183E+00,-0.50146E+00,-0.50109E+00,-0.50072E+00,-0.50035E+00, & - &-0.49999E+00,-0.49962E+00,-0.49925E+00,-0.49889E+00,-0.49852E+00, & - &-0.49816E+00,-0.49780E+00,-0.49743E+00,-0.49707E+00,-0.49671E+00, & - &-0.49634E+00,-0.49598E+00,-0.49562E+00,-0.49526E+00,-0.49490E+00, & - &-0.49454E+00,-0.49418E+00,-0.49383E+00,-0.49347E+00,-0.49311E+00, & - &-0.49275E+00,-0.49240E+00,-0.49204E+00,-0.49169E+00,-0.49133E+00, & - &-0.49098E+00,-0.49063E+00,-0.49028E+00,-0.48992E+00,-0.48957E+00, & - &-0.48922E+00,-0.48887E+00,-0.48852E+00,-0.48817E+00,-0.48782E+00, & - &-0.48748E+00,-0.48713E+00,-0.48678E+00,-0.48644E+00,-0.48609E+00, & - &-0.48575E+00,-0.48540E+00,-0.48506E+00,-0.48471E+00,-0.48437E+00, & - &-0.48403E+00,-0.48369E+00,-0.48335E+00,-0.48301E+00,-0.48267E+00, & - &-0.48233E+00,-0.48199E+00,-0.48165E+00,-0.48132E+00,-0.48098E+00, & - &-0.48065E+00,-0.48031E+00,-0.47998E+00,-0.47964E+00,-0.47931E+00, & - &-0.47898E+00,-0.47864E+00,-0.47831E+00,-0.47798E+00,-0.47765E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.47732E+00,-0.47699E+00,-0.47666E+00,-0.47634E+00,-0.47601E+00, & - &-0.47568E+00,-0.47536E+00,-0.47503E+00,-0.47471E+00,-0.47438E+00, & - &-0.47406E+00,-0.47374E+00,-0.47342E+00,-0.47309E+00,-0.47277E+00, & - &-0.47245E+00,-0.47213E+00,-0.47181E+00,-0.47150E+00,-0.47118E+00, & - &-0.47086E+00,-0.47055E+00,-0.47023E+00,-0.46991E+00,-0.46960E+00, & - &-0.46929E+00,-0.46897E+00,-0.46866E+00,-0.46835E+00,-0.46804E+00, & - &-0.46772E+00,-0.46741E+00,-0.46710E+00,-0.46680E+00,-0.46649E+00, & - &-0.46618E+00,-0.46587E+00,-0.46557E+00,-0.46526E+00,-0.46495E+00, & - &-0.46465E+00,-0.46435E+00,-0.46404E+00,-0.46374E+00,-0.46344E+00, & - &-0.46314E+00,-0.46283E+00,-0.46253E+00,-0.46223E+00,-0.46194E+00, & - &-0.46164E+00,-0.46134E+00,-0.46104E+00,-0.46074E+00,-0.46045E+00, & - &-0.46015E+00,-0.45986E+00,-0.45956E+00,-0.45927E+00,-0.45898E+00, & - &-0.45868E+00,-0.45839E+00,-0.45810E+00,-0.45781E+00,-0.45752E+00, & - &-0.45723E+00,-0.45694E+00,-0.45665E+00,-0.45637E+00,-0.45608E+00, & - &-0.45579E+00,-0.45551E+00,-0.45522E+00,-0.45494E+00,-0.45465E+00, & - &-0.45437E+00,-0.45409E+00,-0.45380E+00,-0.45352E+00,-0.45324E+00, & - &-0.45296E+00,-0.45268E+00,-0.45240E+00,-0.45212E+00,-0.45184E+00, & - &-0.45156E+00,-0.45129E+00,-0.45101E+00,-0.45074E+00,-0.45046E+00, & - &-0.45019E+00,-0.44991E+00,-0.44964E+00,-0.44936E+00,-0.44909E+00, & - &-0.44882E+00,-0.44855E+00,-0.44828E+00,-0.44801E+00,-0.44774E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.44747E+00,-0.44720E+00,-0.44693E+00,-0.44667E+00,-0.44640E+00, & - &-0.44613E+00,-0.44587E+00,-0.44560E+00,-0.44534E+00,-0.44507E+00, & - &-0.44481E+00,-0.44455E+00,-0.44428E+00,-0.44402E+00,-0.44376E+00, & - &-0.44350E+00,-0.44324E+00,-0.44298E+00,-0.44272E+00,-0.44246E+00, & - &-0.44221E+00,-0.44195E+00,-0.44169E+00,-0.44144E+00,-0.44118E+00, & - &-0.44093E+00,-0.44067E+00,-0.44042E+00,-0.44016E+00,-0.43991E+00, & - &-0.43966E+00,-0.43941E+00,-0.43916E+00,-0.43891E+00,-0.43866E+00, & - &-0.43841E+00,-0.43816E+00,-0.43791E+00,-0.43766E+00,-0.43741E+00, & - &-0.43717E+00,-0.43692E+00,-0.43667E+00,-0.43643E+00,-0.43618E+00, & - &-0.43594E+00,-0.43570E+00,-0.43545E+00,-0.43521E+00,-0.43497E+00, & - &-0.43473E+00,-0.43448E+00,-0.43424E+00,-0.43400E+00,-0.43376E+00, & - &-0.43353E+00,-0.43329E+00,-0.43305E+00,-0.43281E+00,-0.43257E+00, & - &-0.43234E+00,-0.43210E+00,-0.43187E+00,-0.43163E+00,-0.43140E+00, & - &-0.43116E+00,-0.43093E+00,-0.43070E+00,-0.43046E+00,-0.43023E+00, & - &-0.43000E+00,-0.42977E+00,-0.42954E+00,-0.42931E+00,-0.42908E+00, & - &-0.42885E+00,-0.42862E+00,-0.42840E+00,-0.42817E+00,-0.42794E+00, & - &-0.42772E+00,-0.42749E+00,-0.42727E+00,-0.42704E+00,-0.42682E+00, & - &-0.42659E+00,-0.42637E+00,-0.42615E+00,-0.42592E+00,-0.42570E+00, & - &-0.42548E+00,-0.42526E+00,-0.42504E+00,-0.42482E+00,-0.42460E+00, & - &-0.42438E+00,-0.42416E+00,-0.42394E+00,-0.42373E+00,-0.42351E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.42329E+00,-0.42308E+00,-0.42286E+00,-0.42265E+00,-0.42243E+00, & - &-0.42222E+00,-0.42200E+00,-0.42179E+00,-0.42158E+00,-0.42137E+00, & - &-0.42116E+00,-0.42094E+00,-0.42073E+00,-0.42052E+00,-0.42031E+00, & - &-0.42010E+00,-0.41989E+00,-0.41969E+00,-0.41948E+00,-0.41927E+00, & - &-0.41906E+00,-0.41886E+00,-0.41865E+00,-0.41844E+00,-0.41824E+00, & - &-0.41804E+00,-0.41783E+00,-0.41763E+00,-0.41742E+00,-0.41722E+00, & - &-0.41702E+00,-0.41682E+00,-0.41661E+00,-0.41641E+00,-0.41621E+00, & - &-0.41601E+00,-0.41581E+00,-0.41561E+00,-0.41541E+00,-0.41522E+00, & - &-0.41502E+00,-0.41482E+00,-0.41462E+00,-0.41443E+00,-0.41423E+00, & - &-0.41404E+00,-0.41384E+00,-0.41364E+00,-0.41345E+00,-0.41326E+00, & - &-0.41306E+00,-0.41287E+00,-0.41268E+00,-0.41249E+00,-0.41229E+00, & - &-0.41210E+00,-0.41191E+00,-0.41172E+00,-0.41153E+00,-0.41134E+00, & - &-0.41115E+00,-0.41096E+00,-0.41077E+00,-0.41059E+00,-0.41040E+00, & - &-0.41021E+00,-0.41003E+00,-0.40984E+00,-0.40965E+00,-0.40947E+00, & - &-0.40928E+00,-0.40910E+00,-0.40891E+00,-0.40873E+00,-0.40855E+00, & - &-0.40836E+00,-0.40818E+00,-0.40800E+00,-0.40782E+00,-0.40764E+00, & - &-0.40746E+00,-0.40728E+00,-0.40710E+00,-0.40692E+00,-0.40674E+00, & - &-0.40656E+00,-0.40638E+00,-0.40620E+00,-0.40603E+00,-0.40585E+00, & - &-0.40567E+00,-0.40550E+00,-0.40532E+00,-0.40514E+00,-0.40497E+00, & - &-0.40480E+00,-0.40462E+00,-0.40445E+00,-0.40427E+00,-0.40410E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.40226E+00,-0.40059E+00,-0.39896E+00,-0.39738E+00,-0.39582E+00, & - &-0.39431E+00,-0.39283E+00,-0.39138E+00,-0.38998E+00,-0.38860E+00, & - &-0.38726E+00,-0.38595E+00,-0.38467E+00,-0.38343E+00,-0.38221E+00, & - &-0.38103E+00,-0.37988E+00,-0.37876E+00,-0.37766E+00,-0.37660E+00, & - &-0.37556E+00,-0.37455E+00,-0.37357E+00,-0.37261E+00,-0.37169E+00, & - &-0.37078E+00,-0.36991E+00,-0.36906E+00,-0.36823E+00,-0.36743E+00, & - &-0.36665E+00,-0.36590E+00,-0.36516E+00,-0.36446E+00,-0.36377E+00, & - &-0.36311E+00,-0.36247E+00,-0.36185E+00,-0.36125E+00,-0.36067E+00, & - &-0.36012E+00,-0.35958E+00,-0.35907E+00,-0.35857E+00,-0.35809E+00, & - &-0.35764E+00,-0.35720E+00,-0.35678E+00,-0.35638E+00,-0.35600E+00, & - &-0.35563E+00,-0.35529E+00,-0.35496E+00,-0.35465E+00,-0.35435E+00, & - &-0.35407E+00,-0.35381E+00,-0.35357E+00,-0.35334E+00,-0.35313E+00, & - &-0.35293E+00,-0.35275E+00,-0.35258E+00,-0.35243E+00,-0.35229E+00, & - &-0.35217E+00,-0.35206E+00,-0.35197E+00,-0.35189E+00,-0.35183E+00, & - &-0.35178E+00,-0.35174E+00,-0.35172E+00,-0.35171E+00,-0.35171E+00, & - &-0.35173E+00,-0.35176E+00,-0.35180E+00,-0.35186E+00,-0.35193E+00, & - &-0.35201E+00,-0.35210E+00,-0.35220E+00,-0.35232E+00,-0.35245E+00, & - &-0.35258E+00,-0.35274E+00,-0.35290E+00,-0.35307E+00,-0.35326E+00, & - &-0.35345E+00,-0.35366E+00,-0.35387E+00,-0.35410E+00,-0.35434E+00, & - &-0.35459E+00,-0.35485E+00,-0.35512E+00,-0.35540E+00,-0.35569E+00/ - - DATA (BNC13M(I),I=701,741)/ & - &-0.35599E+00,-0.35629E+00,-0.35661E+00,-0.35694E+00,-0.35728E+00, & - &-0.35763E+00,-0.35798E+00,-0.35835E+00,-0.35872E+00,-0.35911E+00, & - &-0.35950E+00,-0.35990E+00,-0.36031E+00,-0.36073E+00,-0.36116E+00, & - &-0.36159E+00,-0.36204E+00,-0.36249E+00,-0.36295E+00,-0.36342E+00, & - &-0.36390E+00,-0.36438E+00,-0.36487E+00,-0.36537E+00,-0.36588E+00, & - &-0.36640E+00,-0.36692E+00,-0.36746E+00,-0.36799E+00,-0.36854E+00, & - &-0.36909E+00,-0.36966E+00,-0.37022E+00,-0.37080E+00,-0.37138E+00, & - &-0.37197E+00,-0.37257E+00,-0.37317E+00,-0.37378E+00,-0.37440E+00, & - &-0.37502E+00 & - & / - ENDBLOCKDATA KMCF273 diff --git a/src/arome/chem/internals/data_kmcf298a.F b/src/arome/chem/internals/data_kmcf298a.F deleted file mode 100644 index 045091c8d9cee20a5292ec145c4ebf2355554d5d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf298a.F +++ /dev/null @@ -1,2218 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf298a.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:30 $ -!----------------------------------------------------------------- - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA KMCF298A -! *** CONTAINS THE DATA FOR KUSSIK-MEISNER BINARY COEFFICIENT ARRAYS -! NEEDED IN SUBROUTINE KM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA KMCF298 -! - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC298/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - DATA (BNC01M(I),I=1,100)/ & - &-0.45329E-01,-0.94600E-01,-0.11698E+00,-0.13161E+00,-0.14224E+00, & - &-0.15040E+00,-0.15685E+00,-0.16205E+00,-0.16630E+00,-0.16979E+00, & - &-0.17267E+00,-0.17504E+00,-0.17699E+00,-0.17857E+00,-0.17984E+00, & - &-0.18084E+00,-0.18160E+00,-0.18215E+00,-0.18251E+00,-0.18271E+00, & - &-0.18276E+00,-0.18267E+00,-0.18247E+00,-0.18215E+00,-0.18174E+00, & - &-0.18124E+00,-0.18065E+00,-0.17999E+00,-0.17926E+00,-0.17847E+00, & - &-0.17763E+00,-0.17673E+00,-0.17578E+00,-0.17480E+00,-0.17377E+00, & - &-0.17270E+00,-0.17160E+00,-0.17047E+00,-0.16931E+00,-0.16813E+00, & - &-0.16692E+00,-0.16569E+00,-0.16445E+00,-0.16318E+00,-0.16190E+00, & - &-0.16060E+00,-0.15929E+00,-0.15796E+00,-0.15663E+00,-0.15528E+00, & - &-0.15392E+00,-0.15256E+00,-0.15118E+00,-0.14980E+00,-0.14841E+00, & - &-0.14701E+00,-0.14561E+00,-0.14419E+00,-0.14277E+00,-0.14135E+00, & - &-0.13992E+00,-0.13848E+00,-0.13703E+00,-0.13558E+00,-0.13412E+00, & - &-0.13265E+00,-0.13117E+00,-0.12969E+00,-0.12820E+00,-0.12670E+00, & - &-0.12519E+00,-0.12367E+00,-0.12214E+00,-0.12060E+00,-0.11905E+00, & - &-0.11750E+00,-0.11593E+00,-0.11434E+00,-0.11275E+00,-0.11115E+00, & - &-0.10953E+00,-0.10790E+00,-0.10626E+00,-0.10460E+00,-0.10293E+00, & - &-0.10125E+00,-0.99560E-01,-0.97854E-01,-0.96134E-01,-0.94401E-01, & - &-0.92654E-01,-0.90895E-01,-0.89123E-01,-0.87339E-01,-0.85542E-01, & - &-0.83733E-01,-0.81912E-01,-0.80079E-01,-0.78234E-01,-0.76379E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.74513E-01,-0.72637E-01,-0.70750E-01,-0.68854E-01,-0.66949E-01, & - &-0.65035E-01,-0.63113E-01,-0.61182E-01,-0.59244E-01,-0.57299E-01, & - &-0.55348E-01,-0.53390E-01,-0.51426E-01,-0.49456E-01,-0.47482E-01, & - &-0.45503E-01,-0.43520E-01,-0.41532E-01,-0.39541E-01,-0.37547E-01, & - &-0.35550E-01,-0.33550E-01,-0.31547E-01,-0.29543E-01,-0.27537E-01, & - &-0.25529E-01,-0.23520E-01,-0.21510E-01,-0.19499E-01,-0.17488E-01, & - &-0.15476E-01,-0.13463E-01,-0.11451E-01,-0.94381E-02,-0.74256E-02, & - &-0.54134E-02,-0.34017E-02,-0.13906E-02, 0.62006E-03, 0.26299E-02, & - & 0.46389E-02, 0.66470E-02, 0.86541E-02, 0.10660E-01, 0.12665E-01, & - & 0.14669E-01, 0.16671E-01, 0.18672E-01, 0.20672E-01, 0.22671E-01, & - & 0.24667E-01, 0.26663E-01, 0.28657E-01, 0.30649E-01, 0.32639E-01, & - & 0.34628E-01, 0.36616E-01, 0.38601E-01, 0.40585E-01, 0.42567E-01, & - & 0.44547E-01, 0.46525E-01, 0.48502E-01, 0.50476E-01, 0.52449E-01, & - & 0.54419E-01, 0.56388E-01, 0.58355E-01, 0.60320E-01, 0.62282E-01, & - & 0.64243E-01, 0.66202E-01, 0.68158E-01, 0.70113E-01, 0.72065E-01, & - & 0.74015E-01, 0.75963E-01, 0.77909E-01, 0.79853E-01, 0.81794E-01, & - & 0.83734E-01, 0.85671E-01, 0.87606E-01, 0.89539E-01, 0.91469E-01, & - & 0.93397E-01, 0.95323E-01, 0.97247E-01, 0.99168E-01, 0.10109E+00, & - & 0.10300E+00, 0.10492E+00, 0.10683E+00, 0.10874E+00, 0.11065E+00, & - & 0.11255E+00, 0.11446E+00, 0.11636E+00, 0.11825E+00, 0.12015E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.12204E+00, 0.12393E+00, 0.12582E+00, 0.12771E+00, 0.12959E+00, & - & 0.13147E+00, 0.13335E+00, 0.13523E+00, 0.13710E+00, 0.13897E+00, & - & 0.14084E+00, 0.14271E+00, 0.14457E+00, 0.14643E+00, 0.14829E+00, & - & 0.15015E+00, 0.15200E+00, 0.15385E+00, 0.15570E+00, 0.15755E+00, & - & 0.15939E+00, 0.16124E+00, 0.16307E+00, 0.16491E+00, 0.16675E+00, & - & 0.16858E+00, 0.17041E+00, 0.17223E+00, 0.17406E+00, 0.17588E+00, & - & 0.17770E+00, 0.17952E+00, 0.18133E+00, 0.18314E+00, 0.18495E+00, & - & 0.18676E+00, 0.18856E+00, 0.19036E+00, 0.19216E+00, 0.19396E+00, & - & 0.19575E+00, 0.19755E+00, 0.19934E+00, 0.20112E+00, 0.20291E+00, & - & 0.20469E+00, 0.20647E+00, 0.20824E+00, 0.21002E+00, 0.21179E+00, & - & 0.21356E+00, 0.21533E+00, 0.21709E+00, 0.21885E+00, 0.22061E+00, & - & 0.22237E+00, 0.22412E+00, 0.22588E+00, 0.22763E+00, 0.22937E+00, & - & 0.23112E+00, 0.23286E+00, 0.23460E+00, 0.23634E+00, 0.23807E+00, & - & 0.23980E+00, 0.24153E+00, 0.24326E+00, 0.24498E+00, 0.24671E+00, & - & 0.24843E+00, 0.25014E+00, 0.25186E+00, 0.25357E+00, 0.25528E+00, & - & 0.25699E+00, 0.25869E+00, 0.26040E+00, 0.26210E+00, 0.26380E+00, & - & 0.26549E+00, 0.26718E+00, 0.26888E+00, 0.27056E+00, 0.27225E+00, & - & 0.27393E+00, 0.27561E+00, 0.27729E+00, 0.27897E+00, 0.28064E+00, & - & 0.28231E+00, 0.28398E+00, 0.28565E+00, 0.28731E+00, 0.28898E+00, & - & 0.29064E+00, 0.29229E+00, 0.29395E+00, 0.29560E+00, 0.29725E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.29890E+00, 0.30054E+00, 0.30219E+00, 0.30383E+00, 0.30547E+00, & - & 0.30710E+00, 0.30874E+00, 0.31037E+00, 0.31200E+00, 0.31362E+00, & - & 0.31525E+00, 0.31687E+00, 0.31849E+00, 0.32011E+00, 0.32172E+00, & - & 0.32333E+00, 0.32495E+00, 0.32655E+00, 0.32816E+00, 0.32976E+00, & - & 0.33136E+00, 0.33296E+00, 0.33456E+00, 0.33616E+00, 0.33775E+00, & - & 0.33934E+00, 0.34093E+00, 0.34251E+00, 0.34410E+00, 0.34568E+00, & - & 0.34726E+00, 0.34883E+00, 0.35041E+00, 0.35198E+00, 0.35355E+00, & - & 0.35512E+00, 0.35668E+00, 0.35825E+00, 0.35981E+00, 0.36137E+00, & - & 0.36292E+00, 0.36448E+00, 0.36603E+00, 0.36758E+00, 0.36913E+00, & - & 0.37067E+00, 0.37222E+00, 0.37376E+00, 0.37530E+00, 0.37684E+00, & - & 0.37837E+00, 0.37990E+00, 0.38144E+00, 0.38296E+00, 0.38449E+00, & - & 0.38602E+00, 0.38754E+00, 0.38906E+00, 0.39058E+00, 0.39209E+00, & - & 0.39361E+00, 0.39512E+00, 0.39663E+00, 0.39814E+00, 0.39964E+00, & - & 0.40114E+00, 0.40265E+00, 0.40414E+00, 0.40564E+00, 0.40714E+00, & - & 0.40863E+00, 0.41012E+00, 0.41161E+00, 0.41310E+00, 0.41458E+00, & - & 0.41606E+00, 0.41755E+00, 0.41902E+00, 0.42050E+00, 0.42198E+00, & - & 0.42345E+00, 0.42492E+00, 0.42639E+00, 0.42785E+00, 0.42932E+00, & - & 0.43078E+00, 0.43224E+00, 0.43370E+00, 0.43516E+00, 0.43661E+00, & - & 0.43807E+00, 0.43952E+00, 0.44097E+00, 0.44241E+00, 0.44386E+00, & - & 0.44530E+00, 0.44674E+00, 0.44818E+00, 0.44962E+00, 0.45105E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.45249E+00, 0.45392E+00, 0.45535E+00, 0.45677E+00, 0.45820E+00, & - & 0.45962E+00, 0.46105E+00, 0.46247E+00, 0.46388E+00, 0.46530E+00, & - & 0.46671E+00, 0.46813E+00, 0.46954E+00, 0.47094E+00, 0.47235E+00, & - & 0.47376E+00, 0.47516E+00, 0.47656E+00, 0.47796E+00, 0.47936E+00, & - & 0.48075E+00, 0.48215E+00, 0.48354E+00, 0.48493E+00, 0.48632E+00, & - & 0.48770E+00, 0.48909E+00, 0.49047E+00, 0.49185E+00, 0.49323E+00, & - & 0.49461E+00, 0.49598E+00, 0.49735E+00, 0.49873E+00, 0.50010E+00, & - & 0.50146E+00, 0.50283E+00, 0.50420E+00, 0.50556E+00, 0.50692E+00, & - & 0.50828E+00, 0.50964E+00, 0.51099E+00, 0.51235E+00, 0.51370E+00, & - & 0.51505E+00, 0.51640E+00, 0.51774E+00, 0.51909E+00, 0.52043E+00, & - & 0.52178E+00, 0.52312E+00, 0.52445E+00, 0.52579E+00, 0.52713E+00, & - & 0.52846E+00, 0.52979E+00, 0.53112E+00, 0.53245E+00, 0.53377E+00, & - & 0.53510E+00, 0.53642E+00, 0.53774E+00, 0.53906E+00, 0.54038E+00, & - & 0.54170E+00, 0.54301E+00, 0.54433E+00, 0.54564E+00, 0.54695E+00, & - & 0.54825E+00, 0.54956E+00, 0.55086E+00, 0.55217E+00, 0.55347E+00, & - & 0.55477E+00, 0.55607E+00, 0.55736E+00, 0.55866E+00, 0.55995E+00, & - & 0.56124E+00, 0.56253E+00, 0.56382E+00, 0.56511E+00, 0.56639E+00, & - & 0.56768E+00, 0.56896E+00, 0.57024E+00, 0.57152E+00, 0.57280E+00, & - & 0.57407E+00, 0.57534E+00, 0.57662E+00, 0.57789E+00, 0.57916E+00, & - & 0.58043E+00, 0.58169E+00, 0.58296E+00, 0.58422E+00, 0.58548E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.58674E+00, 0.58800E+00, 0.58926E+00, 0.59051E+00, 0.59176E+00, & - & 0.59302E+00, 0.59427E+00, 0.59552E+00, 0.59676E+00, 0.59801E+00, & - & 0.59925E+00, 0.60050E+00, 0.60174E+00, 0.60298E+00, 0.60422E+00, & - & 0.60545E+00, 0.60669E+00, 0.60792E+00, 0.60916E+00, 0.61039E+00, & - & 0.61162E+00, 0.61285E+00, 0.61407E+00, 0.61530E+00, 0.61652E+00, & - & 0.61774E+00, 0.61896E+00, 0.62018E+00, 0.62140E+00, 0.62262E+00, & - & 0.62383E+00, 0.62505E+00, 0.62626E+00, 0.62747E+00, 0.62868E+00, & - & 0.62989E+00, 0.63109E+00, 0.63230E+00, 0.63350E+00, 0.63470E+00, & - & 0.63590E+00, 0.63710E+00, 0.63830E+00, 0.63950E+00, 0.64069E+00, & - & 0.64188E+00, 0.64308E+00, 0.64427E+00, 0.64546E+00, 0.64664E+00, & - & 0.64783E+00, 0.64902E+00, 0.65020E+00, 0.65138E+00, 0.65256E+00, & - & 0.65374E+00, 0.65492E+00, 0.65610E+00, 0.65727E+00, 0.65845E+00, & - & 0.65962E+00, 0.66079E+00, 0.66196E+00, 0.66313E+00, 0.66430E+00, & - & 0.66546E+00, 0.66663E+00, 0.66779E+00, 0.66895E+00, 0.67011E+00, & - & 0.67127E+00, 0.67243E+00, 0.67359E+00, 0.67474E+00, 0.67590E+00, & - & 0.67705E+00, 0.67820E+00, 0.67935E+00, 0.68050E+00, 0.68165E+00, & - & 0.68279E+00, 0.68394E+00, 0.68508E+00, 0.68622E+00, 0.68736E+00, & - & 0.68850E+00, 0.68964E+00, 0.69078E+00, 0.69191E+00, 0.69305E+00, & - & 0.69418E+00, 0.69531E+00, 0.69644E+00, 0.69757E+00, 0.69870E+00, & - & 0.69983E+00, 0.70095E+00, 0.70208E+00, 0.70320E+00, 0.70432E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.71636E+00, 0.72738E+00, 0.73828E+00, 0.74906E+00, 0.75972E+00, & - & 0.77027E+00, 0.78071E+00, 0.79105E+00, 0.80127E+00, 0.81139E+00, & - & 0.82141E+00, 0.83133E+00, 0.84115E+00, 0.85087E+00, 0.86050E+00, & - & 0.87004E+00, 0.87948E+00, 0.88883E+00, 0.89810E+00, 0.90728E+00, & - & 0.91638E+00, 0.92539E+00, 0.93432E+00, 0.94316E+00, 0.95193E+00, & - & 0.96063E+00, 0.96924E+00, 0.97778E+00, 0.98625E+00, 0.99464E+00, & - & 0.10030E+01, 0.10112E+01, 0.10194E+01, 0.10275E+01, 0.10356E+01, & - & 0.10435E+01, 0.10515E+01, 0.10593E+01, 0.10671E+01, 0.10748E+01, & - & 0.10825E+01, 0.10901E+01, 0.10977E+01, 0.11051E+01, 0.11126E+01, & - & 0.11200E+01, 0.11273E+01, 0.11345E+01, 0.11418E+01, 0.11489E+01, & - & 0.11560E+01, 0.11631E+01, 0.11701E+01, 0.11770E+01, 0.11839E+01, & - & 0.11908E+01, 0.11976E+01, 0.12044E+01, 0.12111E+01, 0.12177E+01, & - & 0.12244E+01, 0.12309E+01, 0.12375E+01, 0.12440E+01, 0.12504E+01, & - & 0.12568E+01, 0.12632E+01, 0.12695E+01, 0.12758E+01, 0.12820E+01, & - & 0.12882E+01, 0.12943E+01, 0.13005E+01, 0.13065E+01, 0.13126E+01, & - & 0.13186E+01, 0.13246E+01, 0.13305E+01, 0.13364E+01, 0.13422E+01, & - & 0.13481E+01, 0.13539E+01, 0.13596E+01, 0.13653E+01, 0.13710E+01, & - & 0.13767E+01, 0.13823E+01, 0.13879E+01, 0.13934E+01, 0.13990E+01, & - & 0.14044E+01, 0.14099E+01, 0.14153E+01, 0.14207E+01, 0.14261E+01, & - & 0.14314E+01, 0.14368E+01, 0.14420E+01, 0.14473E+01, 0.14525E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.14577E+01, 0.14629E+01, 0.14680E+01, 0.14731E+01, 0.14782E+01, & - & 0.14833E+01, 0.14883E+01, 0.14933E+01, 0.14983E+01, 0.15033E+01, & - & 0.15082E+01, 0.15131E+01, 0.15180E+01, 0.15228E+01, 0.15277E+01, & - & 0.15325E+01, 0.15372E+01, 0.15420E+01, 0.15467E+01, 0.15515E+01, & - & 0.15561E+01, 0.15608E+01, 0.15655E+01, 0.15701E+01, 0.15747E+01, & - & 0.15793E+01, 0.15838E+01, 0.15884E+01, 0.15929E+01, 0.15974E+01, & - & 0.16018E+01, 0.16063E+01, 0.16107E+01, 0.16151E+01, 0.16195E+01, & - & 0.16239E+01, 0.16282E+01, 0.16326E+01, 0.16369E+01, 0.16412E+01, & - & 0.16454E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.93069E-01,-0.20213E+00,-0.25643E+00,-0.29470E+00,-0.32465E+00, & - &-0.34938E+00,-0.37051E+00,-0.38898E+00,-0.40540E+00,-0.42018E+00, & - &-0.43364E+00,-0.44599E+00,-0.45740E+00,-0.46801E+00,-0.47792E+00, & - &-0.48722E+00,-0.49598E+00,-0.50426E+00,-0.51211E+00,-0.51957E+00, & - &-0.52668E+00,-0.53347E+00,-0.53997E+00,-0.54620E+00,-0.55218E+00, & - &-0.55793E+00,-0.56347E+00,-0.56881E+00,-0.57397E+00,-0.57896E+00, & - &-0.58378E+00,-0.58845E+00,-0.59298E+00,-0.59738E+00,-0.60165E+00, & - &-0.60580E+00,-0.60983E+00,-0.61376E+00,-0.61759E+00,-0.62131E+00, & - &-0.62495E+00,-0.62849E+00,-0.63195E+00,-0.63533E+00,-0.63864E+00, & - &-0.64187E+00,-0.64502E+00,-0.64811E+00,-0.65114E+00,-0.65410E+00, & - &-0.65700E+00,-0.65984E+00,-0.66263E+00,-0.66536E+00,-0.66804E+00, & - &-0.67068E+00,-0.67326E+00,-0.67580E+00,-0.67829E+00,-0.68074E+00, & - &-0.68314E+00,-0.68551E+00,-0.68784E+00,-0.69013E+00,-0.69239E+00, & - &-0.69461E+00,-0.69679E+00,-0.69894E+00,-0.70107E+00,-0.70316E+00, & - &-0.70522E+00,-0.70725E+00,-0.70925E+00,-0.71123E+00,-0.71318E+00, & - &-0.71511E+00,-0.71701E+00,-0.71889E+00,-0.72075E+00,-0.72258E+00, & - &-0.72439E+00,-0.72618E+00,-0.72795E+00,-0.72970E+00,-0.73143E+00, & - &-0.73315E+00,-0.73484E+00,-0.73652E+00,-0.73818E+00,-0.73982E+00, & - &-0.74145E+00,-0.74306E+00,-0.74465E+00,-0.74623E+00,-0.74780E+00, & - &-0.74935E+00,-0.75088E+00,-0.75241E+00,-0.75392E+00,-0.75541E+00/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.75689E+00,-0.75836E+00,-0.75982E+00,-0.76126E+00,-0.76269E+00, & - &-0.76411E+00,-0.76552E+00,-0.76692E+00,-0.76830E+00,-0.76968E+00, & - &-0.77104E+00,-0.77239E+00,-0.77373E+00,-0.77506E+00,-0.77638E+00, & - &-0.77769E+00,-0.77899E+00,-0.78028E+00,-0.78155E+00,-0.78282E+00, & - &-0.78408E+00,-0.78533E+00,-0.78657E+00,-0.78780E+00,-0.78902E+00, & - &-0.79024E+00,-0.79144E+00,-0.79263E+00,-0.79382E+00,-0.79500E+00, & - &-0.79616E+00,-0.79732E+00,-0.79848E+00,-0.79962E+00,-0.80076E+00, & - &-0.80188E+00,-0.80300E+00,-0.80411E+00,-0.80522E+00,-0.80631E+00, & - &-0.80740E+00,-0.80848E+00,-0.80956E+00,-0.81063E+00,-0.81169E+00, & - &-0.81274E+00,-0.81379E+00,-0.81482E+00,-0.81586E+00,-0.81688E+00, & - &-0.81790E+00,-0.81891E+00,-0.81992E+00,-0.82092E+00,-0.82191E+00, & - &-0.82290E+00,-0.82388E+00,-0.82486E+00,-0.82583E+00,-0.82679E+00, & - &-0.82775E+00,-0.82870E+00,-0.82965E+00,-0.83059E+00,-0.83152E+00, & - &-0.83245E+00,-0.83338E+00,-0.83429E+00,-0.83521E+00,-0.83612E+00, & - &-0.83702E+00,-0.83792E+00,-0.83881E+00,-0.83970E+00,-0.84058E+00, & - &-0.84146E+00,-0.84233E+00,-0.84320E+00,-0.84407E+00,-0.84492E+00, & - &-0.84578E+00,-0.84663E+00,-0.84747E+00,-0.84832E+00,-0.84915E+00, & - &-0.84998E+00,-0.85081E+00,-0.85164E+00,-0.85245E+00,-0.85327E+00, & - &-0.85408E+00,-0.85489E+00,-0.85569E+00,-0.85649E+00,-0.85728E+00, & - &-0.85807E+00,-0.85886E+00,-0.85964E+00,-0.86042E+00,-0.86120E+00/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.86197E+00,-0.86274E+00,-0.86350E+00,-0.86426E+00,-0.86502E+00, & - &-0.86577E+00,-0.86652E+00,-0.86727E+00,-0.86801E+00,-0.86875E+00, & - &-0.86949E+00,-0.87022E+00,-0.87095E+00,-0.87167E+00,-0.87240E+00, & - &-0.87312E+00,-0.87383E+00,-0.87454E+00,-0.87525E+00,-0.87596E+00, & - &-0.87666E+00,-0.87736E+00,-0.87806E+00,-0.87875E+00,-0.87945E+00, & - &-0.88013E+00,-0.88082E+00,-0.88150E+00,-0.88218E+00,-0.88286E+00, & - &-0.88353E+00,-0.88420E+00,-0.88487E+00,-0.88553E+00,-0.88620E+00, & - &-0.88686E+00,-0.88751E+00,-0.88817E+00,-0.88882E+00,-0.88947E+00, & - &-0.89011E+00,-0.89076E+00,-0.89140E+00,-0.89203E+00,-0.89267E+00, & - &-0.89330E+00,-0.89393E+00,-0.89456E+00,-0.89519E+00,-0.89581E+00, & - &-0.89643E+00,-0.89705E+00,-0.89767E+00,-0.89828E+00,-0.89889E+00, & - &-0.89950E+00,-0.90011E+00,-0.90071E+00,-0.90131E+00,-0.90191E+00, & - &-0.90251E+00,-0.90310E+00,-0.90370E+00,-0.90429E+00,-0.90488E+00, & - &-0.90546E+00,-0.90605E+00,-0.90663E+00,-0.90721E+00,-0.90779E+00, & - &-0.90836E+00,-0.90894E+00,-0.90951E+00,-0.91008E+00,-0.91064E+00, & - &-0.91121E+00,-0.91177E+00,-0.91233E+00,-0.91289E+00,-0.91345E+00, & - &-0.91401E+00,-0.91456E+00,-0.91511E+00,-0.91566E+00,-0.91621E+00, & - &-0.91675E+00,-0.91730E+00,-0.91784E+00,-0.91838E+00,-0.91892E+00, & - &-0.91946E+00,-0.91999E+00,-0.92052E+00,-0.92105E+00,-0.92158E+00, & - &-0.92211E+00,-0.92264E+00,-0.92316E+00,-0.92368E+00,-0.92420E+00/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.92472E+00,-0.92524E+00,-0.92576E+00,-0.92627E+00,-0.92678E+00, & - &-0.92729E+00,-0.92780E+00,-0.92831E+00,-0.92881E+00,-0.92932E+00, & - &-0.92982E+00,-0.93032E+00,-0.93082E+00,-0.93132E+00,-0.93181E+00, & - &-0.93231E+00,-0.93280E+00,-0.93329E+00,-0.93378E+00,-0.93427E+00, & - &-0.93476E+00,-0.93524E+00,-0.93573E+00,-0.93621E+00,-0.93669E+00, & - &-0.93717E+00,-0.93765E+00,-0.93812E+00,-0.93860E+00,-0.93907E+00, & - &-0.93954E+00,-0.94002E+00,-0.94048E+00,-0.94095E+00,-0.94142E+00, & - &-0.94188E+00,-0.94235E+00,-0.94281E+00,-0.94327E+00,-0.94373E+00, & - &-0.94419E+00,-0.94465E+00,-0.94510E+00,-0.94556E+00,-0.94601E+00, & - &-0.94646E+00,-0.94691E+00,-0.94736E+00,-0.94781E+00,-0.94826E+00, & - &-0.94870E+00,-0.94915E+00,-0.94959E+00,-0.95003E+00,-0.95047E+00, & - &-0.95091E+00,-0.95135E+00,-0.95178E+00,-0.95222E+00,-0.95265E+00, & - &-0.95309E+00,-0.95352E+00,-0.95395E+00,-0.95438E+00,-0.95481E+00, & - &-0.95523E+00,-0.95566E+00,-0.95608E+00,-0.95651E+00,-0.95693E+00, & - &-0.95735E+00,-0.95777E+00,-0.95819E+00,-0.95861E+00,-0.95903E+00, & - &-0.95944E+00,-0.95986E+00,-0.96027E+00,-0.96068E+00,-0.96109E+00, & - &-0.96150E+00,-0.96191E+00,-0.96232E+00,-0.96273E+00,-0.96313E+00, & - &-0.96354E+00,-0.96394E+00,-0.96435E+00,-0.96475E+00,-0.96515E+00, & - &-0.96555E+00,-0.96595E+00,-0.96634E+00,-0.96674E+00,-0.96714E+00, & - &-0.96753E+00,-0.96793E+00,-0.96832E+00,-0.96871E+00,-0.96910E+00/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.96949E+00,-0.96988E+00,-0.97027E+00,-0.97065E+00,-0.97104E+00, & - &-0.97142E+00,-0.97181E+00,-0.97219E+00,-0.97257E+00,-0.97295E+00, & - &-0.97333E+00,-0.97371E+00,-0.97409E+00,-0.97447E+00,-0.97484E+00, & - &-0.97522E+00,-0.97560E+00,-0.97597E+00,-0.97634E+00,-0.97671E+00, & - &-0.97708E+00,-0.97745E+00,-0.97782E+00,-0.97819E+00,-0.97856E+00, & - &-0.97893E+00,-0.97929E+00,-0.97966E+00,-0.98002E+00,-0.98038E+00, & - &-0.98075E+00,-0.98111E+00,-0.98147E+00,-0.98183E+00,-0.98219E+00, & - &-0.98255E+00,-0.98290E+00,-0.98326E+00,-0.98362E+00,-0.98397E+00, & - &-0.98432E+00,-0.98468E+00,-0.98503E+00,-0.98538E+00,-0.98573E+00, & - &-0.98608E+00,-0.98643E+00,-0.98678E+00,-0.98713E+00,-0.98747E+00, & - &-0.98782E+00,-0.98817E+00,-0.98851E+00,-0.98885E+00,-0.98920E+00, & - &-0.98954E+00,-0.98988E+00,-0.99022E+00,-0.99056E+00,-0.99090E+00, & - &-0.99124E+00,-0.99158E+00,-0.99191E+00,-0.99225E+00,-0.99259E+00, & - &-0.99292E+00,-0.99325E+00,-0.99359E+00,-0.99392E+00,-0.99425E+00, & - &-0.99458E+00,-0.99491E+00,-0.99524E+00,-0.99557E+00,-0.99590E+00, & - &-0.99623E+00,-0.99656E+00,-0.99688E+00,-0.99721E+00,-0.99753E+00, & - &-0.99786E+00,-0.99818E+00,-0.99850E+00,-0.99883E+00,-0.99915E+00, & - &-0.99947E+00,-0.99979E+00,-0.10001E+01,-0.10004E+01,-0.10007E+01, & - &-0.10011E+01,-0.10014E+01,-0.10017E+01,-0.10020E+01,-0.10023E+01, & - &-0.10026E+01,-0.10030E+01,-0.10033E+01,-0.10036E+01,-0.10039E+01/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.10042E+01,-0.10045E+01,-0.10048E+01,-0.10051E+01,-0.10054E+01, & - &-0.10057E+01,-0.10061E+01,-0.10064E+01,-0.10067E+01,-0.10070E+01, & - &-0.10073E+01,-0.10076E+01,-0.10079E+01,-0.10082E+01,-0.10085E+01, & - &-0.10088E+01,-0.10091E+01,-0.10094E+01,-0.10097E+01,-0.10100E+01, & - &-0.10103E+01,-0.10106E+01,-0.10109E+01,-0.10112E+01,-0.10115E+01, & - &-0.10118E+01,-0.10121E+01,-0.10124E+01,-0.10127E+01,-0.10130E+01, & - &-0.10132E+01,-0.10135E+01,-0.10138E+01,-0.10141E+01,-0.10144E+01, & - &-0.10147E+01,-0.10150E+01,-0.10153E+01,-0.10156E+01,-0.10159E+01, & - &-0.10161E+01,-0.10164E+01,-0.10167E+01,-0.10170E+01,-0.10173E+01, & - &-0.10176E+01,-0.10179E+01,-0.10181E+01,-0.10184E+01,-0.10187E+01, & - &-0.10190E+01,-0.10193E+01,-0.10196E+01,-0.10198E+01,-0.10201E+01, & - &-0.10204E+01,-0.10207E+01,-0.10210E+01,-0.10212E+01,-0.10215E+01, & - &-0.10218E+01,-0.10221E+01,-0.10223E+01,-0.10226E+01,-0.10229E+01, & - &-0.10232E+01,-0.10234E+01,-0.10237E+01,-0.10240E+01,-0.10243E+01, & - &-0.10245E+01,-0.10248E+01,-0.10251E+01,-0.10253E+01,-0.10256E+01, & - &-0.10259E+01,-0.10261E+01,-0.10264E+01,-0.10267E+01,-0.10270E+01, & - &-0.10272E+01,-0.10275E+01,-0.10278E+01,-0.10280E+01,-0.10283E+01, & - &-0.10285E+01,-0.10288E+01,-0.10291E+01,-0.10293E+01,-0.10296E+01, & - &-0.10299E+01,-0.10301E+01,-0.10304E+01,-0.10307E+01,-0.10309E+01, & - &-0.10312E+01,-0.10314E+01,-0.10317E+01,-0.10319E+01,-0.10322E+01/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.10350E+01,-0.10375E+01,-0.10400E+01,-0.10424E+01,-0.10448E+01, & - &-0.10471E+01,-0.10495E+01,-0.10517E+01,-0.10540E+01,-0.10562E+01, & - &-0.10584E+01,-0.10605E+01,-0.10627E+01,-0.10647E+01,-0.10668E+01, & - &-0.10688E+01,-0.10708E+01,-0.10728E+01,-0.10748E+01,-0.10767E+01, & - &-0.10786E+01,-0.10805E+01,-0.10823E+01,-0.10841E+01,-0.10860E+01, & - &-0.10877E+01,-0.10895E+01,-0.10912E+01,-0.10930E+01,-0.10947E+01, & - &-0.10963E+01,-0.10980E+01,-0.10996E+01,-0.11013E+01,-0.11029E+01, & - &-0.11044E+01,-0.11060E+01,-0.11076E+01,-0.11091E+01,-0.11106E+01, & - &-0.11121E+01,-0.11136E+01,-0.11151E+01,-0.11165E+01,-0.11180E+01, & - &-0.11194E+01,-0.11208E+01,-0.11222E+01,-0.11236E+01,-0.11250E+01, & - &-0.11263E+01,-0.11277E+01,-0.11290E+01,-0.11303E+01,-0.11316E+01, & - &-0.11329E+01,-0.11342E+01,-0.11355E+01,-0.11368E+01,-0.11380E+01, & - &-0.11392E+01,-0.11405E+01,-0.11417E+01,-0.11429E+01,-0.11441E+01, & - &-0.11453E+01,-0.11464E+01,-0.11476E+01,-0.11488E+01,-0.11499E+01, & - &-0.11510E+01,-0.11522E+01,-0.11533E+01,-0.11544E+01,-0.11555E+01, & - &-0.11566E+01,-0.11577E+01,-0.11587E+01,-0.11598E+01,-0.11609E+01, & - &-0.11619E+01,-0.11630E+01,-0.11640E+01,-0.11650E+01,-0.11660E+01, & - &-0.11670E+01,-0.11680E+01,-0.11690E+01,-0.11700E+01,-0.11710E+01, & - &-0.11720E+01,-0.11729E+01,-0.11739E+01,-0.11749E+01,-0.11758E+01, & - &-0.11767E+01,-0.11777E+01,-0.11786E+01,-0.11795E+01,-0.11804E+01/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.11813E+01,-0.11822E+01,-0.11831E+01,-0.11840E+01,-0.11849E+01, & - &-0.11858E+01,-0.11867E+01,-0.11875E+01,-0.11884E+01,-0.11893E+01, & - &-0.11901E+01,-0.11909E+01,-0.11918E+01,-0.11926E+01,-0.11934E+01, & - &-0.11943E+01,-0.11951E+01,-0.11959E+01,-0.11967E+01,-0.11975E+01, & - &-0.11983E+01,-0.11991E+01,-0.11999E+01,-0.12007E+01,-0.12015E+01, & - &-0.12022E+01,-0.12030E+01,-0.12038E+01,-0.12045E+01,-0.12053E+01, & - &-0.12060E+01,-0.12068E+01,-0.12075E+01,-0.12083E+01,-0.12090E+01, & - &-0.12097E+01,-0.12105E+01,-0.12112E+01,-0.12119E+01,-0.12126E+01, & - &-0.12133E+01 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.46649E-01,-0.10169E+00,-0.12931E+00,-0.14890E+00,-0.16430E+00, & - &-0.17709E+00,-0.18807E+00,-0.19770E+00,-0.20631E+00,-0.21409E+00, & - &-0.22120E+00,-0.22775E+00,-0.23383E+00,-0.23950E+00,-0.24481E+00, & - &-0.24982E+00,-0.25456E+00,-0.25905E+00,-0.26332E+00,-0.26739E+00, & - &-0.27128E+00,-0.27501E+00,-0.27859E+00,-0.28204E+00,-0.28535E+00, & - &-0.28855E+00,-0.29164E+00,-0.29462E+00,-0.29751E+00,-0.30031E+00, & - &-0.30303E+00,-0.30567E+00,-0.30823E+00,-0.31072E+00,-0.31315E+00, & - &-0.31551E+00,-0.31782E+00,-0.32006E+00,-0.32225E+00,-0.32439E+00, & - &-0.32649E+00,-0.32853E+00,-0.33053E+00,-0.33248E+00,-0.33439E+00, & - &-0.33627E+00,-0.33810E+00,-0.33990E+00,-0.34166E+00,-0.34339E+00, & - &-0.34509E+00,-0.34675E+00,-0.34839E+00,-0.34999E+00,-0.35157E+00, & - &-0.35312E+00,-0.35464E+00,-0.35614E+00,-0.35761E+00,-0.35906E+00, & - &-0.36049E+00,-0.36190E+00,-0.36328E+00,-0.36464E+00,-0.36599E+00, & - &-0.36731E+00,-0.36862E+00,-0.36991E+00,-0.37118E+00,-0.37244E+00, & - &-0.37368E+00,-0.37491E+00,-0.37612E+00,-0.37731E+00,-0.37849E+00, & - &-0.37966E+00,-0.38082E+00,-0.38197E+00,-0.38310E+00,-0.38422E+00, & - &-0.38533E+00,-0.38643E+00,-0.38752E+00,-0.38860E+00,-0.38966E+00, & - &-0.39072E+00,-0.39177E+00,-0.39282E+00,-0.39385E+00,-0.39487E+00, & - &-0.39589E+00,-0.39690E+00,-0.39790E+00,-0.39889E+00,-0.39988E+00, & - &-0.40086E+00,-0.40183E+00,-0.40279E+00,-0.40375E+00,-0.40470E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.40564E+00,-0.40658E+00,-0.40751E+00,-0.40844E+00,-0.40936E+00, & - &-0.41027E+00,-0.41117E+00,-0.41208E+00,-0.41297E+00,-0.41386E+00, & - &-0.41474E+00,-0.41562E+00,-0.41649E+00,-0.41736E+00,-0.41822E+00, & - &-0.41907E+00,-0.41992E+00,-0.42076E+00,-0.42160E+00,-0.42243E+00, & - &-0.42326E+00,-0.42408E+00,-0.42490E+00,-0.42571E+00,-0.42652E+00, & - &-0.42732E+00,-0.42812E+00,-0.42891E+00,-0.42970E+00,-0.43048E+00, & - &-0.43126E+00,-0.43203E+00,-0.43280E+00,-0.43356E+00,-0.43432E+00, & - &-0.43507E+00,-0.43582E+00,-0.43656E+00,-0.43730E+00,-0.43804E+00, & - &-0.43877E+00,-0.43950E+00,-0.44022E+00,-0.44094E+00,-0.44165E+00, & - &-0.44236E+00,-0.44307E+00,-0.44377E+00,-0.44447E+00,-0.44516E+00, & - &-0.44585E+00,-0.44654E+00,-0.44722E+00,-0.44790E+00,-0.44858E+00, & - &-0.44925E+00,-0.44992E+00,-0.45058E+00,-0.45124E+00,-0.45190E+00, & - &-0.45255E+00,-0.45320E+00,-0.45385E+00,-0.45450E+00,-0.45514E+00, & - &-0.45577E+00,-0.45641E+00,-0.45704E+00,-0.45766E+00,-0.45829E+00, & - &-0.45891E+00,-0.45953E+00,-0.46014E+00,-0.46075E+00,-0.46136E+00, & - &-0.46197E+00,-0.46257E+00,-0.46317E+00,-0.46377E+00,-0.46436E+00, & - &-0.46496E+00,-0.46555E+00,-0.46613E+00,-0.46671E+00,-0.46730E+00, & - &-0.46787E+00,-0.46845E+00,-0.46902E+00,-0.46959E+00,-0.47016E+00, & - &-0.47072E+00,-0.47129E+00,-0.47185E+00,-0.47240E+00,-0.47296E+00, & - &-0.47351E+00,-0.47406E+00,-0.47461E+00,-0.47515E+00,-0.47570E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.47624E+00,-0.47678E+00,-0.47731E+00,-0.47785E+00,-0.47838E+00, & - &-0.47891E+00,-0.47943E+00,-0.47996E+00,-0.48048E+00,-0.48100E+00, & - &-0.48152E+00,-0.48204E+00,-0.48255E+00,-0.48306E+00,-0.48357E+00, & - &-0.48408E+00,-0.48459E+00,-0.48509E+00,-0.48559E+00,-0.48609E+00, & - &-0.48659E+00,-0.48709E+00,-0.48758E+00,-0.48807E+00,-0.48856E+00, & - &-0.48905E+00,-0.48954E+00,-0.49002E+00,-0.49051E+00,-0.49099E+00, & - &-0.49147E+00,-0.49194E+00,-0.49242E+00,-0.49289E+00,-0.49336E+00, & - &-0.49383E+00,-0.49430E+00,-0.49477E+00,-0.49523E+00,-0.49570E+00, & - &-0.49616E+00,-0.49662E+00,-0.49708E+00,-0.49753E+00,-0.49799E+00, & - &-0.49844E+00,-0.49889E+00,-0.49934E+00,-0.49979E+00,-0.50024E+00, & - &-0.50068E+00,-0.50113E+00,-0.50157E+00,-0.50201E+00,-0.50245E+00, & - &-0.50289E+00,-0.50332E+00,-0.50376E+00,-0.50419E+00,-0.50462E+00, & - &-0.50505E+00,-0.50548E+00,-0.50591E+00,-0.50634E+00,-0.50676E+00, & - &-0.50718E+00,-0.50760E+00,-0.50803E+00,-0.50844E+00,-0.50886E+00, & - &-0.50928E+00,-0.50969E+00,-0.51011E+00,-0.51052E+00,-0.51093E+00, & - &-0.51134E+00,-0.51175E+00,-0.51215E+00,-0.51256E+00,-0.51296E+00, & - &-0.51336E+00,-0.51377E+00,-0.51417E+00,-0.51457E+00,-0.51496E+00, & - &-0.51536E+00,-0.51576E+00,-0.51615E+00,-0.51654E+00,-0.51693E+00, & - &-0.51732E+00,-0.51771E+00,-0.51810E+00,-0.51849E+00,-0.51887E+00, & - &-0.51926E+00,-0.51964E+00,-0.52002E+00,-0.52040E+00,-0.52078E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.52116E+00,-0.52154E+00,-0.52192E+00,-0.52229E+00,-0.52267E+00, & - &-0.52304E+00,-0.52341E+00,-0.52378E+00,-0.52415E+00,-0.52452E+00, & - &-0.52489E+00,-0.52526E+00,-0.52562E+00,-0.52599E+00,-0.52635E+00, & - &-0.52671E+00,-0.52707E+00,-0.52743E+00,-0.52779E+00,-0.52815E+00, & - &-0.52851E+00,-0.52886E+00,-0.52922E+00,-0.52957E+00,-0.52993E+00, & - &-0.53028E+00,-0.53063E+00,-0.53098E+00,-0.53133E+00,-0.53168E+00, & - &-0.53203E+00,-0.53237E+00,-0.53272E+00,-0.53306E+00,-0.53341E+00, & - &-0.53375E+00,-0.53409E+00,-0.53443E+00,-0.53477E+00,-0.53511E+00, & - &-0.53545E+00,-0.53579E+00,-0.53612E+00,-0.53646E+00,-0.53679E+00, & - &-0.53713E+00,-0.53746E+00,-0.53779E+00,-0.53812E+00,-0.53845E+00, & - &-0.53878E+00,-0.53911E+00,-0.53944E+00,-0.53976E+00,-0.54009E+00, & - &-0.54041E+00,-0.54074E+00,-0.54106E+00,-0.54138E+00,-0.54170E+00, & - &-0.54203E+00,-0.54235E+00,-0.54266E+00,-0.54298E+00,-0.54330E+00, & - &-0.54362E+00,-0.54393E+00,-0.54425E+00,-0.54456E+00,-0.54488E+00, & - &-0.54519E+00,-0.54550E+00,-0.54581E+00,-0.54612E+00,-0.54643E+00, & - &-0.54674E+00,-0.54705E+00,-0.54736E+00,-0.54766E+00,-0.54797E+00, & - &-0.54827E+00,-0.54858E+00,-0.54888E+00,-0.54919E+00,-0.54949E+00, & - &-0.54979E+00,-0.55009E+00,-0.55039E+00,-0.55069E+00,-0.55099E+00, & - &-0.55129E+00,-0.55158E+00,-0.55188E+00,-0.55218E+00,-0.55247E+00, & - &-0.55277E+00,-0.55306E+00,-0.55335E+00,-0.55364E+00,-0.55394E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.55423E+00,-0.55452E+00,-0.55481E+00,-0.55510E+00,-0.55538E+00, & - &-0.55567E+00,-0.55596E+00,-0.55624E+00,-0.55653E+00,-0.55681E+00, & - &-0.55710E+00,-0.55738E+00,-0.55767E+00,-0.55795E+00,-0.55823E+00, & - &-0.55851E+00,-0.55879E+00,-0.55907E+00,-0.55935E+00,-0.55963E+00, & - &-0.55991E+00,-0.56018E+00,-0.56046E+00,-0.56074E+00,-0.56101E+00, & - &-0.56129E+00,-0.56156E+00,-0.56184E+00,-0.56211E+00,-0.56238E+00, & - &-0.56265E+00,-0.56292E+00,-0.56319E+00,-0.56346E+00,-0.56373E+00, & - &-0.56400E+00,-0.56427E+00,-0.56454E+00,-0.56481E+00,-0.56507E+00, & - &-0.56534E+00,-0.56560E+00,-0.56587E+00,-0.56613E+00,-0.56640E+00, & - &-0.56666E+00,-0.56692E+00,-0.56718E+00,-0.56745E+00,-0.56771E+00, & - &-0.56797E+00,-0.56823E+00,-0.56849E+00,-0.56875E+00,-0.56900E+00, & - &-0.56926E+00,-0.56952E+00,-0.56977E+00,-0.57003E+00,-0.57029E+00, & - &-0.57054E+00,-0.57080E+00,-0.57105E+00,-0.57130E+00,-0.57156E+00, & - &-0.57181E+00,-0.57206E+00,-0.57231E+00,-0.57256E+00,-0.57281E+00, & - &-0.57306E+00,-0.57331E+00,-0.57356E+00,-0.57381E+00,-0.57406E+00, & - &-0.57430E+00,-0.57455E+00,-0.57480E+00,-0.57504E+00,-0.57529E+00, & - &-0.57553E+00,-0.57578E+00,-0.57602E+00,-0.57626E+00,-0.57651E+00, & - &-0.57675E+00,-0.57699E+00,-0.57723E+00,-0.57747E+00,-0.57771E+00, & - &-0.57795E+00,-0.57819E+00,-0.57843E+00,-0.57867E+00,-0.57891E+00, & - &-0.57915E+00,-0.57939E+00,-0.57962E+00,-0.57986E+00,-0.58009E+00/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.58033E+00,-0.58056E+00,-0.58080E+00,-0.58103E+00,-0.58127E+00, & - &-0.58150E+00,-0.58173E+00,-0.58196E+00,-0.58220E+00,-0.58243E+00, & - &-0.58266E+00,-0.58289E+00,-0.58312E+00,-0.58335E+00,-0.58358E+00, & - &-0.58381E+00,-0.58404E+00,-0.58426E+00,-0.58449E+00,-0.58472E+00, & - &-0.58494E+00,-0.58517E+00,-0.58540E+00,-0.58562E+00,-0.58585E+00, & - &-0.58607E+00,-0.58630E+00,-0.58652E+00,-0.58674E+00,-0.58697E+00, & - &-0.58719E+00,-0.58741E+00,-0.58763E+00,-0.58785E+00,-0.58807E+00, & - &-0.58829E+00,-0.58851E+00,-0.58873E+00,-0.58895E+00,-0.58917E+00, & - &-0.58939E+00,-0.58961E+00,-0.58983E+00,-0.59004E+00,-0.59026E+00, & - &-0.59048E+00,-0.59069E+00,-0.59091E+00,-0.59113E+00,-0.59134E+00, & - &-0.59155E+00,-0.59177E+00,-0.59198E+00,-0.59220E+00,-0.59241E+00, & - &-0.59262E+00,-0.59283E+00,-0.59305E+00,-0.59326E+00,-0.59347E+00, & - &-0.59368E+00,-0.59389E+00,-0.59410E+00,-0.59431E+00,-0.59452E+00, & - &-0.59473E+00,-0.59494E+00,-0.59515E+00,-0.59535E+00,-0.59556E+00, & - &-0.59577E+00,-0.59598E+00,-0.59618E+00,-0.59639E+00,-0.59659E+00, & - &-0.59680E+00,-0.59701E+00,-0.59721E+00,-0.59741E+00,-0.59762E+00, & - &-0.59782E+00,-0.59803E+00,-0.59823E+00,-0.59843E+00,-0.59863E+00, & - &-0.59884E+00,-0.59904E+00,-0.59924E+00,-0.59944E+00,-0.59964E+00, & - &-0.59984E+00,-0.60004E+00,-0.60024E+00,-0.60044E+00,-0.60064E+00, & - &-0.60084E+00,-0.60104E+00,-0.60123E+00,-0.60143E+00,-0.60163E+00/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.60374E+00,-0.60566E+00,-0.60755E+00,-0.60942E+00,-0.61125E+00, & - &-0.61305E+00,-0.61483E+00,-0.61658E+00,-0.61831E+00,-0.62001E+00, & - &-0.62169E+00,-0.62334E+00,-0.62497E+00,-0.62658E+00,-0.62816E+00, & - &-0.62973E+00,-0.63127E+00,-0.63279E+00,-0.63429E+00,-0.63578E+00, & - &-0.63724E+00,-0.63869E+00,-0.64012E+00,-0.64153E+00,-0.64292E+00, & - &-0.64430E+00,-0.64566E+00,-0.64700E+00,-0.64833E+00,-0.64964E+00, & - &-0.65094E+00,-0.65222E+00,-0.65349E+00,-0.65475E+00,-0.65599E+00, & - &-0.65721E+00,-0.65843E+00,-0.65963E+00,-0.66082E+00,-0.66199E+00, & - &-0.66315E+00,-0.66431E+00,-0.66544E+00,-0.66657E+00,-0.66769E+00, & - &-0.66879E+00,-0.66989E+00,-0.67097E+00,-0.67204E+00,-0.67310E+00, & - &-0.67415E+00,-0.67520E+00,-0.67623E+00,-0.67725E+00,-0.67826E+00, & - &-0.67927E+00,-0.68026E+00,-0.68124E+00,-0.68222E+00,-0.68319E+00, & - &-0.68415E+00,-0.68510E+00,-0.68604E+00,-0.68697E+00,-0.68790E+00, & - &-0.68881E+00,-0.68972E+00,-0.69062E+00,-0.69152E+00,-0.69241E+00, & - &-0.69329E+00,-0.69416E+00,-0.69502E+00,-0.69588E+00,-0.69673E+00, & - &-0.69758E+00,-0.69841E+00,-0.69924E+00,-0.70007E+00,-0.70089E+00, & - &-0.70170E+00,-0.70250E+00,-0.70330E+00,-0.70410E+00,-0.70488E+00, & - &-0.70566E+00,-0.70644E+00,-0.70721E+00,-0.70797E+00,-0.70873E+00, & - &-0.70948E+00,-0.71023E+00,-0.71097E+00,-0.71171E+00,-0.71244E+00, & - &-0.71317E+00,-0.71389E+00,-0.71460E+00,-0.71531E+00,-0.71602E+00/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.71672E+00,-0.71742E+00,-0.71811E+00,-0.71880E+00,-0.71948E+00, & - &-0.72016E+00,-0.72083E+00,-0.72150E+00,-0.72216E+00,-0.72282E+00, & - &-0.72348E+00,-0.72413E+00,-0.72478E+00,-0.72542E+00,-0.72606E+00, & - &-0.72670E+00,-0.72733E+00,-0.72795E+00,-0.72858E+00,-0.72920E+00, & - &-0.72981E+00,-0.73042E+00,-0.73103E+00,-0.73163E+00,-0.73223E+00, & - &-0.73283E+00,-0.73342E+00,-0.73401E+00,-0.73460E+00,-0.73518E+00, & - &-0.73576E+00,-0.73634E+00,-0.73691E+00,-0.73748E+00,-0.73805E+00, & - &-0.73861E+00,-0.73917E+00,-0.73972E+00,-0.74028E+00,-0.74083E+00, & - &-0.74137E+00 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.93137E-01,-0.20251E+00,-0.25708E+00,-0.29562E+00,-0.32582E+00, & - &-0.35081E+00,-0.37218E+00,-0.39089E+00,-0.40754E+00,-0.42256E+00, & - &-0.43624E+00,-0.44882E+00,-0.46045E+00,-0.47127E+00,-0.48140E+00, & - &-0.49091E+00,-0.49988E+00,-0.50837E+00,-0.51643E+00,-0.52409E+00, & - &-0.53140E+00,-0.53839E+00,-0.54509E+00,-0.55151E+00,-0.55769E+00, & - &-0.56363E+00,-0.56936E+00,-0.57489E+00,-0.58023E+00,-0.58540E+00, & - &-0.59041E+00,-0.59526E+00,-0.59997E+00,-0.60454E+00,-0.60898E+00, & - &-0.61330E+00,-0.61751E+00,-0.62160E+00,-0.62559E+00,-0.62949E+00, & - &-0.63328E+00,-0.63699E+00,-0.64061E+00,-0.64415E+00,-0.64761E+00, & - &-0.65099E+00,-0.65430E+00,-0.65754E+00,-0.66072E+00,-0.66383E+00, & - &-0.66687E+00,-0.66986E+00,-0.67279E+00,-0.67567E+00,-0.67849E+00, & - &-0.68126E+00,-0.68398E+00,-0.68666E+00,-0.68928E+00,-0.69187E+00, & - &-0.69441E+00,-0.69691E+00,-0.69937E+00,-0.70179E+00,-0.70418E+00, & - &-0.70653E+00,-0.70884E+00,-0.71112E+00,-0.71337E+00,-0.71558E+00, & - &-0.71777E+00,-0.71993E+00,-0.72206E+00,-0.72416E+00,-0.72624E+00, & - &-0.72829E+00,-0.73031E+00,-0.73231E+00,-0.73429E+00,-0.73625E+00, & - &-0.73818E+00,-0.74009E+00,-0.74199E+00,-0.74386E+00,-0.74571E+00, & - &-0.74755E+00,-0.74936E+00,-0.75116E+00,-0.75294E+00,-0.75471E+00, & - &-0.75646E+00,-0.75819E+00,-0.75990E+00,-0.76161E+00,-0.76329E+00, & - &-0.76497E+00,-0.76662E+00,-0.76827E+00,-0.76990E+00,-0.77152E+00/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.77312E+00,-0.77471E+00,-0.77629E+00,-0.77786E+00,-0.77941E+00, & - &-0.78095E+00,-0.78248E+00,-0.78400E+00,-0.78550E+00,-0.78700E+00, & - &-0.78848E+00,-0.78996E+00,-0.79142E+00,-0.79287E+00,-0.79431E+00, & - &-0.79574E+00,-0.79716E+00,-0.79856E+00,-0.79996E+00,-0.80135E+00, & - &-0.80273E+00,-0.80410E+00,-0.80546E+00,-0.80681E+00,-0.80815E+00, & - &-0.80948E+00,-0.81080E+00,-0.81211E+00,-0.81341E+00,-0.81470E+00, & - &-0.81599E+00,-0.81726E+00,-0.81853E+00,-0.81979E+00,-0.82104E+00, & - &-0.82228E+00,-0.82352E+00,-0.82474E+00,-0.82596E+00,-0.82717E+00, & - &-0.82837E+00,-0.82956E+00,-0.83075E+00,-0.83193E+00,-0.83310E+00, & - &-0.83426E+00,-0.83542E+00,-0.83657E+00,-0.83771E+00,-0.83885E+00, & - &-0.83998E+00,-0.84110E+00,-0.84221E+00,-0.84332E+00,-0.84442E+00, & - &-0.84552E+00,-0.84661E+00,-0.84769E+00,-0.84876E+00,-0.84983E+00, & - &-0.85090E+00,-0.85195E+00,-0.85301E+00,-0.85405E+00,-0.85509E+00, & - &-0.85612E+00,-0.85715E+00,-0.85818E+00,-0.85919E+00,-0.86020E+00, & - &-0.86121E+00,-0.86221E+00,-0.86320E+00,-0.86419E+00,-0.86518E+00, & - &-0.86616E+00,-0.86713E+00,-0.86810E+00,-0.86907E+00,-0.87002E+00, & - &-0.87098E+00,-0.87193E+00,-0.87287E+00,-0.87381E+00,-0.87475E+00, & - &-0.87568E+00,-0.87660E+00,-0.87752E+00,-0.87844E+00,-0.87935E+00, & - &-0.88026E+00,-0.88116E+00,-0.88206E+00,-0.88296E+00,-0.88385E+00, & - &-0.88473E+00,-0.88562E+00,-0.88649E+00,-0.88737E+00,-0.88824E+00/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.88910E+00,-0.88997E+00,-0.89082E+00,-0.89168E+00,-0.89253E+00, & - &-0.89337E+00,-0.89422E+00,-0.89505E+00,-0.89589E+00,-0.89672E+00, & - &-0.89755E+00,-0.89837E+00,-0.89919E+00,-0.90001E+00,-0.90082E+00, & - &-0.90163E+00,-0.90244E+00,-0.90324E+00,-0.90404E+00,-0.90483E+00, & - &-0.90563E+00,-0.90641E+00,-0.90720E+00,-0.90798E+00,-0.90876E+00, & - &-0.90954E+00,-0.91031E+00,-0.91108E+00,-0.91185E+00,-0.91261E+00, & - &-0.91337E+00,-0.91413E+00,-0.91488E+00,-0.91563E+00,-0.91638E+00, & - &-0.91713E+00,-0.91787E+00,-0.91861E+00,-0.91934E+00,-0.92008E+00, & - &-0.92081E+00,-0.92153E+00,-0.92226E+00,-0.92298E+00,-0.92370E+00, & - &-0.92442E+00,-0.92513E+00,-0.92584E+00,-0.92655E+00,-0.92726E+00, & - &-0.92796E+00,-0.92866E+00,-0.92936E+00,-0.93005E+00,-0.93075E+00, & - &-0.93144E+00,-0.93212E+00,-0.93281E+00,-0.93349E+00,-0.93417E+00, & - &-0.93485E+00,-0.93553E+00,-0.93620E+00,-0.93687E+00,-0.93754E+00, & - &-0.93820E+00,-0.93887E+00,-0.93953E+00,-0.94019E+00,-0.94084E+00, & - &-0.94150E+00,-0.94215E+00,-0.94280E+00,-0.94345E+00,-0.94409E+00, & - &-0.94473E+00,-0.94537E+00,-0.94601E+00,-0.94665E+00,-0.94728E+00, & - &-0.94792E+00,-0.94855E+00,-0.94917E+00,-0.94980E+00,-0.95042E+00, & - &-0.95104E+00,-0.95166E+00,-0.95228E+00,-0.95290E+00,-0.95351E+00, & - &-0.95412E+00,-0.95473E+00,-0.95534E+00,-0.95594E+00,-0.95655E+00, & - &-0.95715E+00,-0.95775E+00,-0.95835E+00,-0.95894E+00,-0.95954E+00/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.96013E+00,-0.96072E+00,-0.96131E+00,-0.96189E+00,-0.96248E+00, & - &-0.96306E+00,-0.96364E+00,-0.96422E+00,-0.96480E+00,-0.96538E+00, & - &-0.96595E+00,-0.96652E+00,-0.96709E+00,-0.96766E+00,-0.96823E+00, & - &-0.96879E+00,-0.96936E+00,-0.96992E+00,-0.97048E+00,-0.97104E+00, & - &-0.97159E+00,-0.97215E+00,-0.97270E+00,-0.97325E+00,-0.97380E+00, & - &-0.97435E+00,-0.97490E+00,-0.97545E+00,-0.97599E+00,-0.97653E+00, & - &-0.97707E+00,-0.97761E+00,-0.97815E+00,-0.97869E+00,-0.97922E+00, & - &-0.97975E+00,-0.98028E+00,-0.98081E+00,-0.98134E+00,-0.98187E+00, & - &-0.98240E+00,-0.98292E+00,-0.98344E+00,-0.98396E+00,-0.98448E+00, & - &-0.98500E+00,-0.98552E+00,-0.98603E+00,-0.98655E+00,-0.98706E+00, & - &-0.98757E+00,-0.98808E+00,-0.98859E+00,-0.98909E+00,-0.98960E+00, & - &-0.99010E+00,-0.99061E+00,-0.99111E+00,-0.99161E+00,-0.99211E+00, & - &-0.99261E+00,-0.99310E+00,-0.99360E+00,-0.99409E+00,-0.99458E+00, & - &-0.99507E+00,-0.99556E+00,-0.99605E+00,-0.99654E+00,-0.99702E+00, & - &-0.99751E+00,-0.99799E+00,-0.99847E+00,-0.99895E+00,-0.99943E+00, & - &-0.99991E+00,-0.10004E+01,-0.10009E+01,-0.10013E+01,-0.10018E+01, & - &-0.10023E+01,-0.10028E+01,-0.10032E+01,-0.10037E+01,-0.10042E+01, & - &-0.10046E+01,-0.10051E+01,-0.10056E+01,-0.10060E+01,-0.10065E+01, & - &-0.10069E+01,-0.10074E+01,-0.10079E+01,-0.10083E+01,-0.10088E+01, & - &-0.10092E+01,-0.10097E+01,-0.10101E+01,-0.10106E+01,-0.10110E+01/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.10115E+01,-0.10119E+01,-0.10124E+01,-0.10128E+01,-0.10133E+01, & - &-0.10137E+01,-0.10142E+01,-0.10146E+01,-0.10150E+01,-0.10155E+01, & - &-0.10159E+01,-0.10164E+01,-0.10168E+01,-0.10172E+01,-0.10177E+01, & - &-0.10181E+01,-0.10185E+01,-0.10190E+01,-0.10194E+01,-0.10198E+01, & - &-0.10202E+01,-0.10207E+01,-0.10211E+01,-0.10215E+01,-0.10219E+01, & - &-0.10224E+01,-0.10228E+01,-0.10232E+01,-0.10236E+01,-0.10241E+01, & - &-0.10245E+01,-0.10249E+01,-0.10253E+01,-0.10257E+01,-0.10261E+01, & - &-0.10266E+01,-0.10270E+01,-0.10274E+01,-0.10278E+01,-0.10282E+01, & - &-0.10286E+01,-0.10290E+01,-0.10294E+01,-0.10298E+01,-0.10302E+01, & - &-0.10306E+01,-0.10310E+01,-0.10315E+01,-0.10319E+01,-0.10323E+01, & - &-0.10327E+01,-0.10331E+01,-0.10335E+01,-0.10339E+01,-0.10342E+01, & - &-0.10346E+01,-0.10350E+01,-0.10354E+01,-0.10358E+01,-0.10362E+01, & - &-0.10366E+01,-0.10370E+01,-0.10374E+01,-0.10378E+01,-0.10382E+01, & - &-0.10386E+01,-0.10389E+01,-0.10393E+01,-0.10397E+01,-0.10401E+01, & - &-0.10405E+01,-0.10409E+01,-0.10413E+01,-0.10416E+01,-0.10420E+01, & - &-0.10424E+01,-0.10428E+01,-0.10431E+01,-0.10435E+01,-0.10439E+01, & - &-0.10443E+01,-0.10447E+01,-0.10450E+01,-0.10454E+01,-0.10458E+01, & - &-0.10461E+01,-0.10465E+01,-0.10469E+01,-0.10473E+01,-0.10476E+01, & - &-0.10480E+01,-0.10484E+01,-0.10487E+01,-0.10491E+01,-0.10495E+01, & - &-0.10498E+01,-0.10502E+01,-0.10506E+01,-0.10509E+01,-0.10513E+01/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.10516E+01,-0.10520E+01,-0.10524E+01,-0.10527E+01,-0.10531E+01, & - &-0.10534E+01,-0.10538E+01,-0.10541E+01,-0.10545E+01,-0.10549E+01, & - &-0.10552E+01,-0.10556E+01,-0.10559E+01,-0.10563E+01,-0.10566E+01, & - &-0.10570E+01,-0.10573E+01,-0.10577E+01,-0.10580E+01,-0.10584E+01, & - &-0.10587E+01,-0.10591E+01,-0.10594E+01,-0.10597E+01,-0.10601E+01, & - &-0.10604E+01,-0.10608E+01,-0.10611E+01,-0.10615E+01,-0.10618E+01, & - &-0.10621E+01,-0.10625E+01,-0.10628E+01,-0.10632E+01,-0.10635E+01, & - &-0.10638E+01,-0.10642E+01,-0.10645E+01,-0.10648E+01,-0.10652E+01, & - &-0.10655E+01,-0.10659E+01,-0.10662E+01,-0.10665E+01,-0.10668E+01, & - &-0.10672E+01,-0.10675E+01,-0.10678E+01,-0.10682E+01,-0.10685E+01, & - &-0.10688E+01,-0.10692E+01,-0.10695E+01,-0.10698E+01,-0.10701E+01, & - &-0.10705E+01,-0.10708E+01,-0.10711E+01,-0.10714E+01,-0.10718E+01, & - &-0.10721E+01,-0.10724E+01,-0.10727E+01,-0.10730E+01,-0.10734E+01, & - &-0.10737E+01,-0.10740E+01,-0.10743E+01,-0.10746E+01,-0.10750E+01, & - &-0.10753E+01,-0.10756E+01,-0.10759E+01,-0.10762E+01,-0.10765E+01, & - &-0.10768E+01,-0.10772E+01,-0.10775E+01,-0.10778E+01,-0.10781E+01, & - &-0.10784E+01,-0.10787E+01,-0.10790E+01,-0.10793E+01,-0.10796E+01, & - &-0.10800E+01,-0.10803E+01,-0.10806E+01,-0.10809E+01,-0.10812E+01, & - &-0.10815E+01,-0.10818E+01,-0.10821E+01,-0.10824E+01,-0.10827E+01, & - &-0.10830E+01,-0.10833E+01,-0.10836E+01,-0.10839E+01,-0.10842E+01/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.10874E+01,-0.10904E+01,-0.10933E+01,-0.10961E+01,-0.10989E+01, & - &-0.11017E+01,-0.11044E+01,-0.11070E+01,-0.11097E+01,-0.11123E+01, & - &-0.11148E+01,-0.11173E+01,-0.11198E+01,-0.11223E+01,-0.11247E+01, & - &-0.11271E+01,-0.11294E+01,-0.11317E+01,-0.11340E+01,-0.11363E+01, & - &-0.11385E+01,-0.11407E+01,-0.11429E+01,-0.11450E+01,-0.11471E+01, & - &-0.11492E+01,-0.11513E+01,-0.11534E+01,-0.11554E+01,-0.11574E+01, & - &-0.11593E+01,-0.11613E+01,-0.11632E+01,-0.11651E+01,-0.11670E+01, & - &-0.11689E+01,-0.11707E+01,-0.11726E+01,-0.11744E+01,-0.11762E+01, & - &-0.11779E+01,-0.11797E+01,-0.11814E+01,-0.11831E+01,-0.11848E+01, & - &-0.11865E+01,-0.11882E+01,-0.11898E+01,-0.11915E+01,-0.11931E+01, & - &-0.11947E+01,-0.11963E+01,-0.11978E+01,-0.11994E+01,-0.12009E+01, & - &-0.12025E+01,-0.12040E+01,-0.12055E+01,-0.12070E+01,-0.12084E+01, & - &-0.12099E+01,-0.12114E+01,-0.12128E+01,-0.12142E+01,-0.12156E+01, & - &-0.12170E+01,-0.12184E+01,-0.12198E+01,-0.12212E+01,-0.12225E+01, & - &-0.12238E+01,-0.12252E+01,-0.12265E+01,-0.12278E+01,-0.12291E+01, & - &-0.12304E+01,-0.12317E+01,-0.12329E+01,-0.12342E+01,-0.12355E+01, & - &-0.12367E+01,-0.12379E+01,-0.12391E+01,-0.12404E+01,-0.12416E+01, & - &-0.12428E+01,-0.12439E+01,-0.12451E+01,-0.12463E+01,-0.12474E+01, & - &-0.12486E+01,-0.12497E+01,-0.12509E+01,-0.12520E+01,-0.12531E+01, & - &-0.12542E+01,-0.12553E+01,-0.12564E+01,-0.12575E+01,-0.12586E+01/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.12597E+01,-0.12607E+01,-0.12618E+01,-0.12629E+01,-0.12639E+01, & - &-0.12649E+01,-0.12660E+01,-0.12670E+01,-0.12680E+01,-0.12690E+01, & - &-0.12700E+01,-0.12710E+01,-0.12720E+01,-0.12730E+01,-0.12740E+01, & - &-0.12750E+01,-0.12760E+01,-0.12769E+01,-0.12779E+01,-0.12788E+01, & - &-0.12798E+01,-0.12807E+01,-0.12816E+01,-0.12826E+01,-0.12835E+01, & - &-0.12844E+01,-0.12853E+01,-0.12862E+01,-0.12871E+01,-0.12880E+01, & - &-0.12889E+01,-0.12898E+01,-0.12907E+01,-0.12916E+01,-0.12924E+01, & - &-0.12933E+01,-0.12942E+01,-0.12950E+01,-0.12959E+01,-0.12967E+01, & - &-0.12976E+01 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.47107E-01,-0.10421E+00,-0.13373E+00,-0.15513E+00,-0.17228E+00, & - &-0.18677E+00,-0.19941E+00,-0.21068E+00,-0.22088E+00,-0.23023E+00, & - &-0.23889E+00,-0.24697E+00,-0.25455E+00,-0.26171E+00,-0.26849E+00, & - &-0.27495E+00,-0.28111E+00,-0.28702E+00,-0.29269E+00,-0.29814E+00, & - &-0.30340E+00,-0.30849E+00,-0.31340E+00,-0.31817E+00,-0.32279E+00, & - &-0.32728E+00,-0.33165E+00,-0.33590E+00,-0.34004E+00,-0.34408E+00, & - &-0.34802E+00,-0.35186E+00,-0.35562E+00,-0.35930E+00,-0.36289E+00, & - &-0.36641E+00,-0.36986E+00,-0.37323E+00,-0.37654E+00,-0.37978E+00, & - &-0.38296E+00,-0.38609E+00,-0.38915E+00,-0.39216E+00,-0.39511E+00, & - &-0.39801E+00,-0.40086E+00,-0.40367E+00,-0.40642E+00,-0.40913E+00, & - &-0.41180E+00,-0.41443E+00,-0.41701E+00,-0.41956E+00,-0.42207E+00, & - &-0.42454E+00,-0.42697E+00,-0.42937E+00,-0.43174E+00,-0.43408E+00, & - &-0.43639E+00,-0.43866E+00,-0.44091E+00,-0.44313E+00,-0.44533E+00, & - &-0.44750E+00,-0.44965E+00,-0.45177E+00,-0.45387E+00,-0.45595E+00, & - &-0.45801E+00,-0.46005E+00,-0.46207E+00,-0.46408E+00,-0.46606E+00, & - &-0.46803E+00,-0.46999E+00,-0.47193E+00,-0.47386E+00,-0.47577E+00, & - &-0.47767E+00,-0.47956E+00,-0.48143E+00,-0.48330E+00,-0.48515E+00, & - &-0.48700E+00,-0.48883E+00,-0.49065E+00,-0.49247E+00,-0.49427E+00, & - &-0.49607E+00,-0.49786E+00,-0.49964E+00,-0.50141E+00,-0.50317E+00, & - &-0.50493E+00,-0.50668E+00,-0.50842E+00,-0.51015E+00,-0.51188E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.51359E+00,-0.51530E+00,-0.51701E+00,-0.51870E+00,-0.52039E+00, & - &-0.52208E+00,-0.52375E+00,-0.52542E+00,-0.52708E+00,-0.52873E+00, & - &-0.53038E+00,-0.53201E+00,-0.53364E+00,-0.53527E+00,-0.53688E+00, & - &-0.53849E+00,-0.54009E+00,-0.54168E+00,-0.54327E+00,-0.54485E+00, & - &-0.54642E+00,-0.54798E+00,-0.54953E+00,-0.55108E+00,-0.55262E+00, & - &-0.55415E+00,-0.55568E+00,-0.55719E+00,-0.55870E+00,-0.56020E+00, & - &-0.56170E+00,-0.56318E+00,-0.56466E+00,-0.56613E+00,-0.56760E+00, & - &-0.56905E+00,-0.57050E+00,-0.57195E+00,-0.57338E+00,-0.57481E+00, & - &-0.57623E+00,-0.57764E+00,-0.57905E+00,-0.58044E+00,-0.58184E+00, & - &-0.58322E+00,-0.58460E+00,-0.58597E+00,-0.58734E+00,-0.58869E+00, & - &-0.59004E+00,-0.59139E+00,-0.59273E+00,-0.59406E+00,-0.59539E+00, & - &-0.59670E+00,-0.59802E+00,-0.59932E+00,-0.60062E+00,-0.60192E+00, & - &-0.60321E+00,-0.60449E+00,-0.60577E+00,-0.60704E+00,-0.60830E+00, & - &-0.60956E+00,-0.61081E+00,-0.61206E+00,-0.61330E+00,-0.61454E+00, & - &-0.61577E+00,-0.61699E+00,-0.61821E+00,-0.61943E+00,-0.62064E+00, & - &-0.62184E+00,-0.62304E+00,-0.62423E+00,-0.62542E+00,-0.62660E+00, & - &-0.62778E+00,-0.62895E+00,-0.63012E+00,-0.63128E+00,-0.63244E+00, & - &-0.63359E+00,-0.63474E+00,-0.63588E+00,-0.63702E+00,-0.63815E+00, & - &-0.63928E+00,-0.64040E+00,-0.64152E+00,-0.64264E+00,-0.64375E+00, & - &-0.64485E+00,-0.64595E+00,-0.64705E+00,-0.64814E+00,-0.64923E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.65031E+00,-0.65139E+00,-0.65246E+00,-0.65353E+00,-0.65460E+00, & - &-0.65566E+00,-0.65672E+00,-0.65777E+00,-0.65882E+00,-0.65986E+00, & - &-0.66090E+00,-0.66194E+00,-0.66297E+00,-0.66400E+00,-0.66502E+00, & - &-0.66605E+00,-0.66706E+00,-0.66807E+00,-0.66908E+00,-0.67009E+00, & - &-0.67109E+00,-0.67209E+00,-0.67308E+00,-0.67407E+00,-0.67506E+00, & - &-0.67604E+00,-0.67702E+00,-0.67799E+00,-0.67896E+00,-0.67993E+00, & - &-0.68090E+00,-0.68186E+00,-0.68281E+00,-0.68377E+00,-0.68472E+00, & - &-0.68566E+00,-0.68661E+00,-0.68755E+00,-0.68848E+00,-0.68942E+00, & - &-0.69035E+00,-0.69127E+00,-0.69220E+00,-0.69312E+00,-0.69403E+00, & - &-0.69495E+00,-0.69586E+00,-0.69676E+00,-0.69767E+00,-0.69857E+00, & - &-0.69946E+00,-0.70036E+00,-0.70125E+00,-0.70214E+00,-0.70302E+00, & - &-0.70390E+00,-0.70478E+00,-0.70566E+00,-0.70653E+00,-0.70740E+00, & - &-0.70827E+00,-0.70913E+00,-0.70999E+00,-0.71085E+00,-0.71170E+00, & - &-0.71256E+00,-0.71340E+00,-0.71425E+00,-0.71509E+00,-0.71593E+00, & - &-0.71677E+00,-0.71761E+00,-0.71844E+00,-0.71927E+00,-0.72010E+00, & - &-0.72092E+00,-0.72174E+00,-0.72256E+00,-0.72337E+00,-0.72419E+00, & - &-0.72500E+00,-0.72581E+00,-0.72661E+00,-0.72741E+00,-0.72821E+00, & - &-0.72901E+00,-0.72981E+00,-0.73060E+00,-0.73139E+00,-0.73218E+00, & - &-0.73296E+00,-0.73374E+00,-0.73452E+00,-0.73530E+00,-0.73607E+00, & - &-0.73685E+00,-0.73762E+00,-0.73838E+00,-0.73915E+00,-0.73991E+00/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.74067E+00,-0.74143E+00,-0.74218E+00,-0.74294E+00,-0.74369E+00, & - &-0.74444E+00,-0.74518E+00,-0.74593E+00,-0.74667E+00,-0.74741E+00, & - &-0.74814E+00,-0.74888E+00,-0.74961E+00,-0.75034E+00,-0.75107E+00, & - &-0.75179E+00,-0.75252E+00,-0.75324E+00,-0.75396E+00,-0.75468E+00, & - &-0.75539E+00,-0.75610E+00,-0.75681E+00,-0.75752E+00,-0.75823E+00, & - &-0.75893E+00,-0.75963E+00,-0.76033E+00,-0.76103E+00,-0.76173E+00, & - &-0.76242E+00,-0.76311E+00,-0.76380E+00,-0.76449E+00,-0.76518E+00, & - &-0.76586E+00,-0.76654E+00,-0.76722E+00,-0.76790E+00,-0.76857E+00, & - &-0.76925E+00,-0.76992E+00,-0.77059E+00,-0.77126E+00,-0.77192E+00, & - &-0.77259E+00,-0.77325E+00,-0.77391E+00,-0.77457E+00,-0.77523E+00, & - &-0.77588E+00,-0.77653E+00,-0.77718E+00,-0.77783E+00,-0.77848E+00, & - &-0.77913E+00,-0.77977E+00,-0.78041E+00,-0.78105E+00,-0.78169E+00, & - &-0.78233E+00,-0.78296E+00,-0.78359E+00,-0.78422E+00,-0.78485E+00, & - &-0.78548E+00,-0.78611E+00,-0.78673E+00,-0.78735E+00,-0.78797E+00, & - &-0.78859E+00,-0.78921E+00,-0.78983E+00,-0.79044E+00,-0.79105E+00, & - &-0.79166E+00,-0.79227E+00,-0.79288E+00,-0.79348E+00,-0.79409E+00, & - &-0.79469E+00,-0.79529E+00,-0.79589E+00,-0.79649E+00,-0.79708E+00, & - &-0.79768E+00,-0.79827E+00,-0.79886E+00,-0.79945E+00,-0.80004E+00, & - &-0.80062E+00,-0.80121E+00,-0.80179E+00,-0.80237E+00,-0.80295E+00, & - &-0.80353E+00,-0.80411E+00,-0.80468E+00,-0.80526E+00,-0.80583E+00/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.80640E+00,-0.80697E+00,-0.80754E+00,-0.80811E+00,-0.80867E+00, & - &-0.80923E+00,-0.80980E+00,-0.81036E+00,-0.81092E+00,-0.81147E+00, & - &-0.81203E+00,-0.81259E+00,-0.81314E+00,-0.81369E+00,-0.81424E+00, & - &-0.81479E+00,-0.81534E+00,-0.81589E+00,-0.81643E+00,-0.81697E+00, & - &-0.81752E+00,-0.81806E+00,-0.81860E+00,-0.81913E+00,-0.81967E+00, & - &-0.82021E+00,-0.82074E+00,-0.82127E+00,-0.82180E+00,-0.82233E+00, & - &-0.82286E+00,-0.82339E+00,-0.82392E+00,-0.82444E+00,-0.82496E+00, & - &-0.82549E+00,-0.82601E+00,-0.82653E+00,-0.82705E+00,-0.82756E+00, & - &-0.82808E+00,-0.82859E+00,-0.82911E+00,-0.82962E+00,-0.83013E+00, & - &-0.83064E+00,-0.83115E+00,-0.83165E+00,-0.83216E+00,-0.83266E+00, & - &-0.83317E+00,-0.83367E+00,-0.83417E+00,-0.83467E+00,-0.83517E+00, & - &-0.83566E+00,-0.83616E+00,-0.83665E+00,-0.83715E+00,-0.83764E+00, & - &-0.83813E+00,-0.83862E+00,-0.83911E+00,-0.83960E+00,-0.84008E+00, & - &-0.84057E+00,-0.84105E+00,-0.84154E+00,-0.84202E+00,-0.84250E+00, & - &-0.84298E+00,-0.84346E+00,-0.84393E+00,-0.84441E+00,-0.84489E+00, & - &-0.84536E+00,-0.84583E+00,-0.84630E+00,-0.84677E+00,-0.84724E+00, & - &-0.84771E+00,-0.84818E+00,-0.84865E+00,-0.84911E+00,-0.84957E+00, & - &-0.85004E+00,-0.85050E+00,-0.85096E+00,-0.85142E+00,-0.85188E+00, & - &-0.85234E+00,-0.85279E+00,-0.85325E+00,-0.85370E+00,-0.85416E+00, & - &-0.85461E+00,-0.85506E+00,-0.85551E+00,-0.85596E+00,-0.85641E+00/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.85686E+00,-0.85730E+00,-0.85775E+00,-0.85819E+00,-0.85863E+00, & - &-0.85908E+00,-0.85952E+00,-0.85996E+00,-0.86040E+00,-0.86084E+00, & - &-0.86127E+00,-0.86171E+00,-0.86214E+00,-0.86258E+00,-0.86301E+00, & - &-0.86344E+00,-0.86388E+00,-0.86431E+00,-0.86474E+00,-0.86516E+00, & - &-0.86559E+00,-0.86602E+00,-0.86644E+00,-0.86687E+00,-0.86729E+00, & - &-0.86772E+00,-0.86814E+00,-0.86856E+00,-0.86898E+00,-0.86940E+00, & - &-0.86982E+00,-0.87023E+00,-0.87065E+00,-0.87106E+00,-0.87148E+00, & - &-0.87189E+00,-0.87231E+00,-0.87272E+00,-0.87313E+00,-0.87354E+00, & - &-0.87395E+00,-0.87436E+00,-0.87476E+00,-0.87517E+00,-0.87558E+00, & - &-0.87598E+00,-0.87638E+00,-0.87679E+00,-0.87719E+00,-0.87759E+00, & - &-0.87799E+00,-0.87839E+00,-0.87879E+00,-0.87919E+00,-0.87958E+00, & - &-0.87998E+00,-0.88038E+00,-0.88077E+00,-0.88116E+00,-0.88156E+00, & - &-0.88195E+00,-0.88234E+00,-0.88273E+00,-0.88312E+00,-0.88351E+00, & - &-0.88390E+00,-0.88428E+00,-0.88467E+00,-0.88506E+00,-0.88544E+00, & - &-0.88582E+00,-0.88621E+00,-0.88659E+00,-0.88697E+00,-0.88735E+00, & - &-0.88773E+00,-0.88811E+00,-0.88849E+00,-0.88887E+00,-0.88924E+00, & - &-0.88962E+00,-0.88999E+00,-0.89037E+00,-0.89074E+00,-0.89112E+00, & - &-0.89149E+00,-0.89186E+00,-0.89223E+00,-0.89260E+00,-0.89297E+00, & - &-0.89334E+00,-0.89370E+00,-0.89407E+00,-0.89444E+00,-0.89480E+00, & - &-0.89517E+00,-0.89553E+00,-0.89589E+00,-0.89626E+00,-0.89662E+00/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.90048E+00,-0.90398E+00,-0.90741E+00,-0.91077E+00,-0.91407E+00, & - &-0.91731E+00,-0.92048E+00,-0.92360E+00,-0.92666E+00,-0.92966E+00, & - &-0.93261E+00,-0.93551E+00,-0.93835E+00,-0.94115E+00,-0.94389E+00, & - &-0.94659E+00,-0.94924E+00,-0.95185E+00,-0.95441E+00,-0.95693E+00, & - &-0.95941E+00,-0.96185E+00,-0.96425E+00,-0.96661E+00,-0.96893E+00, & - &-0.97121E+00,-0.97346E+00,-0.97568E+00,-0.97786E+00,-0.98000E+00, & - &-0.98212E+00,-0.98420E+00,-0.98625E+00,-0.98827E+00,-0.99026E+00, & - &-0.99222E+00,-0.99415E+00,-0.99605E+00,-0.99793E+00,-0.99978E+00, & - &-0.10016E+01,-0.10034E+01,-0.10052E+01,-0.10069E+01,-0.10087E+01, & - &-0.10104E+01,-0.10120E+01,-0.10137E+01,-0.10153E+01,-0.10169E+01, & - &-0.10185E+01,-0.10201E+01,-0.10216E+01,-0.10232E+01,-0.10247E+01, & - &-0.10262E+01,-0.10276E+01,-0.10291E+01,-0.10305E+01,-0.10319E+01, & - &-0.10333E+01,-0.10347E+01,-0.10361E+01,-0.10374E+01,-0.10388E+01, & - &-0.10401E+01,-0.10414E+01,-0.10427E+01,-0.10439E+01,-0.10452E+01, & - &-0.10464E+01,-0.10477E+01,-0.10489E+01,-0.10501E+01,-0.10513E+01, & - &-0.10524E+01,-0.10536E+01,-0.10547E+01,-0.10559E+01,-0.10570E+01, & - &-0.10581E+01,-0.10592E+01,-0.10603E+01,-0.10613E+01,-0.10624E+01, & - &-0.10635E+01,-0.10645E+01,-0.10655E+01,-0.10665E+01,-0.10675E+01, & - &-0.10685E+01,-0.10695E+01,-0.10705E+01,-0.10715E+01,-0.10724E+01, & - &-0.10734E+01,-0.10743E+01,-0.10752E+01,-0.10761E+01,-0.10770E+01/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.10779E+01,-0.10788E+01,-0.10797E+01,-0.10806E+01,-0.10814E+01, & - &-0.10823E+01,-0.10831E+01,-0.10840E+01,-0.10848E+01,-0.10856E+01, & - &-0.10865E+01,-0.10873E+01,-0.10881E+01,-0.10889E+01,-0.10896E+01, & - &-0.10904E+01,-0.10912E+01,-0.10920E+01,-0.10927E+01,-0.10935E+01, & - &-0.10942E+01,-0.10949E+01,-0.10957E+01,-0.10964E+01,-0.10971E+01, & - &-0.10978E+01,-0.10985E+01,-0.10992E+01,-0.10999E+01,-0.11006E+01, & - &-0.11013E+01,-0.11020E+01,-0.11026E+01,-0.11033E+01,-0.11039E+01, & - &-0.11046E+01,-0.11052E+01,-0.11059E+01,-0.11065E+01,-0.11071E+01, & - &-0.11078E+01 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.45990E-01,-0.98113E-01,-0.12306E+00,-0.14011E+00,-0.15308E+00, & - &-0.16349E+00,-0.17215E+00,-0.17952E+00,-0.18589E+00,-0.19149E+00, & - &-0.19644E+00,-0.20086E+00,-0.20484E+00,-0.20843E+00,-0.21170E+00, & - &-0.21467E+00,-0.21740E+00,-0.21990E+00,-0.22221E+00,-0.22433E+00, & - &-0.22630E+00,-0.22812E+00,-0.22981E+00,-0.23138E+00,-0.23284E+00, & - &-0.23420E+00,-0.23547E+00,-0.23665E+00,-0.23775E+00,-0.23879E+00, & - &-0.23975E+00,-0.24065E+00,-0.24150E+00,-0.24229E+00,-0.24303E+00, & - &-0.24372E+00,-0.24437E+00,-0.24498E+00,-0.24555E+00,-0.24608E+00, & - &-0.24658E+00,-0.24705E+00,-0.24749E+00,-0.24790E+00,-0.24829E+00, & - &-0.24865E+00,-0.24898E+00,-0.24929E+00,-0.24959E+00,-0.24986E+00, & - &-0.25011E+00,-0.25034E+00,-0.25056E+00,-0.25076E+00,-0.25094E+00, & - &-0.25111E+00,-0.25126E+00,-0.25140E+00,-0.25152E+00,-0.25163E+00, & - &-0.25173E+00,-0.25182E+00,-0.25189E+00,-0.25195E+00,-0.25200E+00, & - &-0.25204E+00,-0.25206E+00,-0.25207E+00,-0.25208E+00,-0.25207E+00, & - &-0.25205E+00,-0.25202E+00,-0.25198E+00,-0.25192E+00,-0.25186E+00, & - &-0.25179E+00,-0.25170E+00,-0.25161E+00,-0.25150E+00,-0.25139E+00, & - &-0.25126E+00,-0.25113E+00,-0.25098E+00,-0.25083E+00,-0.25066E+00, & - &-0.25049E+00,-0.25030E+00,-0.25011E+00,-0.24990E+00,-0.24969E+00, & - &-0.24946E+00,-0.24923E+00,-0.24899E+00,-0.24874E+00,-0.24848E+00, & - &-0.24822E+00,-0.24794E+00,-0.24766E+00,-0.24737E+00,-0.24707E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.24676E+00,-0.24645E+00,-0.24613E+00,-0.24580E+00,-0.24547E+00, & - &-0.24513E+00,-0.24479E+00,-0.24443E+00,-0.24408E+00,-0.24371E+00, & - &-0.24335E+00,-0.24297E+00,-0.24259E+00,-0.24221E+00,-0.24183E+00, & - &-0.24143E+00,-0.24104E+00,-0.24064E+00,-0.24024E+00,-0.23983E+00, & - &-0.23942E+00,-0.23901E+00,-0.23859E+00,-0.23817E+00,-0.23775E+00, & - &-0.23733E+00,-0.23690E+00,-0.23647E+00,-0.23604E+00,-0.23560E+00, & - &-0.23517E+00,-0.23473E+00,-0.23429E+00,-0.23385E+00,-0.23340E+00, & - &-0.23296E+00,-0.23251E+00,-0.23206E+00,-0.23161E+00,-0.23116E+00, & - &-0.23071E+00,-0.23025E+00,-0.22980E+00,-0.22934E+00,-0.22888E+00, & - &-0.22842E+00,-0.22796E+00,-0.22750E+00,-0.22704E+00,-0.22658E+00, & - &-0.22611E+00,-0.22565E+00,-0.22518E+00,-0.22472E+00,-0.22425E+00, & - &-0.22378E+00,-0.22331E+00,-0.22284E+00,-0.22237E+00,-0.22190E+00, & - &-0.22143E+00,-0.22096E+00,-0.22049E+00,-0.22001E+00,-0.21954E+00, & - &-0.21906E+00,-0.21859E+00,-0.21812E+00,-0.21764E+00,-0.21716E+00, & - &-0.21669E+00,-0.21621E+00,-0.21573E+00,-0.21526E+00,-0.21478E+00, & - &-0.21430E+00,-0.21382E+00,-0.21334E+00,-0.21286E+00,-0.21238E+00, & - &-0.21191E+00,-0.21143E+00,-0.21095E+00,-0.21047E+00,-0.20999E+00, & - &-0.20951E+00,-0.20903E+00,-0.20854E+00,-0.20806E+00,-0.20758E+00, & - &-0.20710E+00,-0.20662E+00,-0.20614E+00,-0.20566E+00,-0.20518E+00, & - &-0.20470E+00,-0.20422E+00,-0.20373E+00,-0.20325E+00,-0.20277E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.20229E+00,-0.20181E+00,-0.20133E+00,-0.20085E+00,-0.20037E+00, & - &-0.19989E+00,-0.19941E+00,-0.19892E+00,-0.19844E+00,-0.19796E+00, & - &-0.19748E+00,-0.19700E+00,-0.19652E+00,-0.19604E+00,-0.19556E+00, & - &-0.19508E+00,-0.19460E+00,-0.19412E+00,-0.19364E+00,-0.19316E+00, & - &-0.19269E+00,-0.19221E+00,-0.19173E+00,-0.19125E+00,-0.19077E+00, & - &-0.19029E+00,-0.18982E+00,-0.18934E+00,-0.18886E+00,-0.18838E+00, & - &-0.18791E+00,-0.18743E+00,-0.18695E+00,-0.18648E+00,-0.18600E+00, & - &-0.18553E+00,-0.18505E+00,-0.18458E+00,-0.18410E+00,-0.18363E+00, & - &-0.18315E+00,-0.18268E+00,-0.18221E+00,-0.18173E+00,-0.18126E+00, & - &-0.18079E+00,-0.18031E+00,-0.17984E+00,-0.17937E+00,-0.17890E+00, & - &-0.17843E+00,-0.17796E+00,-0.17749E+00,-0.17702E+00,-0.17655E+00, & - &-0.17608E+00,-0.17561E+00,-0.17514E+00,-0.17467E+00,-0.17420E+00, & - &-0.17373E+00,-0.17327E+00,-0.17280E+00,-0.17233E+00,-0.17187E+00, & - &-0.17140E+00,-0.17093E+00,-0.17047E+00,-0.17000E+00,-0.16954E+00, & - &-0.16908E+00,-0.16861E+00,-0.16815E+00,-0.16769E+00,-0.16722E+00, & - &-0.16676E+00,-0.16630E+00,-0.16584E+00,-0.16538E+00,-0.16492E+00, & - &-0.16446E+00,-0.16400E+00,-0.16354E+00,-0.16308E+00,-0.16262E+00, & - &-0.16216E+00,-0.16170E+00,-0.16124E+00,-0.16079E+00,-0.16033E+00, & - &-0.15987E+00,-0.15942E+00,-0.15896E+00,-0.15851E+00,-0.15805E+00, & - &-0.15760E+00,-0.15714E+00,-0.15669E+00,-0.15624E+00,-0.15579E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.15533E+00,-0.15488E+00,-0.15443E+00,-0.15398E+00,-0.15353E+00, & - &-0.15308E+00,-0.15263E+00,-0.15218E+00,-0.15173E+00,-0.15128E+00, & - &-0.15083E+00,-0.15039E+00,-0.14994E+00,-0.14949E+00,-0.14905E+00, & - &-0.14860E+00,-0.14816E+00,-0.14771E+00,-0.14727E+00,-0.14682E+00, & - &-0.14638E+00,-0.14594E+00,-0.14549E+00,-0.14505E+00,-0.14461E+00, & - &-0.14417E+00,-0.14373E+00,-0.14328E+00,-0.14284E+00,-0.14240E+00, & - &-0.14197E+00,-0.14153E+00,-0.14109E+00,-0.14065E+00,-0.14021E+00, & - &-0.13977E+00,-0.13934E+00,-0.13890E+00,-0.13847E+00,-0.13803E+00, & - &-0.13760E+00,-0.13716E+00,-0.13673E+00,-0.13629E+00,-0.13586E+00, & - &-0.13543E+00,-0.13499E+00,-0.13456E+00,-0.13413E+00,-0.13370E+00, & - &-0.13327E+00,-0.13284E+00,-0.13241E+00,-0.13198E+00,-0.13155E+00, & - &-0.13112E+00,-0.13069E+00,-0.13027E+00,-0.12984E+00,-0.12941E+00, & - &-0.12899E+00,-0.12856E+00,-0.12813E+00,-0.12771E+00,-0.12729E+00, & - &-0.12686E+00,-0.12644E+00,-0.12601E+00,-0.12559E+00,-0.12517E+00, & - &-0.12475E+00,-0.12433E+00,-0.12390E+00,-0.12348E+00,-0.12306E+00, & - &-0.12264E+00,-0.12222E+00,-0.12181E+00,-0.12139E+00,-0.12097E+00, & - &-0.12055E+00,-0.12013E+00,-0.11972E+00,-0.11930E+00,-0.11888E+00, & - &-0.11847E+00,-0.11805E+00,-0.11764E+00,-0.11722E+00,-0.11681E+00, & - &-0.11640E+00,-0.11598E+00,-0.11557E+00,-0.11516E+00,-0.11475E+00, & - &-0.11434E+00,-0.11393E+00,-0.11352E+00,-0.11311E+00,-0.11270E+00/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.11229E+00,-0.11188E+00,-0.11147E+00,-0.11106E+00,-0.11066E+00, & - &-0.11025E+00,-0.10984E+00,-0.10944E+00,-0.10903E+00,-0.10862E+00, & - &-0.10822E+00,-0.10781E+00,-0.10741E+00,-0.10701E+00,-0.10660E+00, & - &-0.10620E+00,-0.10580E+00,-0.10540E+00,-0.10499E+00,-0.10459E+00, & - &-0.10419E+00,-0.10379E+00,-0.10339E+00,-0.10299E+00,-0.10259E+00, & - &-0.10220E+00,-0.10180E+00,-0.10140E+00,-0.10100E+00,-0.10060E+00, & - &-0.10021E+00,-0.99812E-01,-0.99416E-01,-0.99021E-01,-0.98626E-01, & - &-0.98231E-01,-0.97837E-01,-0.97443E-01,-0.97050E-01,-0.96657E-01, & - &-0.96264E-01,-0.95872E-01,-0.95480E-01,-0.95089E-01,-0.94698E-01, & - &-0.94308E-01,-0.93917E-01,-0.93528E-01,-0.93138E-01,-0.92749E-01, & - &-0.92361E-01,-0.91973E-01,-0.91585E-01,-0.91197E-01,-0.90810E-01, & - &-0.90424E-01,-0.90038E-01,-0.89652E-01,-0.89267E-01,-0.88882E-01, & - &-0.88497E-01,-0.88113E-01,-0.87729E-01,-0.87346E-01,-0.86963E-01, & - &-0.86580E-01,-0.86198E-01,-0.85816E-01,-0.85434E-01,-0.85053E-01, & - &-0.84673E-01,-0.84292E-01,-0.83912E-01,-0.83533E-01,-0.83154E-01, & - &-0.82775E-01,-0.82397E-01,-0.82019E-01,-0.81641E-01,-0.81264E-01, & - &-0.80887E-01,-0.80510E-01,-0.80134E-01,-0.79759E-01,-0.79383E-01, & - &-0.79008E-01,-0.78634E-01,-0.78260E-01,-0.77886E-01,-0.77512E-01, & - &-0.77139E-01,-0.76767E-01,-0.76394E-01,-0.76022E-01,-0.75651E-01, & - &-0.75280E-01,-0.74909E-01,-0.74538E-01,-0.74168E-01,-0.73799E-01/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.73429E-01,-0.73060E-01,-0.72692E-01,-0.72324E-01,-0.71956E-01, & - &-0.71588E-01,-0.71221E-01,-0.70854E-01,-0.70488E-01,-0.70122E-01, & - &-0.69756E-01,-0.69391E-01,-0.69026E-01,-0.68661E-01,-0.68297E-01, & - &-0.67933E-01,-0.67570E-01,-0.67207E-01,-0.66844E-01,-0.66482E-01, & - &-0.66120E-01,-0.65758E-01,-0.65397E-01,-0.65036E-01,-0.64675E-01, & - &-0.64315E-01,-0.63955E-01,-0.63595E-01,-0.63236E-01,-0.62877E-01, & - &-0.62519E-01,-0.62161E-01,-0.61803E-01,-0.61446E-01,-0.61089E-01, & - &-0.60732E-01,-0.60375E-01,-0.60019E-01,-0.59664E-01,-0.59308E-01, & - &-0.58954E-01,-0.58599E-01,-0.58245E-01,-0.57891E-01,-0.57537E-01, & - &-0.57184E-01,-0.56831E-01,-0.56478E-01,-0.56126E-01,-0.55774E-01, & - &-0.55423E-01,-0.55072E-01,-0.54721E-01,-0.54370E-01,-0.54020E-01, & - &-0.53670E-01,-0.53321E-01,-0.52972E-01,-0.52623E-01,-0.52274E-01, & - &-0.51926E-01,-0.51578E-01,-0.51231E-01,-0.50884E-01,-0.50537E-01, & - &-0.50191E-01,-0.49844E-01,-0.49499E-01,-0.49153E-01,-0.48808E-01, & - &-0.48463E-01,-0.48119E-01,-0.47775E-01,-0.47431E-01,-0.47087E-01, & - &-0.46744E-01,-0.46401E-01,-0.46059E-01,-0.45717E-01,-0.45375E-01, & - &-0.45033E-01,-0.44692E-01,-0.44351E-01,-0.44011E-01,-0.43670E-01, & - &-0.43331E-01,-0.42991E-01,-0.42652E-01,-0.42313E-01,-0.41974E-01, & - &-0.41636E-01,-0.41298E-01,-0.40960E-01,-0.40623E-01,-0.40286E-01, & - &-0.39949E-01,-0.39613E-01,-0.39277E-01,-0.38941E-01,-0.38605E-01/ - - DATA (BNC06M(I),I=601,700)/ & - &-0.35001E-01,-0.31698E-01,-0.28424E-01,-0.25181E-01,-0.21967E-01, & - &-0.18782E-01,-0.15626E-01,-0.12497E-01,-0.93962E-02,-0.63224E-02, & - &-0.32753E-02,-0.25445E-03, 0.27406E-02, 0.57102E-02, 0.86548E-02, & - & 0.11575E-01, 0.14470E-01, 0.17342E-01, 0.20191E-01, 0.23016E-01, & - & 0.25819E-01, 0.28599E-01, 0.31357E-01, 0.34093E-01, 0.36808E-01, & - & 0.39502E-01, 0.42175E-01, 0.44827E-01, 0.47460E-01, 0.50072E-01, & - & 0.52665E-01, 0.55239E-01, 0.57793E-01, 0.60329E-01, 0.62847E-01, & - & 0.65346E-01, 0.67827E-01, 0.70291E-01, 0.72737E-01, 0.75166E-01, & - & 0.77577E-01, 0.79972E-01, 0.82351E-01, 0.84713E-01, 0.87059E-01, & - & 0.89390E-01, 0.91704E-01, 0.94003E-01, 0.96287E-01, 0.98556E-01, & - & 0.10081E+00, 0.10305E+00, 0.10527E+00, 0.10749E+00, 0.10968E+00, & - & 0.11186E+00, 0.11403E+00, 0.11619E+00, 0.11833E+00, 0.12046E+00, & - & 0.12257E+00, 0.12468E+00, 0.12677E+00, 0.12884E+00, 0.13091E+00, & - & 0.13296E+00, 0.13500E+00, 0.13703E+00, 0.13904E+00, 0.14105E+00, & - & 0.14304E+00, 0.14502E+00, 0.14699E+00, 0.14895E+00, 0.15090E+00, & - & 0.15283E+00, 0.15476E+00, 0.15668E+00, 0.15858E+00, 0.16047E+00, & - & 0.16236E+00, 0.16423E+00, 0.16609E+00, 0.16795E+00, 0.16979E+00, & - & 0.17162E+00, 0.17345E+00, 0.17526E+00, 0.17706E+00, 0.17886E+00, & - & 0.18064E+00, 0.18242E+00, 0.18419E+00, 0.18595E+00, 0.18769E+00, & - & 0.18944E+00, 0.19117E+00, 0.19289E+00, 0.19460E+00, 0.19631E+00/ - - DATA (BNC06M(I),I=701,741)/ & - & 0.19801E+00, 0.19970E+00, 0.20138E+00, 0.20305E+00, 0.20471E+00, & - & 0.20637E+00, 0.20802E+00, 0.20966E+00, 0.21129E+00, 0.21292E+00, & - & 0.21453E+00, 0.21614E+00, 0.21775E+00, 0.21934E+00, 0.22093E+00, & - & 0.22251E+00, 0.22408E+00, 0.22565E+00, 0.22721E+00, 0.22876E+00, & - & 0.23030E+00, 0.23184E+00, 0.23337E+00, 0.23490E+00, 0.23641E+00, & - & 0.23792E+00, 0.23943E+00, 0.24093E+00, 0.24242E+00, 0.24390E+00, & - & 0.24538E+00, 0.24685E+00, 0.24832E+00, 0.24978E+00, 0.25123E+00, & - & 0.25268E+00, 0.25412E+00, 0.25555E+00, 0.25698E+00, 0.25840E+00, & - & 0.25982E+00 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.92967E-01,-0.20158E+00,-0.25546E+00,-0.29333E+00,-0.32290E+00, & - &-0.34726E+00,-0.36803E+00,-0.38614E+00,-0.40221E+00,-0.41665E+00, & - &-0.42977E+00,-0.44179E+00,-0.45288E+00,-0.46316E+00,-0.47275E+00, & - &-0.48173E+00,-0.49018E+00,-0.49815E+00,-0.50570E+00,-0.51286E+00, & - &-0.51967E+00,-0.52616E+00,-0.53237E+00,-0.53830E+00,-0.54400E+00, & - &-0.54947E+00,-0.55472E+00,-0.55979E+00,-0.56467E+00,-0.56938E+00, & - &-0.57394E+00,-0.57834E+00,-0.58261E+00,-0.58674E+00,-0.59075E+00, & - &-0.59465E+00,-0.59843E+00,-0.60211E+00,-0.60568E+00,-0.60916E+00, & - &-0.61255E+00,-0.61586E+00,-0.61908E+00,-0.62223E+00,-0.62530E+00, & - &-0.62830E+00,-0.63123E+00,-0.63409E+00,-0.63689E+00,-0.63963E+00, & - &-0.64231E+00,-0.64494E+00,-0.64751E+00,-0.65003E+00,-0.65250E+00, & - &-0.65493E+00,-0.65730E+00,-0.65964E+00,-0.66192E+00,-0.66417E+00, & - &-0.66638E+00,-0.66855E+00,-0.67068E+00,-0.67278E+00,-0.67484E+00, & - &-0.67686E+00,-0.67886E+00,-0.68082E+00,-0.68275E+00,-0.68465E+00, & - &-0.68652E+00,-0.68837E+00,-0.69019E+00,-0.69198E+00,-0.69375E+00, & - &-0.69549E+00,-0.69720E+00,-0.69890E+00,-0.70057E+00,-0.70222E+00, & - &-0.70385E+00,-0.70546E+00,-0.70704E+00,-0.70861E+00,-0.71016E+00, & - &-0.71169E+00,-0.71320E+00,-0.71470E+00,-0.71617E+00,-0.71763E+00, & - &-0.71908E+00,-0.72050E+00,-0.72192E+00,-0.72331E+00,-0.72470E+00, & - &-0.72606E+00,-0.72742E+00,-0.72875E+00,-0.73008E+00,-0.73139E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.73269E+00,-0.73398E+00,-0.73525E+00,-0.73651E+00,-0.73776E+00, & - &-0.73899E+00,-0.74022E+00,-0.74143E+00,-0.74263E+00,-0.74383E+00, & - &-0.74501E+00,-0.74617E+00,-0.74733E+00,-0.74848E+00,-0.74962E+00, & - &-0.75075E+00,-0.75186E+00,-0.75297E+00,-0.75407E+00,-0.75516E+00, & - &-0.75624E+00,-0.75731E+00,-0.75837E+00,-0.75942E+00,-0.76047E+00, & - &-0.76150E+00,-0.76253E+00,-0.76354E+00,-0.76455E+00,-0.76556E+00, & - &-0.76655E+00,-0.76753E+00,-0.76851E+00,-0.76948E+00,-0.77044E+00, & - &-0.77140E+00,-0.77235E+00,-0.77329E+00,-0.77422E+00,-0.77514E+00, & - &-0.77606E+00,-0.77697E+00,-0.77788E+00,-0.77878E+00,-0.77967E+00, & - &-0.78055E+00,-0.78143E+00,-0.78231E+00,-0.78317E+00,-0.78403E+00, & - &-0.78489E+00,-0.78573E+00,-0.78658E+00,-0.78741E+00,-0.78824E+00, & - &-0.78907E+00,-0.78989E+00,-0.79070E+00,-0.79151E+00,-0.79231E+00, & - &-0.79311E+00,-0.79390E+00,-0.79469E+00,-0.79547E+00,-0.79625E+00, & - &-0.79702E+00,-0.79779E+00,-0.79855E+00,-0.79930E+00,-0.80006E+00, & - &-0.80080E+00,-0.80155E+00,-0.80229E+00,-0.80302E+00,-0.80375E+00, & - &-0.80447E+00,-0.80519E+00,-0.80591E+00,-0.80662E+00,-0.80733E+00, & - &-0.80803E+00,-0.80873E+00,-0.80943E+00,-0.81012E+00,-0.81081E+00, & - &-0.81149E+00,-0.81217E+00,-0.81284E+00,-0.81351E+00,-0.81418E+00, & - &-0.81485E+00,-0.81551E+00,-0.81616E+00,-0.81682E+00,-0.81747E+00, & - &-0.81811E+00,-0.81875E+00,-0.81939E+00,-0.82003E+00,-0.82066E+00/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.82129E+00,-0.82191E+00,-0.82254E+00,-0.82315E+00,-0.82377E+00, & - &-0.82438E+00,-0.82499E+00,-0.82560E+00,-0.82620E+00,-0.82680E+00, & - &-0.82740E+00,-0.82799E+00,-0.82858E+00,-0.82917E+00,-0.82975E+00, & - &-0.83033E+00,-0.83091E+00,-0.83149E+00,-0.83206E+00,-0.83263E+00, & - &-0.83320E+00,-0.83376E+00,-0.83433E+00,-0.83489E+00,-0.83544E+00, & - &-0.83600E+00,-0.83655E+00,-0.83710E+00,-0.83764E+00,-0.83819E+00, & - &-0.83873E+00,-0.83927E+00,-0.83980E+00,-0.84034E+00,-0.84087E+00, & - &-0.84140E+00,-0.84192E+00,-0.84245E+00,-0.84297E+00,-0.84349E+00, & - &-0.84401E+00,-0.84452E+00,-0.84503E+00,-0.84554E+00,-0.84605E+00, & - &-0.84656E+00,-0.84706E+00,-0.84756E+00,-0.84806E+00,-0.84856E+00, & - &-0.84905E+00,-0.84954E+00,-0.85003E+00,-0.85052E+00,-0.85101E+00, & - &-0.85149E+00,-0.85198E+00,-0.85246E+00,-0.85294E+00,-0.85341E+00, & - &-0.85389E+00,-0.85436E+00,-0.85483E+00,-0.85530E+00,-0.85576E+00, & - &-0.85623E+00,-0.85669E+00,-0.85715E+00,-0.85761E+00,-0.85807E+00, & - &-0.85852E+00,-0.85898E+00,-0.85943E+00,-0.85988E+00,-0.86033E+00, & - &-0.86077E+00,-0.86122E+00,-0.86166E+00,-0.86210E+00,-0.86254E+00, & - &-0.86298E+00,-0.86342E+00,-0.86385E+00,-0.86429E+00,-0.86472E+00, & - &-0.86515E+00,-0.86557E+00,-0.86600E+00,-0.86643E+00,-0.86685E+00, & - &-0.86727E+00,-0.86769E+00,-0.86811E+00,-0.86853E+00,-0.86894E+00, & - &-0.86936E+00,-0.86977E+00,-0.87018E+00,-0.87059E+00,-0.87100E+00/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.87140E+00,-0.87181E+00,-0.87221E+00,-0.87261E+00,-0.87301E+00, & - &-0.87341E+00,-0.87381E+00,-0.87421E+00,-0.87460E+00,-0.87500E+00, & - &-0.87539E+00,-0.87578E+00,-0.87617E+00,-0.87656E+00,-0.87695E+00, & - &-0.87733E+00,-0.87772E+00,-0.87810E+00,-0.87848E+00,-0.87886E+00, & - &-0.87924E+00,-0.87962E+00,-0.87999E+00,-0.88037E+00,-0.88074E+00, & - &-0.88112E+00,-0.88149E+00,-0.88186E+00,-0.88223E+00,-0.88259E+00, & - &-0.88296E+00,-0.88333E+00,-0.88369E+00,-0.88405E+00,-0.88442E+00, & - &-0.88478E+00,-0.88514E+00,-0.88549E+00,-0.88585E+00,-0.88621E+00, & - &-0.88656E+00,-0.88692E+00,-0.88727E+00,-0.88762E+00,-0.88797E+00, & - &-0.88832E+00,-0.88867E+00,-0.88902E+00,-0.88936E+00,-0.88971E+00, & - &-0.89005E+00,-0.89039E+00,-0.89074E+00,-0.89108E+00,-0.89142E+00, & - &-0.89176E+00,-0.89209E+00,-0.89243E+00,-0.89277E+00,-0.89310E+00, & - &-0.89343E+00,-0.89377E+00,-0.89410E+00,-0.89443E+00,-0.89476E+00, & - &-0.89509E+00,-0.89541E+00,-0.89574E+00,-0.89607E+00,-0.89639E+00, & - &-0.89671E+00,-0.89704E+00,-0.89736E+00,-0.89768E+00,-0.89800E+00, & - &-0.89832E+00,-0.89864E+00,-0.89896E+00,-0.89927E+00,-0.89959E+00, & - &-0.89990E+00,-0.90022E+00,-0.90053E+00,-0.90084E+00,-0.90115E+00, & - &-0.90146E+00,-0.90177E+00,-0.90208E+00,-0.90239E+00,-0.90269E+00, & - &-0.90300E+00,-0.90330E+00,-0.90361E+00,-0.90391E+00,-0.90421E+00, & - &-0.90451E+00,-0.90481E+00,-0.90511E+00,-0.90541E+00,-0.90571E+00/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.90601E+00,-0.90631E+00,-0.90660E+00,-0.90690E+00,-0.90719E+00, & - &-0.90748E+00,-0.90778E+00,-0.90807E+00,-0.90836E+00,-0.90865E+00, & - &-0.90894E+00,-0.90923E+00,-0.90952E+00,-0.90980E+00,-0.91009E+00, & - &-0.91038E+00,-0.91066E+00,-0.91095E+00,-0.91123E+00,-0.91151E+00, & - &-0.91179E+00,-0.91207E+00,-0.91236E+00,-0.91263E+00,-0.91291E+00, & - &-0.91319E+00,-0.91347E+00,-0.91375E+00,-0.91402E+00,-0.91430E+00, & - &-0.91457E+00,-0.91485E+00,-0.91512E+00,-0.91539E+00,-0.91567E+00, & - &-0.91594E+00,-0.91621E+00,-0.91648E+00,-0.91675E+00,-0.91702E+00, & - &-0.91728E+00,-0.91755E+00,-0.91782E+00,-0.91808E+00,-0.91835E+00, & - &-0.91861E+00,-0.91888E+00,-0.91914E+00,-0.91940E+00,-0.91967E+00, & - &-0.91993E+00,-0.92019E+00,-0.92045E+00,-0.92071E+00,-0.92097E+00, & - &-0.92123E+00,-0.92148E+00,-0.92174E+00,-0.92200E+00,-0.92225E+00, & - &-0.92251E+00,-0.92276E+00,-0.92302E+00,-0.92327E+00,-0.92352E+00, & - &-0.92378E+00,-0.92403E+00,-0.92428E+00,-0.92453E+00,-0.92478E+00, & - &-0.92503E+00,-0.92528E+00,-0.92552E+00,-0.92577E+00,-0.92602E+00, & - &-0.92627E+00,-0.92651E+00,-0.92676E+00,-0.92700E+00,-0.92725E+00, & - &-0.92749E+00,-0.92773E+00,-0.92798E+00,-0.92822E+00,-0.92846E+00, & - &-0.92870E+00,-0.92894E+00,-0.92918E+00,-0.92942E+00,-0.92966E+00, & - &-0.92990E+00,-0.93013E+00,-0.93037E+00,-0.93061E+00,-0.93084E+00, & - &-0.93108E+00,-0.93131E+00,-0.93155E+00,-0.93178E+00,-0.93202E+00/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.93225E+00,-0.93248E+00,-0.93271E+00,-0.93294E+00,-0.93317E+00, & - &-0.93341E+00,-0.93363E+00,-0.93386E+00,-0.93409E+00,-0.93432E+00, & - &-0.93455E+00,-0.93478E+00,-0.93500E+00,-0.93523E+00,-0.93546E+00, & - &-0.93568E+00,-0.93591E+00,-0.93613E+00,-0.93636E+00,-0.93658E+00, & - &-0.93680E+00,-0.93702E+00,-0.93725E+00,-0.93747E+00,-0.93769E+00, & - &-0.93791E+00,-0.93813E+00,-0.93835E+00,-0.93857E+00,-0.93879E+00, & - &-0.93901E+00,-0.93923E+00,-0.93944E+00,-0.93966E+00,-0.93988E+00, & - &-0.94009E+00,-0.94031E+00,-0.94052E+00,-0.94074E+00,-0.94095E+00, & - &-0.94117E+00,-0.94138E+00,-0.94159E+00,-0.94181E+00,-0.94202E+00, & - &-0.94223E+00,-0.94244E+00,-0.94265E+00,-0.94286E+00,-0.94307E+00, & - &-0.94328E+00,-0.94349E+00,-0.94370E+00,-0.94391E+00,-0.94412E+00, & - &-0.94433E+00,-0.94453E+00,-0.94474E+00,-0.94495E+00,-0.94515E+00, & - &-0.94536E+00,-0.94556E+00,-0.94577E+00,-0.94597E+00,-0.94618E+00, & - &-0.94638E+00,-0.94658E+00,-0.94679E+00,-0.94699E+00,-0.94719E+00, & - &-0.94739E+00,-0.94759E+00,-0.94779E+00,-0.94799E+00,-0.94819E+00, & - &-0.94839E+00,-0.94859E+00,-0.94879E+00,-0.94899E+00,-0.94919E+00, & - &-0.94939E+00,-0.94958E+00,-0.94978E+00,-0.94998E+00,-0.95017E+00, & - &-0.95037E+00,-0.95057E+00,-0.95076E+00,-0.95096E+00,-0.95115E+00, & - &-0.95134E+00,-0.95154E+00,-0.95173E+00,-0.95192E+00,-0.95212E+00, & - &-0.95231E+00,-0.95250E+00,-0.95269E+00,-0.95288E+00,-0.95307E+00/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.95511E+00,-0.95697E+00,-0.95879E+00,-0.96057E+00,-0.96233E+00, & - &-0.96406E+00,-0.96576E+00,-0.96743E+00,-0.96907E+00,-0.97069E+00, & - &-0.97228E+00,-0.97385E+00,-0.97539E+00,-0.97691E+00,-0.97841E+00, & - &-0.97989E+00,-0.98134E+00,-0.98277E+00,-0.98418E+00,-0.98558E+00, & - &-0.98695E+00,-0.98830E+00,-0.98964E+00,-0.99096E+00,-0.99226E+00, & - &-0.99354E+00,-0.99481E+00,-0.99606E+00,-0.99730E+00,-0.99852E+00, & - &-0.99972E+00,-0.10009E+01,-0.10021E+01,-0.10032E+01,-0.10044E+01, & - &-0.10055E+01,-0.10067E+01,-0.10078E+01,-0.10089E+01,-0.10099E+01, & - &-0.10110E+01,-0.10121E+01,-0.10131E+01,-0.10142E+01,-0.10152E+01, & - &-0.10162E+01,-0.10172E+01,-0.10182E+01,-0.10192E+01,-0.10201E+01, & - &-0.10211E+01,-0.10221E+01,-0.10230E+01,-0.10239E+01,-0.10249E+01, & - &-0.10258E+01,-0.10267E+01,-0.10276E+01,-0.10285E+01,-0.10293E+01, & - &-0.10302E+01,-0.10311E+01,-0.10319E+01,-0.10328E+01,-0.10336E+01, & - &-0.10345E+01,-0.10353E+01,-0.10361E+01,-0.10369E+01,-0.10377E+01, & - &-0.10385E+01,-0.10393E+01,-0.10401E+01,-0.10409E+01,-0.10417E+01, & - &-0.10424E+01,-0.10432E+01,-0.10439E+01,-0.10447E+01,-0.10454E+01, & - &-0.10461E+01,-0.10469E+01,-0.10476E+01,-0.10483E+01,-0.10490E+01, & - &-0.10497E+01,-0.10504E+01,-0.10511E+01,-0.10518E+01,-0.10525E+01, & - &-0.10532E+01,-0.10538E+01,-0.10545E+01,-0.10552E+01,-0.10558E+01, & - &-0.10565E+01,-0.10571E+01,-0.10578E+01,-0.10584E+01,-0.10591E+01/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.10597E+01,-0.10603E+01,-0.10609E+01,-0.10616E+01,-0.10622E+01, & - &-0.10628E+01,-0.10634E+01,-0.10640E+01,-0.10646E+01,-0.10652E+01, & - &-0.10658E+01,-0.10663E+01,-0.10669E+01,-0.10675E+01,-0.10681E+01, & - &-0.10687E+01,-0.10692E+01,-0.10698E+01,-0.10703E+01,-0.10709E+01, & - &-0.10714E+01,-0.10720E+01,-0.10725E+01,-0.10731E+01,-0.10736E+01, & - &-0.10742E+01,-0.10747E+01,-0.10752E+01,-0.10757E+01,-0.10763E+01, & - &-0.10768E+01,-0.10773E+01,-0.10778E+01,-0.10783E+01,-0.10788E+01, & - &-0.10793E+01,-0.10798E+01,-0.10803E+01,-0.10808E+01,-0.10813E+01, & - &-0.10818E+01 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.43840E-01,-0.87607E-01,-0.10559E+00,-0.11630E+00,-0.12329E+00, & - &-0.12797E+00,-0.13104E+00,-0.13292E+00,-0.13386E+00,-0.13406E+00, & - &-0.13363E+00,-0.13266E+00,-0.13123E+00,-0.12939E+00,-0.12719E+00, & - &-0.12466E+00,-0.12183E+00,-0.11873E+00,-0.11538E+00,-0.11178E+00, & - &-0.10797E+00,-0.10396E+00,-0.99747E-01,-0.95354E-01,-0.90787E-01, & - &-0.86056E-01,-0.81168E-01,-0.76132E-01,-0.70954E-01,-0.65641E-01, & - &-0.60198E-01,-0.54632E-01,-0.48948E-01,-0.43150E-01,-0.37245E-01, & - &-0.31235E-01,-0.25127E-01,-0.18924E-01,-0.12630E-01,-0.62488E-02, & - & 0.21565E-03, 0.67597E-02, 0.13380E-01, 0.20073E-01, 0.26837E-01, & - & 0.33667E-01, 0.40561E-01, 0.47517E-01, 0.54532E-01, 0.61603E-01, & - & 0.68729E-01, 0.75906E-01, 0.83134E-01, 0.90410E-01, 0.97733E-01, & - & 0.10510E+00, 0.11251E+00, 0.11997E+00, 0.12746E+00, 0.13500E+00, & - & 0.14258E+00, 0.15019E+00, 0.15784E+00, 0.16554E+00, 0.17327E+00, & - & 0.18103E+00, 0.18884E+00, 0.19668E+00, 0.20456E+00, 0.21248E+00, & - & 0.22044E+00, 0.22843E+00, 0.23647E+00, 0.24454E+00, 0.25266E+00, & - & 0.26081E+00, 0.26901E+00, 0.27725E+00, 0.28553E+00, 0.29386E+00, & - & 0.30223E+00, 0.31064E+00, 0.31909E+00, 0.32759E+00, 0.33614E+00, & - & 0.34473E+00, 0.35336E+00, 0.36204E+00, 0.37076E+00, 0.37953E+00, & - & 0.38834E+00, 0.39720E+00, 0.40609E+00, 0.41503E+00, 0.42401E+00, & - & 0.43303E+00, 0.44209E+00, 0.45118E+00, 0.46032E+00, 0.46948E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.47869E+00, 0.48792E+00, 0.49718E+00, 0.50648E+00, 0.51580E+00, & - & 0.52515E+00, 0.53452E+00, 0.54391E+00, 0.55333E+00, 0.56276E+00, & - & 0.57221E+00, 0.58168E+00, 0.59116E+00, 0.60066E+00, 0.61016E+00, & - & 0.61968E+00, 0.62920E+00, 0.63872E+00, 0.64826E+00, 0.65779E+00, & - & 0.66733E+00, 0.67687E+00, 0.68641E+00, 0.69595E+00, 0.70548E+00, & - & 0.71501E+00, 0.72454E+00, 0.73406E+00, 0.74357E+00, 0.75308E+00, & - & 0.76258E+00, 0.77207E+00, 0.78155E+00, 0.79102E+00, 0.80048E+00, & - & 0.80993E+00, 0.81936E+00, 0.82879E+00, 0.83820E+00, 0.84760E+00, & - & 0.85698E+00, 0.86635E+00, 0.87571E+00, 0.88505E+00, 0.89438E+00, & - & 0.90369E+00, 0.91298E+00, 0.92226E+00, 0.93153E+00, 0.94078E+00, & - & 0.95001E+00, 0.95923E+00, 0.96843E+00, 0.97761E+00, 0.98678E+00, & - & 0.99593E+00, 0.10051E+01, 0.10142E+01, 0.10233E+01, 0.10324E+01, & - & 0.10414E+01, 0.10505E+01, 0.10595E+01, 0.10685E+01, 0.10775E+01, & - & 0.10865E+01, 0.10954E+01, 0.11044E+01, 0.11133E+01, 0.11222E+01, & - & 0.11311E+01, 0.11399E+01, 0.11488E+01, 0.11576E+01, 0.11664E+01, & - & 0.11752E+01, 0.11840E+01, 0.11928E+01, 0.12015E+01, 0.12102E+01, & - & 0.12190E+01, 0.12276E+01, 0.12363E+01, 0.12450E+01, 0.12536E+01, & - & 0.12622E+01, 0.12708E+01, 0.12794E+01, 0.12879E+01, 0.12965E+01, & - & 0.13050E+01, 0.13135E+01, 0.13220E+01, 0.13305E+01, 0.13389E+01, & - & 0.13474E+01, 0.13558E+01, 0.13642E+01, 0.13726E+01, 0.13809E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.13893E+01, 0.13976E+01, 0.14059E+01, 0.14142E+01, 0.14225E+01, & - & 0.14307E+01, 0.14390E+01, 0.14472E+01, 0.14554E+01, 0.14636E+01, & - & 0.14718E+01, 0.14799E+01, 0.14881E+01, 0.14962E+01, 0.15043E+01, & - & 0.15124E+01, 0.15204E+01, 0.15285E+01, 0.15365E+01, 0.15445E+01, & - & 0.15525E+01, 0.15605E+01, 0.15685E+01, 0.15764E+01, 0.15843E+01, & - & 0.15923E+01, 0.16002E+01, 0.16080E+01, 0.16159E+01, 0.16237E+01, & - & 0.16316E+01, 0.16394E+01, 0.16472E+01, 0.16550E+01, 0.16627E+01, & - & 0.16705E+01, 0.16782E+01, 0.16859E+01, 0.16936E+01, 0.17013E+01, & - & 0.17090E+01, 0.17166E+01, 0.17243E+01, 0.17319E+01, 0.17395E+01, & - & 0.17471E+01, 0.17547E+01, 0.17622E+01, 0.17698E+01, 0.17773E+01, & - & 0.17848E+01, 0.17923E+01, 0.17998E+01, 0.18072E+01, 0.18147E+01, & - & 0.18221E+01, 0.18295E+01, 0.18369E+01, 0.18443E+01, 0.18517E+01, & - & 0.18591E+01, 0.18664E+01, 0.18737E+01, 0.18811E+01, 0.18884E+01, & - & 0.18956E+01, 0.19029E+01, 0.19102E+01, 0.19174E+01, 0.19246E+01, & - & 0.19318E+01, 0.19390E+01, 0.19462E+01, 0.19534E+01, 0.19605E+01, & - & 0.19677E+01, 0.19748E+01, 0.19819E+01, 0.19890E+01, 0.19961E+01, & - & 0.20032E+01, 0.20102E+01, 0.20173E+01, 0.20243E+01, 0.20313E+01, & - & 0.20383E+01, 0.20453E+01, 0.20523E+01, 0.20592E+01, 0.20662E+01, & - & 0.20731E+01, 0.20800E+01, 0.20869E+01, 0.20938E+01, 0.21007E+01, & - & 0.21075E+01, 0.21144E+01, 0.21212E+01, 0.21281E+01, 0.21349E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.21417E+01, 0.21485E+01, 0.21552E+01, 0.21620E+01, 0.21687E+01, & - & 0.21755E+01, 0.21822E+01, 0.21889E+01, 0.21956E+01, 0.22023E+01, & - & 0.22089E+01, 0.22156E+01, 0.22222E+01, 0.22289E+01, 0.22355E+01, & - & 0.22421E+01, 0.22487E+01, 0.22553E+01, 0.22619E+01, 0.22684E+01, & - & 0.22750E+01, 0.22815E+01, 0.22880E+01, 0.22945E+01, 0.23010E+01, & - & 0.23075E+01, 0.23140E+01, 0.23205E+01, 0.23269E+01, 0.23333E+01, & - & 0.23398E+01, 0.23462E+01, 0.23526E+01, 0.23590E+01, 0.23654E+01, & - & 0.23717E+01, 0.23781E+01, 0.23844E+01, 0.23908E+01, 0.23971E+01, & - & 0.24034E+01, 0.24097E+01, 0.24160E+01, 0.24223E+01, 0.24285E+01, & - & 0.24348E+01, 0.24410E+01, 0.24473E+01, 0.24535E+01, 0.24597E+01, & - & 0.24659E+01, 0.24721E+01, 0.24783E+01, 0.24844E+01, 0.24906E+01, & - & 0.24967E+01, 0.25029E+01, 0.25090E+01, 0.25151E+01, 0.25212E+01, & - & 0.25273E+01, 0.25334E+01, 0.25395E+01, 0.25455E+01, 0.25516E+01, & - & 0.25576E+01, 0.25636E+01, 0.25697E+01, 0.25757E+01, 0.25817E+01, & - & 0.25877E+01, 0.25936E+01, 0.25996E+01, 0.26056E+01, 0.26115E+01, & - & 0.26174E+01, 0.26234E+01, 0.26293E+01, 0.26352E+01, 0.26411E+01, & - & 0.26470E+01, 0.26529E+01, 0.26587E+01, 0.26646E+01, 0.26704E+01, & - & 0.26763E+01, 0.26821E+01, 0.26879E+01, 0.26937E+01, 0.26995E+01, & - & 0.27053E+01, 0.27111E+01, 0.27169E+01, 0.27226E+01, 0.27284E+01, & - & 0.27341E+01, 0.27398E+01, 0.27456E+01, 0.27513E+01, 0.27570E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.27627E+01, 0.27684E+01, 0.27740E+01, 0.27797E+01, 0.27854E+01, & - & 0.27910E+01, 0.27967E+01, 0.28023E+01, 0.28079E+01, 0.28135E+01, & - & 0.28191E+01, 0.28247E+01, 0.28303E+01, 0.28359E+01, 0.28415E+01, & - & 0.28470E+01, 0.28526E+01, 0.28581E+01, 0.28636E+01, 0.28692E+01, & - & 0.28747E+01, 0.28802E+01, 0.28857E+01, 0.28912E+01, 0.28966E+01, & - & 0.29021E+01, 0.29076E+01, 0.29130E+01, 0.29185E+01, 0.29239E+01, & - & 0.29293E+01, 0.29348E+01, 0.29402E+01, 0.29456E+01, 0.29510E+01, & - & 0.29564E+01, 0.29617E+01, 0.29671E+01, 0.29725E+01, 0.29778E+01, & - & 0.29832E+01, 0.29885E+01, 0.29938E+01, 0.29992E+01, 0.30045E+01, & - & 0.30098E+01, 0.30151E+01, 0.30204E+01, 0.30256E+01, 0.30309E+01, & - & 0.30362E+01, 0.30414E+01, 0.30467E+01, 0.30519E+01, 0.30572E+01, & - & 0.30624E+01, 0.30676E+01, 0.30728E+01, 0.30780E+01, 0.30832E+01, & - & 0.30884E+01, 0.30936E+01, 0.30987E+01, 0.31039E+01, 0.31091E+01, & - & 0.31142E+01, 0.31193E+01, 0.31245E+01, 0.31296E+01, 0.31347E+01, & - & 0.31398E+01, 0.31449E+01, 0.31500E+01, 0.31551E+01, 0.31602E+01, & - & 0.31653E+01, 0.31703E+01, 0.31754E+01, 0.31804E+01, 0.31855E+01, & - & 0.31905E+01, 0.31955E+01, 0.32006E+01, 0.32056E+01, 0.32106E+01, & - & 0.32156E+01, 0.32206E+01, 0.32256E+01, 0.32305E+01, 0.32355E+01, & - & 0.32405E+01, 0.32454E+01, 0.32504E+01, 0.32553E+01, 0.32603E+01, & - & 0.32652E+01, 0.32701E+01, 0.32750E+01, 0.32799E+01, 0.32848E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.32897E+01, 0.32946E+01, 0.32995E+01, 0.33044E+01, 0.33092E+01, & - & 0.33141E+01, 0.33189E+01, 0.33238E+01, 0.33286E+01, 0.33335E+01, & - & 0.33383E+01, 0.33431E+01, 0.33479E+01, 0.33527E+01, 0.33575E+01, & - & 0.33623E+01, 0.33671E+01, 0.33719E+01, 0.33766E+01, 0.33814E+01, & - & 0.33862E+01, 0.33909E+01, 0.33957E+01, 0.34004E+01, 0.34051E+01, & - & 0.34099E+01, 0.34146E+01, 0.34193E+01, 0.34240E+01, 0.34287E+01, & - & 0.34334E+01, 0.34381E+01, 0.34428E+01, 0.34475E+01, 0.34521E+01, & - & 0.34568E+01, 0.34615E+01, 0.34661E+01, 0.34707E+01, 0.34754E+01, & - & 0.34800E+01, 0.34846E+01, 0.34893E+01, 0.34939E+01, 0.34985E+01, & - & 0.35031E+01, 0.35077E+01, 0.35123E+01, 0.35169E+01, 0.35214E+01, & - & 0.35260E+01, 0.35306E+01, 0.35351E+01, 0.35397E+01, 0.35442E+01, & - & 0.35488E+01, 0.35533E+01, 0.35578E+01, 0.35624E+01, 0.35669E+01, & - & 0.35714E+01, 0.35759E+01, 0.35804E+01, 0.35849E+01, 0.35894E+01, & - & 0.35939E+01, 0.35983E+01, 0.36028E+01, 0.36073E+01, 0.36117E+01, & - & 0.36162E+01, 0.36206E+01, 0.36251E+01, 0.36295E+01, 0.36340E+01, & - & 0.36384E+01, 0.36428E+01, 0.36472E+01, 0.36516E+01, 0.36560E+01, & - & 0.36604E+01, 0.36648E+01, 0.36692E+01, 0.36736E+01, 0.36780E+01, & - & 0.36823E+01, 0.36867E+01, 0.36910E+01, 0.36954E+01, 0.36997E+01, & - & 0.37041E+01, 0.37084E+01, 0.37128E+01, 0.37171E+01, 0.37214E+01, & - & 0.37257E+01, 0.37300E+01, 0.37343E+01, 0.37386E+01, 0.37429E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.37890E+01, 0.38311E+01, 0.38727E+01, 0.39138E+01, 0.39544E+01, & - & 0.39945E+01, 0.40342E+01, 0.40734E+01, 0.41122E+01, 0.41506E+01, & - & 0.41885E+01, 0.42261E+01, 0.42632E+01, 0.42999E+01, 0.43363E+01, & - & 0.43722E+01, 0.44079E+01, 0.44431E+01, 0.44780E+01, 0.45125E+01, & - & 0.45467E+01, 0.45806E+01, 0.46141E+01, 0.46473E+01, 0.46802E+01, & - & 0.47128E+01, 0.47451E+01, 0.47771E+01, 0.48088E+01, 0.48402E+01, & - & 0.48713E+01, 0.49022E+01, 0.49327E+01, 0.49630E+01, 0.49931E+01, & - & 0.50229E+01, 0.50524E+01, 0.50817E+01, 0.51107E+01, 0.51395E+01, & - & 0.51681E+01, 0.51964E+01, 0.52245E+01, 0.52524E+01, 0.52800E+01, & - & 0.53074E+01, 0.53346E+01, 0.53616E+01, 0.53884E+01, 0.54150E+01, & - & 0.54414E+01, 0.54676E+01, 0.54936E+01, 0.55194E+01, 0.55450E+01, & - & 0.55704E+01, 0.55956E+01, 0.56206E+01, 0.56455E+01, 0.56702E+01, & - & 0.56947E+01, 0.57191E+01, 0.57432E+01, 0.57672E+01, 0.57911E+01, & - & 0.58148E+01, 0.58383E+01, 0.58616E+01, 0.58848E+01, 0.59079E+01, & - & 0.59308E+01, 0.59535E+01, 0.59761E+01, 0.59986E+01, 0.60209E+01, & - & 0.60430E+01, 0.60650E+01, 0.60869E+01, 0.61087E+01, 0.61303E+01, & - & 0.61517E+01, 0.61731E+01, 0.61943E+01, 0.62154E+01, 0.62363E+01, & - & 0.62572E+01, 0.62779E+01, 0.62984E+01, 0.63189E+01, 0.63392E+01, & - & 0.63595E+01, 0.63796E+01, 0.63996E+01, 0.64194E+01, 0.64392E+01, & - & 0.64588E+01, 0.64784E+01, 0.64978E+01, 0.65171E+01, 0.65363E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.65554E+01, 0.65744E+01, 0.65933E+01, 0.66121E+01, 0.66308E+01, & - & 0.66494E+01, 0.66679E+01, 0.66863E+01, 0.67046E+01, 0.67228E+01, & - & 0.67409E+01, 0.67589E+01, 0.67768E+01, 0.67947E+01, 0.68124E+01, & - & 0.68300E+01, 0.68476E+01, 0.68651E+01, 0.68824E+01, 0.68997E+01, & - & 0.69169E+01, 0.69341E+01, 0.69511E+01, 0.69680E+01, 0.69849E+01, & - & 0.70017E+01, 0.70184E+01, 0.70350E+01, 0.70516E+01, 0.70681E+01, & - & 0.70845E+01, 0.71008E+01, 0.71170E+01, 0.71332E+01, 0.71493E+01, & - & 0.71653E+01, 0.71812E+01, 0.71971E+01, 0.72129E+01, 0.72286E+01, & - & 0.72442E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.45695E-01,-0.97041E-01,-0.12160E+00,-0.13842E+00,-0.15124E+00, & - &-0.16156E+00,-0.17015E+00,-0.17746E+00,-0.18378E+00,-0.18930E+00, & - &-0.19417E+00,-0.19849E+00,-0.20233E+00,-0.20577E+00,-0.20884E+00, & - &-0.21160E+00,-0.21406E+00,-0.21627E+00,-0.21823E+00,-0.21998E+00, & - &-0.22152E+00,-0.22288E+00,-0.22406E+00,-0.22508E+00,-0.22594E+00, & - &-0.22665E+00,-0.22723E+00,-0.22768E+00,-0.22800E+00,-0.22821E+00, & - &-0.22830E+00,-0.22828E+00,-0.22816E+00,-0.22794E+00,-0.22763E+00, & - &-0.22722E+00,-0.22673E+00,-0.22615E+00,-0.22549E+00,-0.22475E+00, & - &-0.22394E+00,-0.22305E+00,-0.22210E+00,-0.22108E+00,-0.21999E+00, & - &-0.21884E+00,-0.21763E+00,-0.21636E+00,-0.21503E+00,-0.21366E+00, & - &-0.21222E+00,-0.21074E+00,-0.20921E+00,-0.20763E+00,-0.20601E+00, & - &-0.20434E+00,-0.20263E+00,-0.20087E+00,-0.19908E+00,-0.19725E+00, & - &-0.19538E+00,-0.19347E+00,-0.19153E+00,-0.18955E+00,-0.18754E+00, & - &-0.18550E+00,-0.18342E+00,-0.18132E+00,-0.17918E+00,-0.17701E+00, & - &-0.17481E+00,-0.17258E+00,-0.17032E+00,-0.16804E+00,-0.16572E+00, & - &-0.16338E+00,-0.16101E+00,-0.15861E+00,-0.15619E+00,-0.15374E+00, & - &-0.15127E+00,-0.14877E+00,-0.14624E+00,-0.14369E+00,-0.14111E+00, & - &-0.13851E+00,-0.13588E+00,-0.13323E+00,-0.13056E+00,-0.12786E+00, & - &-0.12514E+00,-0.12240E+00,-0.11964E+00,-0.11686E+00,-0.11405E+00, & - &-0.11123E+00,-0.10839E+00,-0.10552E+00,-0.10264E+00,-0.99745E-01/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.96831E-01,-0.93900E-01,-0.90954E-01,-0.87994E-01,-0.85020E-01, & - &-0.82033E-01,-0.79033E-01,-0.76023E-01,-0.73001E-01,-0.69969E-01, & - &-0.66929E-01,-0.63879E-01,-0.60822E-01,-0.57758E-01,-0.54687E-01, & - &-0.51611E-01,-0.48530E-01,-0.45444E-01,-0.42354E-01,-0.39261E-01, & - &-0.36165E-01,-0.33068E-01,-0.29968E-01,-0.26868E-01,-0.23766E-01, & - &-0.20665E-01,-0.17564E-01,-0.14463E-01,-0.11364E-01,-0.82653E-02, & - &-0.51688E-02,-0.20741E-02, 0.10182E-02, 0.41078E-02, 0.71947E-02, & - & 0.10278E-01, 0.13359E-01, 0.16436E-01, 0.19509E-01, 0.22578E-01, & - & 0.25643E-01, 0.28705E-01, 0.31761E-01, 0.34813E-01, 0.37861E-01, & - & 0.40903E-01, 0.43941E-01, 0.46974E-01, 0.50001E-01, 0.53024E-01, & - & 0.56041E-01, 0.59053E-01, 0.62059E-01, 0.65060E-01, 0.68056E-01, & - & 0.71045E-01, 0.74030E-01, 0.77008E-01, 0.79981E-01, 0.82948E-01, & - & 0.85909E-01, 0.88864E-01, 0.91813E-01, 0.94757E-01, 0.97694E-01, & - & 0.10063E+00, 0.10355E+00, 0.10647E+00, 0.10938E+00, 0.11229E+00, & - & 0.11519E+00, 0.11809E+00, 0.12098E+00, 0.12386E+00, 0.12674E+00, & - & 0.12961E+00, 0.13247E+00, 0.13533E+00, 0.13818E+00, 0.14103E+00, & - & 0.14387E+00, 0.14670E+00, 0.14953E+00, 0.15235E+00, 0.15517E+00, & - & 0.15798E+00, 0.16078E+00, 0.16358E+00, 0.16637E+00, 0.16915E+00, & - & 0.17193E+00, 0.17470E+00, 0.17747E+00, 0.18023E+00, 0.18299E+00, & - & 0.18573E+00, 0.18848E+00, 0.19121E+00, 0.19394E+00, 0.19667E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.19939E+00, 0.20210E+00, 0.20480E+00, 0.20751E+00, 0.21020E+00, & - & 0.21289E+00, 0.21557E+00, 0.21825E+00, 0.22092E+00, 0.22358E+00, & - & 0.22624E+00, 0.22890E+00, 0.23154E+00, 0.23419E+00, 0.23682E+00, & - & 0.23945E+00, 0.24208E+00, 0.24470E+00, 0.24731E+00, 0.24992E+00, & - & 0.25252E+00, 0.25512E+00, 0.25771E+00, 0.26029E+00, 0.26287E+00, & - & 0.26545E+00, 0.26802E+00, 0.27058E+00, 0.27314E+00, 0.27569E+00, & - & 0.27824E+00, 0.28078E+00, 0.28331E+00, 0.28584E+00, 0.28837E+00, & - & 0.29089E+00, 0.29340E+00, 0.29591E+00, 0.29841E+00, 0.30091E+00, & - & 0.30341E+00, 0.30589E+00, 0.30838E+00, 0.31086E+00, 0.31333E+00, & - & 0.31580E+00, 0.31826E+00, 0.32071E+00, 0.32317E+00, 0.32561E+00, & - & 0.32806E+00, 0.33049E+00, 0.33292E+00, 0.33535E+00, 0.33777E+00, & - & 0.34019E+00, 0.34260E+00, 0.34501E+00, 0.34741E+00, 0.34981E+00, & - & 0.35220E+00, 0.35459E+00, 0.35697E+00, 0.35935E+00, 0.36172E+00, & - & 0.36409E+00, 0.36645E+00, 0.36881E+00, 0.37117E+00, 0.37352E+00, & - & 0.37586E+00, 0.37820E+00, 0.38054E+00, 0.38287E+00, 0.38520E+00, & - & 0.38752E+00, 0.38983E+00, 0.39215E+00, 0.39446E+00, 0.39676E+00, & - & 0.39906E+00, 0.40135E+00, 0.40364E+00, 0.40593E+00, 0.40821E+00, & - & 0.41049E+00, 0.41276E+00, 0.41503E+00, 0.41729E+00, 0.41955E+00, & - & 0.42181E+00, 0.42406E+00, 0.42631E+00, 0.42855E+00, 0.43079E+00, & - & 0.43302E+00, 0.43525E+00, 0.43747E+00, 0.43970E+00, 0.44191E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.44413E+00, 0.44633E+00, 0.44854E+00, 0.45074E+00, 0.45294E+00, & - & 0.45513E+00, 0.45732E+00, 0.45950E+00, 0.46168E+00, 0.46386E+00, & - & 0.46603E+00, 0.46820E+00, 0.47036E+00, 0.47252E+00, 0.47468E+00, & - & 0.47683E+00, 0.47898E+00, 0.48113E+00, 0.48327E+00, 0.48540E+00, & - & 0.48754E+00, 0.48967E+00, 0.49179E+00, 0.49391E+00, 0.49603E+00, & - & 0.49814E+00, 0.50025E+00, 0.50236E+00, 0.50446E+00, 0.50656E+00, & - & 0.50866E+00, 0.51075E+00, 0.51284E+00, 0.51492E+00, 0.51700E+00, & - & 0.51908E+00, 0.52115E+00, 0.52322E+00, 0.52529E+00, 0.52735E+00, & - & 0.52941E+00, 0.53146E+00, 0.53352E+00, 0.53556E+00, 0.53761E+00, & - & 0.53965E+00, 0.54169E+00, 0.54372E+00, 0.54575E+00, 0.54778E+00, & - & 0.54980E+00, 0.55182E+00, 0.55384E+00, 0.55585E+00, 0.55786E+00, & - & 0.55987E+00, 0.56187E+00, 0.56387E+00, 0.56587E+00, 0.56786E+00, & - & 0.56985E+00, 0.57184E+00, 0.57382E+00, 0.57580E+00, 0.57778E+00, & - & 0.57975E+00, 0.58172E+00, 0.58369E+00, 0.58565E+00, 0.58761E+00, & - & 0.58957E+00, 0.59152E+00, 0.59348E+00, 0.59542E+00, 0.59737E+00, & - & 0.59931E+00, 0.60125E+00, 0.60318E+00, 0.60511E+00, 0.60704E+00, & - & 0.60897E+00, 0.61089E+00, 0.61281E+00, 0.61472E+00, 0.61664E+00, & - & 0.61855E+00, 0.62045E+00, 0.62236E+00, 0.62426E+00, 0.62616E+00, & - & 0.62805E+00, 0.62994E+00, 0.63183E+00, 0.63372E+00, 0.63560E+00, & - & 0.63748E+00, 0.63936E+00, 0.64123E+00, 0.64310E+00, 0.64497E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.64683E+00, 0.64870E+00, 0.65056E+00, 0.65241E+00, 0.65427E+00, & - & 0.65612E+00, 0.65796E+00, 0.65981E+00, 0.66165E+00, 0.66349E+00, & - & 0.66533E+00, 0.66716E+00, 0.66899E+00, 0.67082E+00, 0.67264E+00, & - & 0.67447E+00, 0.67629E+00, 0.67810E+00, 0.67992E+00, 0.68173E+00, & - & 0.68354E+00, 0.68534E+00, 0.68715E+00, 0.68895E+00, 0.69074E+00, & - & 0.69254E+00, 0.69433E+00, 0.69612E+00, 0.69791E+00, 0.69969E+00, & - & 0.70147E+00, 0.70325E+00, 0.70503E+00, 0.70680E+00, 0.70857E+00, & - & 0.71034E+00, 0.71211E+00, 0.71387E+00, 0.71563E+00, 0.71739E+00, & - & 0.71915E+00, 0.72090E+00, 0.72265E+00, 0.72440E+00, 0.72614E+00, & - & 0.72788E+00, 0.72962E+00, 0.73136E+00, 0.73310E+00, 0.73483E+00, & - & 0.73656E+00, 0.73829E+00, 0.74001E+00, 0.74174E+00, 0.74346E+00, & - & 0.74517E+00, 0.74689E+00, 0.74860E+00, 0.75031E+00, 0.75202E+00, & - & 0.75372E+00, 0.75543E+00, 0.75713E+00, 0.75883E+00, 0.76052E+00, & - & 0.76222E+00, 0.76391E+00, 0.76559E+00, 0.76728E+00, 0.76896E+00, & - & 0.77065E+00, 0.77233E+00, 0.77400E+00, 0.77568E+00, 0.77735E+00, & - & 0.77902E+00, 0.78069E+00, 0.78235E+00, 0.78401E+00, 0.78567E+00, & - & 0.78733E+00, 0.78899E+00, 0.79064E+00, 0.79229E+00, 0.79394E+00, & - & 0.79559E+00, 0.79723E+00, 0.79888E+00, 0.80052E+00, 0.80215E+00, & - & 0.80379E+00, 0.80542E+00, 0.80705E+00, 0.80868E+00, 0.81031E+00, & - & 0.81193E+00, 0.81356E+00, 0.81518E+00, 0.81679E+00, 0.81841E+00/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.82002E+00, 0.82163E+00, 0.82324E+00, 0.82485E+00, 0.82646E+00, & - & 0.82806E+00, 0.82966E+00, 0.83126E+00, 0.83285E+00, 0.83445E+00, & - & 0.83604E+00, 0.83763E+00, 0.83922E+00, 0.84080E+00, 0.84239E+00, & - & 0.84397E+00, 0.84555E+00, 0.84713E+00, 0.84870E+00, 0.85028E+00, & - & 0.85185E+00, 0.85342E+00, 0.85498E+00, 0.85655E+00, 0.85811E+00, & - & 0.85967E+00, 0.86123E+00, 0.86279E+00, 0.86434E+00, 0.86590E+00, & - & 0.86745E+00, 0.86900E+00, 0.87054E+00, 0.87209E+00, 0.87363E+00, & - & 0.87517E+00, 0.87671E+00, 0.87825E+00, 0.87978E+00, 0.88132E+00, & - & 0.88285E+00, 0.88438E+00, 0.88590E+00, 0.88743E+00, 0.88895E+00, & - & 0.89047E+00, 0.89199E+00, 0.89351E+00, 0.89503E+00, 0.89654E+00, & - & 0.89805E+00, 0.89956E+00, 0.90107E+00, 0.90258E+00, 0.90408E+00, & - & 0.90558E+00, 0.90709E+00, 0.90858E+00, 0.91008E+00, 0.91158E+00, & - & 0.91307E+00, 0.91456E+00, 0.91605E+00, 0.91754E+00, 0.91902E+00, & - & 0.92051E+00, 0.92199E+00, 0.92347E+00, 0.92495E+00, 0.92642E+00, & - & 0.92790E+00, 0.92937E+00, 0.93084E+00, 0.93231E+00, 0.93378E+00, & - & 0.93525E+00, 0.93671E+00, 0.93817E+00, 0.93963E+00, 0.94109E+00, & - & 0.94255E+00, 0.94400E+00, 0.94546E+00, 0.94691E+00, 0.94836E+00, & - & 0.94981E+00, 0.95125E+00, 0.95270E+00, 0.95414E+00, 0.95558E+00, & - & 0.95702E+00, 0.95846E+00, 0.95990E+00, 0.96133E+00, 0.96276E+00, & - & 0.96419E+00, 0.96562E+00, 0.96705E+00, 0.96848E+00, 0.96990E+00/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.98518E+00, 0.99915E+00, 0.10130E+01, 0.10266E+01, 0.10401E+01, & - & 0.10535E+01, 0.10667E+01, 0.10797E+01, 0.10927E+01, 0.11054E+01, & - & 0.11181E+01, 0.11306E+01, 0.11430E+01, 0.11553E+01, 0.11674E+01, & - & 0.11794E+01, 0.11913E+01, 0.12031E+01, 0.12148E+01, 0.12263E+01, & - & 0.12378E+01, 0.12491E+01, 0.12604E+01, 0.12715E+01, 0.12825E+01, & - & 0.12934E+01, 0.13043E+01, 0.13150E+01, 0.13257E+01, 0.13362E+01, & - & 0.13467E+01, 0.13570E+01, 0.13673E+01, 0.13775E+01, 0.13876E+01, & - & 0.13976E+01, 0.14075E+01, 0.14174E+01, 0.14272E+01, 0.14369E+01, & - & 0.14465E+01, 0.14560E+01, 0.14655E+01, 0.14749E+01, 0.14842E+01, & - & 0.14935E+01, 0.15027E+01, 0.15118E+01, 0.15208E+01, 0.15298E+01, & - & 0.15387E+01, 0.15476E+01, 0.15563E+01, 0.15651E+01, 0.15737E+01, & - & 0.15823E+01, 0.15908E+01, 0.15993E+01, 0.16077E+01, 0.16161E+01, & - & 0.16244E+01, 0.16326E+01, 0.16408E+01, 0.16489E+01, 0.16570E+01, & - & 0.16650E+01, 0.16730E+01, 0.16809E+01, 0.16888E+01, 0.16966E+01, & - & 0.17044E+01, 0.17121E+01, 0.17197E+01, 0.17274E+01, 0.17349E+01, & - & 0.17424E+01, 0.17499E+01, 0.17574E+01, 0.17647E+01, 0.17721E+01, & - & 0.17794E+01, 0.17866E+01, 0.17938E+01, 0.18010E+01, 0.18081E+01, & - & 0.18152E+01, 0.18222E+01, 0.18292E+01, 0.18362E+01, 0.18431E+01, & - & 0.18500E+01, 0.18568E+01, 0.18636E+01, 0.18704E+01, 0.18771E+01, & - & 0.18838E+01, 0.18905E+01, 0.18971E+01, 0.19037E+01, 0.19102E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19167E+01, 0.19232E+01, 0.19296E+01, 0.19360E+01, 0.19424E+01, & - & 0.19488E+01, 0.19551E+01, 0.19613E+01, 0.19676E+01, 0.19738E+01, & - & 0.19800E+01, 0.19861E+01, 0.19922E+01, 0.19983E+01, 0.20044E+01, & - & 0.20104E+01, 0.20164E+01, 0.20223E+01, 0.20283E+01, 0.20342E+01, & - & 0.20401E+01, 0.20459E+01, 0.20517E+01, 0.20575E+01, 0.20633E+01, & - & 0.20690E+01, 0.20747E+01, 0.20804E+01, 0.20861E+01, 0.20917E+01, & - & 0.20973E+01, 0.21029E+01, 0.21084E+01, 0.21140E+01, 0.21195E+01, & - & 0.21249E+01, 0.21304E+01, 0.21358E+01, 0.21412E+01, 0.21466E+01, & - & 0.21520E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.45175E-01,-0.93795E-01,-0.11560E+00,-0.12968E+00,-0.13980E+00, & - &-0.14745E+00,-0.15341E+00,-0.15813E+00,-0.16190E+00,-0.16492E+00, & - &-0.16733E+00,-0.16923E+00,-0.17072E+00,-0.17184E+00,-0.17265E+00, & - &-0.17319E+00,-0.17350E+00,-0.17360E+00,-0.17351E+00,-0.17326E+00, & - &-0.17286E+00,-0.17233E+00,-0.17167E+00,-0.17091E+00,-0.17006E+00, & - &-0.16911E+00,-0.16808E+00,-0.16698E+00,-0.16581E+00,-0.16458E+00, & - &-0.16330E+00,-0.16196E+00,-0.16057E+00,-0.15915E+00,-0.15768E+00, & - &-0.15618E+00,-0.15465E+00,-0.15309E+00,-0.15150E+00,-0.14989E+00, & - &-0.14825E+00,-0.14660E+00,-0.14492E+00,-0.14323E+00,-0.14152E+00, & - &-0.13980E+00,-0.13807E+00,-0.13633E+00,-0.13457E+00,-0.13281E+00, & - &-0.13104E+00,-0.12926E+00,-0.12747E+00,-0.12567E+00,-0.12387E+00, & - &-0.12206E+00,-0.12025E+00,-0.11843E+00,-0.11660E+00,-0.11477E+00, & - &-0.11294E+00,-0.11109E+00,-0.10924E+00,-0.10739E+00,-0.10552E+00, & - &-0.10365E+00,-0.10178E+00,-0.99891E-01,-0.97998E-01,-0.96096E-01, & - &-0.94186E-01,-0.92266E-01,-0.90336E-01,-0.88396E-01,-0.86445E-01, & - &-0.84484E-01,-0.82510E-01,-0.80525E-01,-0.78527E-01,-0.76516E-01, & - &-0.74493E-01,-0.72456E-01,-0.70405E-01,-0.68341E-01,-0.66263E-01, & - &-0.64170E-01,-0.62063E-01,-0.59942E-01,-0.57806E-01,-0.55656E-01, & - &-0.53491E-01,-0.51312E-01,-0.49119E-01,-0.46912E-01,-0.44691E-01, & - &-0.42457E-01,-0.40209E-01,-0.37948E-01,-0.35675E-01,-0.33389E-01/ - - DATA (BNC10M(I),I=101,200)/ & - &-0.31092E-01,-0.28783E-01,-0.26463E-01,-0.24132E-01,-0.21791E-01, & - &-0.19441E-01,-0.17081E-01,-0.14713E-01,-0.12336E-01,-0.99517E-02, & - &-0.75599E-02,-0.51613E-02,-0.27563E-02,-0.34542E-03, 0.20709E-02, & - & 0.44922E-02, 0.69181E-02, 0.93482E-02, 0.11782E-01, 0.14219E-01, & - & 0.16659E-01, 0.19102E-01, 0.21548E-01, 0.23995E-01, 0.26444E-01, & - & 0.28894E-01, 0.31345E-01, 0.33797E-01, 0.36250E-01, 0.38703E-01, & - & 0.41157E-01, 0.43610E-01, 0.46063E-01, 0.48516E-01, 0.50968E-01, & - & 0.53419E-01, 0.55870E-01, 0.58319E-01, 0.60768E-01, 0.63215E-01, & - & 0.65661E-01, 0.68105E-01, 0.70548E-01, 0.72990E-01, 0.75429E-01, & - & 0.77867E-01, 0.80303E-01, 0.82737E-01, 0.85169E-01, 0.87599E-01, & - & 0.90027E-01, 0.92453E-01, 0.94877E-01, 0.97298E-01, 0.99718E-01, & - & 0.10213E+00, 0.10455E+00, 0.10696E+00, 0.10937E+00, 0.11178E+00, & - & 0.11418E+00, 0.11659E+00, 0.11899E+00, 0.12138E+00, 0.12378E+00, & - & 0.12617E+00, 0.12856E+00, 0.13095E+00, 0.13333E+00, 0.13571E+00, & - & 0.13809E+00, 0.14047E+00, 0.14284E+00, 0.14521E+00, 0.14758E+00, & - & 0.14995E+00, 0.15231E+00, 0.15467E+00, 0.15702E+00, 0.15938E+00, & - & 0.16173E+00, 0.16408E+00, 0.16642E+00, 0.16876E+00, 0.17110E+00, & - & 0.17344E+00, 0.17577E+00, 0.17810E+00, 0.18043E+00, 0.18275E+00, & - & 0.18508E+00, 0.18739E+00, 0.18971E+00, 0.19202E+00, 0.19433E+00, & - & 0.19664E+00, 0.19894E+00, 0.20124E+00, 0.20354E+00, 0.20583E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.20812E+00, 0.21041E+00, 0.21269E+00, 0.21497E+00, 0.21725E+00, & - & 0.21953E+00, 0.22180E+00, 0.22407E+00, 0.22633E+00, 0.22860E+00, & - & 0.23086E+00, 0.23311E+00, 0.23537E+00, 0.23762E+00, 0.23986E+00, & - & 0.24211E+00, 0.24435E+00, 0.24658E+00, 0.24882E+00, 0.25105E+00, & - & 0.25328E+00, 0.25550E+00, 0.25772E+00, 0.25994E+00, 0.26216E+00, & - & 0.26437E+00, 0.26658E+00, 0.26878E+00, 0.27099E+00, 0.27319E+00, & - & 0.27538E+00, 0.27757E+00, 0.27976E+00, 0.28195E+00, 0.28413E+00, & - & 0.28631E+00, 0.28849E+00, 0.29066E+00, 0.29284E+00, 0.29500E+00, & - & 0.29717E+00, 0.29933E+00, 0.30149E+00, 0.30364E+00, 0.30579E+00, & - & 0.30794E+00, 0.31009E+00, 0.31223E+00, 0.31437E+00, 0.31650E+00, & - & 0.31864E+00, 0.32077E+00, 0.32289E+00, 0.32501E+00, 0.32713E+00, & - & 0.32925E+00, 0.33137E+00, 0.33348E+00, 0.33558E+00, 0.33769E+00, & - & 0.33979E+00, 0.34189E+00, 0.34398E+00, 0.34607E+00, 0.34816E+00, & - & 0.35025E+00, 0.35233E+00, 0.35441E+00, 0.35649E+00, 0.35856E+00, & - & 0.36063E+00, 0.36270E+00, 0.36476E+00, 0.36682E+00, 0.36888E+00, & - & 0.37093E+00, 0.37299E+00, 0.37503E+00, 0.37708E+00, 0.37912E+00, & - & 0.38116E+00, 0.38320E+00, 0.38523E+00, 0.38726E+00, 0.38929E+00, & - & 0.39131E+00, 0.39333E+00, 0.39535E+00, 0.39737E+00, 0.39938E+00, & - & 0.40139E+00, 0.40339E+00, 0.40540E+00, 0.40740E+00, 0.40940E+00, & - & 0.41139E+00, 0.41338E+00, 0.41537E+00, 0.41735E+00, 0.41934E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.42132E+00, 0.42329E+00, 0.42527E+00, 0.42724E+00, 0.42920E+00, & - & 0.43117E+00, 0.43313E+00, 0.43509E+00, 0.43705E+00, 0.43900E+00, & - & 0.44095E+00, 0.44290E+00, 0.44484E+00, 0.44678E+00, 0.44872E+00, & - & 0.45066E+00, 0.45259E+00, 0.45452E+00, 0.45645E+00, 0.45837E+00, & - & 0.46029E+00, 0.46221E+00, 0.46413E+00, 0.46604E+00, 0.46795E+00, & - & 0.46986E+00, 0.47176E+00, 0.47366E+00, 0.47556E+00, 0.47746E+00, & - & 0.47935E+00, 0.48124E+00, 0.48313E+00, 0.48502E+00, 0.48690E+00, & - & 0.48878E+00, 0.49065E+00, 0.49253E+00, 0.49440E+00, 0.49627E+00, & - & 0.49813E+00, 0.50000E+00, 0.50186E+00, 0.50371E+00, 0.50557E+00, & - & 0.50742E+00, 0.50927E+00, 0.51112E+00, 0.51296E+00, 0.51480E+00, & - & 0.51664E+00, 0.51848E+00, 0.52031E+00, 0.52214E+00, 0.52397E+00, & - & 0.52580E+00, 0.52762E+00, 0.52944E+00, 0.53126E+00, 0.53307E+00, & - & 0.53488E+00, 0.53669E+00, 0.53850E+00, 0.54031E+00, 0.54211E+00, & - & 0.54391E+00, 0.54570E+00, 0.54750E+00, 0.54929E+00, 0.55108E+00, & - & 0.55286E+00, 0.55465E+00, 0.55643E+00, 0.55821E+00, 0.55999E+00, & - & 0.56176E+00, 0.56353E+00, 0.56530E+00, 0.56707E+00, 0.56883E+00, & - & 0.57059E+00, 0.57235E+00, 0.57411E+00, 0.57586E+00, 0.57761E+00, & - & 0.57936E+00, 0.58111E+00, 0.58285E+00, 0.58459E+00, 0.58633E+00, & - & 0.58807E+00, 0.58980E+00, 0.59153E+00, 0.59326E+00, 0.59499E+00, & - & 0.59671E+00, 0.59843E+00, 0.60015E+00, 0.60187E+00, 0.60359E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.60530E+00, 0.60701E+00, 0.60872E+00, 0.61042E+00, 0.61212E+00, & - & 0.61383E+00, 0.61552E+00, 0.61722E+00, 0.61891E+00, 0.62060E+00, & - & 0.62229E+00, 0.62398E+00, 0.62566E+00, 0.62734E+00, 0.62902E+00, & - & 0.63070E+00, 0.63238E+00, 0.63405E+00, 0.63572E+00, 0.63739E+00, & - & 0.63905E+00, 0.64072E+00, 0.64238E+00, 0.64404E+00, 0.64569E+00, & - & 0.64735E+00, 0.64900E+00, 0.65065E+00, 0.65230E+00, 0.65394E+00, & - & 0.65559E+00, 0.65723E+00, 0.65887E+00, 0.66050E+00, 0.66214E+00, & - & 0.66377E+00, 0.66540E+00, 0.66703E+00, 0.66865E+00, 0.67027E+00, & - & 0.67190E+00, 0.67351E+00, 0.67513E+00, 0.67675E+00, 0.67836E+00, & - & 0.67997E+00, 0.68158E+00, 0.68318E+00, 0.68479E+00, 0.68639E+00, & - & 0.68799E+00, 0.68959E+00, 0.69118E+00, 0.69277E+00, 0.69437E+00, & - & 0.69595E+00, 0.69754E+00, 0.69913E+00, 0.70071E+00, 0.70229E+00, & - & 0.70387E+00, 0.70545E+00, 0.70702E+00, 0.70859E+00, 0.71016E+00, & - & 0.71173E+00, 0.71330E+00, 0.71486E+00, 0.71642E+00, 0.71798E+00, & - & 0.71954E+00, 0.72110E+00, 0.72265E+00, 0.72420E+00, 0.72575E+00, & - & 0.72730E+00, 0.72885E+00, 0.73039E+00, 0.73193E+00, 0.73347E+00, & - & 0.73501E+00, 0.73655E+00, 0.73808E+00, 0.73961E+00, 0.74114E+00, & - & 0.74267E+00, 0.74420E+00, 0.74572E+00, 0.74724E+00, 0.74876E+00, & - & 0.75028E+00, 0.75180E+00, 0.75331E+00, 0.75483E+00, 0.75634E+00, & - & 0.75784E+00, 0.75935E+00, 0.76086E+00, 0.76236E+00, 0.76386E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.76536E+00, 0.76686E+00, 0.76835E+00, 0.76985E+00, 0.77134E+00, & - & 0.77283E+00, 0.77431E+00, 0.77580E+00, 0.77728E+00, 0.77877E+00, & - & 0.78025E+00, 0.78173E+00, 0.78320E+00, 0.78468E+00, 0.78615E+00, & - & 0.78762E+00, 0.78909E+00, 0.79056E+00, 0.79202E+00, 0.79349E+00, & - & 0.79495E+00, 0.79641E+00, 0.79787E+00, 0.79933E+00, 0.80078E+00, & - & 0.80223E+00, 0.80368E+00, 0.80513E+00, 0.80658E+00, 0.80803E+00, & - & 0.80947E+00, 0.81091E+00, 0.81235E+00, 0.81379E+00, 0.81523E+00, & - & 0.81667E+00, 0.81810E+00, 0.81953E+00, 0.82096E+00, 0.82239E+00, & - & 0.82382E+00, 0.82524E+00, 0.82666E+00, 0.82809E+00, 0.82951E+00, & - & 0.83092E+00, 0.83234E+00, 0.83375E+00, 0.83517E+00, 0.83658E+00, & - & 0.83799E+00, 0.83940E+00, 0.84080E+00, 0.84221E+00, 0.84361E+00, & - & 0.84501E+00, 0.84641E+00, 0.84781E+00, 0.84920E+00, 0.85060E+00, & - & 0.85199E+00, 0.85338E+00, 0.85477E+00, 0.85616E+00, 0.85754E+00, & - & 0.85893E+00, 0.86031E+00, 0.86169E+00, 0.86307E+00, 0.86445E+00, & - & 0.86583E+00, 0.86720E+00, 0.86857E+00, 0.86995E+00, 0.87131E+00, & - & 0.87268E+00, 0.87405E+00, 0.87541E+00, 0.87678E+00, 0.87814E+00, & - & 0.87950E+00, 0.88086E+00, 0.88222E+00, 0.88357E+00, 0.88493E+00, & - & 0.88628E+00, 0.88763E+00, 0.88898E+00, 0.89033E+00, 0.89167E+00, & - & 0.89302E+00, 0.89436E+00, 0.89570E+00, 0.89704E+00, 0.89838E+00, & - & 0.89972E+00, 0.90105E+00, 0.90238E+00, 0.90372E+00, 0.90505E+00/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.91933E+00, 0.93239E+00, 0.94531E+00, 0.95808E+00, 0.97072E+00, & - & 0.98322E+00, 0.99558E+00, 0.10078E+01, 0.10199E+01, 0.10319E+01, & - & 0.10438E+01, 0.10555E+01, 0.10671E+01, 0.10786E+01, 0.10900E+01, & - & 0.11013E+01, 0.11124E+01, 0.11235E+01, 0.11344E+01, 0.11453E+01, & - & 0.11560E+01, 0.11667E+01, 0.11772E+01, 0.11876E+01, 0.11980E+01, & - & 0.12082E+01, 0.12184E+01, 0.12285E+01, 0.12385E+01, 0.12484E+01, & - & 0.12582E+01, 0.12679E+01, 0.12776E+01, 0.12871E+01, 0.12966E+01, & - & 0.13060E+01, 0.13154E+01, 0.13246E+01, 0.13338E+01, 0.13429E+01, & - & 0.13519E+01, 0.13609E+01, 0.13698E+01, 0.13786E+01, 0.13874E+01, & - & 0.13960E+01, 0.14047E+01, 0.14132E+01, 0.14217E+01, 0.14301E+01, & - & 0.14385E+01, 0.14468E+01, 0.14550E+01, 0.14632E+01, 0.14713E+01, & - & 0.14794E+01, 0.14874E+01, 0.14954E+01, 0.15033E+01, 0.15111E+01, & - & 0.15189E+01, 0.15266E+01, 0.15343E+01, 0.15419E+01, 0.15495E+01, & - & 0.15570E+01, 0.15645E+01, 0.15719E+01, 0.15793E+01, 0.15866E+01, & - & 0.15939E+01, 0.16012E+01, 0.16084E+01, 0.16155E+01, 0.16226E+01, & - & 0.16297E+01, 0.16367E+01, 0.16436E+01, 0.16506E+01, 0.16574E+01, & - & 0.16643E+01, 0.16711E+01, 0.16778E+01, 0.16845E+01, 0.16912E+01, & - & 0.16979E+01, 0.17045E+01, 0.17110E+01, 0.17175E+01, 0.17240E+01, & - & 0.17305E+01, 0.17369E+01, 0.17433E+01, 0.17496E+01, 0.17559E+01, & - & 0.17622E+01, 0.17684E+01, 0.17746E+01, 0.17808E+01, 0.17869E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17930E+01, 0.17991E+01, 0.18051E+01, 0.18111E+01, 0.18171E+01, & - & 0.18230E+01, 0.18289E+01, 0.18348E+01, 0.18406E+01, 0.18464E+01, & - & 0.18522E+01, 0.18580E+01, 0.18637E+01, 0.18694E+01, 0.18751E+01, & - & 0.18807E+01, 0.18863E+01, 0.18919E+01, 0.18974E+01, 0.19030E+01, & - & 0.19085E+01, 0.19139E+01, 0.19194E+01, 0.19248E+01, 0.19302E+01, & - & 0.19356E+01, 0.19409E+01, 0.19462E+01, 0.19515E+01, 0.19568E+01, & - & 0.19620E+01, 0.19672E+01, 0.19724E+01, 0.19776E+01, 0.19828E+01, & - & 0.19879E+01, 0.19930E+01, 0.19981E+01, 0.20031E+01, 0.20081E+01, & - & 0.20131E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.44136E-01,-0.88680E-01,-0.10706E+00,-0.11800E+00,-0.12513E+00, & - &-0.12990E+00,-0.13304E+00,-0.13497E+00,-0.13598E+00,-0.13624E+00, & - &-0.13589E+00,-0.13503E+00,-0.13373E+00,-0.13205E+00,-0.13004E+00, & - &-0.12774E+00,-0.12517E+00,-0.12237E+00,-0.11935E+00,-0.11614E+00, & - &-0.11275E+00,-0.10920E+00,-0.10550E+00,-0.10166E+00,-0.97690E-01, & - &-0.93602E-01,-0.89404E-01,-0.85103E-01,-0.80706E-01,-0.76221E-01, & - &-0.71651E-01,-0.67004E-01,-0.62284E-01,-0.57497E-01,-0.52646E-01, & - &-0.47736E-01,-0.42771E-01,-0.37754E-01,-0.32690E-01,-0.27580E-01, & - &-0.22429E-01,-0.17239E-01,-0.12013E-01,-0.67523E-02,-0.14605E-02, & - & 0.38607E-02, 0.92093E-02, 0.14584E-01, 0.19982E-01, 0.25402E-01, & - & 0.30844E-01, 0.36306E-01, 0.41786E-01, 0.47284E-01, 0.52800E-01, & - & 0.58332E-01, 0.63879E-01, 0.69443E-01, 0.75021E-01, 0.80615E-01, & - & 0.86223E-01, 0.91847E-01, 0.97486E-01, 0.10314E+00, 0.10881E+00, & - & 0.11450E+00, 0.12020E+00, 0.12592E+00, 0.13166E+00, 0.13742E+00, & - & 0.14320E+00, 0.14899E+00, 0.15481E+00, 0.16065E+00, 0.16652E+00, & - & 0.17241E+00, 0.17832E+00, 0.18426E+00, 0.19022E+00, 0.19621E+00, & - & 0.20223E+00, 0.20827E+00, 0.21435E+00, 0.22045E+00, 0.22659E+00, & - & 0.23275E+00, 0.23894E+00, 0.24517E+00, 0.25142E+00, 0.25771E+00, & - & 0.26402E+00, 0.27037E+00, 0.27674E+00, 0.28315E+00, 0.28958E+00, & - & 0.29604E+00, 0.30253E+00, 0.30905E+00, 0.31559E+00, 0.32216E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.32875E+00, 0.33537E+00, 0.34201E+00, 0.34867E+00, 0.35535E+00, & - & 0.36205E+00, 0.36877E+00, 0.37550E+00, 0.38225E+00, 0.38902E+00, & - & 0.39580E+00, 0.40259E+00, 0.40939E+00, 0.41620E+00, 0.42302E+00, & - & 0.42985E+00, 0.43669E+00, 0.44353E+00, 0.45037E+00, 0.45722E+00, & - & 0.46408E+00, 0.47093E+00, 0.47779E+00, 0.48464E+00, 0.49150E+00, & - & 0.49835E+00, 0.50520E+00, 0.51205E+00, 0.51890E+00, 0.52574E+00, & - & 0.53258E+00, 0.53941E+00, 0.54624E+00, 0.55306E+00, 0.55988E+00, & - & 0.56669E+00, 0.57349E+00, 0.58029E+00, 0.58708E+00, 0.59386E+00, & - & 0.60063E+00, 0.60739E+00, 0.61415E+00, 0.62089E+00, 0.62763E+00, & - & 0.63436E+00, 0.64108E+00, 0.64779E+00, 0.65449E+00, 0.66118E+00, & - & 0.66786E+00, 0.67453E+00, 0.68118E+00, 0.68783E+00, 0.69447E+00, & - & 0.70110E+00, 0.70772E+00, 0.71432E+00, 0.72092E+00, 0.72750E+00, & - & 0.73408E+00, 0.74064E+00, 0.74719E+00, 0.75373E+00, 0.76026E+00, & - & 0.76678E+00, 0.77329E+00, 0.77978E+00, 0.78627E+00, 0.79274E+00, & - & 0.79920E+00, 0.80565E+00, 0.81209E+00, 0.81852E+00, 0.82493E+00, & - & 0.83134E+00, 0.83773E+00, 0.84411E+00, 0.85048E+00, 0.85683E+00, & - & 0.86318E+00, 0.86951E+00, 0.87583E+00, 0.88214E+00, 0.88844E+00, & - & 0.89473E+00, 0.90100E+00, 0.90726E+00, 0.91352E+00, 0.91975E+00, & - & 0.92598E+00, 0.93220E+00, 0.93840E+00, 0.94459E+00, 0.95077E+00, & - & 0.95694E+00, 0.96310E+00, 0.96924E+00, 0.97537E+00, 0.98149E+00/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.98760E+00, 0.99370E+00, 0.99978E+00, 0.10059E+01, 0.10119E+01, & - & 0.10180E+01, 0.10240E+01, 0.10300E+01, 0.10360E+01, 0.10421E+01, & - & 0.10480E+01, 0.10540E+01, 0.10600E+01, 0.10659E+01, 0.10719E+01, & - & 0.10778E+01, 0.10837E+01, 0.10897E+01, 0.10956E+01, 0.11014E+01, & - & 0.11073E+01, 0.11132E+01, 0.11190E+01, 0.11249E+01, 0.11307E+01, & - & 0.11365E+01, 0.11423E+01, 0.11481E+01, 0.11539E+01, 0.11597E+01, & - & 0.11654E+01, 0.11712E+01, 0.11769E+01, 0.11827E+01, 0.11884E+01, & - & 0.11941E+01, 0.11998E+01, 0.12054E+01, 0.12111E+01, 0.12168E+01, & - & 0.12224E+01, 0.12281E+01, 0.12337E+01, 0.12393E+01, 0.12449E+01, & - & 0.12505E+01, 0.12561E+01, 0.12617E+01, 0.12672E+01, 0.12728E+01, & - & 0.12783E+01, 0.12838E+01, 0.12894E+01, 0.12949E+01, 0.13004E+01, & - & 0.13059E+01, 0.13113E+01, 0.13168E+01, 0.13223E+01, 0.13277E+01, & - & 0.13331E+01, 0.13386E+01, 0.13440E+01, 0.13494E+01, 0.13548E+01, & - & 0.13601E+01, 0.13655E+01, 0.13709E+01, 0.13762E+01, 0.13816E+01, & - & 0.13869E+01, 0.13922E+01, 0.13975E+01, 0.14028E+01, 0.14081E+01, & - & 0.14134E+01, 0.14187E+01, 0.14239E+01, 0.14292E+01, 0.14344E+01, & - & 0.14396E+01, 0.14449E+01, 0.14501E+01, 0.14553E+01, 0.14605E+01, & - & 0.14656E+01, 0.14708E+01, 0.14760E+01, 0.14811E+01, 0.14863E+01, & - & 0.14914E+01, 0.14965E+01, 0.15016E+01, 0.15067E+01, 0.15118E+01, & - & 0.15169E+01, 0.15220E+01, 0.15271E+01, 0.15321E+01, 0.15372E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.15422E+01, 0.15472E+01, 0.15523E+01, 0.15573E+01, 0.15623E+01, & - & 0.15673E+01, 0.15722E+01, 0.15772E+01, 0.15822E+01, 0.15871E+01, & - & 0.15921E+01, 0.15970E+01, 0.16019E+01, 0.16069E+01, 0.16118E+01, & - & 0.16167E+01, 0.16216E+01, 0.16265E+01, 0.16313E+01, 0.16362E+01, & - & 0.16410E+01, 0.16459E+01, 0.16507E+01, 0.16556E+01, 0.16604E+01, & - & 0.16652E+01, 0.16700E+01, 0.16748E+01, 0.16796E+01, 0.16844E+01, & - & 0.16891E+01, 0.16939E+01, 0.16987E+01, 0.17034E+01, 0.17081E+01, & - & 0.17129E+01, 0.17176E+01, 0.17223E+01, 0.17270E+01, 0.17317E+01, & - & 0.17364E+01, 0.17411E+01, 0.17457E+01, 0.17504E+01, 0.17551E+01, & - & 0.17597E+01, 0.17644E+01, 0.17690E+01, 0.17736E+01, 0.17782E+01, & - & 0.17828E+01, 0.17874E+01, 0.17920E+01, 0.17966E+01, 0.18012E+01, & - & 0.18057E+01, 0.18103E+01, 0.18149E+01, 0.18194E+01, 0.18239E+01, & - & 0.18285E+01, 0.18330E+01, 0.18375E+01, 0.18420E+01, 0.18465E+01, & - & 0.18510E+01, 0.18555E+01, 0.18600E+01, 0.18644E+01, 0.18689E+01, & - & 0.18733E+01, 0.18778E+01, 0.18822E+01, 0.18867E+01, 0.18911E+01, & - & 0.18955E+01, 0.18999E+01, 0.19043E+01, 0.19087E+01, 0.19131E+01, & - & 0.19175E+01, 0.19218E+01, 0.19262E+01, 0.19306E+01, 0.19349E+01, & - & 0.19393E+01, 0.19436E+01, 0.19479E+01, 0.19522E+01, 0.19566E+01, & - & 0.19609E+01, 0.19652E+01, 0.19695E+01, 0.19737E+01, 0.19780E+01, & - & 0.19823E+01, 0.19866E+01, 0.19908E+01, 0.19951E+01, 0.19993E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.20036E+01, 0.20078E+01, 0.20120E+01, 0.20162E+01, 0.20204E+01, & - & 0.20247E+01, 0.20289E+01, 0.20330E+01, 0.20372E+01, 0.20414E+01, & - & 0.20456E+01, 0.20497E+01, 0.20539E+01, 0.20581E+01, 0.20622E+01, & - & 0.20663E+01, 0.20705E+01, 0.20746E+01, 0.20787E+01, 0.20828E+01, & - & 0.20869E+01, 0.20910E+01, 0.20951E+01, 0.20992E+01, 0.21033E+01, & - & 0.21074E+01, 0.21114E+01, 0.21155E+01, 0.21196E+01, 0.21236E+01, & - & 0.21277E+01, 0.21317E+01, 0.21357E+01, 0.21398E+01, 0.21438E+01, & - & 0.21478E+01, 0.21518E+01, 0.21558E+01, 0.21598E+01, 0.21638E+01, & - & 0.21678E+01, 0.21717E+01, 0.21757E+01, 0.21797E+01, 0.21836E+01, & - & 0.21876E+01, 0.21915E+01, 0.21955E+01, 0.21994E+01, 0.22033E+01, & - & 0.22073E+01, 0.22112E+01, 0.22151E+01, 0.22190E+01, 0.22229E+01, & - & 0.22268E+01, 0.22307E+01, 0.22346E+01, 0.22384E+01, 0.22423E+01, & - & 0.22462E+01, 0.22500E+01, 0.22539E+01, 0.22577E+01, 0.22616E+01, & - & 0.22654E+01, 0.22692E+01, 0.22731E+01, 0.22769E+01, 0.22807E+01, & - & 0.22845E+01, 0.22883E+01, 0.22921E+01, 0.22959E+01, 0.22997E+01, & - & 0.23035E+01, 0.23072E+01, 0.23110E+01, 0.23148E+01, 0.23185E+01, & - & 0.23223E+01, 0.23260E+01, 0.23298E+01, 0.23335E+01, 0.23373E+01, & - & 0.23410E+01, 0.23447E+01, 0.23484E+01, 0.23521E+01, 0.23558E+01, & - & 0.23595E+01, 0.23632E+01, 0.23669E+01, 0.23706E+01, 0.23743E+01, & - & 0.23780E+01, 0.23816E+01, 0.23853E+01, 0.23890E+01, 0.23926E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.23963E+01, 0.23999E+01, 0.24036E+01, 0.24072E+01, 0.24108E+01, & - & 0.24144E+01, 0.24181E+01, 0.24217E+01, 0.24253E+01, 0.24289E+01, & - & 0.24325E+01, 0.24361E+01, 0.24397E+01, 0.24433E+01, 0.24468E+01, & - & 0.24504E+01, 0.24540E+01, 0.24575E+01, 0.24611E+01, 0.24647E+01, & - & 0.24682E+01, 0.24718E+01, 0.24753E+01, 0.24788E+01, 0.24824E+01, & - & 0.24859E+01, 0.24894E+01, 0.24929E+01, 0.24964E+01, 0.24999E+01, & - & 0.25034E+01, 0.25069E+01, 0.25104E+01, 0.25139E+01, 0.25174E+01, & - & 0.25209E+01, 0.25244E+01, 0.25278E+01, 0.25313E+01, 0.25348E+01, & - & 0.25382E+01, 0.25417E+01, 0.25451E+01, 0.25486E+01, 0.25520E+01, & - & 0.25554E+01, 0.25589E+01, 0.25623E+01, 0.25657E+01, 0.25691E+01, & - & 0.25725E+01, 0.25759E+01, 0.25793E+01, 0.25827E+01, 0.25861E+01, & - & 0.25895E+01, 0.25929E+01, 0.25963E+01, 0.25997E+01, 0.26030E+01, & - & 0.26064E+01, 0.26098E+01, 0.26131E+01, 0.26165E+01, 0.26198E+01, & - & 0.26232E+01, 0.26265E+01, 0.26298E+01, 0.26332E+01, 0.26365E+01, & - & 0.26398E+01, 0.26431E+01, 0.26465E+01, 0.26498E+01, 0.26531E+01, & - & 0.26564E+01, 0.26597E+01, 0.26630E+01, 0.26663E+01, 0.26696E+01, & - & 0.26728E+01, 0.26761E+01, 0.26794E+01, 0.26827E+01, 0.26859E+01, & - & 0.26892E+01, 0.26924E+01, 0.26957E+01, 0.26989E+01, 0.27022E+01, & - & 0.27054E+01, 0.27087E+01, 0.27119E+01, 0.27151E+01, 0.27184E+01, & - & 0.27216E+01, 0.27248E+01, 0.27280E+01, 0.27312E+01, 0.27344E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.27688E+01, 0.28002E+01, 0.28313E+01, 0.28620E+01, 0.28923E+01, & - & 0.29223E+01, 0.29519E+01, 0.29812E+01, 0.30102E+01, 0.30388E+01, & - & 0.30672E+01, 0.30952E+01, 0.31229E+01, 0.31504E+01, 0.31775E+01, & - & 0.32044E+01, 0.32310E+01, 0.32573E+01, 0.32834E+01, 0.33092E+01, & - & 0.33347E+01, 0.33601E+01, 0.33851E+01, 0.34099E+01, 0.34345E+01, & - & 0.34589E+01, 0.34830E+01, 0.35069E+01, 0.35306E+01, 0.35541E+01, & - & 0.35773E+01, 0.36004E+01, 0.36232E+01, 0.36459E+01, 0.36683E+01, & - & 0.36906E+01, 0.37127E+01, 0.37346E+01, 0.37563E+01, 0.37778E+01, & - & 0.37992E+01, 0.38203E+01, 0.38413E+01, 0.38622E+01, 0.38828E+01, & - & 0.39033E+01, 0.39237E+01, 0.39439E+01, 0.39639E+01, 0.39838E+01, & - & 0.40035E+01, 0.40231E+01, 0.40425E+01, 0.40618E+01, 0.40809E+01, & - & 0.40999E+01, 0.41188E+01, 0.41375E+01, 0.41561E+01, 0.41746E+01, & - & 0.41929E+01, 0.42111E+01, 0.42292E+01, 0.42472E+01, 0.42650E+01, & - & 0.42827E+01, 0.43003E+01, 0.43177E+01, 0.43351E+01, 0.43523E+01, & - & 0.43695E+01, 0.43865E+01, 0.44034E+01, 0.44202E+01, 0.44368E+01, & - & 0.44534E+01, 0.44699E+01, 0.44862E+01, 0.45025E+01, 0.45187E+01, & - & 0.45347E+01, 0.45507E+01, 0.45666E+01, 0.45823E+01, 0.45980E+01, & - & 0.46136E+01, 0.46291E+01, 0.46445E+01, 0.46598E+01, 0.46750E+01, & - & 0.46901E+01, 0.47051E+01, 0.47201E+01, 0.47350E+01, 0.47497E+01, & - & 0.47644E+01, 0.47791E+01, 0.47936E+01, 0.48080E+01, 0.48224E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.48367E+01, 0.48509E+01, 0.48651E+01, 0.48791E+01, 0.48931E+01, & - & 0.49070E+01, 0.49208E+01, 0.49346E+01, 0.49483E+01, 0.49619E+01, & - & 0.49755E+01, 0.49889E+01, 0.50023E+01, 0.50157E+01, 0.50290E+01, & - & 0.50422E+01, 0.50553E+01, 0.50684E+01, 0.50814E+01, 0.50943E+01, & - & 0.51072E+01, 0.51200E+01, 0.51327E+01, 0.51454E+01, 0.51580E+01, & - & 0.51706E+01, 0.51831E+01, 0.51956E+01, 0.52079E+01, 0.52203E+01, & - & 0.52325E+01, 0.52447E+01, 0.52569E+01, 0.52690E+01, 0.52810E+01, & - & 0.52930E+01, 0.53049E+01, 0.53168E+01, 0.53286E+01, 0.53404E+01, & - & 0.53521E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.45034E-01,-0.93528E-01,-0.11552E+00,-0.12992E+00,-0.14041E+00, & - &-0.14847E+00,-0.15486E+00,-0.16000E+00,-0.16419E+00,-0.16761E+00, & - &-0.17041E+00,-0.17267E+00,-0.17449E+00,-0.17591E+00,-0.17699E+00, & - &-0.17776E+00,-0.17826E+00,-0.17851E+00,-0.17853E+00,-0.17835E+00, & - &-0.17798E+00,-0.17743E+00,-0.17671E+00,-0.17585E+00,-0.17484E+00, & - &-0.17369E+00,-0.17241E+00,-0.17102E+00,-0.16951E+00,-0.16790E+00, & - &-0.16618E+00,-0.16436E+00,-0.16245E+00,-0.16045E+00,-0.15836E+00, & - &-0.15620E+00,-0.15396E+00,-0.15164E+00,-0.14925E+00,-0.14680E+00, & - &-0.14428E+00,-0.14170E+00,-0.13905E+00,-0.13635E+00,-0.13360E+00, & - &-0.13079E+00,-0.12794E+00,-0.12503E+00,-0.12208E+00,-0.11908E+00, & - &-0.11604E+00,-0.11296E+00,-0.10984E+00,-0.10667E+00,-0.10348E+00, & - &-0.10024E+00,-0.96972E-01,-0.93669E-01,-0.90333E-01,-0.86964E-01, & - &-0.83564E-01,-0.80133E-01,-0.76672E-01,-0.73181E-01,-0.69661E-01, & - &-0.66113E-01,-0.62536E-01,-0.58930E-01,-0.55297E-01,-0.51636E-01, & - &-0.47947E-01,-0.44230E-01,-0.40486E-01,-0.36714E-01,-0.32914E-01, & - &-0.29086E-01,-0.25231E-01,-0.21348E-01,-0.17437E-01,-0.13498E-01, & - &-0.95308E-02,-0.55358E-02,-0.15127E-02, 0.25383E-02, 0.66171E-02, & - & 0.10724E-01, 0.14858E-01, 0.19019E-01, 0.23208E-01, 0.27423E-01, & - & 0.31665E-01, 0.35933E-01, 0.40227E-01, 0.44545E-01, 0.48888E-01, & - & 0.53254E-01, 0.57644E-01, 0.62056E-01, 0.66490E-01, 0.70945E-01/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.75420E-01, 0.79914E-01, 0.84426E-01, 0.88956E-01, 0.93502E-01, & - & 0.98063E-01, 0.10264E+00, 0.10723E+00, 0.11183E+00, 0.11644E+00, & - & 0.12107E+00, 0.12570E+00, 0.13035E+00, 0.13500E+00, 0.13966E+00, & - & 0.14432E+00, 0.14899E+00, 0.15366E+00, 0.15834E+00, 0.16302E+00, & - & 0.16771E+00, 0.17239E+00, 0.17708E+00, 0.18176E+00, 0.18645E+00, & - & 0.19113E+00, 0.19582E+00, 0.20050E+00, 0.20518E+00, 0.20985E+00, & - & 0.21452E+00, 0.21919E+00, 0.22386E+00, 0.22852E+00, 0.23317E+00, & - & 0.23782E+00, 0.24247E+00, 0.24711E+00, 0.25174E+00, 0.25637E+00, & - & 0.26099E+00, 0.26561E+00, 0.27021E+00, 0.27481E+00, 0.27941E+00, & - & 0.28400E+00, 0.28858E+00, 0.29315E+00, 0.29771E+00, 0.30227E+00, & - & 0.30682E+00, 0.31136E+00, 0.31590E+00, 0.32043E+00, 0.32494E+00, & - & 0.32946E+00, 0.33396E+00, 0.33845E+00, 0.34294E+00, 0.34742E+00, & - & 0.35189E+00, 0.35635E+00, 0.36080E+00, 0.36525E+00, 0.36968E+00, & - & 0.37411E+00, 0.37853E+00, 0.38294E+00, 0.38734E+00, 0.39174E+00, & - & 0.39612E+00, 0.40050E+00, 0.40487E+00, 0.40923E+00, 0.41358E+00, & - & 0.41792E+00, 0.42226E+00, 0.42658E+00, 0.43090E+00, 0.43521E+00, & - & 0.43951E+00, 0.44380E+00, 0.44808E+00, 0.45236E+00, 0.45662E+00, & - & 0.46088E+00, 0.46513E+00, 0.46937E+00, 0.47360E+00, 0.47782E+00, & - & 0.48204E+00, 0.48624E+00, 0.49044E+00, 0.49463E+00, 0.49881E+00, & - & 0.50298E+00, 0.50715E+00, 0.51130E+00, 0.51545E+00, 0.51959E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.52372E+00, 0.52784E+00, 0.53195E+00, 0.53606E+00, 0.54016E+00, & - & 0.54425E+00, 0.54833E+00, 0.55240E+00, 0.55646E+00, 0.56052E+00, & - & 0.56457E+00, 0.56861E+00, 0.57264E+00, 0.57666E+00, 0.58068E+00, & - & 0.58468E+00, 0.58868E+00, 0.59267E+00, 0.59666E+00, 0.60063E+00, & - & 0.60460E+00, 0.60856E+00, 0.61251E+00, 0.61645E+00, 0.62039E+00, & - & 0.62432E+00, 0.62824E+00, 0.63215E+00, 0.63606E+00, 0.63995E+00, & - & 0.64384E+00, 0.64772E+00, 0.65160E+00, 0.65546E+00, 0.65932E+00, & - & 0.66317E+00, 0.66702E+00, 0.67085E+00, 0.67468E+00, 0.67850E+00, & - & 0.68231E+00, 0.68612E+00, 0.68992E+00, 0.69371E+00, 0.69749E+00, & - & 0.70127E+00, 0.70504E+00, 0.70880E+00, 0.71256E+00, 0.71630E+00, & - & 0.72004E+00, 0.72378E+00, 0.72750E+00, 0.73122E+00, 0.73493E+00, & - & 0.73864E+00, 0.74233E+00, 0.74602E+00, 0.74971E+00, 0.75338E+00, & - & 0.75705E+00, 0.76071E+00, 0.76437E+00, 0.76802E+00, 0.77166E+00, & - & 0.77529E+00, 0.77892E+00, 0.78254E+00, 0.78616E+00, 0.78976E+00, & - & 0.79337E+00, 0.79696E+00, 0.80055E+00, 0.80413E+00, 0.80770E+00, & - & 0.81127E+00, 0.81483E+00, 0.81838E+00, 0.82193E+00, 0.82547E+00, & - & 0.82901E+00, 0.83253E+00, 0.83605E+00, 0.83957E+00, 0.84308E+00, & - & 0.84658E+00, 0.85008E+00, 0.85357E+00, 0.85705E+00, 0.86053E+00, & - & 0.86400E+00, 0.86746E+00, 0.87092E+00, 0.87437E+00, 0.87781E+00, & - & 0.88125E+00, 0.88469E+00, 0.88811E+00, 0.89153E+00, 0.89495E+00/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.89836E+00, 0.90176E+00, 0.90516E+00, 0.90855E+00, 0.91193E+00, & - & 0.91531E+00, 0.91868E+00, 0.92205E+00, 0.92541E+00, 0.92876E+00, & - & 0.93211E+00, 0.93545E+00, 0.93879E+00, 0.94212E+00, 0.94545E+00, & - & 0.94877E+00, 0.95208E+00, 0.95539E+00, 0.95869E+00, 0.96199E+00, & - & 0.96528E+00, 0.96856E+00, 0.97184E+00, 0.97512E+00, 0.97839E+00, & - & 0.98165E+00, 0.98491E+00, 0.98816E+00, 0.99140E+00, 0.99464E+00, & - & 0.99788E+00, 0.10011E+01, 0.10043E+01, 0.10075E+01, 0.10108E+01, & - & 0.10140E+01, 0.10172E+01, 0.10204E+01, 0.10236E+01, 0.10267E+01, & - & 0.10299E+01, 0.10331E+01, 0.10363E+01, 0.10394E+01, 0.10426E+01, & - & 0.10458E+01, 0.10489E+01, 0.10520E+01, 0.10552E+01, 0.10583E+01, & - & 0.10614E+01, 0.10646E+01, 0.10677E+01, 0.10708E+01, 0.10739E+01, & - & 0.10770E+01, 0.10801E+01, 0.10832E+01, 0.10863E+01, 0.10894E+01, & - & 0.10924E+01, 0.10955E+01, 0.10986E+01, 0.11016E+01, 0.11047E+01, & - & 0.11078E+01, 0.11108E+01, 0.11138E+01, 0.11169E+01, 0.11199E+01, & - & 0.11229E+01, 0.11260E+01, 0.11290E+01, 0.11320E+01, 0.11350E+01, & - & 0.11380E+01, 0.11410E+01, 0.11440E+01, 0.11470E+01, 0.11500E+01, & - & 0.11530E+01, 0.11559E+01, 0.11589E+01, 0.11619E+01, 0.11648E+01, & - & 0.11678E+01, 0.11708E+01, 0.11737E+01, 0.11766E+01, 0.11796E+01, & - & 0.11825E+01, 0.11854E+01, 0.11884E+01, 0.11913E+01, 0.11942E+01, & - & 0.11971E+01, 0.12000E+01, 0.12029E+01, 0.12058E+01, 0.12087E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.12116E+01, 0.12145E+01, 0.12174E+01, 0.12202E+01, 0.12231E+01, & - & 0.12260E+01, 0.12289E+01, 0.12317E+01, 0.12346E+01, 0.12374E+01, & - & 0.12403E+01, 0.12431E+01, 0.12459E+01, 0.12488E+01, 0.12516E+01, & - & 0.12544E+01, 0.12572E+01, 0.12601E+01, 0.12629E+01, 0.12657E+01, & - & 0.12685E+01, 0.12713E+01, 0.12741E+01, 0.12769E+01, 0.12797E+01, & - & 0.12824E+01, 0.12852E+01, 0.12880E+01, 0.12908E+01, 0.12935E+01, & - & 0.12963E+01, 0.12990E+01, 0.13018E+01, 0.13046E+01, 0.13073E+01, & - & 0.13100E+01, 0.13128E+01, 0.13155E+01, 0.13182E+01, 0.13210E+01, & - & 0.13237E+01, 0.13264E+01, 0.13291E+01, 0.13318E+01, 0.13345E+01, & - & 0.13372E+01, 0.13399E+01, 0.13426E+01, 0.13453E+01, 0.13480E+01, & - & 0.13507E+01, 0.13534E+01, 0.13561E+01, 0.13587E+01, 0.13614E+01, & - & 0.13641E+01, 0.13667E+01, 0.13694E+01, 0.13720E+01, 0.13747E+01, & - & 0.13773E+01, 0.13800E+01, 0.13826E+01, 0.13852E+01, 0.13879E+01, & - & 0.13905E+01, 0.13931E+01, 0.13957E+01, 0.13984E+01, 0.14010E+01, & - & 0.14036E+01, 0.14062E+01, 0.14088E+01, 0.14114E+01, 0.14140E+01, & - & 0.14166E+01, 0.14191E+01, 0.14217E+01, 0.14243E+01, 0.14269E+01, & - & 0.14295E+01, 0.14320E+01, 0.14346E+01, 0.14372E+01, 0.14397E+01, & - & 0.14423E+01, 0.14448E+01, 0.14474E+01, 0.14499E+01, 0.14525E+01, & - & 0.14550E+01, 0.14575E+01, 0.14601E+01, 0.14626E+01, 0.14651E+01, & - & 0.14676E+01, 0.14702E+01, 0.14727E+01, 0.14752E+01, 0.14777E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.14802E+01, 0.14827E+01, 0.14852E+01, 0.14877E+01, 0.14902E+01, & - & 0.14927E+01, 0.14951E+01, 0.14976E+01, 0.15001E+01, 0.15026E+01, & - & 0.15051E+01, 0.15075E+01, 0.15100E+01, 0.15124E+01, 0.15149E+01, & - & 0.15174E+01, 0.15198E+01, 0.15223E+01, 0.15247E+01, 0.15271E+01, & - & 0.15296E+01, 0.15320E+01, 0.15345E+01, 0.15369E+01, 0.15393E+01, & - & 0.15417E+01, 0.15442E+01, 0.15466E+01, 0.15490E+01, 0.15514E+01, & - & 0.15538E+01, 0.15562E+01, 0.15586E+01, 0.15610E+01, 0.15634E+01, & - & 0.15658E+01, 0.15682E+01, 0.15706E+01, 0.15729E+01, 0.15753E+01, & - & 0.15777E+01, 0.15801E+01, 0.15824E+01, 0.15848E+01, 0.15872E+01, & - & 0.15895E+01, 0.15919E+01, 0.15943E+01, 0.15966E+01, 0.15990E+01, & - & 0.16013E+01, 0.16037E+01, 0.16060E+01, 0.16083E+01, 0.16107E+01, & - & 0.16130E+01, 0.16153E+01, 0.16177E+01, 0.16200E+01, 0.16223E+01, & - & 0.16246E+01, 0.16269E+01, 0.16292E+01, 0.16316E+01, 0.16339E+01, & - & 0.16362E+01, 0.16385E+01, 0.16408E+01, 0.16431E+01, 0.16453E+01, & - & 0.16476E+01, 0.16499E+01, 0.16522E+01, 0.16545E+01, 0.16568E+01, & - & 0.16590E+01, 0.16613E+01, 0.16636E+01, 0.16658E+01, 0.16681E+01, & - & 0.16704E+01, 0.16726E+01, 0.16749E+01, 0.16771E+01, 0.16794E+01, & - & 0.16816E+01, 0.16839E+01, 0.16861E+01, 0.16884E+01, 0.16906E+01, & - & 0.16928E+01, 0.16951E+01, 0.16973E+01, 0.16995E+01, 0.17018E+01, & - & 0.17040E+01, 0.17062E+01, 0.17084E+01, 0.17106E+01, 0.17128E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.17365E+01, 0.17582E+01, 0.17797E+01, 0.18009E+01, 0.18218E+01, & - & 0.18425E+01, 0.18630E+01, 0.18833E+01, 0.19033E+01, 0.19232E+01, & - & 0.19428E+01, 0.19622E+01, 0.19814E+01, 0.20004E+01, 0.20193E+01, & - & 0.20379E+01, 0.20563E+01, 0.20746E+01, 0.20927E+01, 0.21106E+01, & - & 0.21283E+01, 0.21459E+01, 0.21633E+01, 0.21806E+01, 0.21976E+01, & - & 0.22146E+01, 0.22313E+01, 0.22480E+01, 0.22644E+01, 0.22808E+01, & - & 0.22969E+01, 0.23130E+01, 0.23289E+01, 0.23447E+01, 0.23603E+01, & - & 0.23758E+01, 0.23912E+01, 0.24064E+01, 0.24215E+01, 0.24365E+01, & - & 0.24514E+01, 0.24662E+01, 0.24808E+01, 0.24953E+01, 0.25097E+01, & - & 0.25240E+01, 0.25382E+01, 0.25523E+01, 0.25663E+01, 0.25802E+01, & - & 0.25939E+01, 0.26076E+01, 0.26211E+01, 0.26346E+01, 0.26480E+01, & - & 0.26612E+01, 0.26744E+01, 0.26875E+01, 0.27005E+01, 0.27134E+01, & - & 0.27262E+01, 0.27389E+01, 0.27515E+01, 0.27640E+01, 0.27765E+01, & - & 0.27889E+01, 0.28012E+01, 0.28134E+01, 0.28255E+01, 0.28375E+01, & - & 0.28495E+01, 0.28614E+01, 0.28732E+01, 0.28849E+01, 0.28966E+01, & - & 0.29082E+01, 0.29197E+01, 0.29312E+01, 0.29425E+01, 0.29538E+01, & - & 0.29651E+01, 0.29762E+01, 0.29873E+01, 0.29984E+01, 0.30093E+01, & - & 0.30202E+01, 0.30311E+01, 0.30419E+01, 0.30526E+01, 0.30632E+01, & - & 0.30738E+01, 0.30843E+01, 0.30948E+01, 0.31052E+01, 0.31155E+01, & - & 0.31258E+01, 0.31361E+01, 0.31462E+01, 0.31564E+01, 0.31664E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.31764E+01, 0.31864E+01, 0.31963E+01, 0.32061E+01, 0.32159E+01, & - & 0.32257E+01, 0.32354E+01, 0.32450E+01, 0.32546E+01, 0.32641E+01, & - & 0.32736E+01, 0.32831E+01, 0.32925E+01, 0.33018E+01, 0.33111E+01, & - & 0.33203E+01, 0.33295E+01, 0.33387E+01, 0.33478E+01, 0.33569E+01, & - & 0.33659E+01, 0.33749E+01, 0.33838E+01, 0.33927E+01, 0.34016E+01, & - & 0.34104E+01, 0.34191E+01, 0.34278E+01, 0.34365E+01, 0.34452E+01, & - & 0.34538E+01, 0.34623E+01, 0.34708E+01, 0.34793E+01, 0.34878E+01, & - & 0.34962E+01, 0.35045E+01, 0.35128E+01, 0.35211E+01, 0.35294E+01, & - & 0.35376E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.74160E-01,-0.16032E+00,-0.20289E+00,-0.23274E+00,-0.25599E+00, & - &-0.27511E+00,-0.29137E+00,-0.30552E+00,-0.31804E+00,-0.32926E+00, & - &-0.33941E+00,-0.34868E+00,-0.35720E+00,-0.36507E+00,-0.37238E+00, & - &-0.37919E+00,-0.38556E+00,-0.39153E+00,-0.39715E+00,-0.40245E+00, & - &-0.40745E+00,-0.41219E+00,-0.41668E+00,-0.42094E+00,-0.42499E+00, & - &-0.42884E+00,-0.43251E+00,-0.43600E+00,-0.43934E+00,-0.44252E+00, & - &-0.44556E+00,-0.44847E+00,-0.45124E+00,-0.45390E+00,-0.45644E+00, & - &-0.45887E+00,-0.46119E+00,-0.46342E+00,-0.46555E+00,-0.46759E+00, & - &-0.46955E+00,-0.47142E+00,-0.47321E+00,-0.47492E+00,-0.47656E+00, & - &-0.47813E+00,-0.47963E+00,-0.48107E+00,-0.48244E+00,-0.48376E+00, & - &-0.48501E+00,-0.48621E+00,-0.48736E+00,-0.48845E+00,-0.48950E+00, & - &-0.49049E+00,-0.49144E+00,-0.49234E+00,-0.49320E+00,-0.49402E+00, & - &-0.49480E+00,-0.49554E+00,-0.49623E+00,-0.49690E+00,-0.49752E+00, & - &-0.49812E+00,-0.49867E+00,-0.49920E+00,-0.49969E+00,-0.50015E+00, & - &-0.50059E+00,-0.50099E+00,-0.50136E+00,-0.50171E+00,-0.50203E+00, & - &-0.50232E+00,-0.50259E+00,-0.50283E+00,-0.50305E+00,-0.50324E+00, & - &-0.50341E+00,-0.50356E+00,-0.50369E+00,-0.50379E+00,-0.50387E+00, & - &-0.50393E+00,-0.50397E+00,-0.50399E+00,-0.50399E+00,-0.50397E+00, & - &-0.50393E+00,-0.50387E+00,-0.50380E+00,-0.50371E+00,-0.50360E+00, & - &-0.50347E+00,-0.50333E+00,-0.50317E+00,-0.50300E+00,-0.50281E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.50260E+00,-0.50239E+00,-0.50216E+00,-0.50191E+00,-0.50165E+00, & - &-0.50138E+00,-0.50110E+00,-0.50081E+00,-0.50050E+00,-0.50019E+00, & - &-0.49986E+00,-0.49953E+00,-0.49918E+00,-0.49882E+00,-0.49846E+00, & - &-0.49809E+00,-0.49771E+00,-0.49732E+00,-0.49692E+00,-0.49652E+00, & - &-0.49610E+00,-0.49569E+00,-0.49526E+00,-0.49483E+00,-0.49439E+00, & - &-0.49395E+00,-0.49350E+00,-0.49305E+00,-0.49259E+00,-0.49213E+00, & - &-0.49166E+00,-0.49119E+00,-0.49071E+00,-0.49023E+00,-0.48975E+00, & - &-0.48926E+00,-0.48877E+00,-0.48827E+00,-0.48777E+00,-0.48727E+00, & - &-0.48677E+00,-0.48626E+00,-0.48575E+00,-0.48523E+00,-0.48472E+00, & - &-0.48420E+00,-0.48368E+00,-0.48315E+00,-0.48263E+00,-0.48210E+00, & - &-0.48157E+00,-0.48104E+00,-0.48050E+00,-0.47997E+00,-0.47943E+00, & - &-0.47889E+00,-0.47835E+00,-0.47781E+00,-0.47727E+00,-0.47672E+00, & - &-0.47617E+00,-0.47563E+00,-0.47508E+00,-0.47453E+00,-0.47398E+00, & - &-0.47342E+00,-0.47287E+00,-0.47232E+00,-0.47176E+00,-0.47121E+00, & - &-0.47065E+00,-0.47009E+00,-0.46953E+00,-0.46897E+00,-0.46841E+00, & - &-0.46785E+00,-0.46729E+00,-0.46673E+00,-0.46617E+00,-0.46560E+00, & - &-0.46504E+00,-0.46448E+00,-0.46391E+00,-0.46335E+00,-0.46278E+00, & - &-0.46222E+00,-0.46165E+00,-0.46108E+00,-0.46052E+00,-0.45995E+00, & - &-0.45938E+00,-0.45882E+00,-0.45825E+00,-0.45768E+00,-0.45711E+00, & - &-0.45655E+00,-0.45598E+00,-0.45541E+00,-0.45484E+00,-0.45428E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.45371E+00,-0.45314E+00,-0.45257E+00,-0.45200E+00,-0.45144E+00, & - &-0.45087E+00,-0.45030E+00,-0.44973E+00,-0.44917E+00,-0.44860E+00, & - &-0.44803E+00,-0.44746E+00,-0.44690E+00,-0.44633E+00,-0.44576E+00, & - &-0.44520E+00,-0.44463E+00,-0.44406E+00,-0.44350E+00,-0.44293E+00, & - &-0.44237E+00,-0.44180E+00,-0.44124E+00,-0.44067E+00,-0.44011E+00, & - &-0.43954E+00,-0.43898E+00,-0.43842E+00,-0.43785E+00,-0.43729E+00, & - &-0.43673E+00,-0.43617E+00,-0.43560E+00,-0.43504E+00,-0.43448E+00, & - &-0.43392E+00,-0.43336E+00,-0.43280E+00,-0.43224E+00,-0.43168E+00, & - &-0.43112E+00,-0.43056E+00,-0.43000E+00,-0.42945E+00,-0.42889E+00, & - &-0.42833E+00,-0.42778E+00,-0.42722E+00,-0.42666E+00,-0.42611E+00, & - &-0.42555E+00,-0.42500E+00,-0.42445E+00,-0.42389E+00,-0.42334E+00, & - &-0.42279E+00,-0.42223E+00,-0.42168E+00,-0.42113E+00,-0.42058E+00, & - &-0.42003E+00,-0.41948E+00,-0.41893E+00,-0.41838E+00,-0.41783E+00, & - &-0.41729E+00,-0.41674E+00,-0.41619E+00,-0.41564E+00,-0.41510E+00, & - &-0.41455E+00,-0.41401E+00,-0.41346E+00,-0.41292E+00,-0.41238E+00, & - &-0.41183E+00,-0.41129E+00,-0.41075E+00,-0.41021E+00,-0.40967E+00, & - &-0.40913E+00,-0.40859E+00,-0.40805E+00,-0.40751E+00,-0.40697E+00, & - &-0.40643E+00,-0.40589E+00,-0.40536E+00,-0.40482E+00,-0.40429E+00, & - &-0.40375E+00,-0.40322E+00,-0.40268E+00,-0.40215E+00,-0.40161E+00, & - &-0.40108E+00,-0.40055E+00,-0.40002E+00,-0.39949E+00,-0.39896E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.39843E+00,-0.39790E+00,-0.39737E+00,-0.39684E+00,-0.39631E+00, & - &-0.39579E+00,-0.39526E+00,-0.39473E+00,-0.39421E+00,-0.39368E+00, & - &-0.39316E+00,-0.39263E+00,-0.39211E+00,-0.39159E+00,-0.39106E+00, & - &-0.39054E+00,-0.39002E+00,-0.38950E+00,-0.38898E+00,-0.38846E+00, & - &-0.38794E+00,-0.38742E+00,-0.38691E+00,-0.38639E+00,-0.38587E+00, & - &-0.38535E+00,-0.38484E+00,-0.38432E+00,-0.38381E+00,-0.38329E+00, & - &-0.38278E+00,-0.38227E+00,-0.38175E+00,-0.38124E+00,-0.38073E+00, & - &-0.38022E+00,-0.37971E+00,-0.37920E+00,-0.37869E+00,-0.37818E+00, & - &-0.37767E+00,-0.37717E+00,-0.37666E+00,-0.37615E+00,-0.37565E+00, & - &-0.37514E+00,-0.37464E+00,-0.37413E+00,-0.37363E+00,-0.37312E+00, & - &-0.37262E+00,-0.37212E+00,-0.37162E+00,-0.37112E+00,-0.37061E+00, & - &-0.37011E+00,-0.36961E+00,-0.36912E+00,-0.36862E+00,-0.36812E+00, & - &-0.36762E+00,-0.36712E+00,-0.36663E+00,-0.36613E+00,-0.36564E+00, & - &-0.36514E+00,-0.36465E+00,-0.36415E+00,-0.36366E+00,-0.36317E+00, & - &-0.36268E+00,-0.36218E+00,-0.36169E+00,-0.36120E+00,-0.36071E+00, & - &-0.36022E+00,-0.35973E+00,-0.35925E+00,-0.35876E+00,-0.35827E+00, & - &-0.35778E+00,-0.35730E+00,-0.35681E+00,-0.35633E+00,-0.35584E+00, & - &-0.35536E+00,-0.35487E+00,-0.35439E+00,-0.35391E+00,-0.35343E+00, & - &-0.35294E+00,-0.35246E+00,-0.35198E+00,-0.35150E+00,-0.35102E+00, & - &-0.35054E+00,-0.35006E+00,-0.34959E+00,-0.34911E+00,-0.34863E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.34816E+00,-0.34768E+00,-0.34720E+00,-0.34673E+00,-0.34625E+00, & - &-0.34578E+00,-0.34531E+00,-0.34483E+00,-0.34436E+00,-0.34389E+00, & - &-0.34342E+00,-0.34295E+00,-0.34248E+00,-0.34201E+00,-0.34154E+00, & - &-0.34107E+00,-0.34060E+00,-0.34013E+00,-0.33967E+00,-0.33920E+00, & - &-0.33873E+00,-0.33827E+00,-0.33780E+00,-0.33734E+00,-0.33687E+00, & - &-0.33641E+00,-0.33594E+00,-0.33548E+00,-0.33502E+00,-0.33456E+00, & - &-0.33410E+00,-0.33363E+00,-0.33317E+00,-0.33271E+00,-0.33225E+00, & - &-0.33180E+00,-0.33134E+00,-0.33088E+00,-0.33042E+00,-0.32996E+00, & - &-0.32951E+00,-0.32905E+00,-0.32860E+00,-0.32814E+00,-0.32769E+00, & - &-0.32723E+00,-0.32678E+00,-0.32633E+00,-0.32587E+00,-0.32542E+00, & - &-0.32497E+00,-0.32452E+00,-0.32407E+00,-0.32362E+00,-0.32317E+00, & - &-0.32272E+00,-0.32227E+00,-0.32182E+00,-0.32137E+00,-0.32092E+00, & - &-0.32048E+00,-0.32003E+00,-0.31958E+00,-0.31914E+00,-0.31869E+00, & - &-0.31825E+00,-0.31781E+00,-0.31736E+00,-0.31692E+00,-0.31648E+00, & - &-0.31603E+00,-0.31559E+00,-0.31515E+00,-0.31471E+00,-0.31427E+00, & - &-0.31383E+00,-0.31339E+00,-0.31295E+00,-0.31251E+00,-0.31207E+00, & - &-0.31163E+00,-0.31120E+00,-0.31076E+00,-0.31032E+00,-0.30989E+00, & - &-0.30945E+00,-0.30902E+00,-0.30858E+00,-0.30815E+00,-0.30771E+00, & - &-0.30728E+00,-0.30685E+00,-0.30642E+00,-0.30598E+00,-0.30555E+00, & - &-0.30512E+00,-0.30469E+00,-0.30426E+00,-0.30383E+00,-0.30340E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.30297E+00,-0.30254E+00,-0.30212E+00,-0.30169E+00,-0.30126E+00, & - &-0.30084E+00,-0.30041E+00,-0.29998E+00,-0.29956E+00,-0.29913E+00, & - &-0.29871E+00,-0.29828E+00,-0.29786E+00,-0.29744E+00,-0.29701E+00, & - &-0.29659E+00,-0.29617E+00,-0.29575E+00,-0.29533E+00,-0.29491E+00, & - &-0.29449E+00,-0.29407E+00,-0.29365E+00,-0.29323E+00,-0.29281E+00, & - &-0.29239E+00,-0.29197E+00,-0.29156E+00,-0.29114E+00,-0.29072E+00, & - &-0.29031E+00,-0.28989E+00,-0.28948E+00,-0.28906E+00,-0.28865E+00, & - &-0.28823E+00,-0.28782E+00,-0.28741E+00,-0.28700E+00,-0.28658E+00, & - &-0.28617E+00,-0.28576E+00,-0.28535E+00,-0.28494E+00,-0.28453E+00, & - &-0.28412E+00,-0.28371E+00,-0.28330E+00,-0.28289E+00,-0.28248E+00, & - &-0.28208E+00,-0.28167E+00,-0.28126E+00,-0.28085E+00,-0.28045E+00, & - &-0.28004E+00,-0.27964E+00,-0.27923E+00,-0.27883E+00,-0.27842E+00, & - &-0.27802E+00,-0.27762E+00,-0.27721E+00,-0.27681E+00,-0.27641E+00, & - &-0.27601E+00,-0.27561E+00,-0.27520E+00,-0.27480E+00,-0.27440E+00, & - &-0.27400E+00,-0.27360E+00,-0.27320E+00,-0.27281E+00,-0.27241E+00, & - &-0.27201E+00,-0.27161E+00,-0.27122E+00,-0.27082E+00,-0.27042E+00, & - &-0.27003E+00,-0.26963E+00,-0.26924E+00,-0.26884E+00,-0.26845E+00, & - &-0.26805E+00,-0.26766E+00,-0.26727E+00,-0.26687E+00,-0.26648E+00, & - &-0.26609E+00,-0.26570E+00,-0.26530E+00,-0.26491E+00,-0.26452E+00, & - &-0.26413E+00,-0.26374E+00,-0.26335E+00,-0.26296E+00,-0.26257E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.25840E+00,-0.25457E+00,-0.25078E+00,-0.24702E+00,-0.24330E+00, & - &-0.23961E+00,-0.23595E+00,-0.23233E+00,-0.22874E+00,-0.22518E+00, & - &-0.22165E+00,-0.21815E+00,-0.21469E+00,-0.21125E+00,-0.20784E+00, & - &-0.20447E+00,-0.20112E+00,-0.19779E+00,-0.19450E+00,-0.19123E+00, & - &-0.18799E+00,-0.18477E+00,-0.18158E+00,-0.17842E+00,-0.17528E+00, & - &-0.17217E+00,-0.16907E+00,-0.16601E+00,-0.16297E+00,-0.15995E+00, & - &-0.15695E+00,-0.15397E+00,-0.15102E+00,-0.14809E+00,-0.14518E+00, & - &-0.14229E+00,-0.13943E+00,-0.13658E+00,-0.13375E+00,-0.13095E+00, & - &-0.12816E+00,-0.12539E+00,-0.12265E+00,-0.11992E+00,-0.11721E+00, & - &-0.11452E+00,-0.11184E+00,-0.10919E+00,-0.10655E+00,-0.10393E+00, & - &-0.10133E+00,-0.98739E-01,-0.96170E-01,-0.93617E-01,-0.91081E-01, & - &-0.88561E-01,-0.86056E-01,-0.83568E-01,-0.81095E-01,-0.78637E-01, & - &-0.76195E-01,-0.73767E-01,-0.71355E-01,-0.68957E-01,-0.66573E-01, & - &-0.64204E-01,-0.61849E-01,-0.59507E-01,-0.57180E-01,-0.54866E-01, & - &-0.52566E-01,-0.50278E-01,-0.48004E-01,-0.45744E-01,-0.43495E-01, & - &-0.41260E-01,-0.39037E-01,-0.36827E-01,-0.34628E-01,-0.32442E-01, & - &-0.30268E-01,-0.28106E-01,-0.25955E-01,-0.23817E-01,-0.21689E-01, & - &-0.19573E-01,-0.17469E-01,-0.15375E-01,-0.13292E-01,-0.11221E-01, & - &-0.91596E-02,-0.71093E-02,-0.50696E-02,-0.30403E-02,-0.10211E-02, & - & 0.98760E-03, 0.29861E-02, 0.49747E-02, 0.69537E-02, 0.89224E-02/ - - DATA (BNC13M(I),I=701,741)/ & - & 0.10882E-01, 0.12831E-01, 0.14771E-01, 0.16702E-01, 0.18623E-01, & - & 0.20535E-01, 0.22438E-01, 0.24331E-01, 0.26216E-01, 0.28092E-01, & - & 0.29959E-01, 0.31817E-01, 0.33667E-01, 0.35508E-01, 0.37341E-01, & - & 0.39165E-01, 0.40981E-01, 0.42788E-01, 0.44588E-01, 0.46379E-01, & - & 0.48162E-01, 0.49937E-01, 0.51705E-01, 0.53465E-01, 0.55216E-01, & - & 0.56960E-01, 0.58697E-01, 0.60426E-01, 0.62147E-01, 0.63862E-01, & - & 0.65569E-01, 0.67268E-01, 0.68960E-01, 0.70645E-01, 0.72323E-01, & - & 0.73994E-01, 0.75658E-01, 0.77315E-01, 0.78966E-01, 0.80609E-01, & - & 0.82246E-01 & - & / - ENDBLOCKDATA KMCF298 diff --git a/src/arome/chem/internals/data_kmcf323a.F b/src/arome/chem/internals/data_kmcf323a.F deleted file mode 100644 index 73f5499ce7de9151980d2109ed814a5502961932..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/data_kmcf323a.F +++ /dev/null @@ -1,2218 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/data_kmcf323a.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:31 $ -!----------------------------------------------------------------- - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA KMCF323A -! *** CONTAINS THE DATA FOR KUSSIK-MEISNER BINARY COEFFICIENT ARRAYS -! NEEDED IN SUBROUTINE KM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA KMCF323 -! - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! - COMMON /KMC323/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! -! *** NaCl -! - DATA (BNC01M(I),I=1,100)/ & - &-0.44252E-01,-0.92492E-01,-0.11448E+00,-0.12890E+00,-0.13941E+00, & - &-0.14750E+00,-0.15391E+00,-0.15911E+00,-0.16337E+00,-0.16690E+00, & - &-0.16982E+00,-0.17224E+00,-0.17425E+00,-0.17590E+00,-0.17724E+00, & - &-0.17831E+00,-0.17916E+00,-0.17979E+00,-0.18025E+00,-0.18054E+00, & - &-0.18068E+00,-0.18069E+00,-0.18058E+00,-0.18037E+00,-0.18006E+00, & - &-0.17965E+00,-0.17917E+00,-0.17861E+00,-0.17799E+00,-0.17730E+00, & - &-0.17656E+00,-0.17576E+00,-0.17492E+00,-0.17403E+00,-0.17310E+00, & - &-0.17213E+00,-0.17113E+00,-0.17010E+00,-0.16904E+00,-0.16795E+00, & - &-0.16684E+00,-0.16571E+00,-0.16455E+00,-0.16338E+00,-0.16219E+00, & - &-0.16098E+00,-0.15976E+00,-0.15852E+00,-0.15727E+00,-0.15601E+00, & - &-0.15473E+00,-0.15345E+00,-0.15216E+00,-0.15085E+00,-0.14954E+00, & - &-0.14822E+00,-0.14689E+00,-0.14556E+00,-0.14421E+00,-0.14286E+00, & - &-0.14150E+00,-0.14014E+00,-0.13876E+00,-0.13738E+00,-0.13599E+00, & - &-0.13459E+00,-0.13319E+00,-0.13177E+00,-0.13035E+00,-0.12892E+00, & - &-0.12748E+00,-0.12603E+00,-0.12457E+00,-0.12310E+00,-0.12162E+00, & - &-0.12013E+00,-0.11863E+00,-0.11712E+00,-0.11560E+00,-0.11407E+00, & - &-0.11253E+00,-0.11097E+00,-0.10940E+00,-0.10782E+00,-0.10623E+00, & - &-0.10463E+00,-0.10301E+00,-0.10138E+00,-0.99742E-01,-0.98090E-01, & - &-0.96425E-01,-0.94749E-01,-0.93061E-01,-0.91361E-01,-0.89649E-01, & - &-0.87927E-01,-0.86193E-01,-0.84448E-01,-0.82693E-01,-0.80928E-01/ - - DATA (BNC01M(I),I=101,200)/ & - &-0.79153E-01,-0.77368E-01,-0.75574E-01,-0.73772E-01,-0.71960E-01, & - &-0.70141E-01,-0.68314E-01,-0.66479E-01,-0.64638E-01,-0.62790E-01, & - &-0.60935E-01,-0.59075E-01,-0.57209E-01,-0.55338E-01,-0.53462E-01, & - &-0.51582E-01,-0.49697E-01,-0.47809E-01,-0.45917E-01,-0.44022E-01, & - &-0.42125E-01,-0.40224E-01,-0.38321E-01,-0.36416E-01,-0.34510E-01, & - &-0.32601E-01,-0.30691E-01,-0.28780E-01,-0.26868E-01,-0.24955E-01, & - &-0.23041E-01,-0.21127E-01,-0.19212E-01,-0.17298E-01,-0.15383E-01, & - &-0.13468E-01,-0.11553E-01,-0.96383E-02,-0.77240E-02,-0.58102E-02, & - &-0.38968E-02,-0.19841E-02,-0.72052E-04, 0.18393E-02, 0.37498E-02, & - & 0.56595E-02, 0.75683E-02, 0.94761E-02, 0.11383E-01, 0.13289E-01, & - & 0.15193E-01, 0.17097E-01, 0.18999E-01, 0.20900E-01, 0.22800E-01, & - & 0.24698E-01, 0.26595E-01, 0.28491E-01, 0.30386E-01, 0.32279E-01, & - & 0.34170E-01, 0.36060E-01, 0.37949E-01, 0.39836E-01, 0.41721E-01, & - & 0.43605E-01, 0.45488E-01, 0.47369E-01, 0.49248E-01, 0.51125E-01, & - & 0.53001E-01, 0.54875E-01, 0.56748E-01, 0.58618E-01, 0.60487E-01, & - & 0.62355E-01, 0.64220E-01, 0.66084E-01, 0.67946E-01, 0.69806E-01, & - & 0.71664E-01, 0.73521E-01, 0.75376E-01, 0.77228E-01, 0.79079E-01, & - & 0.80928E-01, 0.82775E-01, 0.84621E-01, 0.86464E-01, 0.88305E-01, & - & 0.90145E-01, 0.91982E-01, 0.93818E-01, 0.95651E-01, 0.97483E-01, & - & 0.99313E-01, 0.10114E+00, 0.10297E+00, 0.10479E+00, 0.10661E+00/ - - DATA (BNC01M(I),I=201,300)/ & - & 0.10843E+00, 0.11025E+00, 0.11206E+00, 0.11388E+00, 0.11569E+00, & - & 0.11750E+00, 0.11931E+00, 0.12111E+00, 0.12291E+00, 0.12472E+00, & - & 0.12651E+00, 0.12831E+00, 0.13011E+00, 0.13190E+00, 0.13369E+00, & - & 0.13548E+00, 0.13726E+00, 0.13905E+00, 0.14083E+00, 0.14261E+00, & - & 0.14439E+00, 0.14617E+00, 0.14794E+00, 0.14971E+00, 0.15148E+00, & - & 0.15325E+00, 0.15501E+00, 0.15678E+00, 0.15854E+00, 0.16030E+00, & - & 0.16205E+00, 0.16381E+00, 0.16556E+00, 0.16731E+00, 0.16906E+00, & - & 0.17080E+00, 0.17255E+00, 0.17429E+00, 0.17603E+00, 0.17777E+00, & - & 0.17950E+00, 0.18124E+00, 0.18297E+00, 0.18470E+00, 0.18642E+00, & - & 0.18815E+00, 0.18987E+00, 0.19159E+00, 0.19331E+00, 0.19502E+00, & - & 0.19674E+00, 0.19845E+00, 0.20016E+00, 0.20187E+00, 0.20357E+00, & - & 0.20527E+00, 0.20697E+00, 0.20867E+00, 0.21037E+00, 0.21206E+00, & - & 0.21376E+00, 0.21545E+00, 0.21714E+00, 0.21882E+00, 0.22050E+00, & - & 0.22219E+00, 0.22387E+00, 0.22554E+00, 0.22722E+00, 0.22889E+00, & - & 0.23056E+00, 0.23223E+00, 0.23390E+00, 0.23556E+00, 0.23723E+00, & - & 0.23889E+00, 0.24054E+00, 0.24220E+00, 0.24386E+00, 0.24551E+00, & - & 0.24716E+00, 0.24880E+00, 0.25045E+00, 0.25209E+00, 0.25374E+00, & - & 0.25538E+00, 0.25701E+00, 0.25865E+00, 0.26028E+00, 0.26191E+00, & - & 0.26354E+00, 0.26517E+00, 0.26679E+00, 0.26842E+00, 0.27004E+00, & - & 0.27166E+00, 0.27327E+00, 0.27489E+00, 0.27650E+00, 0.27811E+00/ - - DATA (BNC01M(I),I=301,400)/ & - & 0.27972E+00, 0.28132E+00, 0.28293E+00, 0.28453E+00, 0.28613E+00, & - & 0.28773E+00, 0.28933E+00, 0.29092E+00, 0.29251E+00, 0.29410E+00, & - & 0.29569E+00, 0.29728E+00, 0.29886E+00, 0.30044E+00, 0.30202E+00, & - & 0.30360E+00, 0.30518E+00, 0.30675E+00, 0.30832E+00, 0.30989E+00, & - & 0.31146E+00, 0.31303E+00, 0.31459E+00, 0.31615E+00, 0.31771E+00, & - & 0.31927E+00, 0.32083E+00, 0.32238E+00, 0.32393E+00, 0.32549E+00, & - & 0.32703E+00, 0.32858E+00, 0.33012E+00, 0.33167E+00, 0.33321E+00, & - & 0.33475E+00, 0.33628E+00, 0.33782E+00, 0.33935E+00, 0.34088E+00, & - & 0.34241E+00, 0.34394E+00, 0.34546E+00, 0.34699E+00, 0.34851E+00, & - & 0.35003E+00, 0.35155E+00, 0.35306E+00, 0.35458E+00, 0.35609E+00, & - & 0.35760E+00, 0.35911E+00, 0.36061E+00, 0.36212E+00, 0.36362E+00, & - & 0.36512E+00, 0.36662E+00, 0.36812E+00, 0.36961E+00, 0.37111E+00, & - & 0.37260E+00, 0.37409E+00, 0.37558E+00, 0.37706E+00, 0.37855E+00, & - & 0.38003E+00, 0.38151E+00, 0.38299E+00, 0.38447E+00, 0.38594E+00, & - & 0.38741E+00, 0.38889E+00, 0.39036E+00, 0.39182E+00, 0.39329E+00, & - & 0.39476E+00, 0.39622E+00, 0.39768E+00, 0.39914E+00, 0.40060E+00, & - & 0.40205E+00, 0.40350E+00, 0.40496E+00, 0.40641E+00, 0.40786E+00, & - & 0.40930E+00, 0.41075E+00, 0.41219E+00, 0.41363E+00, 0.41507E+00, & - & 0.41651E+00, 0.41795E+00, 0.41938E+00, 0.42081E+00, 0.42225E+00, & - & 0.42367E+00, 0.42510E+00, 0.42653E+00, 0.42795E+00, 0.42938E+00/ - - DATA (BNC01M(I),I=401,500)/ & - & 0.43080E+00, 0.43222E+00, 0.43363E+00, 0.43505E+00, 0.43646E+00, & - & 0.43788E+00, 0.43929E+00, 0.44070E+00, 0.44210E+00, 0.44351E+00, & - & 0.44491E+00, 0.44632E+00, 0.44772E+00, 0.44912E+00, 0.45051E+00, & - & 0.45191E+00, 0.45331E+00, 0.45470E+00, 0.45609E+00, 0.45748E+00, & - & 0.45887E+00, 0.46025E+00, 0.46164E+00, 0.46302E+00, 0.46440E+00, & - & 0.46578E+00, 0.46716E+00, 0.46854E+00, 0.46991E+00, 0.47128E+00, & - & 0.47266E+00, 0.47403E+00, 0.47539E+00, 0.47676E+00, 0.47813E+00, & - & 0.47949E+00, 0.48085E+00, 0.48221E+00, 0.48357E+00, 0.48493E+00, & - & 0.48629E+00, 0.48764E+00, 0.48899E+00, 0.49035E+00, 0.49170E+00, & - & 0.49304E+00, 0.49439E+00, 0.49574E+00, 0.49708E+00, 0.49842E+00, & - & 0.49976E+00, 0.50110E+00, 0.50244E+00, 0.50378E+00, 0.50511E+00, & - & 0.50644E+00, 0.50778E+00, 0.50911E+00, 0.51043E+00, 0.51176E+00, & - & 0.51309E+00, 0.51441E+00, 0.51573E+00, 0.51706E+00, 0.51838E+00, & - & 0.51969E+00, 0.52101E+00, 0.52233E+00, 0.52364E+00, 0.52495E+00, & - & 0.52626E+00, 0.52757E+00, 0.52888E+00, 0.53019E+00, 0.53149E+00, & - & 0.53280E+00, 0.53410E+00, 0.53540E+00, 0.53670E+00, 0.53800E+00, & - & 0.53929E+00, 0.54059E+00, 0.54188E+00, 0.54317E+00, 0.54446E+00, & - & 0.54575E+00, 0.54704E+00, 0.54833E+00, 0.54961E+00, 0.55090E+00, & - & 0.55218E+00, 0.55346E+00, 0.55474E+00, 0.55602E+00, 0.55730E+00, & - & 0.55857E+00, 0.55985E+00, 0.56112E+00, 0.56239E+00, 0.56366E+00/ - - DATA (BNC01M(I),I=501,600)/ & - & 0.56493E+00, 0.56620E+00, 0.56746E+00, 0.56873E+00, 0.56999E+00, & - & 0.57125E+00, 0.57251E+00, 0.57377E+00, 0.57503E+00, 0.57629E+00, & - & 0.57754E+00, 0.57879E+00, 0.58005E+00, 0.58130E+00, 0.58255E+00, & - & 0.58380E+00, 0.58504E+00, 0.58629E+00, 0.58753E+00, 0.58878E+00, & - & 0.59002E+00, 0.59126E+00, 0.59250E+00, 0.59374E+00, 0.59497E+00, & - & 0.59621E+00, 0.59744E+00, 0.59868E+00, 0.59991E+00, 0.60114E+00, & - & 0.60237E+00, 0.60359E+00, 0.60482E+00, 0.60605E+00, 0.60727E+00, & - & 0.60849E+00, 0.60971E+00, 0.61093E+00, 0.61215E+00, 0.61337E+00, & - & 0.61459E+00, 0.61580E+00, 0.61702E+00, 0.61823E+00, 0.61944E+00, & - & 0.62065E+00, 0.62186E+00, 0.62307E+00, 0.62427E+00, 0.62548E+00, & - & 0.62668E+00, 0.62788E+00, 0.62909E+00, 0.63029E+00, 0.63149E+00, & - & 0.63268E+00, 0.63388E+00, 0.63508E+00, 0.63627E+00, 0.63746E+00, & - & 0.63865E+00, 0.63985E+00, 0.64103E+00, 0.64222E+00, 0.64341E+00, & - & 0.64460E+00, 0.64578E+00, 0.64696E+00, 0.64815E+00, 0.64933E+00, & - & 0.65051E+00, 0.65169E+00, 0.65286E+00, 0.65404E+00, 0.65521E+00, & - & 0.65639E+00, 0.65756E+00, 0.65873E+00, 0.65990E+00, 0.66107E+00, & - & 0.66224E+00, 0.66341E+00, 0.66457E+00, 0.66574E+00, 0.66690E+00, & - & 0.66807E+00, 0.66923E+00, 0.67039E+00, 0.67155E+00, 0.67270E+00, & - & 0.67386E+00, 0.67502E+00, 0.67617E+00, 0.67733E+00, 0.67848E+00, & - & 0.67963E+00, 0.68078E+00, 0.68193E+00, 0.68308E+00, 0.68422E+00/ - - DATA (BNC01M(I),I=601,700)/ & - & 0.69654E+00, 0.70783E+00, 0.71902E+00, 0.73010E+00, 0.74108E+00, & - & 0.75196E+00, 0.76274E+00, 0.77342E+00, 0.78402E+00, 0.79451E+00, & - & 0.80492E+00, 0.81524E+00, 0.82547E+00, 0.83562E+00, 0.84568E+00, & - & 0.85566E+00, 0.86556E+00, 0.87538E+00, 0.88512E+00, 0.89479E+00, & - & 0.90437E+00, 0.91389E+00, 0.92333E+00, 0.93270E+00, 0.94200E+00, & - & 0.95123E+00, 0.96040E+00, 0.96949E+00, 0.97852E+00, 0.98749E+00, & - & 0.99639E+00, 0.10052E+01, 0.10140E+01, 0.10227E+01, 0.10314E+01, & - & 0.10400E+01, 0.10485E+01, 0.10570E+01, 0.10654E+01, 0.10738E+01, & - & 0.10821E+01, 0.10904E+01, 0.10986E+01, 0.11068E+01, 0.11149E+01, & - & 0.11230E+01, 0.11310E+01, 0.11389E+01, 0.11469E+01, 0.11547E+01, & - & 0.11625E+01, 0.11703E+01, 0.11780E+01, 0.11857E+01, 0.11934E+01, & - & 0.12010E+01, 0.12085E+01, 0.12160E+01, 0.12235E+01, 0.12309E+01, & - & 0.12383E+01, 0.12457E+01, 0.12530E+01, 0.12602E+01, 0.12675E+01, & - & 0.12747E+01, 0.12818E+01, 0.12889E+01, 0.12960E+01, 0.13031E+01, & - & 0.13101E+01, 0.13170E+01, 0.13240E+01, 0.13309E+01, 0.13378E+01, & - & 0.13446E+01, 0.13514E+01, 0.13582E+01, 0.13649E+01, 0.13716E+01, & - & 0.13783E+01, 0.13849E+01, 0.13915E+01, 0.13981E+01, 0.14047E+01, & - & 0.14112E+01, 0.14177E+01, 0.14241E+01, 0.14306E+01, 0.14370E+01, & - & 0.14434E+01, 0.14497E+01, 0.14560E+01, 0.14623E+01, 0.14686E+01, & - & 0.14748E+01, 0.14810E+01, 0.14872E+01, 0.14934E+01, 0.14995E+01/ - - DATA (BNC01M(I),I=701,741)/ & - & 0.15056E+01, 0.15117E+01, 0.15178E+01, 0.15238E+01, 0.15298E+01, & - & 0.15358E+01, 0.15418E+01, 0.15477E+01, 0.15536E+01, 0.15595E+01, & - & 0.15654E+01, 0.15713E+01, 0.15771E+01, 0.15829E+01, 0.15887E+01, & - & 0.15944E+01, 0.16002E+01, 0.16059E+01, 0.16116E+01, 0.16173E+01, & - & 0.16229E+01, 0.16286E+01, 0.16342E+01, 0.16398E+01, 0.16453E+01, & - & 0.16509E+01, 0.16564E+01, 0.16620E+01, 0.16675E+01, 0.16729E+01, & - & 0.16784E+01, 0.16838E+01, 0.16893E+01, 0.16947E+01, 0.17000E+01, & - & 0.17054E+01, 0.17108E+01, 0.17161E+01, 0.17214E+01, 0.17267E+01, & - & 0.17320E+01 & - & / -! -! *** Na2SO4 -! - DATA (BNC02M(I),I=1,100)/ & - &-0.90612E-01,-0.19630E+00,-0.24862E+00,-0.28534E+00,-0.31396E+00, & - &-0.33750E+00,-0.35753E+00,-0.37498E+00,-0.39044E+00,-0.40431E+00, & - &-0.41689E+00,-0.42839E+00,-0.43899E+00,-0.44880E+00,-0.45794E+00, & - &-0.46648E+00,-0.47450E+00,-0.48206E+00,-0.48920E+00,-0.49596E+00, & - &-0.50238E+00,-0.50850E+00,-0.51433E+00,-0.51990E+00,-0.52523E+00, & - &-0.53034E+00,-0.53524E+00,-0.53996E+00,-0.54449E+00,-0.54886E+00, & - &-0.55307E+00,-0.55714E+00,-0.56107E+00,-0.56487E+00,-0.56855E+00, & - &-0.57212E+00,-0.57557E+00,-0.57892E+00,-0.58217E+00,-0.58533E+00, & - &-0.58840E+00,-0.59139E+00,-0.59429E+00,-0.59711E+00,-0.59986E+00, & - &-0.60254E+00,-0.60516E+00,-0.60770E+00,-0.61019E+00,-0.61261E+00, & - &-0.61498E+00,-0.61729E+00,-0.61954E+00,-0.62175E+00,-0.62391E+00, & - &-0.62602E+00,-0.62808E+00,-0.63010E+00,-0.63207E+00,-0.63401E+00, & - &-0.63590E+00,-0.63776E+00,-0.63958E+00,-0.64136E+00,-0.64311E+00, & - &-0.64483E+00,-0.64651E+00,-0.64816E+00,-0.64979E+00,-0.65138E+00, & - &-0.65294E+00,-0.65448E+00,-0.65599E+00,-0.65748E+00,-0.65894E+00, & - &-0.66037E+00,-0.66179E+00,-0.66318E+00,-0.66454E+00,-0.66589E+00, & - &-0.66722E+00,-0.66852E+00,-0.66981E+00,-0.67108E+00,-0.67233E+00, & - &-0.67356E+00,-0.67478E+00,-0.67598E+00,-0.67716E+00,-0.67832E+00, & - &-0.67947E+00,-0.68061E+00,-0.68173E+00,-0.68283E+00,-0.68392E+00, & - &-0.68500E+00,-0.68606E+00,-0.68711E+00,-0.68815E+00,-0.68918E+00/ - - DATA (BNC02M(I),I=101,200)/ & - &-0.69019E+00,-0.69119E+00,-0.69218E+00,-0.69315E+00,-0.69412E+00, & - &-0.69507E+00,-0.69601E+00,-0.69694E+00,-0.69786E+00,-0.69877E+00, & - &-0.69967E+00,-0.70056E+00,-0.70144E+00,-0.70230E+00,-0.70316E+00, & - &-0.70401E+00,-0.70485E+00,-0.70568E+00,-0.70650E+00,-0.70731E+00, & - &-0.70811E+00,-0.70890E+00,-0.70968E+00,-0.71046E+00,-0.71122E+00, & - &-0.71198E+00,-0.71273E+00,-0.71347E+00,-0.71420E+00,-0.71493E+00, & - &-0.71564E+00,-0.71635E+00,-0.71705E+00,-0.71775E+00,-0.71843E+00, & - &-0.71911E+00,-0.71978E+00,-0.72044E+00,-0.72110E+00,-0.72175E+00, & - &-0.72239E+00,-0.72302E+00,-0.72365E+00,-0.72427E+00,-0.72489E+00, & - &-0.72550E+00,-0.72610E+00,-0.72670E+00,-0.72729E+00,-0.72787E+00, & - &-0.72845E+00,-0.72902E+00,-0.72958E+00,-0.73014E+00,-0.73069E+00, & - &-0.73124E+00,-0.73178E+00,-0.73232E+00,-0.73285E+00,-0.73338E+00, & - &-0.73390E+00,-0.73441E+00,-0.73492E+00,-0.73542E+00,-0.73592E+00, & - &-0.73642E+00,-0.73691E+00,-0.73739E+00,-0.73787E+00,-0.73835E+00, & - &-0.73881E+00,-0.73928E+00,-0.73974E+00,-0.74020E+00,-0.74065E+00, & - &-0.74109E+00,-0.74154E+00,-0.74197E+00,-0.74241E+00,-0.74284E+00, & - &-0.74326E+00,-0.74368E+00,-0.74410E+00,-0.74451E+00,-0.74492E+00, & - &-0.74532E+00,-0.74572E+00,-0.74612E+00,-0.74651E+00,-0.74690E+00, & - &-0.74729E+00,-0.74767E+00,-0.74805E+00,-0.74842E+00,-0.74879E+00, & - &-0.74916E+00,-0.74952E+00,-0.74988E+00,-0.75023E+00,-0.75059E+00/ - - DATA (BNC02M(I),I=201,300)/ & - &-0.75094E+00,-0.75128E+00,-0.75162E+00,-0.75196E+00,-0.75230E+00, & - &-0.75263E+00,-0.75296E+00,-0.75328E+00,-0.75361E+00,-0.75393E+00, & - &-0.75424E+00,-0.75456E+00,-0.75487E+00,-0.75517E+00,-0.75548E+00, & - &-0.75578E+00,-0.75608E+00,-0.75637E+00,-0.75666E+00,-0.75695E+00, & - &-0.75724E+00,-0.75752E+00,-0.75781E+00,-0.75808E+00,-0.75836E+00, & - &-0.75863E+00,-0.75890E+00,-0.75917E+00,-0.75943E+00,-0.75970E+00, & - &-0.75996E+00,-0.76021E+00,-0.76047E+00,-0.76072E+00,-0.76097E+00, & - &-0.76122E+00,-0.76146E+00,-0.76170E+00,-0.76194E+00,-0.76218E+00, & - &-0.76241E+00,-0.76265E+00,-0.76288E+00,-0.76310E+00,-0.76333E+00, & - &-0.76355E+00,-0.76377E+00,-0.76399E+00,-0.76421E+00,-0.76442E+00, & - &-0.76463E+00,-0.76484E+00,-0.76505E+00,-0.76526E+00,-0.76546E+00, & - &-0.76566E+00,-0.76586E+00,-0.76606E+00,-0.76625E+00,-0.76645E+00, & - &-0.76664E+00,-0.76683E+00,-0.76701E+00,-0.76720E+00,-0.76738E+00, & - &-0.76756E+00,-0.76774E+00,-0.76792E+00,-0.76809E+00,-0.76827E+00, & - &-0.76844E+00,-0.76861E+00,-0.76877E+00,-0.76894E+00,-0.76910E+00, & - &-0.76927E+00,-0.76943E+00,-0.76959E+00,-0.76974E+00,-0.76990E+00, & - &-0.77005E+00,-0.77020E+00,-0.77035E+00,-0.77050E+00,-0.77065E+00, & - &-0.77079E+00,-0.77094E+00,-0.77108E+00,-0.77122E+00,-0.77135E+00, & - &-0.77149E+00,-0.77163E+00,-0.77176E+00,-0.77189E+00,-0.77202E+00, & - &-0.77215E+00,-0.77228E+00,-0.77240E+00,-0.77253E+00,-0.77265E+00/ - - DATA (BNC02M(I),I=301,400)/ & - &-0.77277E+00,-0.77289E+00,-0.77301E+00,-0.77312E+00,-0.77324E+00, & - &-0.77335E+00,-0.77346E+00,-0.77357E+00,-0.77368E+00,-0.77379E+00, & - &-0.77389E+00,-0.77400E+00,-0.77410E+00,-0.77420E+00,-0.77430E+00, & - &-0.77440E+00,-0.77450E+00,-0.77460E+00,-0.77469E+00,-0.77479E+00, & - &-0.77488E+00,-0.77497E+00,-0.77506E+00,-0.77515E+00,-0.77524E+00, & - &-0.77532E+00,-0.77541E+00,-0.77549E+00,-0.77557E+00,-0.77565E+00, & - &-0.77573E+00,-0.77581E+00,-0.77589E+00,-0.77596E+00,-0.77604E+00, & - &-0.77611E+00,-0.77618E+00,-0.77625E+00,-0.77632E+00,-0.77639E+00, & - &-0.77646E+00,-0.77652E+00,-0.77659E+00,-0.77665E+00,-0.77671E+00, & - &-0.77678E+00,-0.77684E+00,-0.77689E+00,-0.77695E+00,-0.77701E+00, & - &-0.77707E+00,-0.77712E+00,-0.77717E+00,-0.77723E+00,-0.77728E+00, & - &-0.77733E+00,-0.77738E+00,-0.77743E+00,-0.77747E+00,-0.77752E+00, & - &-0.77756E+00,-0.77761E+00,-0.77765E+00,-0.77769E+00,-0.77773E+00, & - &-0.77777E+00,-0.77781E+00,-0.77785E+00,-0.77789E+00,-0.77792E+00, & - &-0.77796E+00,-0.77799E+00,-0.77802E+00,-0.77805E+00,-0.77809E+00, & - &-0.77812E+00,-0.77814E+00,-0.77817E+00,-0.77820E+00,-0.77823E+00, & - &-0.77825E+00,-0.77827E+00,-0.77830E+00,-0.77832E+00,-0.77834E+00, & - &-0.77836E+00,-0.77838E+00,-0.77840E+00,-0.77842E+00,-0.77843E+00, & - &-0.77845E+00,-0.77846E+00,-0.77848E+00,-0.77849E+00,-0.77850E+00, & - &-0.77852E+00,-0.77853E+00,-0.77854E+00,-0.77855E+00,-0.77855E+00/ - - DATA (BNC02M(I),I=401,500)/ & - &-0.77856E+00,-0.77857E+00,-0.77857E+00,-0.77858E+00,-0.77858E+00, & - &-0.77858E+00,-0.77859E+00,-0.77859E+00,-0.77859E+00,-0.77859E+00, & - &-0.77859E+00,-0.77859E+00,-0.77858E+00,-0.77858E+00,-0.77857E+00, & - &-0.77857E+00,-0.77856E+00,-0.77856E+00,-0.77855E+00,-0.77854E+00, & - &-0.77853E+00,-0.77852E+00,-0.77851E+00,-0.77850E+00,-0.77849E+00, & - &-0.77848E+00,-0.77846E+00,-0.77845E+00,-0.77843E+00,-0.77842E+00, & - &-0.77840E+00,-0.77838E+00,-0.77837E+00,-0.77835E+00,-0.77833E+00, & - &-0.77831E+00,-0.77829E+00,-0.77827E+00,-0.77824E+00,-0.77822E+00, & - &-0.77820E+00,-0.77817E+00,-0.77815E+00,-0.77812E+00,-0.77810E+00, & - &-0.77807E+00,-0.77804E+00,-0.77801E+00,-0.77798E+00,-0.77795E+00, & - &-0.77792E+00,-0.77789E+00,-0.77786E+00,-0.77783E+00,-0.77780E+00, & - &-0.77776E+00,-0.77773E+00,-0.77769E+00,-0.77766E+00,-0.77762E+00, & - &-0.77758E+00,-0.77755E+00,-0.77751E+00,-0.77747E+00,-0.77743E+00, & - &-0.77739E+00,-0.77735E+00,-0.77731E+00,-0.77727E+00,-0.77722E+00, & - &-0.77718E+00,-0.77714E+00,-0.77709E+00,-0.77705E+00,-0.77700E+00, & - &-0.77695E+00,-0.77691E+00,-0.77686E+00,-0.77681E+00,-0.77676E+00, & - &-0.77672E+00,-0.77667E+00,-0.77662E+00,-0.77656E+00,-0.77651E+00, & - &-0.77646E+00,-0.77641E+00,-0.77636E+00,-0.77630E+00,-0.77625E+00, & - &-0.77619E+00,-0.77614E+00,-0.77608E+00,-0.77602E+00,-0.77597E+00, & - &-0.77591E+00,-0.77585E+00,-0.77579E+00,-0.77573E+00,-0.77567E+00/ - - DATA (BNC02M(I),I=501,600)/ & - &-0.77561E+00,-0.77555E+00,-0.77549E+00,-0.77543E+00,-0.77537E+00, & - &-0.77530E+00,-0.77524E+00,-0.77518E+00,-0.77511E+00,-0.77505E+00, & - &-0.77498E+00,-0.77491E+00,-0.77485E+00,-0.77478E+00,-0.77471E+00, & - &-0.77465E+00,-0.77458E+00,-0.77451E+00,-0.77444E+00,-0.77437E+00, & - &-0.77430E+00,-0.77423E+00,-0.77415E+00,-0.77408E+00,-0.77401E+00, & - &-0.77394E+00,-0.77386E+00,-0.77379E+00,-0.77371E+00,-0.77364E+00, & - &-0.77356E+00,-0.77349E+00,-0.77341E+00,-0.77333E+00,-0.77326E+00, & - &-0.77318E+00,-0.77310E+00,-0.77302E+00,-0.77294E+00,-0.77286E+00, & - &-0.77278E+00,-0.77270E+00,-0.77262E+00,-0.77254E+00,-0.77246E+00, & - &-0.77238E+00,-0.77229E+00,-0.77221E+00,-0.77213E+00,-0.77204E+00, & - &-0.77196E+00,-0.77187E+00,-0.77179E+00,-0.77170E+00,-0.77161E+00, & - &-0.77153E+00,-0.77144E+00,-0.77135E+00,-0.77126E+00,-0.77118E+00, & - &-0.77109E+00,-0.77100E+00,-0.77091E+00,-0.77082E+00,-0.77073E+00, & - &-0.77064E+00,-0.77054E+00,-0.77045E+00,-0.77036E+00,-0.77027E+00, & - &-0.77017E+00,-0.77008E+00,-0.76999E+00,-0.76989E+00,-0.76980E+00, & - &-0.76970E+00,-0.76961E+00,-0.76951E+00,-0.76941E+00,-0.76932E+00, & - &-0.76922E+00,-0.76912E+00,-0.76903E+00,-0.76893E+00,-0.76883E+00, & - &-0.76873E+00,-0.76863E+00,-0.76853E+00,-0.76843E+00,-0.76833E+00, & - &-0.76823E+00,-0.76813E+00,-0.76802E+00,-0.76792E+00,-0.76782E+00, & - &-0.76772E+00,-0.76761E+00,-0.76751E+00,-0.76741E+00,-0.76730E+00/ - - DATA (BNC02M(I),I=601,700)/ & - &-0.76615E+00,-0.76505E+00,-0.76391E+00,-0.76274E+00,-0.76154E+00, & - &-0.76031E+00,-0.75905E+00,-0.75775E+00,-0.75643E+00,-0.75509E+00, & - &-0.75371E+00,-0.75231E+00,-0.75089E+00,-0.74944E+00,-0.74797E+00, & - &-0.74647E+00,-0.74496E+00,-0.74342E+00,-0.74186E+00,-0.74028E+00, & - &-0.73868E+00,-0.73706E+00,-0.73542E+00,-0.73376E+00,-0.73209E+00, & - &-0.73040E+00,-0.72869E+00,-0.72696E+00,-0.72522E+00,-0.72346E+00, & - &-0.72169E+00,-0.71990E+00,-0.71810E+00,-0.71628E+00,-0.71445E+00, & - &-0.71261E+00,-0.71075E+00,-0.70888E+00,-0.70699E+00,-0.70510E+00, & - &-0.70319E+00,-0.70127E+00,-0.69934E+00,-0.69739E+00,-0.69544E+00, & - &-0.69347E+00,-0.69150E+00,-0.68951E+00,-0.68751E+00,-0.68551E+00, & - &-0.68349E+00,-0.68146E+00,-0.67943E+00,-0.67738E+00,-0.67533E+00, & - &-0.67326E+00,-0.67119E+00,-0.66911E+00,-0.66702E+00,-0.66493E+00, & - &-0.66282E+00,-0.66071E+00,-0.65859E+00,-0.65646E+00,-0.65432E+00, & - &-0.65218E+00,-0.65003E+00,-0.64787E+00,-0.64571E+00,-0.64354E+00, & - &-0.64136E+00,-0.63917E+00,-0.63698E+00,-0.63478E+00,-0.63258E+00, & - &-0.63037E+00,-0.62815E+00,-0.62593E+00,-0.62370E+00,-0.62147E+00, & - &-0.61923E+00,-0.61699E+00,-0.61474E+00,-0.61248E+00,-0.61022E+00, & - &-0.60795E+00,-0.60568E+00,-0.60341E+00,-0.60113E+00,-0.59884E+00, & - &-0.59655E+00,-0.59425E+00,-0.59195E+00,-0.58965E+00,-0.58734E+00, & - &-0.58503E+00,-0.58271E+00,-0.58039E+00,-0.57806E+00,-0.57573E+00/ - - DATA (BNC02M(I),I=701,741)/ & - &-0.57339E+00,-0.57106E+00,-0.56871E+00,-0.56637E+00,-0.56402E+00, & - &-0.56166E+00,-0.55930E+00,-0.55694E+00,-0.55458E+00,-0.55221E+00, & - &-0.54984E+00,-0.54746E+00,-0.54508E+00,-0.54270E+00,-0.54031E+00, & - &-0.53792E+00,-0.53553E+00,-0.53313E+00,-0.53073E+00,-0.52833E+00, & - &-0.52593E+00,-0.52352E+00,-0.52111E+00,-0.51869E+00,-0.51628E+00, & - &-0.51386E+00,-0.51144E+00,-0.50901E+00,-0.50658E+00,-0.50415E+00, & - &-0.50172E+00,-0.49928E+00,-0.49684E+00,-0.49440E+00,-0.49196E+00, & - &-0.48951E+00,-0.48706E+00,-0.48461E+00,-0.48216E+00,-0.47970E+00, & - &-0.47725E+00 & - & / -! -! *** NaNO3 -! - DATA (BNC03M(I),I=1,100)/ & - &-0.45407E-01,-0.98699E-01,-0.12527E+00,-0.14402E+00,-0.15871E+00, & - &-0.17085E+00,-0.18123E+00,-0.19030E+00,-0.19838E+00,-0.20565E+00, & - &-0.21228E+00,-0.21836E+00,-0.22398E+00,-0.22921E+00,-0.23409E+00, & - &-0.23868E+00,-0.24300E+00,-0.24708E+00,-0.25095E+00,-0.25463E+00, & - &-0.25814E+00,-0.26149E+00,-0.26470E+00,-0.26777E+00,-0.27072E+00, & - &-0.27355E+00,-0.27628E+00,-0.27892E+00,-0.28146E+00,-0.28391E+00, & - &-0.28628E+00,-0.28858E+00,-0.29081E+00,-0.29297E+00,-0.29506E+00, & - &-0.29710E+00,-0.29907E+00,-0.30100E+00,-0.30287E+00,-0.30469E+00, & - &-0.30646E+00,-0.30819E+00,-0.30987E+00,-0.31152E+00,-0.31312E+00, & - &-0.31469E+00,-0.31622E+00,-0.31771E+00,-0.31918E+00,-0.32060E+00, & - &-0.32200E+00,-0.32337E+00,-0.32471E+00,-0.32602E+00,-0.32731E+00, & - &-0.32856E+00,-0.32980E+00,-0.33101E+00,-0.33220E+00,-0.33336E+00, & - &-0.33450E+00,-0.33563E+00,-0.33673E+00,-0.33781E+00,-0.33888E+00, & - &-0.33992E+00,-0.34095E+00,-0.34197E+00,-0.34296E+00,-0.34394E+00, & - &-0.34491E+00,-0.34586E+00,-0.34680E+00,-0.34772E+00,-0.34863E+00, & - &-0.34953E+00,-0.35042E+00,-0.35129E+00,-0.35216E+00,-0.35301E+00, & - &-0.35385E+00,-0.35468E+00,-0.35550E+00,-0.35632E+00,-0.35712E+00, & - &-0.35791E+00,-0.35870E+00,-0.35947E+00,-0.36024E+00,-0.36100E+00, & - &-0.36176E+00,-0.36250E+00,-0.36324E+00,-0.36397E+00,-0.36469E+00, & - &-0.36541E+00,-0.36612E+00,-0.36682E+00,-0.36752E+00,-0.36821E+00/ - - DATA (BNC03M(I),I=101,200)/ & - &-0.36889E+00,-0.36957E+00,-0.37024E+00,-0.37091E+00,-0.37157E+00, & - &-0.37222E+00,-0.37287E+00,-0.37351E+00,-0.37415E+00,-0.37478E+00, & - &-0.37540E+00,-0.37603E+00,-0.37664E+00,-0.37725E+00,-0.37785E+00, & - &-0.37845E+00,-0.37905E+00,-0.37964E+00,-0.38022E+00,-0.38080E+00, & - &-0.38137E+00,-0.38194E+00,-0.38251E+00,-0.38307E+00,-0.38362E+00, & - &-0.38417E+00,-0.38472E+00,-0.38526E+00,-0.38579E+00,-0.38632E+00, & - &-0.38685E+00,-0.38737E+00,-0.38789E+00,-0.38840E+00,-0.38891E+00, & - &-0.38942E+00,-0.38992E+00,-0.39042E+00,-0.39091E+00,-0.39140E+00, & - &-0.39188E+00,-0.39236E+00,-0.39284E+00,-0.39331E+00,-0.39378E+00, & - &-0.39424E+00,-0.39471E+00,-0.39516E+00,-0.39562E+00,-0.39607E+00, & - &-0.39651E+00,-0.39696E+00,-0.39740E+00,-0.39783E+00,-0.39827E+00, & - &-0.39870E+00,-0.39912E+00,-0.39954E+00,-0.39996E+00,-0.40038E+00, & - &-0.40079E+00,-0.40120E+00,-0.40161E+00,-0.40201E+00,-0.40241E+00, & - &-0.40281E+00,-0.40321E+00,-0.40360E+00,-0.40399E+00,-0.40437E+00, & - &-0.40476E+00,-0.40514E+00,-0.40552E+00,-0.40589E+00,-0.40626E+00, & - &-0.40663E+00,-0.40700E+00,-0.40736E+00,-0.40772E+00,-0.40808E+00, & - &-0.40844E+00,-0.40879E+00,-0.40914E+00,-0.40949E+00,-0.40984E+00, & - &-0.41018E+00,-0.41053E+00,-0.41086E+00,-0.41120E+00,-0.41154E+00, & - &-0.41187E+00,-0.41220E+00,-0.41252E+00,-0.41285E+00,-0.41317E+00, & - &-0.41349E+00,-0.41381E+00,-0.41413E+00,-0.41444E+00,-0.41475E+00/ - - DATA (BNC03M(I),I=201,300)/ & - &-0.41506E+00,-0.41537E+00,-0.41568E+00,-0.41598E+00,-0.41628E+00, & - &-0.41658E+00,-0.41688E+00,-0.41718E+00,-0.41747E+00,-0.41776E+00, & - &-0.41805E+00,-0.41834E+00,-0.41863E+00,-0.41891E+00,-0.41919E+00, & - &-0.41947E+00,-0.41975E+00,-0.42003E+00,-0.42030E+00,-0.42058E+00, & - &-0.42085E+00,-0.42112E+00,-0.42138E+00,-0.42165E+00,-0.42191E+00, & - &-0.42218E+00,-0.42244E+00,-0.42270E+00,-0.42296E+00,-0.42321E+00, & - &-0.42347E+00,-0.42372E+00,-0.42397E+00,-0.42422E+00,-0.42447E+00, & - &-0.42471E+00,-0.42496E+00,-0.42520E+00,-0.42544E+00,-0.42568E+00, & - &-0.42592E+00,-0.42616E+00,-0.42639E+00,-0.42663E+00,-0.42686E+00, & - &-0.42709E+00,-0.42732E+00,-0.42755E+00,-0.42778E+00,-0.42800E+00, & - &-0.42823E+00,-0.42845E+00,-0.42867E+00,-0.42889E+00,-0.42911E+00, & - &-0.42933E+00,-0.42954E+00,-0.42976E+00,-0.42997E+00,-0.43018E+00, & - &-0.43039E+00,-0.43060E+00,-0.43081E+00,-0.43102E+00,-0.43122E+00, & - &-0.43143E+00,-0.43163E+00,-0.43183E+00,-0.43203E+00,-0.43223E+00, & - &-0.43243E+00,-0.43262E+00,-0.43282E+00,-0.43301E+00,-0.43321E+00, & - &-0.43340E+00,-0.43359E+00,-0.43378E+00,-0.43397E+00,-0.43416E+00, & - &-0.43434E+00,-0.43453E+00,-0.43471E+00,-0.43489E+00,-0.43508E+00, & - &-0.43526E+00,-0.43544E+00,-0.43561E+00,-0.43579E+00,-0.43597E+00, & - &-0.43614E+00,-0.43632E+00,-0.43649E+00,-0.43666E+00,-0.43683E+00, & - &-0.43700E+00,-0.43717E+00,-0.43734E+00,-0.43751E+00,-0.43767E+00/ - - DATA (BNC03M(I),I=301,400)/ & - &-0.43784E+00,-0.43800E+00,-0.43816E+00,-0.43832E+00,-0.43848E+00, & - &-0.43864E+00,-0.43880E+00,-0.43896E+00,-0.43912E+00,-0.43927E+00, & - &-0.43943E+00,-0.43958E+00,-0.43974E+00,-0.43989E+00,-0.44004E+00, & - &-0.44019E+00,-0.44034E+00,-0.44049E+00,-0.44063E+00,-0.44078E+00, & - &-0.44093E+00,-0.44107E+00,-0.44122E+00,-0.44136E+00,-0.44150E+00, & - &-0.44164E+00,-0.44178E+00,-0.44192E+00,-0.44206E+00,-0.44220E+00, & - &-0.44234E+00,-0.44247E+00,-0.44261E+00,-0.44274E+00,-0.44288E+00, & - &-0.44301E+00,-0.44314E+00,-0.44327E+00,-0.44340E+00,-0.44353E+00, & - &-0.44366E+00,-0.44379E+00,-0.44392E+00,-0.44404E+00,-0.44417E+00, & - &-0.44430E+00,-0.44442E+00,-0.44454E+00,-0.44467E+00,-0.44479E+00, & - &-0.44491E+00,-0.44503E+00,-0.44515E+00,-0.44527E+00,-0.44539E+00, & - &-0.44550E+00,-0.44562E+00,-0.44574E+00,-0.44585E+00,-0.44596E+00, & - &-0.44608E+00,-0.44619E+00,-0.44630E+00,-0.44642E+00,-0.44653E+00, & - &-0.44664E+00,-0.44675E+00,-0.44686E+00,-0.44696E+00,-0.44707E+00, & - &-0.44718E+00,-0.44728E+00,-0.44739E+00,-0.44749E+00,-0.44760E+00, & - &-0.44770E+00,-0.44780E+00,-0.44791E+00,-0.44801E+00,-0.44811E+00, & - &-0.44821E+00,-0.44831E+00,-0.44841E+00,-0.44850E+00,-0.44860E+00, & - &-0.44870E+00,-0.44879E+00,-0.44889E+00,-0.44899E+00,-0.44908E+00, & - &-0.44917E+00,-0.44927E+00,-0.44936E+00,-0.44945E+00,-0.44954E+00, & - &-0.44963E+00,-0.44972E+00,-0.44981E+00,-0.44990E+00,-0.44999E+00/ - - DATA (BNC03M(I),I=401,500)/ & - &-0.45008E+00,-0.45016E+00,-0.45025E+00,-0.45034E+00,-0.45042E+00, & - &-0.45051E+00,-0.45059E+00,-0.45067E+00,-0.45076E+00,-0.45084E+00, & - &-0.45092E+00,-0.45100E+00,-0.45108E+00,-0.45116E+00,-0.45124E+00, & - &-0.45132E+00,-0.45140E+00,-0.45148E+00,-0.45156E+00,-0.45163E+00, & - &-0.45171E+00,-0.45179E+00,-0.45186E+00,-0.45194E+00,-0.45201E+00, & - &-0.45208E+00,-0.45216E+00,-0.45223E+00,-0.45230E+00,-0.45237E+00, & - &-0.45244E+00,-0.45252E+00,-0.45259E+00,-0.45266E+00,-0.45272E+00, & - &-0.45279E+00,-0.45286E+00,-0.45293E+00,-0.45300E+00,-0.45306E+00, & - &-0.45313E+00,-0.45319E+00,-0.45326E+00,-0.45332E+00,-0.45339E+00, & - &-0.45345E+00,-0.45351E+00,-0.45358E+00,-0.45364E+00,-0.45370E+00, & - &-0.45376E+00,-0.45382E+00,-0.45388E+00,-0.45394E+00,-0.45400E+00, & - &-0.45406E+00,-0.45412E+00,-0.45418E+00,-0.45423E+00,-0.45429E+00, & - &-0.45435E+00,-0.45440E+00,-0.45446E+00,-0.45452E+00,-0.45457E+00, & - &-0.45462E+00,-0.45468E+00,-0.45473E+00,-0.45478E+00,-0.45484E+00, & - &-0.45489E+00,-0.45494E+00,-0.45499E+00,-0.45504E+00,-0.45509E+00, & - &-0.45514E+00,-0.45519E+00,-0.45524E+00,-0.45529E+00,-0.45534E+00, & - &-0.45539E+00,-0.45543E+00,-0.45548E+00,-0.45553E+00,-0.45557E+00, & - &-0.45562E+00,-0.45567E+00,-0.45571E+00,-0.45575E+00,-0.45580E+00, & - &-0.45584E+00,-0.45589E+00,-0.45593E+00,-0.45597E+00,-0.45601E+00, & - &-0.45605E+00,-0.45610E+00,-0.45614E+00,-0.45618E+00,-0.45622E+00/ - - DATA (BNC03M(I),I=501,600)/ & - &-0.45626E+00,-0.45630E+00,-0.45634E+00,-0.45637E+00,-0.45641E+00, & - &-0.45645E+00,-0.45649E+00,-0.45653E+00,-0.45656E+00,-0.45660E+00, & - &-0.45663E+00,-0.45667E+00,-0.45670E+00,-0.45674E+00,-0.45677E+00, & - &-0.45681E+00,-0.45684E+00,-0.45688E+00,-0.45691E+00,-0.45694E+00, & - &-0.45697E+00,-0.45701E+00,-0.45704E+00,-0.45707E+00,-0.45710E+00, & - &-0.45713E+00,-0.45716E+00,-0.45719E+00,-0.45722E+00,-0.45725E+00, & - &-0.45728E+00,-0.45731E+00,-0.45733E+00,-0.45736E+00,-0.45739E+00, & - &-0.45742E+00,-0.45744E+00,-0.45747E+00,-0.45749E+00,-0.45752E+00, & - &-0.45755E+00,-0.45757E+00,-0.45759E+00,-0.45762E+00,-0.45764E+00, & - &-0.45767E+00,-0.45769E+00,-0.45771E+00,-0.45774E+00,-0.45776E+00, & - &-0.45778E+00,-0.45780E+00,-0.45782E+00,-0.45784E+00,-0.45787E+00, & - &-0.45789E+00,-0.45791E+00,-0.45793E+00,-0.45795E+00,-0.45796E+00, & - &-0.45798E+00,-0.45800E+00,-0.45802E+00,-0.45804E+00,-0.45806E+00, & - &-0.45807E+00,-0.45809E+00,-0.45811E+00,-0.45812E+00,-0.45814E+00, & - &-0.45815E+00,-0.45817E+00,-0.45819E+00,-0.45820E+00,-0.45821E+00, & - &-0.45823E+00,-0.45824E+00,-0.45826E+00,-0.45827E+00,-0.45828E+00, & - &-0.45830E+00,-0.45831E+00,-0.45832E+00,-0.45833E+00,-0.45834E+00, & - &-0.45836E+00,-0.45837E+00,-0.45838E+00,-0.45839E+00,-0.45840E+00, & - &-0.45841E+00,-0.45842E+00,-0.45843E+00,-0.45844E+00,-0.45845E+00, & - &-0.45845E+00,-0.45846E+00,-0.45847E+00,-0.45848E+00,-0.45849E+00/ - - DATA (BNC03M(I),I=601,700)/ & - &-0.45855E+00,-0.45858E+00,-0.45858E+00,-0.45856E+00,-0.45852E+00, & - &-0.45845E+00,-0.45836E+00,-0.45825E+00,-0.45812E+00,-0.45796E+00, & - &-0.45779E+00,-0.45759E+00,-0.45738E+00,-0.45715E+00,-0.45690E+00, & - &-0.45663E+00,-0.45634E+00,-0.45604E+00,-0.45573E+00,-0.45539E+00, & - &-0.45504E+00,-0.45468E+00,-0.45430E+00,-0.45390E+00,-0.45350E+00, & - &-0.45307E+00,-0.45264E+00,-0.45219E+00,-0.45173E+00,-0.45126E+00, & - &-0.45077E+00,-0.45027E+00,-0.44976E+00,-0.44924E+00,-0.44871E+00, & - &-0.44817E+00,-0.44762E+00,-0.44705E+00,-0.44648E+00,-0.44589E+00, & - &-0.44530E+00,-0.44470E+00,-0.44408E+00,-0.44346E+00,-0.44283E+00, & - &-0.44219E+00,-0.44154E+00,-0.44088E+00,-0.44022E+00,-0.43954E+00, & - &-0.43886E+00,-0.43817E+00,-0.43747E+00,-0.43676E+00,-0.43605E+00, & - &-0.43533E+00,-0.43460E+00,-0.43387E+00,-0.43313E+00,-0.43238E+00, & - &-0.43162E+00,-0.43086E+00,-0.43009E+00,-0.42932E+00,-0.42854E+00, & - &-0.42775E+00,-0.42695E+00,-0.42616E+00,-0.42535E+00,-0.42454E+00, & - &-0.42372E+00,-0.42290E+00,-0.42207E+00,-0.42124E+00,-0.42040E+00, & - &-0.41956E+00,-0.41871E+00,-0.41786E+00,-0.41700E+00,-0.41613E+00, & - &-0.41527E+00,-0.41439E+00,-0.41351E+00,-0.41263E+00,-0.41175E+00, & - &-0.41085E+00,-0.40996E+00,-0.40906E+00,-0.40815E+00,-0.40724E+00, & - &-0.40633E+00,-0.40542E+00,-0.40449E+00,-0.40357E+00,-0.40264E+00, & - &-0.40171E+00,-0.40077E+00,-0.39983E+00,-0.39889E+00,-0.39794E+00/ - - DATA (BNC03M(I),I=701,741)/ & - &-0.39699E+00,-0.39604E+00,-0.39508E+00,-0.39412E+00,-0.39315E+00, & - &-0.39218E+00,-0.39121E+00,-0.39024E+00,-0.38926E+00,-0.38828E+00, & - &-0.38729E+00,-0.38630E+00,-0.38531E+00,-0.38432E+00,-0.38332E+00, & - &-0.38232E+00,-0.38132E+00,-0.38032E+00,-0.37931E+00,-0.37830E+00, & - &-0.37729E+00,-0.37627E+00,-0.37525E+00,-0.37423E+00,-0.37320E+00, & - &-0.37218E+00,-0.37115E+00,-0.37012E+00,-0.36908E+00,-0.36804E+00, & - &-0.36701E+00,-0.36596E+00,-0.36492E+00,-0.36387E+00,-0.36282E+00, & - &-0.36177E+00,-0.36072E+00,-0.35967E+00,-0.35861E+00,-0.35755E+00, & - &-0.35649E+00 & - & / -! -! *** (NH4)2SO4 -! - DATA (BNC04M(I),I=1,100)/ & - &-0.90672E-01,-0.19663E+00,-0.24920E+00,-0.28615E+00,-0.31499E+00, & - &-0.33875E+00,-0.35900E+00,-0.37665E+00,-0.39232E+00,-0.40639E+00, & - &-0.41917E+00,-0.43087E+00,-0.44165E+00,-0.45166E+00,-0.46098E+00, & - &-0.46971E+00,-0.47792E+00,-0.48566E+00,-0.49298E+00,-0.49992E+00, & - &-0.50652E+00,-0.51280E+00,-0.51881E+00,-0.52455E+00,-0.53005E+00, & - &-0.53532E+00,-0.54039E+00,-0.54527E+00,-0.54997E+00,-0.55450E+00, & - &-0.55887E+00,-0.56310E+00,-0.56718E+00,-0.57114E+00,-0.57497E+00, & - &-0.57868E+00,-0.58229E+00,-0.58578E+00,-0.58918E+00,-0.59248E+00, & - &-0.59570E+00,-0.59882E+00,-0.60186E+00,-0.60483E+00,-0.60771E+00, & - &-0.61053E+00,-0.61327E+00,-0.61595E+00,-0.61857E+00,-0.62112E+00, & - &-0.62362E+00,-0.62605E+00,-0.62844E+00,-0.63077E+00,-0.63305E+00, & - &-0.63528E+00,-0.63746E+00,-0.63960E+00,-0.64170E+00,-0.64375E+00, & - &-0.64576E+00,-0.64773E+00,-0.64967E+00,-0.65157E+00,-0.65343E+00, & - &-0.65526E+00,-0.65705E+00,-0.65882E+00,-0.66055E+00,-0.66225E+00, & - &-0.66393E+00,-0.66557E+00,-0.66719E+00,-0.66879E+00,-0.67036E+00, & - &-0.67190E+00,-0.67342E+00,-0.67492E+00,-0.67640E+00,-0.67785E+00, & - &-0.67928E+00,-0.68070E+00,-0.68209E+00,-0.68347E+00,-0.68482E+00, & - &-0.68616E+00,-0.68748E+00,-0.68879E+00,-0.69008E+00,-0.69135E+00, & - &-0.69260E+00,-0.69385E+00,-0.69507E+00,-0.69628E+00,-0.69748E+00, & - &-0.69867E+00,-0.69984E+00,-0.70099E+00,-0.70214E+00,-0.70327E+00/ - - DATA (BNC04M(I),I=101,200)/ & - &-0.70439E+00,-0.70549E+00,-0.70659E+00,-0.70767E+00,-0.70874E+00, & - &-0.70980E+00,-0.71085E+00,-0.71189E+00,-0.71291E+00,-0.71393E+00, & - &-0.71493E+00,-0.71593E+00,-0.71691E+00,-0.71789E+00,-0.71885E+00, & - &-0.71980E+00,-0.72075E+00,-0.72168E+00,-0.72261E+00,-0.72352E+00, & - &-0.72443E+00,-0.72532E+00,-0.72621E+00,-0.72709E+00,-0.72796E+00, & - &-0.72882E+00,-0.72967E+00,-0.73051E+00,-0.73135E+00,-0.73217E+00, & - &-0.73299E+00,-0.73380E+00,-0.73460E+00,-0.73540E+00,-0.73618E+00, & - &-0.73696E+00,-0.73773E+00,-0.73849E+00,-0.73925E+00,-0.74000E+00, & - &-0.74074E+00,-0.74147E+00,-0.74220E+00,-0.74292E+00,-0.74363E+00, & - &-0.74433E+00,-0.74503E+00,-0.74572E+00,-0.74641E+00,-0.74709E+00, & - &-0.74776E+00,-0.74843E+00,-0.74909E+00,-0.74974E+00,-0.75039E+00, & - &-0.75103E+00,-0.75167E+00,-0.75230E+00,-0.75292E+00,-0.75354E+00, & - &-0.75415E+00,-0.75476E+00,-0.75536E+00,-0.75596E+00,-0.75655E+00, & - &-0.75713E+00,-0.75771E+00,-0.75829E+00,-0.75886E+00,-0.75942E+00, & - &-0.75998E+00,-0.76054E+00,-0.76109E+00,-0.76163E+00,-0.76217E+00, & - &-0.76271E+00,-0.76324E+00,-0.76376E+00,-0.76428E+00,-0.76480E+00, & - &-0.76531E+00,-0.76582E+00,-0.76632E+00,-0.76682E+00,-0.76732E+00, & - &-0.76781E+00,-0.76829E+00,-0.76877E+00,-0.76925E+00,-0.76973E+00, & - &-0.77020E+00,-0.77066E+00,-0.77112E+00,-0.77158E+00,-0.77203E+00, & - &-0.77248E+00,-0.77293E+00,-0.77337E+00,-0.77381E+00,-0.77425E+00/ - - DATA (BNC04M(I),I=201,300)/ & - &-0.77468E+00,-0.77510E+00,-0.77553E+00,-0.77595E+00,-0.77637E+00, & - &-0.77678E+00,-0.77719E+00,-0.77760E+00,-0.77800E+00,-0.77840E+00, & - &-0.77880E+00,-0.77919E+00,-0.77958E+00,-0.77996E+00,-0.78035E+00, & - &-0.78073E+00,-0.78110E+00,-0.78148E+00,-0.78185E+00,-0.78222E+00, & - &-0.78258E+00,-0.78294E+00,-0.78330E+00,-0.78366E+00,-0.78401E+00, & - &-0.78436E+00,-0.78471E+00,-0.78505E+00,-0.78539E+00,-0.78573E+00, & - &-0.78607E+00,-0.78640E+00,-0.78673E+00,-0.78706E+00,-0.78738E+00, & - &-0.78770E+00,-0.78802E+00,-0.78834E+00,-0.78865E+00,-0.78896E+00, & - &-0.78927E+00,-0.78958E+00,-0.78988E+00,-0.79018E+00,-0.79048E+00, & - &-0.79078E+00,-0.79107E+00,-0.79136E+00,-0.79165E+00,-0.79194E+00, & - &-0.79222E+00,-0.79250E+00,-0.79278E+00,-0.79306E+00,-0.79333E+00, & - &-0.79361E+00,-0.79388E+00,-0.79415E+00,-0.79441E+00,-0.79467E+00, & - &-0.79494E+00,-0.79519E+00,-0.79545E+00,-0.79571E+00,-0.79596E+00, & - &-0.79621E+00,-0.79646E+00,-0.79670E+00,-0.79695E+00,-0.79719E+00, & - &-0.79743E+00,-0.79767E+00,-0.79790E+00,-0.79814E+00,-0.79837E+00, & - &-0.79860E+00,-0.79883E+00,-0.79906E+00,-0.79928E+00,-0.79950E+00, & - &-0.79972E+00,-0.79994E+00,-0.80016E+00,-0.80037E+00,-0.80058E+00, & - &-0.80080E+00,-0.80101E+00,-0.80121E+00,-0.80142E+00,-0.80162E+00, & - &-0.80182E+00,-0.80202E+00,-0.80222E+00,-0.80242E+00,-0.80261E+00, & - &-0.80281E+00,-0.80300E+00,-0.80319E+00,-0.80338E+00,-0.80356E+00/ - - DATA (BNC04M(I),I=301,400)/ & - &-0.80375E+00,-0.80393E+00,-0.80411E+00,-0.80429E+00,-0.80447E+00, & - &-0.80465E+00,-0.80482E+00,-0.80500E+00,-0.80517E+00,-0.80534E+00, & - &-0.80551E+00,-0.80567E+00,-0.80584E+00,-0.80600E+00,-0.80617E+00, & - &-0.80633E+00,-0.80649E+00,-0.80665E+00,-0.80680E+00,-0.80696E+00, & - &-0.80711E+00,-0.80726E+00,-0.80741E+00,-0.80756E+00,-0.80771E+00, & - &-0.80786E+00,-0.80800E+00,-0.80815E+00,-0.80829E+00,-0.80843E+00, & - &-0.80857E+00,-0.80871E+00,-0.80884E+00,-0.80898E+00,-0.80911E+00, & - &-0.80924E+00,-0.80937E+00,-0.80950E+00,-0.80963E+00,-0.80976E+00, & - &-0.80989E+00,-0.81001E+00,-0.81013E+00,-0.81026E+00,-0.81038E+00, & - &-0.81050E+00,-0.81062E+00,-0.81073E+00,-0.81085E+00,-0.81096E+00, & - &-0.81108E+00,-0.81119E+00,-0.81130E+00,-0.81141E+00,-0.81152E+00, & - &-0.81162E+00,-0.81173E+00,-0.81183E+00,-0.81194E+00,-0.81204E+00, & - &-0.81214E+00,-0.81224E+00,-0.81234E+00,-0.81244E+00,-0.81254E+00, & - &-0.81263E+00,-0.81273E+00,-0.81282E+00,-0.81291E+00,-0.81300E+00, & - &-0.81309E+00,-0.81318E+00,-0.81327E+00,-0.81336E+00,-0.81344E+00, & - &-0.81353E+00,-0.81361E+00,-0.81369E+00,-0.81377E+00,-0.81385E+00, & - &-0.81393E+00,-0.81401E+00,-0.81409E+00,-0.81416E+00,-0.81424E+00, & - &-0.81431E+00,-0.81439E+00,-0.81446E+00,-0.81453E+00,-0.81460E+00, & - &-0.81467E+00,-0.81474E+00,-0.81480E+00,-0.81487E+00,-0.81493E+00, & - &-0.81500E+00,-0.81506E+00,-0.81512E+00,-0.81518E+00,-0.81524E+00/ - - DATA (BNC04M(I),I=401,500)/ & - &-0.81530E+00,-0.81536E+00,-0.81542E+00,-0.81548E+00,-0.81553E+00, & - &-0.81559E+00,-0.81564E+00,-0.81569E+00,-0.81574E+00,-0.81580E+00, & - &-0.81585E+00,-0.81590E+00,-0.81594E+00,-0.81599E+00,-0.81604E+00, & - &-0.81608E+00,-0.81613E+00,-0.81617E+00,-0.81621E+00,-0.81626E+00, & - &-0.81630E+00,-0.81634E+00,-0.81638E+00,-0.81642E+00,-0.81645E+00, & - &-0.81649E+00,-0.81653E+00,-0.81656E+00,-0.81660E+00,-0.81663E+00, & - &-0.81666E+00,-0.81670E+00,-0.81673E+00,-0.81676E+00,-0.81679E+00, & - &-0.81682E+00,-0.81684E+00,-0.81687E+00,-0.81690E+00,-0.81692E+00, & - &-0.81695E+00,-0.81697E+00,-0.81700E+00,-0.81702E+00,-0.81704E+00, & - &-0.81706E+00,-0.81708E+00,-0.81710E+00,-0.81712E+00,-0.81714E+00, & - &-0.81715E+00,-0.81717E+00,-0.81719E+00,-0.81720E+00,-0.81721E+00, & - &-0.81723E+00,-0.81724E+00,-0.81725E+00,-0.81726E+00,-0.81727E+00, & - &-0.81728E+00,-0.81729E+00,-0.81730E+00,-0.81731E+00,-0.81732E+00, & - &-0.81732E+00,-0.81733E+00,-0.81733E+00,-0.81734E+00,-0.81734E+00, & - &-0.81734E+00,-0.81735E+00,-0.81735E+00,-0.81735E+00,-0.81735E+00, & - &-0.81735E+00,-0.81735E+00,-0.81734E+00,-0.81734E+00,-0.81734E+00, & - &-0.81733E+00,-0.81733E+00,-0.81732E+00,-0.81732E+00,-0.81731E+00, & - &-0.81730E+00,-0.81730E+00,-0.81729E+00,-0.81728E+00,-0.81727E+00, & - &-0.81726E+00,-0.81725E+00,-0.81724E+00,-0.81722E+00,-0.81721E+00, & - &-0.81720E+00,-0.81718E+00,-0.81717E+00,-0.81715E+00,-0.81714E+00/ - - DATA (BNC04M(I),I=501,600)/ & - &-0.81712E+00,-0.81710E+00,-0.81709E+00,-0.81707E+00,-0.81705E+00, & - &-0.81703E+00,-0.81701E+00,-0.81699E+00,-0.81697E+00,-0.81694E+00, & - &-0.81692E+00,-0.81690E+00,-0.81688E+00,-0.81685E+00,-0.81683E+00, & - &-0.81680E+00,-0.81677E+00,-0.81675E+00,-0.81672E+00,-0.81669E+00, & - &-0.81666E+00,-0.81664E+00,-0.81661E+00,-0.81658E+00,-0.81655E+00, & - &-0.81651E+00,-0.81648E+00,-0.81645E+00,-0.81642E+00,-0.81638E+00, & - &-0.81635E+00,-0.81632E+00,-0.81628E+00,-0.81625E+00,-0.81621E+00, & - &-0.81617E+00,-0.81614E+00,-0.81610E+00,-0.81606E+00,-0.81602E+00, & - &-0.81598E+00,-0.81594E+00,-0.81590E+00,-0.81586E+00,-0.81582E+00, & - &-0.81578E+00,-0.81574E+00,-0.81570E+00,-0.81565E+00,-0.81561E+00, & - &-0.81556E+00,-0.81552E+00,-0.81547E+00,-0.81543E+00,-0.81538E+00, & - &-0.81534E+00,-0.81529E+00,-0.81524E+00,-0.81519E+00,-0.81514E+00, & - &-0.81509E+00,-0.81504E+00,-0.81499E+00,-0.81494E+00,-0.81489E+00, & - &-0.81484E+00,-0.81479E+00,-0.81474E+00,-0.81468E+00,-0.81463E+00, & - &-0.81458E+00,-0.81452E+00,-0.81447E+00,-0.81441E+00,-0.81436E+00, & - &-0.81430E+00,-0.81424E+00,-0.81419E+00,-0.81413E+00,-0.81407E+00, & - &-0.81401E+00,-0.81395E+00,-0.81389E+00,-0.81383E+00,-0.81377E+00, & - &-0.81371E+00,-0.81365E+00,-0.81359E+00,-0.81353E+00,-0.81347E+00, & - &-0.81340E+00,-0.81334E+00,-0.81328E+00,-0.81321E+00,-0.81315E+00, & - &-0.81308E+00,-0.81302E+00,-0.81295E+00,-0.81288E+00,-0.81282E+00/ - - DATA (BNC04M(I),I=601,700)/ & - &-0.81207E+00,-0.81133E+00,-0.81056E+00,-0.80975E+00,-0.80890E+00, & - &-0.80801E+00,-0.80709E+00,-0.80614E+00,-0.80515E+00,-0.80414E+00, & - &-0.80309E+00,-0.80201E+00,-0.80090E+00,-0.79977E+00,-0.79861E+00, & - &-0.79742E+00,-0.79620E+00,-0.79496E+00,-0.79370E+00,-0.79241E+00, & - &-0.79110E+00,-0.78976E+00,-0.78841E+00,-0.78703E+00,-0.78563E+00, & - &-0.78421E+00,-0.78277E+00,-0.78131E+00,-0.77984E+00,-0.77834E+00, & - &-0.77683E+00,-0.77529E+00,-0.77374E+00,-0.77218E+00,-0.77060E+00, & - &-0.76900E+00,-0.76738E+00,-0.76575E+00,-0.76411E+00,-0.76245E+00, & - &-0.76077E+00,-0.75908E+00,-0.75738E+00,-0.75566E+00,-0.75393E+00, & - &-0.75219E+00,-0.75044E+00,-0.74867E+00,-0.74689E+00,-0.74510E+00, & - &-0.74329E+00,-0.74148E+00,-0.73965E+00,-0.73781E+00,-0.73596E+00, & - &-0.73411E+00,-0.73224E+00,-0.73036E+00,-0.72847E+00,-0.72657E+00, & - &-0.72466E+00,-0.72274E+00,-0.72081E+00,-0.71887E+00,-0.71692E+00, & - &-0.71497E+00,-0.71300E+00,-0.71103E+00,-0.70905E+00,-0.70706E+00, & - &-0.70506E+00,-0.70306E+00,-0.70104E+00,-0.69902E+00,-0.69699E+00, & - &-0.69496E+00,-0.69291E+00,-0.69086E+00,-0.68880E+00,-0.68674E+00, & - &-0.68467E+00,-0.68259E+00,-0.68050E+00,-0.67841E+00,-0.67631E+00, & - &-0.67421E+00,-0.67210E+00,-0.66998E+00,-0.66786E+00,-0.66573E+00, & - &-0.66359E+00,-0.66145E+00,-0.65930E+00,-0.65715E+00,-0.65499E+00, & - &-0.65283E+00,-0.65066E+00,-0.64849E+00,-0.64631E+00,-0.64413E+00/ - - DATA (BNC04M(I),I=701,741)/ & - &-0.64194E+00,-0.63974E+00,-0.63755E+00,-0.63534E+00,-0.63313E+00, & - &-0.63092E+00,-0.62870E+00,-0.62648E+00,-0.62425E+00,-0.62202E+00, & - &-0.61979E+00,-0.61755E+00,-0.61530E+00,-0.61305E+00,-0.61080E+00, & - &-0.60854E+00,-0.60628E+00,-0.60402E+00,-0.60175E+00,-0.59948E+00, & - &-0.59720E+00,-0.59492E+00,-0.59264E+00,-0.59035E+00,-0.58806E+00, & - &-0.58576E+00,-0.58346E+00,-0.58116E+00,-0.57886E+00,-0.57655E+00, & - &-0.57424E+00,-0.57192E+00,-0.56960E+00,-0.56728E+00,-0.56496E+00, & - &-0.56263E+00,-0.56030E+00,-0.55796E+00,-0.55562E+00,-0.55328E+00, & - &-0.55094E+00 & - & / -! -! *** NH4NO3 -! - DATA (BNC05M(I),I=1,100)/ & - &-0.45808E-01,-0.10090E+00,-0.12914E+00,-0.14948E+00,-0.16569E+00, & - &-0.17932E+00,-0.19115E+00,-0.20166E+00,-0.21113E+00,-0.21978E+00, & - &-0.22776E+00,-0.23518E+00,-0.24211E+00,-0.24864E+00,-0.25481E+00, & - &-0.26066E+00,-0.26624E+00,-0.27156E+00,-0.27665E+00,-0.28154E+00, & - &-0.28625E+00,-0.29078E+00,-0.29515E+00,-0.29938E+00,-0.30348E+00, & - &-0.30744E+00,-0.31129E+00,-0.31503E+00,-0.31867E+00,-0.32220E+00, & - &-0.32565E+00,-0.32900E+00,-0.33228E+00,-0.33547E+00,-0.33859E+00, & - &-0.34163E+00,-0.34461E+00,-0.34752E+00,-0.35037E+00,-0.35315E+00, & - &-0.35588E+00,-0.35855E+00,-0.36117E+00,-0.36373E+00,-0.36625E+00, & - &-0.36872E+00,-0.37113E+00,-0.37351E+00,-0.37584E+00,-0.37813E+00, & - &-0.38038E+00,-0.38259E+00,-0.38476E+00,-0.38689E+00,-0.38899E+00, & - &-0.39106E+00,-0.39309E+00,-0.39509E+00,-0.39706E+00,-0.39900E+00, & - &-0.40091E+00,-0.40280E+00,-0.40466E+00,-0.40649E+00,-0.40830E+00, & - &-0.41009E+00,-0.41185E+00,-0.41359E+00,-0.41531E+00,-0.41701E+00, & - &-0.41870E+00,-0.42036E+00,-0.42201E+00,-0.42364E+00,-0.42526E+00, & - &-0.42686E+00,-0.42844E+00,-0.43001E+00,-0.43157E+00,-0.43312E+00, & - &-0.43465E+00,-0.43617E+00,-0.43768E+00,-0.43918E+00,-0.44067E+00, & - &-0.44215E+00,-0.44362E+00,-0.44508E+00,-0.44653E+00,-0.44798E+00, & - &-0.44941E+00,-0.45084E+00,-0.45226E+00,-0.45367E+00,-0.45508E+00, & - &-0.45647E+00,-0.45786E+00,-0.45924E+00,-0.46062E+00,-0.46199E+00/ - - DATA (BNC05M(I),I=101,200)/ & - &-0.46335E+00,-0.46470E+00,-0.46605E+00,-0.46739E+00,-0.46872E+00, & - &-0.47005E+00,-0.47137E+00,-0.47269E+00,-0.47399E+00,-0.47529E+00, & - &-0.47658E+00,-0.47787E+00,-0.47915E+00,-0.48042E+00,-0.48169E+00, & - &-0.48295E+00,-0.48420E+00,-0.48544E+00,-0.48668E+00,-0.48791E+00, & - &-0.48913E+00,-0.49035E+00,-0.49156E+00,-0.49276E+00,-0.49396E+00, & - &-0.49515E+00,-0.49633E+00,-0.49750E+00,-0.49867E+00,-0.49983E+00, & - &-0.50099E+00,-0.50213E+00,-0.50327E+00,-0.50441E+00,-0.50553E+00, & - &-0.50665E+00,-0.50777E+00,-0.50887E+00,-0.50997E+00,-0.51107E+00, & - &-0.51215E+00,-0.51323E+00,-0.51431E+00,-0.51538E+00,-0.51644E+00, & - &-0.51749E+00,-0.51854E+00,-0.51959E+00,-0.52062E+00,-0.52166E+00, & - &-0.52268E+00,-0.52370E+00,-0.52471E+00,-0.52572E+00,-0.52672E+00, & - &-0.52772E+00,-0.52871E+00,-0.52969E+00,-0.53067E+00,-0.53165E+00, & - &-0.53261E+00,-0.53358E+00,-0.53454E+00,-0.53549E+00,-0.53643E+00, & - &-0.53738E+00,-0.53831E+00,-0.53924E+00,-0.54017E+00,-0.54109E+00, & - &-0.54201E+00,-0.54292E+00,-0.54383E+00,-0.54473E+00,-0.54563E+00, & - &-0.54652E+00,-0.54741E+00,-0.54829E+00,-0.54917E+00,-0.55004E+00, & - &-0.55091E+00,-0.55177E+00,-0.55263E+00,-0.55349E+00,-0.55434E+00, & - &-0.55518E+00,-0.55603E+00,-0.55686E+00,-0.55770E+00,-0.55853E+00, & - &-0.55935E+00,-0.56017E+00,-0.56099E+00,-0.56180E+00,-0.56261E+00, & - &-0.56341E+00,-0.56422E+00,-0.56501E+00,-0.56580E+00,-0.56659E+00/ - - DATA (BNC05M(I),I=201,300)/ & - &-0.56738E+00,-0.56816E+00,-0.56893E+00,-0.56971E+00,-0.57048E+00, & - &-0.57124E+00,-0.57200E+00,-0.57276E+00,-0.57351E+00,-0.57426E+00, & - &-0.57501E+00,-0.57575E+00,-0.57649E+00,-0.57723E+00,-0.57796E+00, & - &-0.57869E+00,-0.57942E+00,-0.58014E+00,-0.58086E+00,-0.58157E+00, & - &-0.58228E+00,-0.58299E+00,-0.58370E+00,-0.58440E+00,-0.58510E+00, & - &-0.58579E+00,-0.58648E+00,-0.58717E+00,-0.58786E+00,-0.58854E+00, & - &-0.58922E+00,-0.58989E+00,-0.59057E+00,-0.59124E+00,-0.59190E+00, & - &-0.59257E+00,-0.59323E+00,-0.59388E+00,-0.59454E+00,-0.59519E+00, & - &-0.59584E+00,-0.59648E+00,-0.59712E+00,-0.59776E+00,-0.59840E+00, & - &-0.59903E+00,-0.59966E+00,-0.60029E+00,-0.60092E+00,-0.60154E+00, & - &-0.60216E+00,-0.60278E+00,-0.60339E+00,-0.60400E+00,-0.60461E+00, & - &-0.60522E+00,-0.60582E+00,-0.60642E+00,-0.60702E+00,-0.60761E+00, & - &-0.60820E+00,-0.60879E+00,-0.60938E+00,-0.60997E+00,-0.61055E+00, & - &-0.61113E+00,-0.61170E+00,-0.61228E+00,-0.61285E+00,-0.61342E+00, & - &-0.61399E+00,-0.61455E+00,-0.61511E+00,-0.61567E+00,-0.61623E+00, & - &-0.61678E+00,-0.61734E+00,-0.61789E+00,-0.61843E+00,-0.61898E+00, & - &-0.61952E+00,-0.62006E+00,-0.62060E+00,-0.62114E+00,-0.62167E+00, & - &-0.62220E+00,-0.62273E+00,-0.62326E+00,-0.62378E+00,-0.62430E+00, & - &-0.62482E+00,-0.62534E+00,-0.62586E+00,-0.62637E+00,-0.62688E+00, & - &-0.62739E+00,-0.62790E+00,-0.62840E+00,-0.62891E+00,-0.62941E+00/ - - DATA (BNC05M(I),I=301,400)/ & - &-0.62990E+00,-0.63040E+00,-0.63090E+00,-0.63139E+00,-0.63188E+00, & - &-0.63237E+00,-0.63285E+00,-0.63334E+00,-0.63382E+00,-0.63430E+00, & - &-0.63478E+00,-0.63525E+00,-0.63573E+00,-0.63620E+00,-0.63667E+00, & - &-0.63714E+00,-0.63760E+00,-0.63807E+00,-0.63853E+00,-0.63899E+00, & - &-0.63945E+00,-0.63991E+00,-0.64036E+00,-0.64081E+00,-0.64127E+00, & - &-0.64171E+00,-0.64216E+00,-0.64261E+00,-0.64305E+00,-0.64349E+00, & - &-0.64393E+00,-0.64437E+00,-0.64481E+00,-0.64524E+00,-0.64568E+00, & - &-0.64611E+00,-0.64654E+00,-0.64696E+00,-0.64739E+00,-0.64782E+00, & - &-0.64824E+00,-0.64866E+00,-0.64908E+00,-0.64950E+00,-0.64991E+00, & - &-0.65033E+00,-0.65074E+00,-0.65115E+00,-0.65156E+00,-0.65197E+00, & - &-0.65237E+00,-0.65278E+00,-0.65318E+00,-0.65358E+00,-0.65398E+00, & - &-0.65438E+00,-0.65477E+00,-0.65517E+00,-0.65556E+00,-0.65595E+00, & - &-0.65634E+00,-0.65673E+00,-0.65712E+00,-0.65750E+00,-0.65788E+00, & - &-0.65827E+00,-0.65865E+00,-0.65903E+00,-0.65940E+00,-0.65978E+00, & - &-0.66016E+00,-0.66053E+00,-0.66090E+00,-0.66127E+00,-0.66164E+00, & - &-0.66201E+00,-0.66237E+00,-0.66274E+00,-0.66310E+00,-0.66346E+00, & - &-0.66382E+00,-0.66418E+00,-0.66454E+00,-0.66489E+00,-0.66525E+00, & - &-0.66560E+00,-0.66595E+00,-0.66630E+00,-0.66665E+00,-0.66700E+00, & - &-0.66734E+00,-0.66769E+00,-0.66803E+00,-0.66837E+00,-0.66871E+00, & - &-0.66905E+00,-0.66939E+00,-0.66973E+00,-0.67006E+00,-0.67040E+00/ - - DATA (BNC05M(I),I=401,500)/ & - &-0.67073E+00,-0.67106E+00,-0.67139E+00,-0.67172E+00,-0.67205E+00, & - &-0.67237E+00,-0.67270E+00,-0.67302E+00,-0.67335E+00,-0.67367E+00, & - &-0.67399E+00,-0.67431E+00,-0.67462E+00,-0.67494E+00,-0.67525E+00, & - &-0.67557E+00,-0.67588E+00,-0.67619E+00,-0.67650E+00,-0.67681E+00, & - &-0.67712E+00,-0.67742E+00,-0.67773E+00,-0.67803E+00,-0.67834E+00, & - &-0.67864E+00,-0.67894E+00,-0.67924E+00,-0.67954E+00,-0.67983E+00, & - &-0.68013E+00,-0.68042E+00,-0.68072E+00,-0.68101E+00,-0.68130E+00, & - &-0.68159E+00,-0.68188E+00,-0.68217E+00,-0.68246E+00,-0.68274E+00, & - &-0.68303E+00,-0.68331E+00,-0.68359E+00,-0.68387E+00,-0.68415E+00, & - &-0.68443E+00,-0.68471E+00,-0.68499E+00,-0.68526E+00,-0.68554E+00, & - &-0.68581E+00,-0.68608E+00,-0.68635E+00,-0.68663E+00,-0.68689E+00, & - &-0.68716E+00,-0.68743E+00,-0.68770E+00,-0.68796E+00,-0.68823E+00, & - &-0.68849E+00,-0.68875E+00,-0.68901E+00,-0.68927E+00,-0.68953E+00, & - &-0.68979E+00,-0.69005E+00,-0.69030E+00,-0.69056E+00,-0.69081E+00, & - &-0.69107E+00,-0.69132E+00,-0.69157E+00,-0.69182E+00,-0.69207E+00, & - &-0.69232E+00,-0.69256E+00,-0.69281E+00,-0.69306E+00,-0.69330E+00, & - &-0.69354E+00,-0.69379E+00,-0.69403E+00,-0.69427E+00,-0.69451E+00, & - &-0.69475E+00,-0.69498E+00,-0.69522E+00,-0.69546E+00,-0.69569E+00, & - &-0.69593E+00,-0.69616E+00,-0.69639E+00,-0.69662E+00,-0.69685E+00, & - &-0.69708E+00,-0.69731E+00,-0.69754E+00,-0.69777E+00,-0.69799E+00/ - - DATA (BNC05M(I),I=501,600)/ & - &-0.69822E+00,-0.69844E+00,-0.69867E+00,-0.69889E+00,-0.69911E+00, & - &-0.69933E+00,-0.69955E+00,-0.69977E+00,-0.69999E+00,-0.70020E+00, & - &-0.70042E+00,-0.70064E+00,-0.70085E+00,-0.70107E+00,-0.70128E+00, & - &-0.70149E+00,-0.70170E+00,-0.70191E+00,-0.70212E+00,-0.70233E+00, & - &-0.70254E+00,-0.70275E+00,-0.70295E+00,-0.70316E+00,-0.70336E+00, & - &-0.70357E+00,-0.70377E+00,-0.70397E+00,-0.70417E+00,-0.70438E+00, & - &-0.70458E+00,-0.70477E+00,-0.70497E+00,-0.70517E+00,-0.70537E+00, & - &-0.70556E+00,-0.70576E+00,-0.70595E+00,-0.70615E+00,-0.70634E+00, & - &-0.70653E+00,-0.70672E+00,-0.70691E+00,-0.70710E+00,-0.70729E+00, & - &-0.70748E+00,-0.70767E+00,-0.70786E+00,-0.70804E+00,-0.70823E+00, & - &-0.70841E+00,-0.70860E+00,-0.70878E+00,-0.70896E+00,-0.70914E+00, & - &-0.70932E+00,-0.70950E+00,-0.70968E+00,-0.70986E+00,-0.71004E+00, & - &-0.71022E+00,-0.71040E+00,-0.71057E+00,-0.71075E+00,-0.71092E+00, & - &-0.71109E+00,-0.71127E+00,-0.71144E+00,-0.71161E+00,-0.71178E+00, & - &-0.71195E+00,-0.71212E+00,-0.71229E+00,-0.71246E+00,-0.71263E+00, & - &-0.71279E+00,-0.71296E+00,-0.71313E+00,-0.71329E+00,-0.71346E+00, & - &-0.71362E+00,-0.71378E+00,-0.71394E+00,-0.71411E+00,-0.71427E+00, & - &-0.71443E+00,-0.71459E+00,-0.71474E+00,-0.71490E+00,-0.71506E+00, & - &-0.71522E+00,-0.71537E+00,-0.71553E+00,-0.71568E+00,-0.71584E+00, & - &-0.71599E+00,-0.71614E+00,-0.71630E+00,-0.71645E+00,-0.71660E+00/ - - DATA (BNC05M(I),I=601,700)/ & - &-0.71819E+00,-0.71960E+00,-0.72096E+00,-0.72225E+00,-0.72349E+00, & - &-0.72467E+00,-0.72581E+00,-0.72689E+00,-0.72792E+00,-0.72891E+00, & - &-0.72985E+00,-0.73074E+00,-0.73159E+00,-0.73240E+00,-0.73316E+00, & - &-0.73389E+00,-0.73457E+00,-0.73522E+00,-0.73583E+00,-0.73640E+00, & - &-0.73694E+00,-0.73744E+00,-0.73791E+00,-0.73835E+00,-0.73875E+00, & - &-0.73912E+00,-0.73947E+00,-0.73978E+00,-0.74006E+00,-0.74032E+00, & - &-0.74055E+00,-0.74075E+00,-0.74093E+00,-0.74107E+00,-0.74120E+00, & - &-0.74130E+00,-0.74137E+00,-0.74142E+00,-0.74145E+00,-0.74146E+00, & - &-0.74144E+00,-0.74141E+00,-0.74135E+00,-0.74127E+00,-0.74117E+00, & - &-0.74105E+00,-0.74092E+00,-0.74076E+00,-0.74058E+00,-0.74039E+00, & - &-0.74018E+00,-0.73995E+00,-0.73971E+00,-0.73945E+00,-0.73917E+00, & - &-0.73887E+00,-0.73856E+00,-0.73824E+00,-0.73790E+00,-0.73754E+00, & - &-0.73717E+00,-0.73679E+00,-0.73639E+00,-0.73598E+00,-0.73555E+00, & - &-0.73512E+00,-0.73466E+00,-0.73420E+00,-0.73372E+00,-0.73324E+00, & - &-0.73273E+00,-0.73222E+00,-0.73170E+00,-0.73116E+00,-0.73062E+00, & - &-0.73006E+00,-0.72949E+00,-0.72891E+00,-0.72832E+00,-0.72772E+00, & - &-0.72711E+00,-0.72649E+00,-0.72587E+00,-0.72523E+00,-0.72458E+00, & - &-0.72392E+00,-0.72325E+00,-0.72258E+00,-0.72190E+00,-0.72120E+00, & - &-0.72050E+00,-0.71979E+00,-0.71907E+00,-0.71835E+00,-0.71762E+00, & - &-0.71687E+00,-0.71613E+00,-0.71537E+00,-0.71460E+00,-0.71383E+00/ - - DATA (BNC05M(I),I=701,741)/ & - &-0.71305E+00,-0.71227E+00,-0.71148E+00,-0.71068E+00,-0.70987E+00, & - &-0.70906E+00,-0.70824E+00,-0.70741E+00,-0.70658E+00,-0.70574E+00, & - &-0.70490E+00,-0.70404E+00,-0.70319E+00,-0.70232E+00,-0.70146E+00, & - &-0.70058E+00,-0.69970E+00,-0.69882E+00,-0.69792E+00,-0.69703E+00, & - &-0.69613E+00,-0.69522E+00,-0.69431E+00,-0.69339E+00,-0.69247E+00, & - &-0.69154E+00,-0.69061E+00,-0.68967E+00,-0.68873E+00,-0.68778E+00, & - &-0.68683E+00,-0.68588E+00,-0.68492E+00,-0.68395E+00,-0.68298E+00, & - &-0.68201E+00,-0.68103E+00,-0.68005E+00,-0.67907E+00,-0.67808E+00, & - &-0.67708E+00 & - & / -! -! *** NH4Cl -! - DATA (BNC06M(I),I=1,100)/ & - &-0.44830E-01,-0.95566E-01,-0.11981E+00,-0.13634E+00,-0.14889E+00, & - &-0.15895E+00,-0.16730E+00,-0.17439E+00,-0.18052E+00,-0.18588E+00, & - &-0.19061E+00,-0.19483E+00,-0.19861E+00,-0.20202E+00,-0.20511E+00, & - &-0.20792E+00,-0.21049E+00,-0.21283E+00,-0.21498E+00,-0.21696E+00, & - &-0.21878E+00,-0.22046E+00,-0.22201E+00,-0.22344E+00,-0.22477E+00, & - &-0.22600E+00,-0.22714E+00,-0.22819E+00,-0.22917E+00,-0.23007E+00, & - &-0.23091E+00,-0.23169E+00,-0.23242E+00,-0.23308E+00,-0.23370E+00, & - &-0.23428E+00,-0.23481E+00,-0.23530E+00,-0.23575E+00,-0.23616E+00, & - &-0.23655E+00,-0.23690E+00,-0.23722E+00,-0.23751E+00,-0.23778E+00, & - &-0.23802E+00,-0.23824E+00,-0.23843E+00,-0.23861E+00,-0.23876E+00, & - &-0.23890E+00,-0.23901E+00,-0.23911E+00,-0.23919E+00,-0.23926E+00, & - &-0.23931E+00,-0.23934E+00,-0.23936E+00,-0.23937E+00,-0.23936E+00, & - &-0.23934E+00,-0.23931E+00,-0.23926E+00,-0.23921E+00,-0.23914E+00, & - &-0.23906E+00,-0.23896E+00,-0.23886E+00,-0.23874E+00,-0.23862E+00, & - &-0.23848E+00,-0.23833E+00,-0.23818E+00,-0.23801E+00,-0.23783E+00, & - &-0.23764E+00,-0.23744E+00,-0.23723E+00,-0.23701E+00,-0.23678E+00, & - &-0.23654E+00,-0.23630E+00,-0.23604E+00,-0.23577E+00,-0.23549E+00, & - &-0.23520E+00,-0.23491E+00,-0.23460E+00,-0.23429E+00,-0.23397E+00, & - &-0.23363E+00,-0.23329E+00,-0.23295E+00,-0.23259E+00,-0.23222E+00, & - &-0.23185E+00,-0.23147E+00,-0.23108E+00,-0.23069E+00,-0.23028E+00/ - - DATA (BNC06M(I),I=101,200)/ & - &-0.22987E+00,-0.22946E+00,-0.22903E+00,-0.22860E+00,-0.22817E+00, & - &-0.22773E+00,-0.22728E+00,-0.22682E+00,-0.22637E+00,-0.22590E+00, & - &-0.22543E+00,-0.22496E+00,-0.22448E+00,-0.22400E+00,-0.22351E+00, & - &-0.22302E+00,-0.22253E+00,-0.22203E+00,-0.22153E+00,-0.22102E+00, & - &-0.22051E+00,-0.22000E+00,-0.21949E+00,-0.21897E+00,-0.21845E+00, & - &-0.21792E+00,-0.21740E+00,-0.21687E+00,-0.21634E+00,-0.21581E+00, & - &-0.21527E+00,-0.21474E+00,-0.21420E+00,-0.21366E+00,-0.21311E+00, & - &-0.21257E+00,-0.21202E+00,-0.21148E+00,-0.21093E+00,-0.21038E+00, & - &-0.20983E+00,-0.20927E+00,-0.20872E+00,-0.20816E+00,-0.20761E+00, & - &-0.20705E+00,-0.20649E+00,-0.20593E+00,-0.20537E+00,-0.20480E+00, & - &-0.20424E+00,-0.20368E+00,-0.20311E+00,-0.20254E+00,-0.20198E+00, & - &-0.20141E+00,-0.20084E+00,-0.20027E+00,-0.19970E+00,-0.19913E+00, & - &-0.19856E+00,-0.19799E+00,-0.19742E+00,-0.19684E+00,-0.19627E+00, & - &-0.19569E+00,-0.19512E+00,-0.19454E+00,-0.19397E+00,-0.19339E+00, & - &-0.19281E+00,-0.19224E+00,-0.19166E+00,-0.19108E+00,-0.19050E+00, & - &-0.18992E+00,-0.18934E+00,-0.18876E+00,-0.18818E+00,-0.18760E+00, & - &-0.18702E+00,-0.18644E+00,-0.18586E+00,-0.18528E+00,-0.18469E+00, & - &-0.18411E+00,-0.18353E+00,-0.18295E+00,-0.18236E+00,-0.18178E+00, & - &-0.18120E+00,-0.18061E+00,-0.18003E+00,-0.17945E+00,-0.17886E+00, & - &-0.17828E+00,-0.17770E+00,-0.17711E+00,-0.17653E+00,-0.17594E+00/ - - DATA (BNC06M(I),I=201,300)/ & - &-0.17536E+00,-0.17478E+00,-0.17419E+00,-0.17361E+00,-0.17302E+00, & - &-0.17244E+00,-0.17186E+00,-0.17127E+00,-0.17069E+00,-0.17010E+00, & - &-0.16952E+00,-0.16893E+00,-0.16835E+00,-0.16777E+00,-0.16718E+00, & - &-0.16660E+00,-0.16601E+00,-0.16543E+00,-0.16485E+00,-0.16426E+00, & - &-0.16368E+00,-0.16310E+00,-0.16251E+00,-0.16193E+00,-0.16135E+00, & - &-0.16076E+00,-0.16018E+00,-0.15960E+00,-0.15902E+00,-0.15843E+00, & - &-0.15785E+00,-0.15727E+00,-0.15669E+00,-0.15611E+00,-0.15553E+00, & - &-0.15494E+00,-0.15436E+00,-0.15378E+00,-0.15320E+00,-0.15262E+00, & - &-0.15204E+00,-0.15146E+00,-0.15088E+00,-0.15030E+00,-0.14972E+00, & - &-0.14914E+00,-0.14857E+00,-0.14799E+00,-0.14741E+00,-0.14683E+00, & - &-0.14625E+00,-0.14567E+00,-0.14510E+00,-0.14452E+00,-0.14394E+00, & - &-0.14337E+00,-0.14279E+00,-0.14221E+00,-0.14164E+00,-0.14106E+00, & - &-0.14049E+00,-0.13991E+00,-0.13934E+00,-0.13876E+00,-0.13819E+00, & - &-0.13762E+00,-0.13704E+00,-0.13647E+00,-0.13590E+00,-0.13532E+00, & - &-0.13475E+00,-0.13418E+00,-0.13361E+00,-0.13304E+00,-0.13247E+00, & - &-0.13190E+00,-0.13132E+00,-0.13075E+00,-0.13019E+00,-0.12962E+00, & - &-0.12905E+00,-0.12848E+00,-0.12791E+00,-0.12734E+00,-0.12677E+00, & - &-0.12621E+00,-0.12564E+00,-0.12507E+00,-0.12451E+00,-0.12394E+00, & - &-0.12337E+00,-0.12281E+00,-0.12224E+00,-0.12168E+00,-0.12111E+00, & - &-0.12055E+00,-0.11999E+00,-0.11942E+00,-0.11886E+00,-0.11830E+00/ - - DATA (BNC06M(I),I=301,400)/ & - &-0.11773E+00,-0.11717E+00,-0.11661E+00,-0.11605E+00,-0.11549E+00, & - &-0.11493E+00,-0.11437E+00,-0.11381E+00,-0.11325E+00,-0.11269E+00, & - &-0.11213E+00,-0.11157E+00,-0.11101E+00,-0.11046E+00,-0.10990E+00, & - &-0.10934E+00,-0.10879E+00,-0.10823E+00,-0.10767E+00,-0.10712E+00, & - &-0.10656E+00,-0.10601E+00,-0.10546E+00,-0.10490E+00,-0.10435E+00, & - &-0.10379E+00,-0.10324E+00,-0.10269E+00,-0.10214E+00,-0.10159E+00, & - &-0.10103E+00,-0.10048E+00,-0.99932E-01,-0.99382E-01,-0.98832E-01, & - &-0.98283E-01,-0.97734E-01,-0.97185E-01,-0.96637E-01,-0.96089E-01, & - &-0.95541E-01,-0.94994E-01,-0.94447E-01,-0.93901E-01,-0.93355E-01, & - &-0.92809E-01,-0.92264E-01,-0.91719E-01,-0.91174E-01,-0.90630E-01, & - &-0.90086E-01,-0.89543E-01,-0.89000E-01,-0.88457E-01,-0.87915E-01, & - &-0.87373E-01,-0.86831E-01,-0.86290E-01,-0.85750E-01,-0.85209E-01, & - &-0.84669E-01,-0.84130E-01,-0.83590E-01,-0.83051E-01,-0.82513E-01, & - &-0.81975E-01,-0.81437E-01,-0.80900E-01,-0.80363E-01,-0.79826E-01, & - &-0.79290E-01,-0.78754E-01,-0.78219E-01,-0.77684E-01,-0.77149E-01, & - &-0.76615E-01,-0.76081E-01,-0.75547E-01,-0.75014E-01,-0.74481E-01, & - &-0.73949E-01,-0.73417E-01,-0.72885E-01,-0.72354E-01,-0.71823E-01, & - &-0.71293E-01,-0.70763E-01,-0.70233E-01,-0.69703E-01,-0.69174E-01, & - &-0.68646E-01,-0.68117E-01,-0.67590E-01,-0.67062E-01,-0.66535E-01, & - &-0.66008E-01,-0.65482E-01,-0.64956E-01,-0.64430E-01,-0.63905E-01/ - - DATA (BNC06M(I),I=401,500)/ & - &-0.63380E-01,-0.62856E-01,-0.62331E-01,-0.61808E-01,-0.61284E-01, & - &-0.60761E-01,-0.60239E-01,-0.59716E-01,-0.59194E-01,-0.58673E-01, & - &-0.58152E-01,-0.57631E-01,-0.57111E-01,-0.56591E-01,-0.56071E-01, & - &-0.55552E-01,-0.55033E-01,-0.54514E-01,-0.53996E-01,-0.53478E-01, & - &-0.52961E-01,-0.52444E-01,-0.51927E-01,-0.51410E-01,-0.50894E-01, & - &-0.50379E-01,-0.49864E-01,-0.49349E-01,-0.48834E-01,-0.48320E-01, & - &-0.47806E-01,-0.47293E-01,-0.46780E-01,-0.46267E-01,-0.45755E-01, & - &-0.45243E-01,-0.44731E-01,-0.44220E-01,-0.43709E-01,-0.43198E-01, & - &-0.42688E-01,-0.42178E-01,-0.41669E-01,-0.41160E-01,-0.40651E-01, & - &-0.40143E-01,-0.39635E-01,-0.39127E-01,-0.38620E-01,-0.38113E-01, & - &-0.37606E-01,-0.37100E-01,-0.36594E-01,-0.36088E-01,-0.35583E-01, & - &-0.35078E-01,-0.34574E-01,-0.34070E-01,-0.33566E-01,-0.33063E-01, & - &-0.32560E-01,-0.32057E-01,-0.31554E-01,-0.31052E-01,-0.30551E-01, & - &-0.30049E-01,-0.29548E-01,-0.29048E-01,-0.28548E-01,-0.28048E-01, & - &-0.27548E-01,-0.27049E-01,-0.26550E-01,-0.26051E-01,-0.25553E-01, & - &-0.25055E-01,-0.24558E-01,-0.24061E-01,-0.23564E-01,-0.23067E-01, & - &-0.22571E-01,-0.22075E-01,-0.21580E-01,-0.21085E-01,-0.20590E-01, & - &-0.20096E-01,-0.19602E-01,-0.19108E-01,-0.18614E-01,-0.18121E-01, & - &-0.17629E-01,-0.17136E-01,-0.16644E-01,-0.16153E-01,-0.15661E-01, & - &-0.15170E-01,-0.14679E-01,-0.14189E-01,-0.13699E-01,-0.13209E-01/ - - DATA (BNC06M(I),I=501,600)/ & - &-0.12720E-01,-0.12231E-01,-0.11742E-01,-0.11254E-01,-0.10766E-01, & - &-0.10278E-01,-0.97905E-02,-0.93034E-02,-0.88167E-02,-0.83303E-02, & - &-0.78442E-02,-0.73585E-02,-0.68730E-02,-0.63879E-02,-0.59032E-02, & - &-0.54187E-02,-0.49346E-02,-0.44508E-02,-0.39674E-02,-0.34842E-02, & - &-0.30014E-02,-0.25189E-02,-0.20367E-02,-0.15548E-02,-0.10733E-02, & - &-0.59210E-03,-0.11121E-03, 0.36935E-03, 0.84963E-03, 0.13296E-02, & - & 0.18092E-02, 0.22885E-02, 0.27674E-02, 0.32461E-02, 0.37244E-02, & - & 0.42024E-02, 0.46802E-02, 0.51576E-02, 0.56347E-02, 0.61114E-02, & - & 0.65879E-02, 0.70641E-02, 0.75399E-02, 0.80154E-02, 0.84906E-02, & - & 0.89655E-02, 0.94401E-02, 0.99143E-02, 0.10388E-01, 0.10862E-01, & - & 0.11335E-01, 0.11808E-01, 0.12281E-01, 0.12753E-01, 0.13226E-01, & - & 0.13697E-01, 0.14169E-01, 0.14640E-01, 0.15111E-01, 0.15582E-01, & - & 0.16052E-01, 0.16522E-01, 0.16991E-01, 0.17461E-01, 0.17930E-01, & - & 0.18399E-01, 0.18867E-01, 0.19335E-01, 0.19803E-01, 0.20271E-01, & - & 0.20738E-01, 0.21205E-01, 0.21672E-01, 0.22138E-01, 0.22604E-01, & - & 0.23070E-01, 0.23535E-01, 0.24000E-01, 0.24465E-01, 0.24930E-01, & - & 0.25394E-01, 0.25858E-01, 0.26322E-01, 0.26785E-01, 0.27248E-01, & - & 0.27711E-01, 0.28174E-01, 0.28636E-01, 0.29098E-01, 0.29560E-01, & - & 0.30021E-01, 0.30482E-01, 0.30943E-01, 0.31403E-01, 0.31864E-01, & - & 0.32324E-01, 0.32783E-01, 0.33242E-01, 0.33702E-01, 0.34160E-01/ - - DATA (BNC06M(I),I=601,700)/ & - & 0.39099E-01, 0.43640E-01, 0.48155E-01, 0.52641E-01, 0.57101E-01, & - & 0.61535E-01, 0.65943E-01, 0.70325E-01, 0.74682E-01, 0.79014E-01, & - & 0.83322E-01, 0.87606E-01, 0.91866E-01, 0.96103E-01, 0.10032E+00, & - & 0.10451E+00, 0.10868E+00, 0.11282E+00, 0.11695E+00, 0.12105E+00, & - & 0.12514E+00, 0.12920E+00, 0.13324E+00, 0.13726E+00, 0.14127E+00, & - & 0.14525E+00, 0.14921E+00, 0.15316E+00, 0.15709E+00, 0.16099E+00, & - & 0.16488E+00, 0.16876E+00, 0.17261E+00, 0.17645E+00, 0.18027E+00, & - & 0.18407E+00, 0.18786E+00, 0.19163E+00, 0.19538E+00, 0.19912E+00, & - & 0.20284E+00, 0.20655E+00, 0.21024E+00, 0.21391E+00, 0.21757E+00, & - & 0.22122E+00, 0.22485E+00, 0.22847E+00, 0.23207E+00, 0.23566E+00, & - & 0.23924E+00, 0.24280E+00, 0.24634E+00, 0.24988E+00, 0.25340E+00, & - & 0.25691E+00, 0.26040E+00, 0.26389E+00, 0.26735E+00, 0.27081E+00, & - & 0.27426E+00, 0.27769E+00, 0.28111E+00, 0.28452E+00, 0.28792E+00, & - & 0.29130E+00, 0.29468E+00, 0.29804E+00, 0.30139E+00, 0.30473E+00, & - & 0.30806E+00, 0.31138E+00, 0.31469E+00, 0.31799E+00, 0.32127E+00, & - & 0.32455E+00, 0.32782E+00, 0.33107E+00, 0.33432E+00, 0.33756E+00, & - & 0.34078E+00, 0.34400E+00, 0.34721E+00, 0.35040E+00, 0.35359E+00, & - & 0.35677E+00, 0.35994E+00, 0.36310E+00, 0.36625E+00, 0.36940E+00, & - & 0.37253E+00, 0.37565E+00, 0.37877E+00, 0.38188E+00, 0.38498E+00, & - & 0.38807E+00, 0.39115E+00, 0.39423E+00, 0.39729E+00, 0.40035E+00/ - - DATA (BNC06M(I),I=701,741)/ & - & 0.40340E+00, 0.40644E+00, 0.40947E+00, 0.41250E+00, 0.41552E+00, & - & 0.41853E+00, 0.42153E+00, 0.42453E+00, 0.42752E+00, 0.43050E+00, & - & 0.43347E+00, 0.43644E+00, 0.43939E+00, 0.44235E+00, 0.44529E+00, & - & 0.44823E+00, 0.45116E+00, 0.45408E+00, 0.45700E+00, 0.45991E+00, & - & 0.46281E+00, 0.46571E+00, 0.46860E+00, 0.47149E+00, 0.47436E+00, & - & 0.47723E+00, 0.48010E+00, 0.48296E+00, 0.48581E+00, 0.48865E+00, & - & 0.49149E+00, 0.49433E+00, 0.49715E+00, 0.49998E+00, 0.50279E+00, & - & 0.50560E+00, 0.50840E+00, 0.51120E+00, 0.51399E+00, 0.51678E+00, & - & 0.51956E+00 & - & / -! -! *** (2H,SO4) -! - DATA (BNC07M(I),I=1,100)/ & - &-0.90523E-01,-0.19581E+00,-0.24777E+00,-0.28414E+00,-0.31242E+00, & - &-0.33564E+00,-0.35536E+00,-0.37250E+00,-0.38765E+00,-0.40122E+00, & - &-0.41351E+00,-0.42472E+00,-0.43503E+00,-0.44456E+00,-0.45341E+00, & - &-0.46168E+00,-0.46943E+00,-0.47672E+00,-0.48359E+00,-0.49009E+00, & - &-0.49625E+00,-0.50210E+00,-0.50767E+00,-0.51299E+00,-0.51807E+00, & - &-0.52293E+00,-0.52759E+00,-0.53206E+00,-0.53635E+00,-0.54048E+00, & - &-0.54446E+00,-0.54830E+00,-0.55200E+00,-0.55557E+00,-0.55902E+00, & - &-0.56236E+00,-0.56559E+00,-0.56872E+00,-0.57176E+00,-0.57470E+00, & - &-0.57756E+00,-0.58033E+00,-0.58303E+00,-0.58564E+00,-0.58819E+00, & - &-0.59067E+00,-0.59308E+00,-0.59543E+00,-0.59772E+00,-0.59995E+00, & - &-0.60213E+00,-0.60425E+00,-0.60632E+00,-0.60834E+00,-0.61031E+00, & - &-0.61224E+00,-0.61412E+00,-0.61596E+00,-0.61775E+00,-0.61951E+00, & - &-0.62123E+00,-0.62292E+00,-0.62456E+00,-0.62618E+00,-0.62776E+00, & - &-0.62930E+00,-0.63082E+00,-0.63230E+00,-0.63376E+00,-0.63519E+00, & - &-0.63659E+00,-0.63796E+00,-0.63931E+00,-0.64063E+00,-0.64193E+00, & - &-0.64320E+00,-0.64445E+00,-0.64568E+00,-0.64689E+00,-0.64808E+00, & - &-0.64924E+00,-0.65039E+00,-0.65152E+00,-0.65263E+00,-0.65372E+00, & - &-0.65479E+00,-0.65584E+00,-0.65688E+00,-0.65790E+00,-0.65891E+00, & - &-0.65990E+00,-0.66087E+00,-0.66183E+00,-0.66278E+00,-0.66371E+00, & - &-0.66463E+00,-0.66553E+00,-0.66642E+00,-0.66730E+00,-0.66816E+00/ - - DATA (BNC07M(I),I=101,200)/ & - &-0.66901E+00,-0.66985E+00,-0.67068E+00,-0.67149E+00,-0.67230E+00, & - &-0.67309E+00,-0.67387E+00,-0.67464E+00,-0.67540E+00,-0.67615E+00, & - &-0.67689E+00,-0.67762E+00,-0.67834E+00,-0.67905E+00,-0.67975E+00, & - &-0.68044E+00,-0.68112E+00,-0.68179E+00,-0.68245E+00,-0.68310E+00, & - &-0.68375E+00,-0.68438E+00,-0.68501E+00,-0.68563E+00,-0.68624E+00, & - &-0.68684E+00,-0.68743E+00,-0.68802E+00,-0.68860E+00,-0.68917E+00, & - &-0.68973E+00,-0.69029E+00,-0.69083E+00,-0.69137E+00,-0.69191E+00, & - &-0.69243E+00,-0.69295E+00,-0.69347E+00,-0.69397E+00,-0.69447E+00, & - &-0.69497E+00,-0.69545E+00,-0.69593E+00,-0.69641E+00,-0.69688E+00, & - &-0.69734E+00,-0.69779E+00,-0.69824E+00,-0.69869E+00,-0.69912E+00, & - &-0.69956E+00,-0.69998E+00,-0.70041E+00,-0.70082E+00,-0.70123E+00, & - &-0.70164E+00,-0.70204E+00,-0.70243E+00,-0.70282E+00,-0.70321E+00, & - &-0.70359E+00,-0.70396E+00,-0.70433E+00,-0.70470E+00,-0.70506E+00, & - &-0.70541E+00,-0.70577E+00,-0.70611E+00,-0.70646E+00,-0.70679E+00, & - &-0.70713E+00,-0.70746E+00,-0.70778E+00,-0.70810E+00,-0.70842E+00, & - &-0.70873E+00,-0.70904E+00,-0.70934E+00,-0.70964E+00,-0.70994E+00, & - &-0.71023E+00,-0.71052E+00,-0.71081E+00,-0.71109E+00,-0.71137E+00, & - &-0.71164E+00,-0.71191E+00,-0.71218E+00,-0.71244E+00,-0.71270E+00, & - &-0.71296E+00,-0.71321E+00,-0.71346E+00,-0.71371E+00,-0.71395E+00, & - &-0.71419E+00,-0.71443E+00,-0.71466E+00,-0.71489E+00,-0.71512E+00/ - - DATA (BNC07M(I),I=201,300)/ & - &-0.71534E+00,-0.71556E+00,-0.71578E+00,-0.71599E+00,-0.71620E+00, & - &-0.71641E+00,-0.71662E+00,-0.71682E+00,-0.71702E+00,-0.71722E+00, & - &-0.71741E+00,-0.71760E+00,-0.71779E+00,-0.71798E+00,-0.71816E+00, & - &-0.71834E+00,-0.71852E+00,-0.71870E+00,-0.71887E+00,-0.71904E+00, & - &-0.71921E+00,-0.71937E+00,-0.71954E+00,-0.71970E+00,-0.71986E+00, & - &-0.72001E+00,-0.72016E+00,-0.72032E+00,-0.72046E+00,-0.72061E+00, & - &-0.72075E+00,-0.72090E+00,-0.72103E+00,-0.72117E+00,-0.72131E+00, & - &-0.72144E+00,-0.72157E+00,-0.72170E+00,-0.72182E+00,-0.72195E+00, & - &-0.72207E+00,-0.72219E+00,-0.72231E+00,-0.72242E+00,-0.72254E+00, & - &-0.72265E+00,-0.72276E+00,-0.72287E+00,-0.72297E+00,-0.72307E+00, & - &-0.72318E+00,-0.72328E+00,-0.72337E+00,-0.72347E+00,-0.72356E+00, & - &-0.72366E+00,-0.72375E+00,-0.72384E+00,-0.72392E+00,-0.72401E+00, & - &-0.72409E+00,-0.72417E+00,-0.72425E+00,-0.72433E+00,-0.72441E+00, & - &-0.72448E+00,-0.72455E+00,-0.72463E+00,-0.72470E+00,-0.72476E+00, & - &-0.72483E+00,-0.72489E+00,-0.72496E+00,-0.72502E+00,-0.72508E+00, & - &-0.72514E+00,-0.72519E+00,-0.72525E+00,-0.72530E+00,-0.72535E+00, & - &-0.72540E+00,-0.72545E+00,-0.72550E+00,-0.72555E+00,-0.72559E+00, & - &-0.72563E+00,-0.72568E+00,-0.72572E+00,-0.72576E+00,-0.72579E+00, & - &-0.72583E+00,-0.72586E+00,-0.72590E+00,-0.72593E+00,-0.72596E+00, & - &-0.72599E+00,-0.72602E+00,-0.72604E+00,-0.72607E+00,-0.72609E+00/ - - DATA (BNC07M(I),I=301,400)/ & - &-0.72611E+00,-0.72613E+00,-0.72615E+00,-0.72617E+00,-0.72619E+00, & - &-0.72621E+00,-0.72622E+00,-0.72623E+00,-0.72625E+00,-0.72626E+00, & - &-0.72627E+00,-0.72628E+00,-0.72628E+00,-0.72629E+00,-0.72629E+00, & - &-0.72630E+00,-0.72630E+00,-0.72630E+00,-0.72630E+00,-0.72630E+00, & - &-0.72630E+00,-0.72630E+00,-0.72629E+00,-0.72629E+00,-0.72628E+00, & - &-0.72627E+00,-0.72627E+00,-0.72626E+00,-0.72624E+00,-0.72623E+00, & - &-0.72622E+00,-0.72621E+00,-0.72619E+00,-0.72617E+00,-0.72616E+00, & - &-0.72614E+00,-0.72612E+00,-0.72610E+00,-0.72608E+00,-0.72606E+00, & - &-0.72603E+00,-0.72601E+00,-0.72598E+00,-0.72596E+00,-0.72593E+00, & - &-0.72590E+00,-0.72587E+00,-0.72584E+00,-0.72581E+00,-0.72578E+00, & - &-0.72575E+00,-0.72571E+00,-0.72568E+00,-0.72564E+00,-0.72561E+00, & - &-0.72557E+00,-0.72553E+00,-0.72549E+00,-0.72545E+00,-0.72541E+00, & - &-0.72537E+00,-0.72532E+00,-0.72528E+00,-0.72524E+00,-0.72519E+00, & - &-0.72514E+00,-0.72510E+00,-0.72505E+00,-0.72500E+00,-0.72495E+00, & - &-0.72490E+00,-0.72485E+00,-0.72480E+00,-0.72474E+00,-0.72469E+00, & - &-0.72463E+00,-0.72458E+00,-0.72452E+00,-0.72446E+00,-0.72441E+00, & - &-0.72435E+00,-0.72429E+00,-0.72423E+00,-0.72417E+00,-0.72411E+00, & - &-0.72404E+00,-0.72398E+00,-0.72392E+00,-0.72385E+00,-0.72379E+00, & - &-0.72372E+00,-0.72365E+00,-0.72358E+00,-0.72352E+00,-0.72345E+00, & - &-0.72338E+00,-0.72331E+00,-0.72323E+00,-0.72316E+00,-0.72309E+00/ - - DATA (BNC07M(I),I=401,500)/ & - &-0.72302E+00,-0.72294E+00,-0.72287E+00,-0.72279E+00,-0.72271E+00, & - &-0.72264E+00,-0.72256E+00,-0.72248E+00,-0.72240E+00,-0.72232E+00, & - &-0.72224E+00,-0.72216E+00,-0.72208E+00,-0.72200E+00,-0.72191E+00, & - &-0.72183E+00,-0.72175E+00,-0.72166E+00,-0.72158E+00,-0.72149E+00, & - &-0.72140E+00,-0.72131E+00,-0.72123E+00,-0.72114E+00,-0.72105E+00, & - &-0.72096E+00,-0.72087E+00,-0.72078E+00,-0.72069E+00,-0.72059E+00, & - &-0.72050E+00,-0.72041E+00,-0.72031E+00,-0.72022E+00,-0.72012E+00, & - &-0.72003E+00,-0.71993E+00,-0.71983E+00,-0.71973E+00,-0.71964E+00, & - &-0.71954E+00,-0.71944E+00,-0.71934E+00,-0.71924E+00,-0.71914E+00, & - &-0.71903E+00,-0.71893E+00,-0.71883E+00,-0.71873E+00,-0.71862E+00, & - &-0.71852E+00,-0.71841E+00,-0.71831E+00,-0.71820E+00,-0.71809E+00, & - &-0.71799E+00,-0.71788E+00,-0.71777E+00,-0.71766E+00,-0.71755E+00, & - &-0.71744E+00,-0.71733E+00,-0.71722E+00,-0.71711E+00,-0.71700E+00, & - &-0.71689E+00,-0.71677E+00,-0.71666E+00,-0.71655E+00,-0.71643E+00, & - &-0.71632E+00,-0.71620E+00,-0.71609E+00,-0.71597E+00,-0.71585E+00, & - &-0.71574E+00,-0.71562E+00,-0.71550E+00,-0.71538E+00,-0.71526E+00, & - &-0.71514E+00,-0.71502E+00,-0.71490E+00,-0.71478E+00,-0.71466E+00, & - &-0.71454E+00,-0.71442E+00,-0.71429E+00,-0.71417E+00,-0.71405E+00, & - &-0.71392E+00,-0.71380E+00,-0.71367E+00,-0.71355E+00,-0.71342E+00, & - &-0.71329E+00,-0.71317E+00,-0.71304E+00,-0.71291E+00,-0.71278E+00/ - - DATA (BNC07M(I),I=501,600)/ & - &-0.71266E+00,-0.71253E+00,-0.71240E+00,-0.71227E+00,-0.71214E+00, & - &-0.71201E+00,-0.71187E+00,-0.71174E+00,-0.71161E+00,-0.71148E+00, & - &-0.71135E+00,-0.71121E+00,-0.71108E+00,-0.71094E+00,-0.71081E+00, & - &-0.71068E+00,-0.71054E+00,-0.71040E+00,-0.71027E+00,-0.71013E+00, & - &-0.70999E+00,-0.70986E+00,-0.70972E+00,-0.70958E+00,-0.70944E+00, & - &-0.70930E+00,-0.70917E+00,-0.70903E+00,-0.70889E+00,-0.70875E+00, & - &-0.70860E+00,-0.70846E+00,-0.70832E+00,-0.70818E+00,-0.70804E+00, & - &-0.70790E+00,-0.70775E+00,-0.70761E+00,-0.70747E+00,-0.70732E+00, & - &-0.70718E+00,-0.70703E+00,-0.70689E+00,-0.70674E+00,-0.70660E+00, & - &-0.70645E+00,-0.70630E+00,-0.70616E+00,-0.70601E+00,-0.70586E+00, & - &-0.70571E+00,-0.70556E+00,-0.70542E+00,-0.70527E+00,-0.70512E+00, & - &-0.70497E+00,-0.70482E+00,-0.70467E+00,-0.70452E+00,-0.70436E+00, & - &-0.70421E+00,-0.70406E+00,-0.70391E+00,-0.70376E+00,-0.70360E+00, & - &-0.70345E+00,-0.70330E+00,-0.70314E+00,-0.70299E+00,-0.70284E+00, & - &-0.70268E+00,-0.70253E+00,-0.70237E+00,-0.70222E+00,-0.70206E+00, & - &-0.70190E+00,-0.70175E+00,-0.70159E+00,-0.70143E+00,-0.70127E+00, & - &-0.70112E+00,-0.70096E+00,-0.70080E+00,-0.70064E+00,-0.70048E+00, & - &-0.70032E+00,-0.70016E+00,-0.70000E+00,-0.69984E+00,-0.69968E+00, & - &-0.69952E+00,-0.69936E+00,-0.69920E+00,-0.69904E+00,-0.69887E+00, & - &-0.69871E+00,-0.69855E+00,-0.69839E+00,-0.69822E+00,-0.69806E+00/ - - DATA (BNC07M(I),I=601,700)/ & - &-0.69627E+00,-0.69459E+00,-0.69289E+00,-0.69115E+00,-0.68939E+00, & - &-0.68761E+00,-0.68581E+00,-0.68398E+00,-0.68213E+00,-0.68026E+00, & - &-0.67837E+00,-0.67646E+00,-0.67453E+00,-0.67259E+00,-0.67062E+00, & - &-0.66864E+00,-0.66664E+00,-0.66463E+00,-0.66260E+00,-0.66055E+00, & - &-0.65849E+00,-0.65641E+00,-0.65433E+00,-0.65222E+00,-0.65011E+00, & - &-0.64798E+00,-0.64584E+00,-0.64368E+00,-0.64152E+00,-0.63934E+00, & - &-0.63715E+00,-0.63495E+00,-0.63274E+00,-0.63052E+00,-0.62829E+00, & - &-0.62605E+00,-0.62380E+00,-0.62154E+00,-0.61927E+00,-0.61700E+00, & - &-0.61471E+00,-0.61242E+00,-0.61011E+00,-0.60780E+00,-0.60548E+00, & - &-0.60316E+00,-0.60082E+00,-0.59848E+00,-0.59613E+00,-0.59378E+00, & - &-0.59141E+00,-0.58904E+00,-0.58667E+00,-0.58428E+00,-0.58189E+00, & - &-0.57950E+00,-0.57710E+00,-0.57469E+00,-0.57228E+00,-0.56986E+00, & - &-0.56743E+00,-0.56500E+00,-0.56257E+00,-0.56013E+00,-0.55768E+00, & - &-0.55523E+00,-0.55278E+00,-0.55032E+00,-0.54785E+00,-0.54538E+00, & - &-0.54291E+00,-0.54043E+00,-0.53795E+00,-0.53546E+00,-0.53297E+00, & - &-0.53047E+00,-0.52797E+00,-0.52547E+00,-0.52296E+00,-0.52045E+00, & - &-0.51793E+00,-0.51541E+00,-0.51289E+00,-0.51037E+00,-0.50784E+00, & - &-0.50530E+00,-0.50277E+00,-0.50023E+00,-0.49769E+00,-0.49514E+00, & - &-0.49259E+00,-0.49004E+00,-0.48749E+00,-0.48493E+00,-0.48237E+00, & - &-0.47980E+00,-0.47724E+00,-0.47467E+00,-0.47210E+00,-0.46952E+00/ - - DATA (BNC07M(I),I=701,741)/ & - &-0.46694E+00,-0.46436E+00,-0.46178E+00,-0.45920E+00,-0.45661E+00, & - &-0.45402E+00,-0.45143E+00,-0.44884E+00,-0.44624E+00,-0.44364E+00, & - &-0.44104E+00,-0.43844E+00,-0.43583E+00,-0.43322E+00,-0.43062E+00, & - &-0.42800E+00,-0.42539E+00,-0.42278E+00,-0.42016E+00,-0.41754E+00, & - &-0.41492E+00,-0.41230E+00,-0.40967E+00,-0.40704E+00,-0.40442E+00, & - &-0.40179E+00,-0.39916E+00,-0.39652E+00,-0.39389E+00,-0.39125E+00, & - &-0.38861E+00,-0.38597E+00,-0.38333E+00,-0.38069E+00,-0.37805E+00, & - &-0.37540E+00,-0.37275E+00,-0.37010E+00,-0.36746E+00,-0.36480E+00, & - &-0.36215E+00 & - & / -! -! *** (H,HSO4) -! - DATA (BNC08M(I),I=1,100)/ & - &-0.42949E-01,-0.86374E-01,-0.10452E+00,-0.11550E+00,-0.12283E+00, & - &-0.12787E+00,-0.13133E+00,-0.13362E+00,-0.13499E+00,-0.13563E+00, & - &-0.13565E+00,-0.13515E+00,-0.13421E+00,-0.13286E+00,-0.13117E+00, & - &-0.12916E+00,-0.12686E+00,-0.12431E+00,-0.12150E+00,-0.11848E+00, & - &-0.11525E+00,-0.11182E+00,-0.10821E+00,-0.10442E+00,-0.10047E+00, & - &-0.96373E-01,-0.92125E-01,-0.87738E-01,-0.83218E-01,-0.78573E-01, & - &-0.73807E-01,-0.68926E-01,-0.63935E-01,-0.58840E-01,-0.53644E-01, & - &-0.48353E-01,-0.42970E-01,-0.37499E-01,-0.31944E-01,-0.26309E-01, & - &-0.20597E-01,-0.14812E-01,-0.89563E-02,-0.30333E-02, 0.29541E-02, & - & 0.90031E-02, 0.15111E-01, 0.21276E-01, 0.27495E-01, 0.33766E-01, & - & 0.40087E-01, 0.46455E-01, 0.52870E-01, 0.59330E-01, 0.65832E-01, & - & 0.72376E-01, 0.78960E-01, 0.85584E-01, 0.92245E-01, 0.98943E-01, & - & 0.10568E+00, 0.11245E+00, 0.11925E+00, 0.12610E+00, 0.13297E+00, & - & 0.13988E+00, 0.14682E+00, 0.15380E+00, 0.16082E+00, 0.16786E+00, & - & 0.17494E+00, 0.18206E+00, 0.18921E+00, 0.19640E+00, 0.20363E+00, & - & 0.21089E+00, 0.21819E+00, 0.22552E+00, 0.23290E+00, 0.24031E+00, & - & 0.24776E+00, 0.25525E+00, 0.26278E+00, 0.27035E+00, 0.27796E+00, & - & 0.28561E+00, 0.29330E+00, 0.30102E+00, 0.30879E+00, 0.31660E+00, & - & 0.32445E+00, 0.33233E+00, 0.34025E+00, 0.34821E+00, 0.35621E+00, & - & 0.36424E+00, 0.37231E+00, 0.38041E+00, 0.38854E+00, 0.39670E+00/ - - DATA (BNC08M(I),I=101,200)/ & - & 0.40490E+00, 0.41312E+00, 0.42137E+00, 0.42964E+00, 0.43795E+00, & - & 0.44627E+00, 0.45461E+00, 0.46298E+00, 0.47136E+00, 0.47976E+00, & - & 0.48818E+00, 0.49661E+00, 0.50506E+00, 0.51351E+00, 0.52198E+00, & - & 0.53045E+00, 0.53893E+00, 0.54742E+00, 0.55591E+00, 0.56440E+00, & - & 0.57290E+00, 0.58139E+00, 0.58989E+00, 0.59839E+00, 0.60688E+00, & - & 0.61537E+00, 0.62386E+00, 0.63234E+00, 0.64082E+00, 0.64929E+00, & - & 0.65776E+00, 0.66621E+00, 0.67466E+00, 0.68310E+00, 0.69153E+00, & - & 0.69995E+00, 0.70837E+00, 0.71677E+00, 0.72516E+00, 0.73353E+00, & - & 0.74190E+00, 0.75026E+00, 0.75860E+00, 0.76693E+00, 0.77525E+00, & - & 0.78355E+00, 0.79184E+00, 0.80012E+00, 0.80838E+00, 0.81663E+00, & - & 0.82487E+00, 0.83309E+00, 0.84130E+00, 0.84949E+00, 0.85767E+00, & - & 0.86583E+00, 0.87398E+00, 0.88212E+00, 0.89024E+00, 0.89834E+00, & - & 0.90643E+00, 0.91451E+00, 0.92256E+00, 0.93061E+00, 0.93864E+00, & - & 0.94665E+00, 0.95465E+00, 0.96263E+00, 0.97060E+00, 0.97855E+00, & - & 0.98648E+00, 0.99440E+00, 0.10023E+01, 0.10102E+01, 0.10181E+01, & - & 0.10259E+01, 0.10338E+01, 0.10416E+01, 0.10494E+01, 0.10572E+01, & - & 0.10650E+01, 0.10727E+01, 0.10805E+01, 0.10882E+01, 0.10959E+01, & - & 0.11036E+01, 0.11113E+01, 0.11190E+01, 0.11266E+01, 0.11343E+01, & - & 0.11419E+01, 0.11495E+01, 0.11571E+01, 0.11647E+01, 0.11722E+01, & - & 0.11798E+01, 0.11873E+01, 0.11948E+01, 0.12023E+01, 0.12098E+01/ - - DATA (BNC08M(I),I=201,300)/ & - & 0.12173E+01, 0.12247E+01, 0.12321E+01, 0.12396E+01, 0.12470E+01, & - & 0.12544E+01, 0.12617E+01, 0.12691E+01, 0.12764E+01, 0.12838E+01, & - & 0.12911E+01, 0.12984E+01, 0.13057E+01, 0.13129E+01, 0.13202E+01, & - & 0.13274E+01, 0.13346E+01, 0.13418E+01, 0.13490E+01, 0.13562E+01, & - & 0.13634E+01, 0.13705E+01, 0.13777E+01, 0.13848E+01, 0.13919E+01, & - & 0.13990E+01, 0.14060E+01, 0.14131E+01, 0.14202E+01, 0.14272E+01, & - & 0.14342E+01, 0.14412E+01, 0.14482E+01, 0.14552E+01, 0.14621E+01, & - & 0.14691E+01, 0.14760E+01, 0.14829E+01, 0.14898E+01, 0.14967E+01, & - & 0.15036E+01, 0.15104E+01, 0.15173E+01, 0.15241E+01, 0.15309E+01, & - & 0.15377E+01, 0.15445E+01, 0.15513E+01, 0.15581E+01, 0.15648E+01, & - & 0.15716E+01, 0.15783E+01, 0.15850E+01, 0.15917E+01, 0.15984E+01, & - & 0.16051E+01, 0.16117E+01, 0.16184E+01, 0.16250E+01, 0.16316E+01, & - & 0.16382E+01, 0.16448E+01, 0.16514E+01, 0.16579E+01, 0.16645E+01, & - & 0.16710E+01, 0.16776E+01, 0.16841E+01, 0.16906E+01, 0.16971E+01, & - & 0.17035E+01, 0.17100E+01, 0.17165E+01, 0.17229E+01, 0.17293E+01, & - & 0.17357E+01, 0.17421E+01, 0.17485E+01, 0.17549E+01, 0.17613E+01, & - & 0.17676E+01, 0.17740E+01, 0.17803E+01, 0.17866E+01, 0.17929E+01, & - & 0.17992E+01, 0.18055E+01, 0.18117E+01, 0.18180E+01, 0.18242E+01, & - & 0.18305E+01, 0.18367E+01, 0.18429E+01, 0.18491E+01, 0.18553E+01, & - & 0.18614E+01, 0.18676E+01, 0.18738E+01, 0.18799E+01, 0.18860E+01/ - - DATA (BNC08M(I),I=301,400)/ & - & 0.18921E+01, 0.18982E+01, 0.19043E+01, 0.19104E+01, 0.19165E+01, & - & 0.19225E+01, 0.19286E+01, 0.19346E+01, 0.19407E+01, 0.19467E+01, & - & 0.19527E+01, 0.19587E+01, 0.19646E+01, 0.19706E+01, 0.19766E+01, & - & 0.19825E+01, 0.19885E+01, 0.19944E+01, 0.20003E+01, 0.20062E+01, & - & 0.20121E+01, 0.20180E+01, 0.20239E+01, 0.20297E+01, 0.20356E+01, & - & 0.20414E+01, 0.20473E+01, 0.20531E+01, 0.20589E+01, 0.20647E+01, & - & 0.20705E+01, 0.20763E+01, 0.20820E+01, 0.20878E+01, 0.20935E+01, & - & 0.20993E+01, 0.21050E+01, 0.21107E+01, 0.21164E+01, 0.21221E+01, & - & 0.21278E+01, 0.21335E+01, 0.21392E+01, 0.21448E+01, 0.21505E+01, & - & 0.21561E+01, 0.21618E+01, 0.21674E+01, 0.21730E+01, 0.21786E+01, & - & 0.21842E+01, 0.21898E+01, 0.21953E+01, 0.22009E+01, 0.22065E+01, & - & 0.22120E+01, 0.22175E+01, 0.22231E+01, 0.22286E+01, 0.22341E+01, & - & 0.22396E+01, 0.22451E+01, 0.22506E+01, 0.22560E+01, 0.22615E+01, & - & 0.22669E+01, 0.22724E+01, 0.22778E+01, 0.22832E+01, 0.22887E+01, & - & 0.22941E+01, 0.22995E+01, 0.23048E+01, 0.23102E+01, 0.23156E+01, & - & 0.23210E+01, 0.23263E+01, 0.23317E+01, 0.23370E+01, 0.23423E+01, & - & 0.23476E+01, 0.23529E+01, 0.23582E+01, 0.23635E+01, 0.23688E+01, & - & 0.23741E+01, 0.23794E+01, 0.23846E+01, 0.23899E+01, 0.23951E+01, & - & 0.24003E+01, 0.24056E+01, 0.24108E+01, 0.24160E+01, 0.24212E+01, & - & 0.24264E+01, 0.24316E+01, 0.24367E+01, 0.24419E+01, 0.24471E+01/ - - DATA (BNC08M(I),I=401,500)/ & - & 0.24522E+01, 0.24574E+01, 0.24625E+01, 0.24676E+01, 0.24727E+01, & - & 0.24778E+01, 0.24829E+01, 0.24880E+01, 0.24931E+01, 0.24982E+01, & - & 0.25033E+01, 0.25083E+01, 0.25134E+01, 0.25184E+01, 0.25235E+01, & - & 0.25285E+01, 0.25335E+01, 0.25385E+01, 0.25436E+01, 0.25486E+01, & - & 0.25535E+01, 0.25585E+01, 0.25635E+01, 0.25685E+01, 0.25734E+01, & - & 0.25784E+01, 0.25833E+01, 0.25883E+01, 0.25932E+01, 0.25981E+01, & - & 0.26031E+01, 0.26080E+01, 0.26129E+01, 0.26178E+01, 0.26226E+01, & - & 0.26275E+01, 0.26324E+01, 0.26373E+01, 0.26421E+01, 0.26470E+01, & - & 0.26518E+01, 0.26567E+01, 0.26615E+01, 0.26663E+01, 0.26711E+01, & - & 0.26759E+01, 0.26807E+01, 0.26855E+01, 0.26903E+01, 0.26951E+01, & - & 0.26999E+01, 0.27046E+01, 0.27094E+01, 0.27141E+01, 0.27189E+01, & - & 0.27236E+01, 0.27284E+01, 0.27331E+01, 0.27378E+01, 0.27425E+01, & - & 0.27472E+01, 0.27519E+01, 0.27566E+01, 0.27613E+01, 0.27660E+01, & - & 0.27706E+01, 0.27753E+01, 0.27800E+01, 0.27846E+01, 0.27893E+01, & - & 0.27939E+01, 0.27985E+01, 0.28031E+01, 0.28078E+01, 0.28124E+01, & - & 0.28170E+01, 0.28216E+01, 0.28262E+01, 0.28308E+01, 0.28353E+01, & - & 0.28399E+01, 0.28445E+01, 0.28490E+01, 0.28536E+01, 0.28581E+01, & - & 0.28627E+01, 0.28672E+01, 0.28717E+01, 0.28763E+01, 0.28808E+01, & - & 0.28853E+01, 0.28898E+01, 0.28943E+01, 0.28988E+01, 0.29033E+01, & - & 0.29077E+01, 0.29122E+01, 0.29167E+01, 0.29211E+01, 0.29256E+01/ - - DATA (BNC08M(I),I=501,600)/ & - & 0.29300E+01, 0.29345E+01, 0.29389E+01, 0.29433E+01, 0.29478E+01, & - & 0.29522E+01, 0.29566E+01, 0.29610E+01, 0.29654E+01, 0.29698E+01, & - & 0.29742E+01, 0.29786E+01, 0.29830E+01, 0.29873E+01, 0.29917E+01, & - & 0.29960E+01, 0.30004E+01, 0.30047E+01, 0.30091E+01, 0.30134E+01, & - & 0.30178E+01, 0.30221E+01, 0.30264E+01, 0.30307E+01, 0.30350E+01, & - & 0.30393E+01, 0.30436E+01, 0.30479E+01, 0.30522E+01, 0.30565E+01, & - & 0.30608E+01, 0.30650E+01, 0.30693E+01, 0.30735E+01, 0.30778E+01, & - & 0.30820E+01, 0.30863E+01, 0.30905E+01, 0.30947E+01, 0.30990E+01, & - & 0.31032E+01, 0.31074E+01, 0.31116E+01, 0.31158E+01, 0.31200E+01, & - & 0.31242E+01, 0.31284E+01, 0.31326E+01, 0.31367E+01, 0.31409E+01, & - & 0.31451E+01, 0.31492E+01, 0.31534E+01, 0.31576E+01, 0.31617E+01, & - & 0.31658E+01, 0.31700E+01, 0.31741E+01, 0.31782E+01, 0.31823E+01, & - & 0.31865E+01, 0.31906E+01, 0.31947E+01, 0.31988E+01, 0.32029E+01, & - & 0.32069E+01, 0.32110E+01, 0.32151E+01, 0.32192E+01, 0.32232E+01, & - & 0.32273E+01, 0.32314E+01, 0.32354E+01, 0.32395E+01, 0.32435E+01, & - & 0.32476E+01, 0.32516E+01, 0.32556E+01, 0.32596E+01, 0.32637E+01, & - & 0.32677E+01, 0.32717E+01, 0.32757E+01, 0.32797E+01, 0.32837E+01, & - & 0.32877E+01, 0.32916E+01, 0.32956E+01, 0.32996E+01, 0.33036E+01, & - & 0.33075E+01, 0.33115E+01, 0.33154E+01, 0.33194E+01, 0.33233E+01, & - & 0.33273E+01, 0.33312E+01, 0.33352E+01, 0.33391E+01, 0.33430E+01/ - - DATA (BNC08M(I),I=601,700)/ & - & 0.33851E+01, 0.34236E+01, 0.34616E+01, 0.34992E+01, 0.35364E+01, & - & 0.35732E+01, 0.36095E+01, 0.36455E+01, 0.36811E+01, 0.37163E+01, & - & 0.37511E+01, 0.37856E+01, 0.38198E+01, 0.38535E+01, 0.38870E+01, & - & 0.39201E+01, 0.39529E+01, 0.39854E+01, 0.40175E+01, 0.40494E+01, & - & 0.40809E+01, 0.41122E+01, 0.41432E+01, 0.41738E+01, 0.42043E+01, & - & 0.42344E+01, 0.42643E+01, 0.42939E+01, 0.43232E+01, 0.43523E+01, & - & 0.43812E+01, 0.44098E+01, 0.44382E+01, 0.44663E+01, 0.44942E+01, & - & 0.45219E+01, 0.45494E+01, 0.45766E+01, 0.46036E+01, 0.46304E+01, & - & 0.46570E+01, 0.46834E+01, 0.47096E+01, 0.47356E+01, 0.47614E+01, & - & 0.47870E+01, 0.48124E+01, 0.48377E+01, 0.48627E+01, 0.48876E+01, & - & 0.49123E+01, 0.49368E+01, 0.49611E+01, 0.49853E+01, 0.50093E+01, & - & 0.50331E+01, 0.50568E+01, 0.50803E+01, 0.51036E+01, 0.51268E+01, & - & 0.51499E+01, 0.51728E+01, 0.51955E+01, 0.52181E+01, 0.52406E+01, & - & 0.52629E+01, 0.52850E+01, 0.53071E+01, 0.53290E+01, 0.53507E+01, & - & 0.53723E+01, 0.53938E+01, 0.54152E+01, 0.54364E+01, 0.54575E+01, & - & 0.54785E+01, 0.54993E+01, 0.55200E+01, 0.55406E+01, 0.55611E+01, & - & 0.55815E+01, 0.56018E+01, 0.56219E+01, 0.56419E+01, 0.56618E+01, & - & 0.56816E+01, 0.57013E+01, 0.57209E+01, 0.57404E+01, 0.57597E+01, & - & 0.57790E+01, 0.57982E+01, 0.58172E+01, 0.58362E+01, 0.58550E+01, & - & 0.58738E+01, 0.58925E+01, 0.59110E+01, 0.59295E+01, 0.59479E+01/ - - DATA (BNC08M(I),I=701,741)/ & - & 0.59661E+01, 0.59843E+01, 0.60024E+01, 0.60204E+01, 0.60384E+01, & - & 0.60562E+01, 0.60739E+01, 0.60916E+01, 0.61092E+01, 0.61266E+01, & - & 0.61440E+01, 0.61614E+01, 0.61786E+01, 0.61957E+01, 0.62128E+01, & - & 0.62298E+01, 0.62467E+01, 0.62636E+01, 0.62803E+01, 0.62970E+01, & - & 0.63136E+01, 0.63301E+01, 0.63466E+01, 0.63630E+01, 0.63793E+01, & - & 0.63955E+01, 0.64117E+01, 0.64278E+01, 0.64438E+01, 0.64598E+01, & - & 0.64757E+01, 0.64915E+01, 0.65073E+01, 0.65229E+01, 0.65386E+01, & - & 0.65541E+01, 0.65696E+01, 0.65850E+01, 0.66004E+01, 0.66157E+01, & - & 0.66309E+01 & - & / -! -! *** NH4HSO4 -! - DATA (BNC09M(I),I=1,100)/ & - &-0.44571E-01,-0.94628E-01,-0.11852E+00,-0.13486E+00,-0.14728E+00, & - &-0.15726E+00,-0.16555E+00,-0.17260E+00,-0.17867E+00,-0.18397E+00, & - &-0.18863E+00,-0.19275E+00,-0.19642E+00,-0.19969E+00,-0.20262E+00, & - &-0.20523E+00,-0.20757E+00,-0.20965E+00,-0.21150E+00,-0.21315E+00, & - &-0.21460E+00,-0.21587E+00,-0.21698E+00,-0.21793E+00,-0.21873E+00, & - &-0.21940E+00,-0.21993E+00,-0.22034E+00,-0.22063E+00,-0.22082E+00, & - &-0.22089E+00,-0.22087E+00,-0.22075E+00,-0.22053E+00,-0.22023E+00, & - &-0.21984E+00,-0.21937E+00,-0.21882E+00,-0.21820E+00,-0.21750E+00, & - &-0.21673E+00,-0.21590E+00,-0.21500E+00,-0.21404E+00,-0.21302E+00, & - &-0.21194E+00,-0.21081E+00,-0.20962E+00,-0.20838E+00,-0.20709E+00, & - &-0.20575E+00,-0.20436E+00,-0.20293E+00,-0.20146E+00,-0.19994E+00, & - &-0.19838E+00,-0.19679E+00,-0.19515E+00,-0.19348E+00,-0.19177E+00, & - &-0.19003E+00,-0.18826E+00,-0.18645E+00,-0.18461E+00,-0.18274E+00, & - &-0.18084E+00,-0.17890E+00,-0.17694E+00,-0.17496E+00,-0.17294E+00, & - &-0.17090E+00,-0.16882E+00,-0.16673E+00,-0.16460E+00,-0.16246E+00, & - &-0.16028E+00,-0.15808E+00,-0.15586E+00,-0.15361E+00,-0.15134E+00, & - &-0.14905E+00,-0.14673E+00,-0.14439E+00,-0.14202E+00,-0.13963E+00, & - &-0.13722E+00,-0.13479E+00,-0.13234E+00,-0.12987E+00,-0.12737E+00, & - &-0.12485E+00,-0.12232E+00,-0.11976E+00,-0.11719E+00,-0.11460E+00, & - &-0.11199E+00,-0.10936E+00,-0.10671E+00,-0.10405E+00,-0.10137E+00/ - - DATA (BNC09M(I),I=101,200)/ & - &-0.98681E-01,-0.95974E-01,-0.93253E-01,-0.90519E-01,-0.87773E-01, & - &-0.85014E-01,-0.82245E-01,-0.79465E-01,-0.76675E-01,-0.73876E-01, & - &-0.71069E-01,-0.68253E-01,-0.65431E-01,-0.62602E-01,-0.59767E-01, & - &-0.56926E-01,-0.54081E-01,-0.51232E-01,-0.48379E-01,-0.45522E-01, & - &-0.42663E-01,-0.39802E-01,-0.36939E-01,-0.34075E-01,-0.31210E-01, & - &-0.28345E-01,-0.25479E-01,-0.22614E-01,-0.19749E-01,-0.16885E-01, & - &-0.14023E-01,-0.11162E-01,-0.83023E-02,-0.54449E-02,-0.25898E-02, & - & 0.26281E-03, 0.31128E-02, 0.59598E-02, 0.88039E-02, 0.11645E-01, & - & 0.14482E-01, 0.17316E-01, 0.20147E-01, 0.22973E-01, 0.25796E-01, & - & 0.28615E-01, 0.31429E-01, 0.34240E-01, 0.37046E-01, 0.39848E-01, & - & 0.42645E-01, 0.45438E-01, 0.48226E-01, 0.51010E-01, 0.53789E-01, & - & 0.56563E-01, 0.59333E-01, 0.62097E-01, 0.64857E-01, 0.67612E-01, & - & 0.70362E-01, 0.73107E-01, 0.75847E-01, 0.78581E-01, 0.81311E-01, & - & 0.84036E-01, 0.86755E-01, 0.89470E-01, 0.92179E-01, 0.94883E-01, & - & 0.97582E-01, 0.10028E+00, 0.10296E+00, 0.10565E+00, 0.10832E+00, & - & 0.11100E+00, 0.11367E+00, 0.11633E+00, 0.11898E+00, 0.12164E+00, & - & 0.12428E+00, 0.12692E+00, 0.12956E+00, 0.13219E+00, 0.13482E+00, & - & 0.13744E+00, 0.14005E+00, 0.14266E+00, 0.14526E+00, 0.14786E+00, & - & 0.15046E+00, 0.15304E+00, 0.15563E+00, 0.15821E+00, 0.16078E+00, & - & 0.16335E+00, 0.16591E+00, 0.16847E+00, 0.17102E+00, 0.17356E+00/ - - DATA (BNC09M(I),I=201,300)/ & - & 0.17611E+00, 0.17864E+00, 0.18117E+00, 0.18370E+00, 0.18622E+00, & - & 0.18874E+00, 0.19125E+00, 0.19375E+00, 0.19626E+00, 0.19875E+00, & - & 0.20124E+00, 0.20373E+00, 0.20621E+00, 0.20868E+00, 0.21115E+00, & - & 0.21362E+00, 0.21608E+00, 0.21854E+00, 0.22099E+00, 0.22343E+00, & - & 0.22588E+00, 0.22831E+00, 0.23074E+00, 0.23317E+00, 0.23559E+00, & - & 0.23801E+00, 0.24042E+00, 0.24283E+00, 0.24523E+00, 0.24763E+00, & - & 0.25002E+00, 0.25241E+00, 0.25479E+00, 0.25717E+00, 0.25955E+00, & - & 0.26192E+00, 0.26428E+00, 0.26664E+00, 0.26900E+00, 0.27135E+00, & - & 0.27370E+00, 0.27604E+00, 0.27838E+00, 0.28071E+00, 0.28304E+00, & - & 0.28536E+00, 0.28768E+00, 0.29000E+00, 0.29231E+00, 0.29462E+00, & - & 0.29692E+00, 0.29922E+00, 0.30151E+00, 0.30380E+00, 0.30609E+00, & - & 0.30837E+00, 0.31064E+00, 0.31291E+00, 0.31518E+00, 0.31745E+00, & - & 0.31971E+00, 0.32196E+00, 0.32421E+00, 0.32646E+00, 0.32870E+00, & - & 0.33094E+00, 0.33317E+00, 0.33540E+00, 0.33763E+00, 0.33985E+00, & - & 0.34207E+00, 0.34428E+00, 0.34649E+00, 0.34870E+00, 0.35090E+00, & - & 0.35310E+00, 0.35529E+00, 0.35748E+00, 0.35967E+00, 0.36185E+00, & - & 0.36403E+00, 0.36620E+00, 0.36837E+00, 0.37054E+00, 0.37270E+00, & - & 0.37486E+00, 0.37702E+00, 0.37917E+00, 0.38131E+00, 0.38346E+00, & - & 0.38560E+00, 0.38773E+00, 0.38987E+00, 0.39199E+00, 0.39412E+00, & - & 0.39624E+00, 0.39836E+00, 0.40047E+00, 0.40258E+00, 0.40469E+00/ - - DATA (BNC09M(I),I=301,400)/ & - & 0.40679E+00, 0.40889E+00, 0.41099E+00, 0.41308E+00, 0.41517E+00, & - & 0.41725E+00, 0.41933E+00, 0.42141E+00, 0.42349E+00, 0.42556E+00, & - & 0.42763E+00, 0.42969E+00, 0.43175E+00, 0.43381E+00, 0.43586E+00, & - & 0.43791E+00, 0.43996E+00, 0.44200E+00, 0.44404E+00, 0.44608E+00, & - & 0.44811E+00, 0.45014E+00, 0.45217E+00, 0.45419E+00, 0.45621E+00, & - & 0.45823E+00, 0.46024E+00, 0.46225E+00, 0.46426E+00, 0.46626E+00, & - & 0.46826E+00, 0.47026E+00, 0.47225E+00, 0.47424E+00, 0.47623E+00, & - & 0.47821E+00, 0.48020E+00, 0.48217E+00, 0.48415E+00, 0.48612E+00, & - & 0.48809E+00, 0.49005E+00, 0.49202E+00, 0.49397E+00, 0.49593E+00, & - & 0.49788E+00, 0.49983E+00, 0.50178E+00, 0.50372E+00, 0.50566E+00, & - & 0.50760E+00, 0.50954E+00, 0.51147E+00, 0.51340E+00, 0.51532E+00, & - & 0.51725E+00, 0.51917E+00, 0.52108E+00, 0.52300E+00, 0.52491E+00, & - & 0.52682E+00, 0.52872E+00, 0.53062E+00, 0.53252E+00, 0.53442E+00, & - & 0.53631E+00, 0.53820E+00, 0.54009E+00, 0.54198E+00, 0.54386E+00, & - & 0.54574E+00, 0.54761E+00, 0.54949E+00, 0.55136E+00, 0.55323E+00, & - & 0.55509E+00, 0.55696E+00, 0.55882E+00, 0.56067E+00, 0.56253E+00, & - & 0.56438E+00, 0.56623E+00, 0.56807E+00, 0.56992E+00, 0.57176E+00, & - & 0.57360E+00, 0.57543E+00, 0.57726E+00, 0.57909E+00, 0.58092E+00, & - & 0.58275E+00, 0.58457E+00, 0.58639E+00, 0.58821E+00, 0.59002E+00, & - & 0.59183E+00, 0.59364E+00, 0.59545E+00, 0.59725E+00, 0.59905E+00/ - - DATA (BNC09M(I),I=401,500)/ & - & 0.60085E+00, 0.60265E+00, 0.60444E+00, 0.60623E+00, 0.60802E+00, & - & 0.60981E+00, 0.61159E+00, 0.61337E+00, 0.61515E+00, 0.61693E+00, & - & 0.61870E+00, 0.62047E+00, 0.62224E+00, 0.62401E+00, 0.62577E+00, & - & 0.62753E+00, 0.62929E+00, 0.63105E+00, 0.63280E+00, 0.63455E+00, & - & 0.63630E+00, 0.63805E+00, 0.63980E+00, 0.64154E+00, 0.64328E+00, & - & 0.64501E+00, 0.64675E+00, 0.64848E+00, 0.65021E+00, 0.65194E+00, & - & 0.65367E+00, 0.65539E+00, 0.65711E+00, 0.65883E+00, 0.66055E+00, & - & 0.66226E+00, 0.66397E+00, 0.66568E+00, 0.66739E+00, 0.66909E+00, & - & 0.67080E+00, 0.67250E+00, 0.67419E+00, 0.67589E+00, 0.67758E+00, & - & 0.67928E+00, 0.68096E+00, 0.68265E+00, 0.68434E+00, 0.68602E+00, & - & 0.68770E+00, 0.68938E+00, 0.69105E+00, 0.69273E+00, 0.69440E+00, & - & 0.69607E+00, 0.69774E+00, 0.69940E+00, 0.70106E+00, 0.70273E+00, & - & 0.70438E+00, 0.70604E+00, 0.70770E+00, 0.70935E+00, 0.71100E+00, & - & 0.71265E+00, 0.71429E+00, 0.71594E+00, 0.71758E+00, 0.71922E+00, & - & 0.72086E+00, 0.72249E+00, 0.72413E+00, 0.72576E+00, 0.72739E+00, & - & 0.72901E+00, 0.73064E+00, 0.73226E+00, 0.73388E+00, 0.73550E+00, & - & 0.73712E+00, 0.73874E+00, 0.74035E+00, 0.74196E+00, 0.74357E+00, & - & 0.74518E+00, 0.74678E+00, 0.74839E+00, 0.74999E+00, 0.75159E+00, & - & 0.75318E+00, 0.75478E+00, 0.75637E+00, 0.75796E+00, 0.75955E+00, & - & 0.76114E+00, 0.76273E+00, 0.76431E+00, 0.76589E+00, 0.76747E+00/ - - DATA (BNC09M(I),I=501,600)/ & - & 0.76905E+00, 0.77063E+00, 0.77220E+00, 0.77377E+00, 0.77534E+00, & - & 0.77691E+00, 0.77848E+00, 0.78004E+00, 0.78161E+00, 0.78317E+00, & - & 0.78473E+00, 0.78629E+00, 0.78784E+00, 0.78939E+00, 0.79095E+00, & - & 0.79250E+00, 0.79404E+00, 0.79559E+00, 0.79714E+00, 0.79868E+00, & - & 0.80022E+00, 0.80176E+00, 0.80330E+00, 0.80483E+00, 0.80636E+00, & - & 0.80790E+00, 0.80943E+00, 0.81096E+00, 0.81248E+00, 0.81401E+00, & - & 0.81553E+00, 0.81705E+00, 0.81857E+00, 0.82009E+00, 0.82160E+00, & - & 0.82312E+00, 0.82463E+00, 0.82614E+00, 0.82765E+00, 0.82916E+00, & - & 0.83066E+00, 0.83217E+00, 0.83367E+00, 0.83517E+00, 0.83667E+00, & - & 0.83817E+00, 0.83966E+00, 0.84116E+00, 0.84265E+00, 0.84414E+00, & - & 0.84563E+00, 0.84711E+00, 0.84860E+00, 0.85008E+00, 0.85157E+00, & - & 0.85305E+00, 0.85452E+00, 0.85600E+00, 0.85748E+00, 0.85895E+00, & - & 0.86042E+00, 0.86189E+00, 0.86336E+00, 0.86483E+00, 0.86629E+00, & - & 0.86776E+00, 0.86922E+00, 0.87068E+00, 0.87214E+00, 0.87360E+00, & - & 0.87506E+00, 0.87651E+00, 0.87796E+00, 0.87941E+00, 0.88086E+00, & - & 0.88231E+00, 0.88376E+00, 0.88520E+00, 0.88665E+00, 0.88809E+00, & - & 0.88953E+00, 0.89097E+00, 0.89240E+00, 0.89384E+00, 0.89527E+00, & - & 0.89671E+00, 0.89814E+00, 0.89957E+00, 0.90099E+00, 0.90242E+00, & - & 0.90385E+00, 0.90527E+00, 0.90669E+00, 0.90811E+00, 0.90953E+00, & - & 0.91095E+00, 0.91236E+00, 0.91378E+00, 0.91519E+00, 0.91660E+00/ - - DATA (BNC09M(I),I=601,700)/ & - & 0.93176E+00, 0.94563E+00, 0.95937E+00, 0.97297E+00, 0.98643E+00, & - & 0.99976E+00, 0.10130E+01, 0.10260E+01, 0.10390E+01, 0.10518E+01, & - & 0.10645E+01, 0.10771E+01, 0.10896E+01, 0.11020E+01, 0.11142E+01, & - & 0.11264E+01, 0.11384E+01, 0.11504E+01, 0.11622E+01, 0.11740E+01, & - & 0.11856E+01, 0.11972E+01, 0.12086E+01, 0.12200E+01, 0.12313E+01, & - & 0.12425E+01, 0.12536E+01, 0.12646E+01, 0.12755E+01, 0.12864E+01, & - & 0.12971E+01, 0.13078E+01, 0.13184E+01, 0.13290E+01, 0.13394E+01, & - & 0.13498E+01, 0.13601E+01, 0.13704E+01, 0.13805E+01, 0.13906E+01, & - & 0.14006E+01, 0.14106E+01, 0.14205E+01, 0.14303E+01, 0.14401E+01, & - & 0.14498E+01, 0.14594E+01, 0.14690E+01, 0.14785E+01, 0.14880E+01, & - & 0.14974E+01, 0.15067E+01, 0.15160E+01, 0.15252E+01, 0.15344E+01, & - & 0.15435E+01, 0.15526E+01, 0.15616E+01, 0.15706E+01, 0.15795E+01, & - & 0.15883E+01, 0.15971E+01, 0.16059E+01, 0.16146E+01, 0.16233E+01, & - & 0.16319E+01, 0.16404E+01, 0.16489E+01, 0.16574E+01, 0.16658E+01, & - & 0.16742E+01, 0.16825E+01, 0.16908E+01, 0.16991E+01, 0.17073E+01, & - & 0.17155E+01, 0.17236E+01, 0.17317E+01, 0.17397E+01, 0.17477E+01, & - & 0.17557E+01, 0.17636E+01, 0.17715E+01, 0.17793E+01, 0.17871E+01, & - & 0.17949E+01, 0.18026E+01, 0.18103E+01, 0.18180E+01, 0.18256E+01, & - & 0.18332E+01, 0.18408E+01, 0.18483E+01, 0.18558E+01, 0.18632E+01, & - & 0.18707E+01, 0.18780E+01, 0.18854E+01, 0.18927E+01, 0.19000E+01/ - - DATA (BNC09M(I),I=701,741)/ & - & 0.19073E+01, 0.19145E+01, 0.19217E+01, 0.19289E+01, 0.19360E+01, & - & 0.19431E+01, 0.19502E+01, 0.19572E+01, 0.19643E+01, 0.19713E+01, & - & 0.19782E+01, 0.19852E+01, 0.19921E+01, 0.19989E+01, 0.20058E+01, & - & 0.20126E+01, 0.20194E+01, 0.20262E+01, 0.20329E+01, 0.20397E+01, & - & 0.20464E+01, 0.20530E+01, 0.20597E+01, 0.20663E+01, 0.20729E+01, & - & 0.20794E+01, 0.20860E+01, 0.20925E+01, 0.20990E+01, 0.21055E+01, & - & 0.21119E+01, 0.21184E+01, 0.21248E+01, 0.21311E+01, 0.21375E+01, & - & 0.21438E+01, 0.21502E+01, 0.21564E+01, 0.21627E+01, 0.21690E+01, & - & 0.21752E+01 & - & / -! -! *** (H,NO3) -! - DATA (BNC10M(I),I=1,100)/ & - &-0.44117E-01,-0.91788E-01,-0.11327E+00,-0.12721E+00,-0.13727E+00, & - &-0.14491E+00,-0.15090E+00,-0.15568E+00,-0.15952E+00,-0.16263E+00, & - &-0.16514E+00,-0.16716E+00,-0.16876E+00,-0.17001E+00,-0.17095E+00, & - &-0.17163E+00,-0.17207E+00,-0.17231E+00,-0.17237E+00,-0.17227E+00, & - &-0.17202E+00,-0.17164E+00,-0.17114E+00,-0.17054E+00,-0.16983E+00, & - &-0.16904E+00,-0.16817E+00,-0.16723E+00,-0.16622E+00,-0.16515E+00, & - &-0.16402E+00,-0.16284E+00,-0.16161E+00,-0.16034E+00,-0.15903E+00, & - &-0.15768E+00,-0.15630E+00,-0.15489E+00,-0.15346E+00,-0.15199E+00, & - &-0.15051E+00,-0.14900E+00,-0.14747E+00,-0.14592E+00,-0.14436E+00, & - &-0.14278E+00,-0.14119E+00,-0.13959E+00,-0.13797E+00,-0.13635E+00, & - &-0.13471E+00,-0.13306E+00,-0.13141E+00,-0.12974E+00,-0.12807E+00, & - &-0.12639E+00,-0.12471E+00,-0.12301E+00,-0.12131E+00,-0.11961E+00, & - &-0.11789E+00,-0.11617E+00,-0.11445E+00,-0.11271E+00,-0.11097E+00, & - &-0.10922E+00,-0.10746E+00,-0.10570E+00,-0.10392E+00,-0.10214E+00, & - &-0.10035E+00,-0.98551E-01,-0.96741E-01,-0.94920E-01,-0.93090E-01, & - &-0.91248E-01,-0.89396E-01,-0.87532E-01,-0.85656E-01,-0.83769E-01, & - &-0.81869E-01,-0.79957E-01,-0.78032E-01,-0.76093E-01,-0.74142E-01, & - &-0.72178E-01,-0.70201E-01,-0.68210E-01,-0.66206E-01,-0.64188E-01, & - &-0.62157E-01,-0.60114E-01,-0.58057E-01,-0.55987E-01,-0.53905E-01, & - &-0.51810E-01,-0.49703E-01,-0.47584E-01,-0.45454E-01,-0.43312E-01/ - - DATA (BNC10M(I),I=101,200)/ & - &-0.41159E-01,-0.38996E-01,-0.36823E-01,-0.34640E-01,-0.32448E-01, & - &-0.30246E-01,-0.28037E-01,-0.25819E-01,-0.23593E-01,-0.21360E-01, & - &-0.19121E-01,-0.16875E-01,-0.14623E-01,-0.12366E-01,-0.10103E-01, & - &-0.78360E-02,-0.55644E-02,-0.32889E-02,-0.10096E-02, 0.12729E-02, & - & 0.35583E-02, 0.58464E-02, 0.81368E-02, 0.10429E-01, 0.12723E-01, & - & 0.15019E-01, 0.17316E-01, 0.19614E-01, 0.21913E-01, 0.24212E-01, & - & 0.26512E-01, 0.28812E-01, 0.31112E-01, 0.33412E-01, 0.35712E-01, & - & 0.38011E-01, 0.40310E-01, 0.42608E-01, 0.44905E-01, 0.47202E-01, & - & 0.49497E-01, 0.51792E-01, 0.54085E-01, 0.56377E-01, 0.58668E-01, & - & 0.60958E-01, 0.63246E-01, 0.65533E-01, 0.67818E-01, 0.70101E-01, & - & 0.72383E-01, 0.74663E-01, 0.76942E-01, 0.79218E-01, 0.81493E-01, & - & 0.83766E-01, 0.86037E-01, 0.88307E-01, 0.90574E-01, 0.92839E-01, & - & 0.95102E-01, 0.97364E-01, 0.99623E-01, 0.10188E+00, 0.10413E+00, & - & 0.10639E+00, 0.10864E+00, 0.11089E+00, 0.11313E+00, 0.11538E+00, & - & 0.11762E+00, 0.11986E+00, 0.12210E+00, 0.12433E+00, 0.12656E+00, & - & 0.12879E+00, 0.13102E+00, 0.13325E+00, 0.13547E+00, 0.13769E+00, & - & 0.13991E+00, 0.14213E+00, 0.14434E+00, 0.14655E+00, 0.14876E+00, & - & 0.15096E+00, 0.15317E+00, 0.15537E+00, 0.15757E+00, 0.15976E+00, & - & 0.16196E+00, 0.16415E+00, 0.16634E+00, 0.16852E+00, 0.17071E+00, & - & 0.17289E+00, 0.17506E+00, 0.17724E+00, 0.17941E+00, 0.18158E+00/ - - DATA (BNC10M(I),I=201,300)/ & - & 0.18375E+00, 0.18591E+00, 0.18808E+00, 0.19024E+00, 0.19239E+00, & - & 0.19455E+00, 0.19670E+00, 0.19885E+00, 0.20099E+00, 0.20314E+00, & - & 0.20528E+00, 0.20742E+00, 0.20955E+00, 0.21168E+00, 0.21381E+00, & - & 0.21594E+00, 0.21807E+00, 0.22019E+00, 0.22231E+00, 0.22442E+00, & - & 0.22654E+00, 0.22865E+00, 0.23076E+00, 0.23286E+00, 0.23497E+00, & - & 0.23707E+00, 0.23916E+00, 0.24126E+00, 0.24335E+00, 0.24544E+00, & - & 0.24753E+00, 0.24961E+00, 0.25169E+00, 0.25377E+00, 0.25584E+00, & - & 0.25792E+00, 0.25999E+00, 0.26205E+00, 0.26412E+00, 0.26618E+00, & - & 0.26824E+00, 0.27029E+00, 0.27235E+00, 0.27440E+00, 0.27645E+00, & - & 0.27849E+00, 0.28054E+00, 0.28257E+00, 0.28461E+00, 0.28665E+00, & - & 0.28868E+00, 0.29071E+00, 0.29273E+00, 0.29476E+00, 0.29678E+00, & - & 0.29880E+00, 0.30081E+00, 0.30282E+00, 0.30483E+00, 0.30684E+00, & - & 0.30884E+00, 0.31085E+00, 0.31285E+00, 0.31484E+00, 0.31684E+00, & - & 0.31883E+00, 0.32081E+00, 0.32280E+00, 0.32478E+00, 0.32676E+00, & - & 0.32874E+00, 0.33072E+00, 0.33269E+00, 0.33466E+00, 0.33662E+00, & - & 0.33859E+00, 0.34055E+00, 0.34251E+00, 0.34446E+00, 0.34642E+00, & - & 0.34837E+00, 0.35032E+00, 0.35226E+00, 0.35420E+00, 0.35615E+00, & - & 0.35808E+00, 0.36002E+00, 0.36195E+00, 0.36388E+00, 0.36581E+00, & - & 0.36773E+00, 0.36965E+00, 0.37157E+00, 0.37349E+00, 0.37540E+00, & - & 0.37731E+00, 0.37922E+00, 0.38113E+00, 0.38303E+00, 0.38494E+00/ - - DATA (BNC10M(I),I=301,400)/ & - & 0.38683E+00, 0.38873E+00, 0.39062E+00, 0.39251E+00, 0.39440E+00, & - & 0.39629E+00, 0.39817E+00, 0.40005E+00, 0.40193E+00, 0.40381E+00, & - & 0.40568E+00, 0.40755E+00, 0.40942E+00, 0.41128E+00, 0.41315E+00, & - & 0.41501E+00, 0.41687E+00, 0.41872E+00, 0.42057E+00, 0.42242E+00, & - & 0.42427E+00, 0.42612E+00, 0.42796E+00, 0.42980E+00, 0.43164E+00, & - & 0.43348E+00, 0.43531E+00, 0.43714E+00, 0.43897E+00, 0.44079E+00, & - & 0.44262E+00, 0.44444E+00, 0.44626E+00, 0.44807E+00, 0.44989E+00, & - & 0.45170E+00, 0.45351E+00, 0.45532E+00, 0.45712E+00, 0.45892E+00, & - & 0.46072E+00, 0.46252E+00, 0.46431E+00, 0.46611E+00, 0.46790E+00, & - & 0.46968E+00, 0.47147E+00, 0.47325E+00, 0.47503E+00, 0.47681E+00, & - & 0.47859E+00, 0.48036E+00, 0.48213E+00, 0.48390E+00, 0.48567E+00, & - & 0.48743E+00, 0.48919E+00, 0.49095E+00, 0.49271E+00, 0.49446E+00, & - & 0.49622E+00, 0.49797E+00, 0.49972E+00, 0.50146E+00, 0.50321E+00, & - & 0.50495E+00, 0.50669E+00, 0.50842E+00, 0.51016E+00, 0.51189E+00, & - & 0.51362E+00, 0.51535E+00, 0.51707E+00, 0.51880E+00, 0.52052E+00, & - & 0.52224E+00, 0.52395E+00, 0.52567E+00, 0.52738E+00, 0.52909E+00, & - & 0.53080E+00, 0.53251E+00, 0.53421E+00, 0.53591E+00, 0.53761E+00, & - & 0.53931E+00, 0.54100E+00, 0.54269E+00, 0.54439E+00, 0.54607E+00, & - & 0.54776E+00, 0.54944E+00, 0.55113E+00, 0.55281E+00, 0.55448E+00, & - & 0.55616E+00, 0.55783E+00, 0.55951E+00, 0.56118E+00, 0.56284E+00/ - - DATA (BNC10M(I),I=401,500)/ & - & 0.56451E+00, 0.56617E+00, 0.56783E+00, 0.56949E+00, 0.57115E+00, & - & 0.57280E+00, 0.57446E+00, 0.57611E+00, 0.57775E+00, 0.57940E+00, & - & 0.58105E+00, 0.58269E+00, 0.58433E+00, 0.58597E+00, 0.58760E+00, & - & 0.58924E+00, 0.59087E+00, 0.59250E+00, 0.59413E+00, 0.59576E+00, & - & 0.59738E+00, 0.59900E+00, 0.60062E+00, 0.60224E+00, 0.60386E+00, & - & 0.60547E+00, 0.60708E+00, 0.60869E+00, 0.61030E+00, 0.61191E+00, & - & 0.61351E+00, 0.61512E+00, 0.61672E+00, 0.61832E+00, 0.61991E+00, & - & 0.62151E+00, 0.62310E+00, 0.62469E+00, 0.62628E+00, 0.62787E+00, & - & 0.62945E+00, 0.63104E+00, 0.63262E+00, 0.63420E+00, 0.63577E+00, & - & 0.63735E+00, 0.63892E+00, 0.64050E+00, 0.64207E+00, 0.64363E+00, & - & 0.64520E+00, 0.64676E+00, 0.64833E+00, 0.64989E+00, 0.65145E+00, & - & 0.65300E+00, 0.65456E+00, 0.65611E+00, 0.65766E+00, 0.65921E+00, & - & 0.66076E+00, 0.66231E+00, 0.66385E+00, 0.66539E+00, 0.66693E+00, & - & 0.66847E+00, 0.67001E+00, 0.67154E+00, 0.67308E+00, 0.67461E+00, & - & 0.67614E+00, 0.67767E+00, 0.67919E+00, 0.68072E+00, 0.68224E+00, & - & 0.68376E+00, 0.68528E+00, 0.68680E+00, 0.68831E+00, 0.68983E+00, & - & 0.69134E+00, 0.69285E+00, 0.69436E+00, 0.69587E+00, 0.69737E+00, & - & 0.69887E+00, 0.70038E+00, 0.70188E+00, 0.70337E+00, 0.70487E+00, & - & 0.70636E+00, 0.70786E+00, 0.70935E+00, 0.71084E+00, 0.71233E+00, & - & 0.71381E+00, 0.71530E+00, 0.71678E+00, 0.71826E+00, 0.71974E+00/ - - DATA (BNC10M(I),I=501,600)/ & - & 0.72122E+00, 0.72270E+00, 0.72417E+00, 0.72564E+00, 0.72712E+00, & - & 0.72859E+00, 0.73005E+00, 0.73152E+00, 0.73298E+00, 0.73445E+00, & - & 0.73591E+00, 0.73737E+00, 0.73883E+00, 0.74028E+00, 0.74174E+00, & - & 0.74319E+00, 0.74464E+00, 0.74609E+00, 0.74754E+00, 0.74899E+00, & - & 0.75043E+00, 0.75188E+00, 0.75332E+00, 0.75476E+00, 0.75620E+00, & - & 0.75764E+00, 0.75907E+00, 0.76051E+00, 0.76194E+00, 0.76337E+00, & - & 0.76480E+00, 0.76623E+00, 0.76766E+00, 0.76908E+00, 0.77050E+00, & - & 0.77193E+00, 0.77335E+00, 0.77476E+00, 0.77618E+00, 0.77760E+00, & - & 0.77901E+00, 0.78042E+00, 0.78183E+00, 0.78324E+00, 0.78465E+00, & - & 0.78606E+00, 0.78746E+00, 0.78887E+00, 0.79027E+00, 0.79167E+00, & - & 0.79307E+00, 0.79447E+00, 0.79586E+00, 0.79726E+00, 0.79865E+00, & - & 0.80004E+00, 0.80143E+00, 0.80282E+00, 0.80421E+00, 0.80559E+00, & - & 0.80698E+00, 0.80836E+00, 0.80974E+00, 0.81112E+00, 0.81250E+00, & - & 0.81388E+00, 0.81525E+00, 0.81663E+00, 0.81800E+00, 0.81937E+00, & - & 0.82074E+00, 0.82211E+00, 0.82348E+00, 0.82484E+00, 0.82621E+00, & - & 0.82757E+00, 0.82893E+00, 0.83029E+00, 0.83165E+00, 0.83301E+00, & - & 0.83436E+00, 0.83572E+00, 0.83707E+00, 0.83842E+00, 0.83977E+00, & - & 0.84112E+00, 0.84247E+00, 0.84381E+00, 0.84516E+00, 0.84650E+00, & - & 0.84784E+00, 0.84918E+00, 0.85052E+00, 0.85186E+00, 0.85320E+00, & - & 0.85453E+00, 0.85586E+00, 0.85720E+00, 0.85853E+00, 0.85986E+00/ - - DATA (BNC10M(I),I=601,700)/ & - & 0.87414E+00, 0.88722E+00, 0.90017E+00, 0.91300E+00, 0.92570E+00, & - & 0.93828E+00, 0.95075E+00, 0.96310E+00, 0.97533E+00, 0.98746E+00, & - & 0.99947E+00, 0.10114E+01, 0.10232E+01, 0.10349E+01, 0.10465E+01, & - & 0.10580E+01, 0.10694E+01, 0.10807E+01, 0.10919E+01, 0.11030E+01, & - & 0.11141E+01, 0.11250E+01, 0.11358E+01, 0.11466E+01, 0.11573E+01, & - & 0.11679E+01, 0.11784E+01, 0.11889E+01, 0.11992E+01, 0.12095E+01, & - & 0.12197E+01, 0.12299E+01, 0.12399E+01, 0.12499E+01, 0.12598E+01, & - & 0.12697E+01, 0.12795E+01, 0.12892E+01, 0.12988E+01, 0.13084E+01, & - & 0.13179E+01, 0.13274E+01, 0.13367E+01, 0.13461E+01, 0.13553E+01, & - & 0.13645E+01, 0.13737E+01, 0.13828E+01, 0.13918E+01, 0.14008E+01, & - & 0.14097E+01, 0.14186E+01, 0.14274E+01, 0.14362E+01, 0.14449E+01, & - & 0.14535E+01, 0.14621E+01, 0.14707E+01, 0.14792E+01, 0.14876E+01, & - & 0.14960E+01, 0.15044E+01, 0.15127E+01, 0.15210E+01, 0.15292E+01, & - & 0.15374E+01, 0.15455E+01, 0.15536E+01, 0.15616E+01, 0.15696E+01, & - & 0.15776E+01, 0.15855E+01, 0.15934E+01, 0.16012E+01, 0.16090E+01, & - & 0.16168E+01, 0.16245E+01, 0.16322E+01, 0.16398E+01, 0.16474E+01, & - & 0.16550E+01, 0.16625E+01, 0.16700E+01, 0.16774E+01, 0.16849E+01, & - & 0.16922E+01, 0.16996E+01, 0.17069E+01, 0.17142E+01, 0.17214E+01, & - & 0.17286E+01, 0.17358E+01, 0.17430E+01, 0.17501E+01, 0.17572E+01, & - & 0.17642E+01, 0.17712E+01, 0.17782E+01, 0.17852E+01, 0.17921E+01/ - - DATA (BNC10M(I),I=701,741)/ & - & 0.17990E+01, 0.18059E+01, 0.18127E+01, 0.18195E+01, 0.18263E+01, & - & 0.18331E+01, 0.18398E+01, 0.18465E+01, 0.18532E+01, 0.18598E+01, & - & 0.18664E+01, 0.18730E+01, 0.18796E+01, 0.18861E+01, 0.18926E+01, & - & 0.18991E+01, 0.19056E+01, 0.19120E+01, 0.19184E+01, 0.19248E+01, & - & 0.19312E+01, 0.19375E+01, 0.19439E+01, 0.19502E+01, 0.19564E+01, & - & 0.19627E+01, 0.19689E+01, 0.19751E+01, 0.19813E+01, 0.19874E+01, & - & 0.19936E+01, 0.19997E+01, 0.20058E+01, 0.20118E+01, 0.20179E+01, & - & 0.20239E+01, 0.20299E+01, 0.20359E+01, 0.20419E+01, 0.20478E+01, & - & 0.20537E+01 & - & / -! -! *** (H,Cl) -! - DATA (BNC11M(I),I=1,100)/ & - &-0.43207E-01,-0.87312E-01,-0.10580E+00,-0.11699E+00,-0.12443E+00, & - &-0.12956E+00,-0.13308E+00,-0.13541E+00,-0.13684E+00,-0.13754E+00, & - &-0.13763E+00,-0.13723E+00,-0.13639E+00,-0.13519E+00,-0.13367E+00, & - &-0.13185E+00,-0.12978E+00,-0.12749E+00,-0.12498E+00,-0.12229E+00, & - &-0.11943E+00,-0.11640E+00,-0.11324E+00,-0.10994E+00,-0.10651E+00, & - &-0.10298E+00,-0.99331E-01,-0.95587E-01,-0.91752E-01,-0.87830E-01, & - &-0.83828E-01,-0.79751E-01,-0.75605E-01,-0.71393E-01,-0.67121E-01, & - &-0.62791E-01,-0.58408E-01,-0.53976E-01,-0.49497E-01,-0.44974E-01, & - &-0.40412E-01,-0.35811E-01,-0.31175E-01,-0.26506E-01,-0.21806E-01, & - &-0.17077E-01,-0.12322E-01,-0.75410E-02,-0.27366E-02, 0.20900E-02, & - & 0.69376E-02, 0.11805E-01, 0.16691E-01, 0.21595E-01, 0.26516E-01, & - & 0.31453E-01, 0.36406E-01, 0.41374E-01, 0.46358E-01, 0.51356E-01, & - & 0.56370E-01, 0.61398E-01, 0.66441E-01, 0.71499E-01, 0.76572E-01, & - & 0.81661E-01, 0.86766E-01, 0.91888E-01, 0.97027E-01, 0.10218E+00, & - & 0.10736E+00, 0.11255E+00, 0.11777E+00, 0.12300E+00, 0.12825E+00, & - & 0.13353E+00, 0.13883E+00, 0.14415E+00, 0.14950E+00, 0.15487E+00, & - & 0.16026E+00, 0.16568E+00, 0.17113E+00, 0.17660E+00, 0.18210E+00, & - & 0.18763E+00, 0.19318E+00, 0.19876E+00, 0.20437E+00, 0.21000E+00, & - & 0.21567E+00, 0.22136E+00, 0.22707E+00, 0.23281E+00, 0.23858E+00, & - & 0.24438E+00, 0.25020E+00, 0.25604E+00, 0.26190E+00, 0.26779E+00/ - - DATA (BNC11M(I),I=101,200)/ & - & 0.27370E+00, 0.27964E+00, 0.28559E+00, 0.29156E+00, 0.29755E+00, & - & 0.30356E+00, 0.30958E+00, 0.31562E+00, 0.32167E+00, 0.32774E+00, & - & 0.33382E+00, 0.33991E+00, 0.34601E+00, 0.35211E+00, 0.35823E+00, & - & 0.36435E+00, 0.37048E+00, 0.37662E+00, 0.38276E+00, 0.38890E+00, & - & 0.39505E+00, 0.40120E+00, 0.40734E+00, 0.41349E+00, 0.41964E+00, & - & 0.42579E+00, 0.43194E+00, 0.43809E+00, 0.44423E+00, 0.45037E+00, & - & 0.45651E+00, 0.46264E+00, 0.46877E+00, 0.47489E+00, 0.48101E+00, & - & 0.48712E+00, 0.49323E+00, 0.49933E+00, 0.50543E+00, 0.51151E+00, & - & 0.51759E+00, 0.52367E+00, 0.52973E+00, 0.53579E+00, 0.54185E+00, & - & 0.54789E+00, 0.55392E+00, 0.55995E+00, 0.56597E+00, 0.57198E+00, & - & 0.57798E+00, 0.58398E+00, 0.58996E+00, 0.59594E+00, 0.60190E+00, & - & 0.60786E+00, 0.61381E+00, 0.61975E+00, 0.62568E+00, 0.63160E+00, & - & 0.63751E+00, 0.64341E+00, 0.64930E+00, 0.65519E+00, 0.66106E+00, & - & 0.66692E+00, 0.67277E+00, 0.67862E+00, 0.68445E+00, 0.69028E+00, & - & 0.69609E+00, 0.70189E+00, 0.70769E+00, 0.71347E+00, 0.71925E+00, & - & 0.72501E+00, 0.73076E+00, 0.73651E+00, 0.74224E+00, 0.74796E+00, & - & 0.75368E+00, 0.75938E+00, 0.76507E+00, 0.77076E+00, 0.77643E+00, & - & 0.78209E+00, 0.78774E+00, 0.79339E+00, 0.79902E+00, 0.80464E+00, & - & 0.81025E+00, 0.81585E+00, 0.82144E+00, 0.82702E+00, 0.83259E+00, & - & 0.83815E+00, 0.84370E+00, 0.84924E+00, 0.85477E+00, 0.86029E+00/ - - DATA (BNC11M(I),I=201,300)/ & - & 0.86580E+00, 0.87129E+00, 0.87678E+00, 0.88226E+00, 0.88773E+00, & - & 0.89318E+00, 0.89863E+00, 0.90407E+00, 0.90949E+00, 0.91491E+00, & - & 0.92032E+00, 0.92571E+00, 0.93110E+00, 0.93647E+00, 0.94184E+00, & - & 0.94720E+00, 0.95254E+00, 0.95788E+00, 0.96320E+00, 0.96852E+00, & - & 0.97382E+00, 0.97912E+00, 0.98440E+00, 0.98968E+00, 0.99494E+00, & - & 0.10002E+01, 0.10054E+01, 0.10107E+01, 0.10159E+01, 0.10211E+01, & - & 0.10263E+01, 0.10315E+01, 0.10367E+01, 0.10419E+01, 0.10470E+01, & - & 0.10522E+01, 0.10574E+01, 0.10625E+01, 0.10676E+01, 0.10727E+01, & - & 0.10778E+01, 0.10829E+01, 0.10880E+01, 0.10931E+01, 0.10982E+01, & - & 0.11032E+01, 0.11083E+01, 0.11133E+01, 0.11184E+01, 0.11234E+01, & - & 0.11284E+01, 0.11334E+01, 0.11384E+01, 0.11434E+01, 0.11484E+01, & - & 0.11533E+01, 0.11583E+01, 0.11632E+01, 0.11682E+01, 0.11731E+01, & - & 0.11780E+01, 0.11829E+01, 0.11878E+01, 0.11927E+01, 0.11976E+01, & - & 0.12025E+01, 0.12074E+01, 0.12122E+01, 0.12171E+01, 0.12219E+01, & - & 0.12267E+01, 0.12315E+01, 0.12364E+01, 0.12412E+01, 0.12460E+01, & - & 0.12507E+01, 0.12555E+01, 0.12603E+01, 0.12650E+01, 0.12698E+01, & - & 0.12745E+01, 0.12793E+01, 0.12840E+01, 0.12887E+01, 0.12934E+01, & - & 0.12981E+01, 0.13028E+01, 0.13075E+01, 0.13122E+01, 0.13168E+01, & - & 0.13215E+01, 0.13261E+01, 0.13308E+01, 0.13354E+01, 0.13400E+01, & - & 0.13447E+01, 0.13493E+01, 0.13539E+01, 0.13585E+01, 0.13630E+01/ - - DATA (BNC11M(I),I=301,400)/ & - & 0.13676E+01, 0.13722E+01, 0.13767E+01, 0.13813E+01, 0.13858E+01, & - & 0.13904E+01, 0.13949E+01, 0.13994E+01, 0.14039E+01, 0.14084E+01, & - & 0.14129E+01, 0.14174E+01, 0.14219E+01, 0.14264E+01, 0.14308E+01, & - & 0.14353E+01, 0.14397E+01, 0.14442E+01, 0.14486E+01, 0.14530E+01, & - & 0.14574E+01, 0.14618E+01, 0.14662E+01, 0.14706E+01, 0.14750E+01, & - & 0.14794E+01, 0.14838E+01, 0.14881E+01, 0.14925E+01, 0.14968E+01, & - & 0.15012E+01, 0.15055E+01, 0.15099E+01, 0.15142E+01, 0.15185E+01, & - & 0.15228E+01, 0.15271E+01, 0.15314E+01, 0.15357E+01, 0.15399E+01, & - & 0.15442E+01, 0.15485E+01, 0.15527E+01, 0.15570E+01, 0.15612E+01, & - & 0.15654E+01, 0.15697E+01, 0.15739E+01, 0.15781E+01, 0.15823E+01, & - & 0.15865E+01, 0.15907E+01, 0.15949E+01, 0.15991E+01, 0.16032E+01, & - & 0.16074E+01, 0.16115E+01, 0.16157E+01, 0.16198E+01, 0.16240E+01, & - & 0.16281E+01, 0.16322E+01, 0.16363E+01, 0.16405E+01, 0.16446E+01, & - & 0.16487E+01, 0.16527E+01, 0.16568E+01, 0.16609E+01, 0.16650E+01, & - & 0.16690E+01, 0.16731E+01, 0.16771E+01, 0.16812E+01, 0.16852E+01, & - & 0.16893E+01, 0.16933E+01, 0.16973E+01, 0.17013E+01, 0.17053E+01, & - & 0.17093E+01, 0.17133E+01, 0.17173E+01, 0.17213E+01, 0.17252E+01, & - & 0.17292E+01, 0.17332E+01, 0.17371E+01, 0.17411E+01, 0.17450E+01, & - & 0.17490E+01, 0.17529E+01, 0.17568E+01, 0.17607E+01, 0.17646E+01, & - & 0.17685E+01, 0.17724E+01, 0.17763E+01, 0.17802E+01, 0.17841E+01/ - - DATA (BNC11M(I),I=401,500)/ & - & 0.17880E+01, 0.17919E+01, 0.17957E+01, 0.17996E+01, 0.18034E+01, & - & 0.18073E+01, 0.18111E+01, 0.18150E+01, 0.18188E+01, 0.18226E+01, & - & 0.18264E+01, 0.18302E+01, 0.18340E+01, 0.18378E+01, 0.18416E+01, & - & 0.18454E+01, 0.18492E+01, 0.18530E+01, 0.18568E+01, 0.18605E+01, & - & 0.18643E+01, 0.18680E+01, 0.18718E+01, 0.18755E+01, 0.18793E+01, & - & 0.18830E+01, 0.18867E+01, 0.18904E+01, 0.18942E+01, 0.18979E+01, & - & 0.19016E+01, 0.19053E+01, 0.19090E+01, 0.19127E+01, 0.19163E+01, & - & 0.19200E+01, 0.19237E+01, 0.19274E+01, 0.19310E+01, 0.19347E+01, & - & 0.19383E+01, 0.19420E+01, 0.19456E+01, 0.19493E+01, 0.19529E+01, & - & 0.19565E+01, 0.19601E+01, 0.19637E+01, 0.19674E+01, 0.19710E+01, & - & 0.19746E+01, 0.19782E+01, 0.19817E+01, 0.19853E+01, 0.19889E+01, & - & 0.19925E+01, 0.19960E+01, 0.19996E+01, 0.20032E+01, 0.20067E+01, & - & 0.20103E+01, 0.20138E+01, 0.20174E+01, 0.20209E+01, 0.20244E+01, & - & 0.20279E+01, 0.20315E+01, 0.20350E+01, 0.20385E+01, 0.20420E+01, & - & 0.20455E+01, 0.20490E+01, 0.20525E+01, 0.20560E+01, 0.20594E+01, & - & 0.20629E+01, 0.20664E+01, 0.20698E+01, 0.20733E+01, 0.20768E+01, & - & 0.20802E+01, 0.20837E+01, 0.20871E+01, 0.20905E+01, 0.20940E+01, & - & 0.20974E+01, 0.21008E+01, 0.21042E+01, 0.21077E+01, 0.21111E+01, & - & 0.21145E+01, 0.21179E+01, 0.21213E+01, 0.21247E+01, 0.21280E+01, & - & 0.21314E+01, 0.21348E+01, 0.21382E+01, 0.21415E+01, 0.21449E+01/ - - DATA (BNC11M(I),I=501,600)/ & - & 0.21483E+01, 0.21516E+01, 0.21550E+01, 0.21583E+01, 0.21617E+01, & - & 0.21650E+01, 0.21683E+01, 0.21717E+01, 0.21750E+01, 0.21783E+01, & - & 0.21816E+01, 0.21849E+01, 0.21882E+01, 0.21915E+01, 0.21948E+01, & - & 0.21981E+01, 0.22014E+01, 0.22047E+01, 0.22080E+01, 0.22113E+01, & - & 0.22145E+01, 0.22178E+01, 0.22211E+01, 0.22243E+01, 0.22276E+01, & - & 0.22308E+01, 0.22341E+01, 0.22373E+01, 0.22406E+01, 0.22438E+01, & - & 0.22470E+01, 0.22503E+01, 0.22535E+01, 0.22567E+01, 0.22599E+01, & - & 0.22631E+01, 0.22663E+01, 0.22695E+01, 0.22727E+01, 0.22759E+01, & - & 0.22791E+01, 0.22823E+01, 0.22855E+01, 0.22887E+01, 0.22918E+01, & - & 0.22950E+01, 0.22982E+01, 0.23013E+01, 0.23045E+01, 0.23076E+01, & - & 0.23108E+01, 0.23139E+01, 0.23171E+01, 0.23202E+01, 0.23234E+01, & - & 0.23265E+01, 0.23296E+01, 0.23327E+01, 0.23359E+01, 0.23390E+01, & - & 0.23421E+01, 0.23452E+01, 0.23483E+01, 0.23514E+01, 0.23545E+01, & - & 0.23576E+01, 0.23607E+01, 0.23638E+01, 0.23668E+01, 0.23699E+01, & - & 0.23730E+01, 0.23761E+01, 0.23791E+01, 0.23822E+01, 0.23853E+01, & - & 0.23883E+01, 0.23914E+01, 0.23944E+01, 0.23975E+01, 0.24005E+01, & - & 0.24035E+01, 0.24066E+01, 0.24096E+01, 0.24126E+01, 0.24156E+01, & - & 0.24187E+01, 0.24217E+01, 0.24247E+01, 0.24277E+01, 0.24307E+01, & - & 0.24337E+01, 0.24367E+01, 0.24397E+01, 0.24427E+01, 0.24457E+01, & - & 0.24487E+01, 0.24516E+01, 0.24546E+01, 0.24576E+01, 0.24606E+01/ - - DATA (BNC11M(I),I=601,700)/ & - & 0.24924E+01, 0.25216E+01, 0.25504E+01, 0.25789E+01, 0.26071E+01, & - & 0.26349E+01, 0.26625E+01, 0.26898E+01, 0.27168E+01, 0.27435E+01, & - & 0.27699E+01, 0.27961E+01, 0.28220E+01, 0.28477E+01, 0.28731E+01, & - & 0.28982E+01, 0.29231E+01, 0.29478E+01, 0.29722E+01, 0.29965E+01, & - & 0.30205E+01, 0.30442E+01, 0.30678E+01, 0.30911E+01, 0.31143E+01, & - & 0.31372E+01, 0.31599E+01, 0.31825E+01, 0.32048E+01, 0.32270E+01, & - & 0.32490E+01, 0.32708E+01, 0.32924E+01, 0.33138E+01, 0.33351E+01, & - & 0.33562E+01, 0.33771E+01, 0.33979E+01, 0.34185E+01, 0.34389E+01, & - & 0.34592E+01, 0.34794E+01, 0.34993E+01, 0.35192E+01, 0.35389E+01, & - & 0.35584E+01, 0.35778E+01, 0.35971E+01, 0.36162E+01, 0.36352E+01, & - & 0.36541E+01, 0.36728E+01, 0.36914E+01, 0.37099E+01, 0.37282E+01, & - & 0.37465E+01, 0.37646E+01, 0.37826E+01, 0.38004E+01, 0.38182E+01, & - & 0.38358E+01, 0.38533E+01, 0.38707E+01, 0.38880E+01, 0.39052E+01, & - & 0.39223E+01, 0.39393E+01, 0.39562E+01, 0.39729E+01, 0.39896E+01, & - & 0.40062E+01, 0.40226E+01, 0.40390E+01, 0.40553E+01, 0.40715E+01, & - & 0.40876E+01, 0.41035E+01, 0.41194E+01, 0.41353E+01, 0.41510E+01, & - & 0.41666E+01, 0.41822E+01, 0.41976E+01, 0.42130E+01, 0.42283E+01, & - & 0.42435E+01, 0.42586E+01, 0.42737E+01, 0.42886E+01, 0.43035E+01, & - & 0.43183E+01, 0.43330E+01, 0.43477E+01, 0.43623E+01, 0.43768E+01, & - & 0.43912E+01, 0.44056E+01, 0.44198E+01, 0.44341E+01, 0.44482E+01/ - - DATA (BNC11M(I),I=701,741)/ & - & 0.44623E+01, 0.44763E+01, 0.44902E+01, 0.45041E+01, 0.45179E+01, & - & 0.45316E+01, 0.45453E+01, 0.45589E+01, 0.45724E+01, 0.45859E+01, & - & 0.45993E+01, 0.46126E+01, 0.46259E+01, 0.46391E+01, 0.46523E+01, & - & 0.46654E+01, 0.46785E+01, 0.46915E+01, 0.47044E+01, 0.47173E+01, & - & 0.47301E+01, 0.47428E+01, 0.47555E+01, 0.47682E+01, 0.47808E+01, & - & 0.47933E+01, 0.48058E+01, 0.48183E+01, 0.48306E+01, 0.48430E+01, & - & 0.48552E+01, 0.48675E+01, 0.48797E+01, 0.48918E+01, 0.49039E+01, & - & 0.49159E+01, 0.49279E+01, 0.49398E+01, 0.49517E+01, 0.49635E+01, & - & 0.49753E+01 & - & / -! -! *** NaHSO4 -! - DATA (BNC12M(I),I=1,100)/ & - &-0.43994E-01,-0.91554E-01,-0.11320E+00,-0.12742E+00,-0.13780E+00, & - &-0.14581E+00,-0.15217E+00,-0.15732E+00,-0.16153E+00,-0.16499E+00, & - &-0.16783E+00,-0.17017E+00,-0.17206E+00,-0.17357E+00,-0.17474E+00, & - &-0.17562E+00,-0.17624E+00,-0.17661E+00,-0.17677E+00,-0.17673E+00, & - &-0.17650E+00,-0.17610E+00,-0.17555E+00,-0.17485E+00,-0.17402E+00, & - &-0.17305E+00,-0.17197E+00,-0.17076E+00,-0.16946E+00,-0.16805E+00, & - &-0.16654E+00,-0.16494E+00,-0.16325E+00,-0.16148E+00,-0.15962E+00, & - &-0.15770E+00,-0.15570E+00,-0.15363E+00,-0.15149E+00,-0.14929E+00, & - &-0.14703E+00,-0.14471E+00,-0.14234E+00,-0.13991E+00,-0.13743E+00, & - &-0.13490E+00,-0.13232E+00,-0.12970E+00,-0.12704E+00,-0.12433E+00, & - &-0.12159E+00,-0.11880E+00,-0.11598E+00,-0.11312E+00,-0.11023E+00, & - &-0.10730E+00,-0.10434E+00,-0.10135E+00,-0.98326E-01,-0.95275E-01, & - &-0.92194E-01,-0.89084E-01,-0.85947E-01,-0.82782E-01,-0.79591E-01, & - &-0.76372E-01,-0.73128E-01,-0.69857E-01,-0.66561E-01,-0.63239E-01, & - &-0.59892E-01,-0.56519E-01,-0.53121E-01,-0.49698E-01,-0.46250E-01, & - &-0.42776E-01,-0.39277E-01,-0.35752E-01,-0.32203E-01,-0.28628E-01, & - &-0.25027E-01,-0.21401E-01,-0.17750E-01,-0.14074E-01,-0.10373E-01, & - &-0.66461E-02,-0.28948E-02, 0.88116E-03, 0.46816E-02, 0.85060E-02, & - & 0.12354E-01, 0.16226E-01, 0.20121E-01, 0.24038E-01, 0.27977E-01, & - & 0.31937E-01, 0.35918E-01, 0.39920E-01, 0.43941E-01, 0.47981E-01/ - - DATA (BNC12M(I),I=101,200)/ & - & 0.52038E-01, 0.56113E-01, 0.60205E-01, 0.64312E-01, 0.68434E-01, & - & 0.72570E-01, 0.76719E-01, 0.80880E-01, 0.85053E-01, 0.89237E-01, & - & 0.93430E-01, 0.97632E-01, 0.10184E+00, 0.10606E+00, 0.11028E+00, & - & 0.11451E+00, 0.11875E+00, 0.12299E+00, 0.12723E+00, 0.13148E+00, & - & 0.13572E+00, 0.13997E+00, 0.14422E+00, 0.14848E+00, 0.15273E+00, & - & 0.15698E+00, 0.16123E+00, 0.16548E+00, 0.16972E+00, 0.17397E+00, & - & 0.17821E+00, 0.18245E+00, 0.18668E+00, 0.19091E+00, 0.19514E+00, & - & 0.19936E+00, 0.20358E+00, 0.20780E+00, 0.21201E+00, 0.21621E+00, & - & 0.22041E+00, 0.22460E+00, 0.22879E+00, 0.23297E+00, 0.23715E+00, & - & 0.24132E+00, 0.24549E+00, 0.24964E+00, 0.25379E+00, 0.25794E+00, & - & 0.26208E+00, 0.26621E+00, 0.27034E+00, 0.27445E+00, 0.27857E+00, & - & 0.28267E+00, 0.28677E+00, 0.29086E+00, 0.29494E+00, 0.29902E+00, & - & 0.30309E+00, 0.30715E+00, 0.31121E+00, 0.31526E+00, 0.31930E+00, & - & 0.32333E+00, 0.32736E+00, 0.33138E+00, 0.33539E+00, 0.33940E+00, & - & 0.34340E+00, 0.34739E+00, 0.35137E+00, 0.35534E+00, 0.35931E+00, & - & 0.36327E+00, 0.36723E+00, 0.37117E+00, 0.37511E+00, 0.37904E+00, & - & 0.38297E+00, 0.38688E+00, 0.39079E+00, 0.39469E+00, 0.39859E+00, & - & 0.40248E+00, 0.40635E+00, 0.41023E+00, 0.41409E+00, 0.41795E+00, & - & 0.42180E+00, 0.42564E+00, 0.42948E+00, 0.43331E+00, 0.43713E+00, & - & 0.44094E+00, 0.44475E+00, 0.44854E+00, 0.45234E+00, 0.45612E+00/ - - DATA (BNC12M(I),I=201,300)/ & - & 0.45990E+00, 0.46367E+00, 0.46743E+00, 0.47119E+00, 0.47493E+00, & - & 0.47868E+00, 0.48241E+00, 0.48614E+00, 0.48986E+00, 0.49357E+00, & - & 0.49727E+00, 0.50097E+00, 0.50466E+00, 0.50835E+00, 0.51203E+00, & - & 0.51570E+00, 0.51936E+00, 0.52302E+00, 0.52667E+00, 0.53031E+00, & - & 0.53395E+00, 0.53757E+00, 0.54120E+00, 0.54481E+00, 0.54842E+00, & - & 0.55202E+00, 0.55562E+00, 0.55920E+00, 0.56279E+00, 0.56636E+00, & - & 0.56993E+00, 0.57349E+00, 0.57704E+00, 0.58059E+00, 0.58413E+00, & - & 0.58767E+00, 0.59120E+00, 0.59472E+00, 0.59823E+00, 0.60174E+00, & - & 0.60524E+00, 0.60874E+00, 0.61223E+00, 0.61571E+00, 0.61919E+00, & - & 0.62266E+00, 0.62612E+00, 0.62958E+00, 0.63303E+00, 0.63647E+00, & - & 0.63991E+00, 0.64334E+00, 0.64677E+00, 0.65019E+00, 0.65360E+00, & - & 0.65701E+00, 0.66041E+00, 0.66380E+00, 0.66719E+00, 0.67057E+00, & - & 0.67395E+00, 0.67732E+00, 0.68068E+00, 0.68404E+00, 0.68740E+00, & - & 0.69074E+00, 0.69408E+00, 0.69742E+00, 0.70074E+00, 0.70407E+00, & - & 0.70738E+00, 0.71069E+00, 0.71400E+00, 0.71730E+00, 0.72059E+00, & - & 0.72388E+00, 0.72716E+00, 0.73044E+00, 0.73371E+00, 0.73697E+00, & - & 0.74023E+00, 0.74349E+00, 0.74673E+00, 0.74997E+00, 0.75321E+00, & - & 0.75644E+00, 0.75967E+00, 0.76289E+00, 0.76610E+00, 0.76931E+00, & - & 0.77251E+00, 0.77571E+00, 0.77890E+00, 0.78209E+00, 0.78527E+00, & - & 0.78845E+00, 0.79162E+00, 0.79478E+00, 0.79794E+00, 0.80110E+00/ - - DATA (BNC12M(I),I=301,400)/ & - & 0.80424E+00, 0.80739E+00, 0.81053E+00, 0.81366E+00, 0.81679E+00, & - & 0.81991E+00, 0.82303E+00, 0.82614E+00, 0.82925E+00, 0.83235E+00, & - & 0.83545E+00, 0.83854E+00, 0.84163E+00, 0.84471E+00, 0.84778E+00, & - & 0.85085E+00, 0.85392E+00, 0.85698E+00, 0.86004E+00, 0.86309E+00, & - & 0.86614E+00, 0.86918E+00, 0.87221E+00, 0.87525E+00, 0.87827E+00, & - & 0.88129E+00, 0.88431E+00, 0.88732E+00, 0.89033E+00, 0.89333E+00, & - & 0.89633E+00, 0.89932E+00, 0.90231E+00, 0.90529E+00, 0.90827E+00, & - & 0.91124E+00, 0.91421E+00, 0.91718E+00, 0.92014E+00, 0.92309E+00, & - & 0.92604E+00, 0.92899E+00, 0.93193E+00, 0.93486E+00, 0.93779E+00, & - & 0.94072E+00, 0.94364E+00, 0.94656E+00, 0.94947E+00, 0.95238E+00, & - & 0.95529E+00, 0.95819E+00, 0.96108E+00, 0.96397E+00, 0.96686E+00, & - & 0.96974E+00, 0.97262E+00, 0.97549E+00, 0.97836E+00, 0.98122E+00, & - & 0.98408E+00, 0.98694E+00, 0.98979E+00, 0.99264E+00, 0.99548E+00, & - & 0.99832E+00, 0.10012E+01, 0.10040E+01, 0.10068E+01, 0.10096E+01, & - & 0.10124E+01, 0.10153E+01, 0.10181E+01, 0.10209E+01, 0.10237E+01, & - & 0.10265E+01, 0.10293E+01, 0.10320E+01, 0.10348E+01, 0.10376E+01, & - & 0.10404E+01, 0.10431E+01, 0.10459E+01, 0.10487E+01, 0.10514E+01, & - & 0.10542E+01, 0.10569E+01, 0.10597E+01, 0.10624E+01, 0.10652E+01, & - & 0.10679E+01, 0.10706E+01, 0.10734E+01, 0.10761E+01, 0.10788E+01, & - & 0.10815E+01, 0.10842E+01, 0.10869E+01, 0.10896E+01, 0.10923E+01/ - - DATA (BNC12M(I),I=401,500)/ & - & 0.10950E+01, 0.10977E+01, 0.11004E+01, 0.11031E+01, 0.11058E+01, & - & 0.11084E+01, 0.11111E+01, 0.11138E+01, 0.11165E+01, 0.11191E+01, & - & 0.11218E+01, 0.11244E+01, 0.11271E+01, 0.11297E+01, 0.11324E+01, & - & 0.11350E+01, 0.11376E+01, 0.11403E+01, 0.11429E+01, 0.11455E+01, & - & 0.11481E+01, 0.11507E+01, 0.11534E+01, 0.11560E+01, 0.11586E+01, & - & 0.11612E+01, 0.11638E+01, 0.11664E+01, 0.11690E+01, 0.11715E+01, & - & 0.11741E+01, 0.11767E+01, 0.11793E+01, 0.11819E+01, 0.11844E+01, & - & 0.11870E+01, 0.11896E+01, 0.11921E+01, 0.11947E+01, 0.11972E+01, & - & 0.11998E+01, 0.12023E+01, 0.12049E+01, 0.12074E+01, 0.12099E+01, & - & 0.12125E+01, 0.12150E+01, 0.12175E+01, 0.12200E+01, 0.12226E+01, & - & 0.12251E+01, 0.12276E+01, 0.12301E+01, 0.12326E+01, 0.12351E+01, & - & 0.12376E+01, 0.12401E+01, 0.12426E+01, 0.12451E+01, 0.12475E+01, & - & 0.12500E+01, 0.12525E+01, 0.12550E+01, 0.12575E+01, 0.12599E+01, & - & 0.12624E+01, 0.12649E+01, 0.12673E+01, 0.12698E+01, 0.12722E+01, & - & 0.12747E+01, 0.12771E+01, 0.12796E+01, 0.12820E+01, 0.12844E+01, & - & 0.12869E+01, 0.12893E+01, 0.12917E+01, 0.12941E+01, 0.12966E+01, & - & 0.12990E+01, 0.13014E+01, 0.13038E+01, 0.13062E+01, 0.13086E+01, & - & 0.13110E+01, 0.13134E+01, 0.13158E+01, 0.13182E+01, 0.13206E+01, & - & 0.13230E+01, 0.13254E+01, 0.13278E+01, 0.13301E+01, 0.13325E+01, & - & 0.13349E+01, 0.13373E+01, 0.13396E+01, 0.13420E+01, 0.13443E+01/ - - DATA (BNC12M(I),I=501,600)/ & - & 0.13467E+01, 0.13491E+01, 0.13514E+01, 0.13538E+01, 0.13561E+01, & - & 0.13584E+01, 0.13608E+01, 0.13631E+01, 0.13655E+01, 0.13678E+01, & - & 0.13701E+01, 0.13724E+01, 0.13748E+01, 0.13771E+01, 0.13794E+01, & - & 0.13817E+01, 0.13840E+01, 0.13863E+01, 0.13886E+01, 0.13909E+01, & - & 0.13932E+01, 0.13955E+01, 0.13978E+01, 0.14001E+01, 0.14024E+01, & - & 0.14047E+01, 0.14070E+01, 0.14093E+01, 0.14115E+01, 0.14138E+01, & - & 0.14161E+01, 0.14184E+01, 0.14206E+01, 0.14229E+01, 0.14252E+01, & - & 0.14274E+01, 0.14297E+01, 0.14319E+01, 0.14342E+01, 0.14364E+01, & - & 0.14387E+01, 0.14409E+01, 0.14431E+01, 0.14454E+01, 0.14476E+01, & - & 0.14499E+01, 0.14521E+01, 0.14543E+01, 0.14565E+01, 0.14588E+01, & - & 0.14610E+01, 0.14632E+01, 0.14654E+01, 0.14676E+01, 0.14698E+01, & - & 0.14720E+01, 0.14742E+01, 0.14764E+01, 0.14786E+01, 0.14808E+01, & - & 0.14830E+01, 0.14852E+01, 0.14874E+01, 0.14896E+01, 0.14918E+01, & - & 0.14940E+01, 0.14961E+01, 0.14983E+01, 0.15005E+01, 0.15027E+01, & - & 0.15048E+01, 0.15070E+01, 0.15092E+01, 0.15113E+01, 0.15135E+01, & - & 0.15156E+01, 0.15178E+01, 0.15199E+01, 0.15221E+01, 0.15242E+01, & - & 0.15264E+01, 0.15285E+01, 0.15307E+01, 0.15328E+01, 0.15349E+01, & - & 0.15371E+01, 0.15392E+01, 0.15413E+01, 0.15434E+01, 0.15456E+01, & - & 0.15477E+01, 0.15498E+01, 0.15519E+01, 0.15540E+01, 0.15561E+01, & - & 0.15583E+01, 0.15604E+01, 0.15625E+01, 0.15646E+01, 0.15667E+01/ - - DATA (BNC12M(I),I=601,700)/ & - & 0.15892E+01, 0.16098E+01, 0.16302E+01, 0.16504E+01, 0.16704E+01, & - & 0.16902E+01, 0.17098E+01, 0.17291E+01, 0.17483E+01, 0.17673E+01, & - & 0.17861E+01, 0.18047E+01, 0.18232E+01, 0.18415E+01, 0.18596E+01, & - & 0.18775E+01, 0.18953E+01, 0.19129E+01, 0.19304E+01, 0.19477E+01, & - & 0.19648E+01, 0.19818E+01, 0.19987E+01, 0.20154E+01, 0.20320E+01, & - & 0.20484E+01, 0.20647E+01, 0.20809E+01, 0.20969E+01, 0.21129E+01, & - & 0.21286E+01, 0.21443E+01, 0.21598E+01, 0.21752E+01, 0.21905E+01, & - & 0.22057E+01, 0.22208E+01, 0.22357E+01, 0.22506E+01, 0.22653E+01, & - & 0.22799E+01, 0.22945E+01, 0.23089E+01, 0.23232E+01, 0.23374E+01, & - & 0.23515E+01, 0.23656E+01, 0.23795E+01, 0.23933E+01, 0.24071E+01, & - & 0.24207E+01, 0.24343E+01, 0.24477E+01, 0.24611E+01, 0.24744E+01, & - & 0.24876E+01, 0.25007E+01, 0.25138E+01, 0.25267E+01, 0.25396E+01, & - & 0.25524E+01, 0.25651E+01, 0.25778E+01, 0.25903E+01, 0.26028E+01, & - & 0.26152E+01, 0.26276E+01, 0.26398E+01, 0.26520E+01, 0.26642E+01, & - & 0.26762E+01, 0.26882E+01, 0.27001E+01, 0.27120E+01, 0.27238E+01, & - & 0.27355E+01, 0.27472E+01, 0.27588E+01, 0.27703E+01, 0.27818E+01, & - & 0.27932E+01, 0.28045E+01, 0.28158E+01, 0.28270E+01, 0.28382E+01, & - & 0.28493E+01, 0.28604E+01, 0.28714E+01, 0.28823E+01, 0.28932E+01, & - & 0.29040E+01, 0.29148E+01, 0.29256E+01, 0.29362E+01, 0.29468E+01, & - & 0.29574E+01, 0.29679E+01, 0.29784E+01, 0.29888E+01, 0.29992E+01/ - - DATA (BNC12M(I),I=701,741)/ & - & 0.30095E+01, 0.30198E+01, 0.30300E+01, 0.30402E+01, 0.30503E+01, & - & 0.30604E+01, 0.30705E+01, 0.30805E+01, 0.30904E+01, 0.31003E+01, & - & 0.31102E+01, 0.31200E+01, 0.31298E+01, 0.31395E+01, 0.31492E+01, & - & 0.31588E+01, 0.31684E+01, 0.31780E+01, 0.31875E+01, 0.31970E+01, & - & 0.32065E+01, 0.32159E+01, 0.32252E+01, 0.32346E+01, 0.32439E+01, & - & 0.32531E+01, 0.32623E+01, 0.32715E+01, 0.32807E+01, 0.32898E+01, & - & 0.32988E+01, 0.33079E+01, 0.33169E+01, 0.33258E+01, 0.33348E+01, & - & 0.33436E+01, 0.33525E+01, 0.33613E+01, 0.33701E+01, 0.33789E+01, & - & 0.33876E+01 & - & / -! -! *** (NH4)3H(SO4)2 -! - DATA (BNC13M(I),I=1,100)/ & - &-0.72232E-01,-0.15583E+00,-0.19693E+00,-0.22563E+00,-0.24790E+00, & - &-0.26615E+00,-0.28162E+00,-0.29503E+00,-0.30686E+00,-0.31742E+00, & - &-0.32695E+00,-0.33562E+00,-0.34356E+00,-0.35087E+00,-0.35764E+00, & - &-0.36392E+00,-0.36978E+00,-0.37525E+00,-0.38039E+00,-0.38521E+00, & - &-0.38975E+00,-0.39403E+00,-0.39808E+00,-0.40190E+00,-0.40552E+00, & - &-0.40895E+00,-0.41221E+00,-0.41530E+00,-0.41823E+00,-0.42103E+00, & - &-0.42368E+00,-0.42620E+00,-0.42861E+00,-0.43090E+00,-0.43307E+00, & - &-0.43515E+00,-0.43712E+00,-0.43900E+00,-0.44079E+00,-0.44249E+00, & - &-0.44411E+00,-0.44565E+00,-0.44712E+00,-0.44851E+00,-0.44984E+00, & - &-0.45109E+00,-0.45229E+00,-0.45342E+00,-0.45449E+00,-0.45551E+00, & - &-0.45647E+00,-0.45738E+00,-0.45823E+00,-0.45904E+00,-0.45980E+00, & - &-0.46052E+00,-0.46119E+00,-0.46182E+00,-0.46241E+00,-0.46296E+00, & - &-0.46347E+00,-0.46394E+00,-0.46438E+00,-0.46478E+00,-0.46515E+00, & - &-0.46549E+00,-0.46579E+00,-0.46607E+00,-0.46631E+00,-0.46653E+00, & - &-0.46671E+00,-0.46687E+00,-0.46701E+00,-0.46711E+00,-0.46720E+00, & - &-0.46725E+00,-0.46729E+00,-0.46730E+00,-0.46728E+00,-0.46725E+00, & - &-0.46719E+00,-0.46711E+00,-0.46701E+00,-0.46689E+00,-0.46675E+00, & - &-0.46659E+00,-0.46641E+00,-0.46621E+00,-0.46599E+00,-0.46576E+00, & - &-0.46550E+00,-0.46523E+00,-0.46495E+00,-0.46465E+00,-0.46433E+00, & - &-0.46399E+00,-0.46364E+00,-0.46328E+00,-0.46290E+00,-0.46251E+00/ - - DATA (BNC13M(I),I=101,200)/ & - &-0.46211E+00,-0.46169E+00,-0.46125E+00,-0.46081E+00,-0.46035E+00, & - &-0.45989E+00,-0.45941E+00,-0.45892E+00,-0.45842E+00,-0.45791E+00, & - &-0.45739E+00,-0.45686E+00,-0.45632E+00,-0.45577E+00,-0.45522E+00, & - &-0.45465E+00,-0.45408E+00,-0.45350E+00,-0.45291E+00,-0.45232E+00, & - &-0.45172E+00,-0.45111E+00,-0.45050E+00,-0.44988E+00,-0.44926E+00, & - &-0.44863E+00,-0.44799E+00,-0.44735E+00,-0.44671E+00,-0.44606E+00, & - &-0.44540E+00,-0.44474E+00,-0.44408E+00,-0.44342E+00,-0.44274E+00, & - &-0.44207E+00,-0.44139E+00,-0.44071E+00,-0.44003E+00,-0.43934E+00, & - &-0.43865E+00,-0.43796E+00,-0.43726E+00,-0.43656E+00,-0.43586E+00, & - &-0.43515E+00,-0.43445E+00,-0.43374E+00,-0.43303E+00,-0.43231E+00, & - &-0.43160E+00,-0.43088E+00,-0.43016E+00,-0.42944E+00,-0.42872E+00, & - &-0.42799E+00,-0.42727E+00,-0.42654E+00,-0.42581E+00,-0.42508E+00, & - &-0.42435E+00,-0.42361E+00,-0.42288E+00,-0.42214E+00,-0.42140E+00, & - &-0.42067E+00,-0.41993E+00,-0.41918E+00,-0.41844E+00,-0.41770E+00, & - &-0.41696E+00,-0.41621E+00,-0.41547E+00,-0.41472E+00,-0.41397E+00, & - &-0.41322E+00,-0.41248E+00,-0.41173E+00,-0.41098E+00,-0.41023E+00, & - &-0.40947E+00,-0.40872E+00,-0.40797E+00,-0.40722E+00,-0.40646E+00, & - &-0.40571E+00,-0.40496E+00,-0.40420E+00,-0.40345E+00,-0.40269E+00, & - &-0.40193E+00,-0.40118E+00,-0.40042E+00,-0.39967E+00,-0.39891E+00, & - &-0.39815E+00,-0.39739E+00,-0.39664E+00,-0.39588E+00,-0.39512E+00/ - - DATA (BNC13M(I),I=201,300)/ & - &-0.39436E+00,-0.39361E+00,-0.39285E+00,-0.39209E+00,-0.39133E+00, & - &-0.39057E+00,-0.38981E+00,-0.38906E+00,-0.38830E+00,-0.38754E+00, & - &-0.38678E+00,-0.38602E+00,-0.38526E+00,-0.38451E+00,-0.38375E+00, & - &-0.38299E+00,-0.38223E+00,-0.38147E+00,-0.38071E+00,-0.37996E+00, & - &-0.37920E+00,-0.37844E+00,-0.37768E+00,-0.37693E+00,-0.37617E+00, & - &-0.37541E+00,-0.37466E+00,-0.37390E+00,-0.37314E+00,-0.37239E+00, & - &-0.37163E+00,-0.37087E+00,-0.37012E+00,-0.36936E+00,-0.36861E+00, & - &-0.36785E+00,-0.36710E+00,-0.36634E+00,-0.36559E+00,-0.36484E+00, & - &-0.36408E+00,-0.36333E+00,-0.36258E+00,-0.36182E+00,-0.36107E+00, & - &-0.36032E+00,-0.35957E+00,-0.35882E+00,-0.35807E+00,-0.35732E+00, & - &-0.35656E+00,-0.35581E+00,-0.35507E+00,-0.35432E+00,-0.35357E+00, & - &-0.35282E+00,-0.35207E+00,-0.35132E+00,-0.35057E+00,-0.34983E+00, & - &-0.34908E+00,-0.34833E+00,-0.34759E+00,-0.34684E+00,-0.34610E+00, & - &-0.34535E+00,-0.34461E+00,-0.34386E+00,-0.34312E+00,-0.34237E+00, & - &-0.34163E+00,-0.34089E+00,-0.34015E+00,-0.33940E+00,-0.33866E+00, & - &-0.33792E+00,-0.33718E+00,-0.33644E+00,-0.33570E+00,-0.33496E+00, & - &-0.33422E+00,-0.33348E+00,-0.33275E+00,-0.33201E+00,-0.33127E+00, & - &-0.33053E+00,-0.32980E+00,-0.32906E+00,-0.32833E+00,-0.32759E+00, & - &-0.32686E+00,-0.32612E+00,-0.32539E+00,-0.32465E+00,-0.32392E+00, & - &-0.32319E+00,-0.32246E+00,-0.32172E+00,-0.32099E+00,-0.32026E+00/ - - DATA (BNC13M(I),I=301,400)/ & - &-0.31953E+00,-0.31880E+00,-0.31807E+00,-0.31734E+00,-0.31662E+00, & - &-0.31589E+00,-0.31516E+00,-0.31443E+00,-0.31371E+00,-0.31298E+00, & - &-0.31225E+00,-0.31153E+00,-0.31080E+00,-0.31008E+00,-0.30936E+00, & - &-0.30863E+00,-0.30791E+00,-0.30719E+00,-0.30646E+00,-0.30574E+00, & - &-0.30502E+00,-0.30430E+00,-0.30358E+00,-0.30286E+00,-0.30214E+00, & - &-0.30142E+00,-0.30070E+00,-0.29999E+00,-0.29927E+00,-0.29855E+00, & - &-0.29784E+00,-0.29712E+00,-0.29640E+00,-0.29569E+00,-0.29497E+00, & - &-0.29426E+00,-0.29355E+00,-0.29283E+00,-0.29212E+00,-0.29141E+00, & - &-0.29070E+00,-0.28999E+00,-0.28927E+00,-0.28856E+00,-0.28785E+00, & - &-0.28714E+00,-0.28644E+00,-0.28573E+00,-0.28502E+00,-0.28431E+00, & - &-0.28360E+00,-0.28290E+00,-0.28219E+00,-0.28149E+00,-0.28078E+00, & - &-0.28008E+00,-0.27937E+00,-0.27867E+00,-0.27796E+00,-0.27726E+00, & - &-0.27656E+00,-0.27586E+00,-0.27516E+00,-0.27445E+00,-0.27375E+00, & - &-0.27305E+00,-0.27235E+00,-0.27165E+00,-0.27096E+00,-0.27026E+00, & - &-0.26956E+00,-0.26886E+00,-0.26817E+00,-0.26747E+00,-0.26677E+00, & - &-0.26608E+00,-0.26538E+00,-0.26469E+00,-0.26399E+00,-0.26330E+00, & - &-0.26261E+00,-0.26192E+00,-0.26122E+00,-0.26053E+00,-0.25984E+00, & - &-0.25915E+00,-0.25846E+00,-0.25777E+00,-0.25708E+00,-0.25639E+00, & - &-0.25570E+00,-0.25501E+00,-0.25433E+00,-0.25364E+00,-0.25295E+00, & - &-0.25227E+00,-0.25158E+00,-0.25090E+00,-0.25021E+00,-0.24953E+00/ - - DATA (BNC13M(I),I=401,500)/ & - &-0.24884E+00,-0.24816E+00,-0.24748E+00,-0.24679E+00,-0.24611E+00, & - &-0.24543E+00,-0.24475E+00,-0.24407E+00,-0.24339E+00,-0.24271E+00, & - &-0.24203E+00,-0.24135E+00,-0.24067E+00,-0.23999E+00,-0.23931E+00, & - &-0.23864E+00,-0.23796E+00,-0.23728E+00,-0.23661E+00,-0.23593E+00, & - &-0.23526E+00,-0.23458E+00,-0.23391E+00,-0.23323E+00,-0.23256E+00, & - &-0.23189E+00,-0.23122E+00,-0.23054E+00,-0.22987E+00,-0.22920E+00, & - &-0.22853E+00,-0.22786E+00,-0.22719E+00,-0.22652E+00,-0.22585E+00, & - &-0.22519E+00,-0.22452E+00,-0.22385E+00,-0.22318E+00,-0.22252E+00, & - &-0.22185E+00,-0.22118E+00,-0.22052E+00,-0.21985E+00,-0.21919E+00, & - &-0.21853E+00,-0.21786E+00,-0.21720E+00,-0.21654E+00,-0.21587E+00, & - &-0.21521E+00,-0.21455E+00,-0.21389E+00,-0.21323E+00,-0.21257E+00, & - &-0.21191E+00,-0.21125E+00,-0.21059E+00,-0.20993E+00,-0.20927E+00, & - &-0.20862E+00,-0.20796E+00,-0.20730E+00,-0.20665E+00,-0.20599E+00, & - &-0.20534E+00,-0.20468E+00,-0.20403E+00,-0.20337E+00,-0.20272E+00, & - &-0.20206E+00,-0.20141E+00,-0.20076E+00,-0.20011E+00,-0.19945E+00, & - &-0.19880E+00,-0.19815E+00,-0.19750E+00,-0.19685E+00,-0.19620E+00, & - &-0.19555E+00,-0.19490E+00,-0.19426E+00,-0.19361E+00,-0.19296E+00, & - &-0.19231E+00,-0.19167E+00,-0.19102E+00,-0.19037E+00,-0.18973E+00, & - &-0.18908E+00,-0.18844E+00,-0.18779E+00,-0.18715E+00,-0.18651E+00, & - &-0.18586E+00,-0.18522E+00,-0.18458E+00,-0.18393E+00,-0.18329E+00/ - - DATA (BNC13M(I),I=501,600)/ & - &-0.18265E+00,-0.18201E+00,-0.18137E+00,-0.18073E+00,-0.18009E+00, & - &-0.17945E+00,-0.17881E+00,-0.17817E+00,-0.17754E+00,-0.17690E+00, & - &-0.17626E+00,-0.17563E+00,-0.17499E+00,-0.17435E+00,-0.17372E+00, & - &-0.17308E+00,-0.17245E+00,-0.17181E+00,-0.17118E+00,-0.17054E+00, & - &-0.16991E+00,-0.16928E+00,-0.16865E+00,-0.16801E+00,-0.16738E+00, & - &-0.16675E+00,-0.16612E+00,-0.16549E+00,-0.16486E+00,-0.16423E+00, & - &-0.16360E+00,-0.16297E+00,-0.16234E+00,-0.16171E+00,-0.16108E+00, & - &-0.16046E+00,-0.15983E+00,-0.15920E+00,-0.15858E+00,-0.15795E+00, & - &-0.15732E+00,-0.15670E+00,-0.15607E+00,-0.15545E+00,-0.15483E+00, & - &-0.15420E+00,-0.15358E+00,-0.15295E+00,-0.15233E+00,-0.15171E+00, & - &-0.15109E+00,-0.15047E+00,-0.14984E+00,-0.14922E+00,-0.14860E+00, & - &-0.14798E+00,-0.14736E+00,-0.14674E+00,-0.14612E+00,-0.14551E+00, & - &-0.14489E+00,-0.14427E+00,-0.14365E+00,-0.14303E+00,-0.14242E+00, & - &-0.14180E+00,-0.14119E+00,-0.14057E+00,-0.13995E+00,-0.13934E+00, & - &-0.13872E+00,-0.13811E+00,-0.13750E+00,-0.13688E+00,-0.13627E+00, & - &-0.13566E+00,-0.13504E+00,-0.13443E+00,-0.13382E+00,-0.13321E+00, & - &-0.13260E+00,-0.13198E+00,-0.13137E+00,-0.13076E+00,-0.13015E+00, & - &-0.12954E+00,-0.12894E+00,-0.12833E+00,-0.12772E+00,-0.12711E+00, & - &-0.12650E+00,-0.12590E+00,-0.12529E+00,-0.12468E+00,-0.12408E+00, & - &-0.12347E+00,-0.12286E+00,-0.12226E+00,-0.12165E+00,-0.12105E+00/ - - DATA (BNC13M(I),I=601,700)/ & - &-0.11454E+00,-0.10855E+00,-0.10259E+00,-0.96662E-01,-0.90767E-01, & - &-0.84905E-01,-0.79073E-01,-0.73271E-01,-0.67500E-01,-0.61758E-01, & - &-0.56045E-01,-0.50360E-01,-0.44704E-01,-0.39075E-01,-0.33474E-01, & - &-0.27900E-01,-0.22352E-01,-0.16830E-01,-0.11333E-01,-0.58624E-02, & - &-0.41621E-03, 0.50053E-02, 0.10403E-01, 0.15776E-01, 0.21127E-01, & - & 0.26454E-01, 0.31758E-01, 0.37040E-01, 0.42299E-01, 0.47537E-01, & - & 0.52753E-01, 0.57949E-01, 0.63123E-01, 0.68276E-01, 0.73409E-01, & - & 0.78522E-01, 0.83616E-01, 0.88690E-01, 0.93744E-01, 0.98779E-01, & - & 0.10380E+00, 0.10879E+00, 0.11377E+00, 0.11874E+00, 0.12368E+00, & - & 0.12861E+00, 0.13352E+00, 0.13841E+00, 0.14328E+00, 0.14814E+00, & - & 0.15298E+00, 0.15781E+00, 0.16262E+00, 0.16741E+00, 0.17219E+00, & - & 0.17695E+00, 0.18170E+00, 0.18643E+00, 0.19115E+00, 0.19585E+00, & - & 0.20054E+00, 0.20521E+00, 0.20987E+00, 0.21452E+00, 0.21915E+00, & - & 0.22376E+00, 0.22837E+00, 0.23296E+00, 0.23753E+00, 0.24210E+00, & - & 0.24665E+00, 0.25119E+00, 0.25571E+00, 0.26022E+00, 0.26472E+00, & - & 0.26921E+00, 0.27369E+00, 0.27815E+00, 0.28260E+00, 0.28704E+00, & - & 0.29147E+00, 0.29588E+00, 0.30029E+00, 0.30468E+00, 0.30907E+00, & - & 0.31344E+00, 0.31780E+00, 0.32215E+00, 0.32649E+00, 0.33081E+00, & - & 0.33513E+00, 0.33944E+00, 0.34374E+00, 0.34802E+00, 0.35230E+00, & - & 0.35656E+00, 0.36082E+00, 0.36507E+00, 0.36930E+00, 0.37353E+00/ - - DATA (BNC13M(I),I=701,741)/ & - & 0.37775E+00, 0.38196E+00, 0.38616E+00, 0.39035E+00, 0.39453E+00, & - & 0.39870E+00, 0.40286E+00, 0.40701E+00, 0.41116E+00, 0.41529E+00, & - & 0.41942E+00, 0.42354E+00, 0.42764E+00, 0.43175E+00, 0.43584E+00, & - & 0.43992E+00, 0.44400E+00, 0.44807E+00, 0.45213E+00, 0.45618E+00, & - & 0.46022E+00, 0.46426E+00, 0.46828E+00, 0.47230E+00, 0.47632E+00, & - & 0.48032E+00, 0.48432E+00, 0.48831E+00, 0.49229E+00, 0.49626E+00, & - & 0.50023E+00, 0.50419E+00, 0.50814E+00, 0.51209E+00, 0.51603E+00, & - & 0.51996E+00, 0.52388E+00, 0.52780E+00, 0.53171E+00, 0.53562E+00, & - & 0.53951E+00 & - & / - ENDBLOCKDATA KMCF323 diff --git a/src/arome/chem/internals/dust_filter.F90 b/src/arome/chem/internals/dust_filter.F90 deleted file mode 100644 index 05b6439f0545fa1cd7f4838fe6d0dfc9a723f8cd..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/dust_filter.F90 +++ /dev/null @@ -1,66 +0,0 @@ -! ######spl - SUBROUTINE DUST_FILTER(PSV, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! Entry variables: -! -! PRSVS(INOUT) -Array of moments included in PRSVS -! -!************************************************************* -! Exit variables: -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -! -USE MODD_DUST -USE MODD_CSTS_DUST -!! -IMPLICIT NONE - -!! Declarations d'arguments - -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF - -!! Declarations de variables internes - -INTEGER :: JN -INTEGER :: JMODEIDX -REAL, DIMENSION(NMODE_DST*3) :: ZPMIN -REAL, DIMENSION(NMODE_DST) :: ZINIRADIUS -REAL, DIMENSION(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_DST*3) :: ZM ! [aerosol units] local array which goes to output later -REAL, DIMENSION(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3)) :: ZSIGMA !standard deviation - -REAL :: ZRGMIN, ZSIGMIN -REAL :: ZPI, ZRHOP, ZFAC, ZMI -INTEGER,DIMENSION(NMODE_DST) :: NM0, NM3, NM6 - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('DUST_FILTER',0,ZHOOK_HANDLE) -PSV(:,:,:,:) = MAX(PSV(:,:,:,:), 1.E-80) - - -IF (LHOOK) CALL DR_HOOK('DUST_FILTER',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_FILTER diff --git a/src/arome/chem/internals/dust_velgrav.F90 b/src/arome/chem/internals/dust_velgrav.F90 deleted file mode 100644 index f7c87c4e8e85113c3432ed2b5e4604c478c476a3..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/dust_velgrav.F90 +++ /dev/null @@ -1,108 +0,0 @@ -! ######spl - SUBROUTINE DUST_VELGRAV(PSIG, PRG, PTHT, PABST, PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -! Entry variables: -! -! PM(IN) -Array of moments -! -!************************************************************* -! Exit variables: -! -! PFSED(IN) -Array of moment variation due to dry deposition -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! PDPK -Polydisperse diffusivity (m2/s) -! PVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!----------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_DUST -USE MODD_CSTS_DUST -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZTEMP,ZLAMBDA -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZRG,ZLN2S -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZKNG -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3),NMODE_DST) :: ZDPG -! -! -REAL, PARAMETER :: gasmw=28.9644d0 -REAL :: ZK -! -INTEGER :: JI,JJ -! -!----------------------------------------------------------------- -!temperature -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('DUST_VELGRAV',0,ZHOOK_HANDLE) -ZTEMP(:,:,:)=PTHT(:,:,:)*(PABST(:,:,:)/XP00)**(XRD/XCPD) -! -! Sutherland's equation for viscosity -PMU(:,:,:)=1.8325d-5*416.16/(ZTEMP(:,:,:)+120)*(ZTEMP(:,:,:)/296.16)*SQRT(ZTEMP(:,:,:)/296.16) -! -! Mean free path (Seinfeld and Pandis p455) -ZLAMBDA(:,:,:)=PMU(:,:,:)/PRHODREF(:,:,:)*SQRT(1.89d-4*gasmw/ZTEMP(:,:,:))*1.e6 -! -! -DO JI=1,NMODE_DST - ZRG(:,:,:)=PRG(:,:,:,JI) * 1E-6 - ZLN2S(:,:,:)=LOG(PSIG(:,:,:,JI))**2 - ! - ZKNG(:,:,:)=ZLAMBDA(:,:,:) / PRG(:,:,:,JI) - ! - PVGG(:,:,:,JI)= 2.*XG*PRHOP*ZRG(:,:,:)**2 /(9.*PMU(:,:,:)) - ZDPG(:,:,:,JI)=XBOLTZ*ZTEMP(:,:,:)/ (6.*XPI* ZRG(:,:,:)*PMU(:,:,:)) - ! - ! - DO JJ=0,2 - ZK=REAL(3*JJ) - PDPK(:,:,:,3*JI+JJ-2)=ZDPG(:,:,:,JI)*(exp((-2.*ZK+1.)/2.*ZLN2S(:,:,:))+1.246*ZKNG(:,:,:)*& - exp((-4.*ZK+4)/2.*ZLN2S(:,:,:))) - ! - PVGK(:,:,:,3*JI+JJ-2)=PVGG(:,:,:,JI)*& - (exp((4.*ZK+4.)/2.*ZLN2S(:,:,:)) + 1.246*ZKNG(:,:,:)* exp((2.*ZK+1.)/2.*ZLN2S(:,:,:))) - ENDDO - ! -ENDDO -! -! -IF (LHOOK) CALL DR_HOOK('DUST_VELGRAV',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_VELGRAV diff --git a/src/arome/chem/internals/dustlfi_n.F90 b/src/arome/chem/internals/dustlfi_n.F90 deleted file mode 100644 index c3516619cac0fb4c4d38f046ff8037fa3bfda59d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/dustlfi_n.F90 +++ /dev/null @@ -1,179 +0,0 @@ -! ######spl - SUBROUTINE DUSTLFI_n(PSV, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################ -! -!! PURPOSE -!! ------- -!! Realise l'équilibre des moments à partir du sigma et du diametre moyen -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_DUST -USE MODD_NSV -USE MODD_CSTS_DUST -USE MODE_DUST_PSD -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -! -!* 0.2 declarations local variables -! -REAL :: ZDEN2MOL, ZRHOI, ZMI, ZFAC, ZRGMIN -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZCTOTA -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZSIG, ZRG, ZN -INTEGER,DIMENSION(:), ALLOCATABLE :: IM0, IM3, IM6 -REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN -REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS, ZINISIGMA -INTEGER :: IKU -INTEGER :: JJ, JN, JK ! loop counter -INTEGER :: IMODEIDX ! index mode -REAL, PARAMETER :: ZMMR_DUST=5.d-11!kg_{dust}/kg_{air} -REAL :: ZMMR_DUSTN -! -!------------------------------------------------------------------------------- -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ----------------------------------- -! -! 1.1 initialisation -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('DUSTLFI_N',0,ZHOOK_HANDLE) -IKU=SIZE(PSV,3) -! -ALLOCATE (IM0(NMODE_DST)) -ALLOCATE (IM3(NMODE_DST)) -ALLOCATE (IM6(NMODE_DST)) -ALLOCATE (ZCTOTA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_DST)) -ALLOCATE (ZM(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_DST*3)) -ALLOCATE (ZSIGMA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3))) -ALLOCATE (ZSIG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZRG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZN(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZINIRADIUS(NMODE_DST)) -ALLOCATE (ZINISIGMA(NMODE_DST)) -ALLOCATE (ZMMIN(NMODE_DST*3)) -! -! -DO JN = 1, NMODE_DST - IM0(JN) = 1+(JN-1)*3 - IM3(JN) = 2+(JN-1)*3 - IM6(JN) = 3+(JN-1)*3 - ! - !Get the dust mode we are talking about, MODE 2 is treated first, then mode 3, then 1 - !This index is only needed to get the right radius out of the XINIRADIUS array and the - !right XINISIG out of the XINISIG-array - IMODEIDX = JPDUSTORDER(JN) - ! - !Convert initial mass median radius to number median radius - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) - END IF - ZINISIGMA(JN) = XINISIG(IMODEIDX) - ! - ZMMIN(IM0(JN)) = XN0MIN(IMODEIDX) -! ZRGMIN = XCOEFRADMIN * ZINIRADIUS(JN) - ZRGMIN = ZINIRADIUS(JN) - ZMMIN(IM3(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZMMIN(IM6(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**6)*EXP(18. * LOG(ZINISIGMA(JN))**2) -ENDDO -! -! -ZRHOI = XDENSITY_DUST !1.8e3 !++changed alfgr -!ZMI = XMOLARWEIGHT_DUST*1.D3 !100. !++changed alfgr -ZMI = XMOLARWEIGHT_DUST -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -ZFAC=(4./3.)*XPI*ZRHOI*1.e-9 - -! conversion into mol.cm-3 -DO JJ=1,SIZE(PSV,4) - PSV(:,:,:,JJ) = PSV(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -END DO -! -DO JN=1,NMODE_DST - -!* 1.1 calculate moment 0 from XN0MIN -! -! IF (JN == 1) ZMMR_DUSTN = 0.09 * ZMMR_DUST -! IF (JN == 2) ZMMR_DUSTN = 0.45 * ZMMR_DUST -! IF (JN == 3) ZMMR_DUSTN = 0.46 * ZMMR_DUST - IF (JN == 1) ZMMR_DUSTN = 0.40 * ZMMR_DUST - IF (JN == 2) ZMMR_DUSTN = 0.45 * ZMMR_DUST - IF (JN == 3) ZMMR_DUSTN = 0.15 * ZMMR_DUST - DO JK=1,IKU - ZM(:,:,JK,IM0(JN)) = & - ZMMR_DUSTN &![kg_{dust}/kg_{air} - *PRHODREF(:,:,JK) &![kg_{air}/m3_{air}]==> kg/m3 - /XDENSITY_DUST &![kg__{dust}/m3_{dust}==>m3_{dust}/m3{air} - *(6.d0/XPI) & - /(2.d0*ZINIRADIUS(JN)*1.d-6)**3 &![particle/m_dust^{-3}]==> particle/m3 - *EXP(-4.5*(LOG(XINISIG(JPDUSTORDER(JN))))**2) !Take into account distribution - END DO - ZM(:,:,:,IM0(JN)) = MAX(ZMMIN(IM0(JN)), ZM(:,:,:,IM0(JN))) -! -!* 1.2 calculate moment 3 from m0, RG and SIG -! - ZM(:,:,:,IM3(JN)) = ZM(:,:,:,IM0(JN)) * & - (ZINIRADIUS(JN)**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZM(:,:,:,IM3(JN)) = MAX(ZMMIN(IM3(JN)), ZM(:,:,:,IM3(JN))) -! -!* 1.3 calculate moment 6 from m0, RG and SIG -! - ZM(:,:,:,IM6(JN))= ZM(:,:,:,IM0(JN)) * ((ZINIRADIUS(JN)**6)*& - EXP(18. * (LOG(ZINISIGMA(JN)))**2)) - ZM(:,:,:,IM6(JN)) = MAX(ZMMIN(IM6(JN)), ZM(:,:,:,IM6(JN))) -! -!* 1.4 output concentration -! - PSV(:,:,:,1+(JN-1)*3) = ZM(:,:,:,IM0(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)) - PSV(:,:,:,2+(JN-1)*3) = ZM(:,:,:,IM3(JN)) * XMD*XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - - PSV(:,:,:,3+(JN-1)*3) = ZM(:,:,:,IM6(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -! -END DO -CALL PPP2DUST(PSV, PRHODREF, PSIG3D=ZSIG, PRG3D=ZRG, PN3D=ZN) -! -DEALLOCATE(ZMMIN) -DEALLOCATE(ZINISIGMA) -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZM) -DEALLOCATE(ZCTOTA) -DEALLOCATE(IM6) -DEALLOCATE(IM3) -DEALLOCATE(IM0) -! -! -IF (LHOOK) CALL DR_HOOK('DUSTLFI_N',1,ZHOOK_HANDLE) -END SUBROUTINE DUSTLFI_n diff --git a/src/arome/chem/internals/eqsam_v03d_sub.F90 b/src/arome/chem/internals/eqsam_v03d_sub.F90 deleted file mode 100644 index 5cbd668e137d2060c1d15765a57888dc18788b1e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/eqsam_v03d_sub.F90 +++ /dev/null @@ -1,691 +0,0 @@ -! ######spl -subroutine eqsam_v03d_sub(yi,yo,nca,nco,iopt,loop,imax) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! -implicit none -!___________________________________________________________________________________________________________________________________ -! Written by Swen Metzger 3/11/99. Modified 2002, 2003. -! -! Department of Atmospheric Chemistry, Max-Planck-Institute for Chemistry. -! email: metzger@mpch-mainz.mpg.de -! http://www.mpch-mainz.mpg.de/~metzger -! -! COPYRIGHT 1999-2003 -! -! purpose -! ------- -! EQSAM (EQuilibrium Simplified Aerosol Model) is a new and computationally efficient thermodynamic -! aerosol composition model that allows to calculate the gas/aerosol equilibrium partitioning, -! including aerosol water, sufficiently fast and accurate for global (or even regional) modeling. -! EQSAM is based on a number of parameterizations, including single solute molalities and activity -! coefficients (AC). The thermodynamic framework (domains and subdomains, internally mixed aerosols) -! is the same as of more sophisticated thermodynamic equilibrium models (EQMs), e.g. of ISORROPIA -! (Nenes et al., 1998). Details are given in the references below (and the references therein). -! -! The main assumption on which EQSAM/EQMs are based is thermodynamical and chemical equilibrium. -! From this assumption it directly follows that the aerosol water activity (aw) equals the ambient -! relative humidity (RH), if the water vapor pressure is sufficiently larger than the partial vapor -! pressure of the aerosol compounds. This is approximately true for tropospheric aerosols. Given the -! large amount of water vapor present, water vapor and aerosol water equilibrate relatively faster -! compared to all other aerosol compounds. This is subsequently also true for single aerosol compounds. -! The water activity of single solutes must also equal RH under this assumption. Therefore, the so -! called ZSR-relation is (and can be) used to calculate the aerosol associated water mass (simply -! from the sum of all water mass fractions that are derived from measured single solute molalities). -! -! In contrast to other EQMs, EQSAM utilizes the fact that the RH fixes the water activity -! (under the above assumptions) and the consequence that any changes in RH also causes changes in -! the aerosol water mass and, hence, aerosol activity (including activity coefficients). Thus, an decrease -! (increase) in RH decrease (increases) the aerosol water mass (and water activity). This can change the -! aerosol composition, e.g. due to condensation (evaporation/crystallization), because the vapor pressure -! above the aerosol reduces (increases). In turn, a vapor pressure reduction (increase) due to changes -! in the aerosol composition is compensated by an associated condensation (evaporation) of water vapor -! to maintain the aerosol molality to remain constant (because aw=RH). Furthermore, the aerosol water -! mainly depends on the aerosol mass and the type of solute, so that parameterizations of single solute -! molalities and activity coefficients can be defined, only depending on the type of solute and RH. -! The advantage of using such parameterizations is that the entire aerosol equilibrium composition -! can be solved analytically, i.e. non-iteratively, which considerably reduces the amount of CPU time -! that is usually need for aerosol thermodynamic calculations (especially if an EQM is incorporated in -! an aerosol dynamical model that is in turn embedded in a high resolution regional or global model). -! -! However, EQSAM should still be regarded as a starting point for further developments. There is still -! room for improvements. For instance, this code is not yet numerically optimized (vectorized) and a -! number of improvements with respect to an explicit treatment of additional equilibrium reactions, -! missing (or only implicit) dissociation, and a basic parameterization of the water uptake. -! -! Note that EQSAM was originally developed to calculate the gas/aerosol equilibrium partitioning of the -! ammonium-sulfate-nitrate-water system for climate models, excluding solid compounds. -! This version (eqsam_v03d.f90) is extended with respect to sea salt. Solids/hysteresis are treated in a -! simplified manner. Results of a box model comparison with ISORROPIA will be available from the web page. -! Please also note that the water uptake is based on additional (unpublished) parameterizations for single -! solute molalities, which are derived from tabulated measurements used in ISORROPIA. Note further that -! this extended version (eqsam_v03d.f90) is not yet published. A publication is in progress. -! -! ToDo: -! Split ion-pairs into ions for water parameterizations (since info is actually available) -! Include uptake/dissociation of NH3, HNO3, HCl (mainly to get pH right at near neutral conditions) -! Extension to K+,Ca++,Mg++, CO2/(CO3)2--/HCO3-,SOA,etc.. (maybe not) -! Vectorization. Translation of hardcoded formulas in array syntax. -! I/O Interface and program structure clean up. -! EQSAM info webpage. -! -! Version History: -! -! eqsam_v03d.f90 (MPI-CH, June 2003): -! - gama parameterizations now according to Metzger 2002 (JGR Appendix) -! - improved pH calculations (still restricted to strong acids) -! - removed bug that lead to too high nitrate formation at dry and cold regions (UT/LS) -! - removed bug in solid/hysteresis calculations -! (both bugs introduced in eqsam_v03b.f90 by cleaning up eqsam_v02a.f90) -! -! eqsam_v03c.f90 (MPI-CH, April 2003): -! - more accurate paramterizations of single solute molalities (Na, Cl species) -! - cleanded up RHD subdomain structure -! - improved water uptake (Na, Cl species) -! -! eqsam_v03b.f90 (MPI-CH, March 2003): -! System extended to HCl,Cl-/Na+. -! Parameterization (fit) of additional HNO3 uptake removed. -! Instead, complete analytical solution of equilibrium reactions, based on the AC-RH relationship. -! eqsam_v03.f90 (IMAU, October 1999): -! Test version (included in TM3). -! eqsam_v02a.f90 (IMAU, April 2000): -! Box model version. -! eqsam_v02.f90 (IMAU, October 1999): -! TM3 version. -! Version including solids and additional HNO3 uptake on acidic aerosols (parameterized). -! eqsam_v01b.f90 (MPI-CH, January 2003): -! Same as eqsam_v01a.f90 (additional lines though uncommented for test purposes only). -! eqsam_v01a.f90 (IMAU, April 2000): -! Box model version. -! eqsam_v01.f90 (IMAU, October 1999): -! TM3 version. -! First and most basic version (without solids) for better vectorization (for global modeling). -! System: NH3,NH4+/H2SO4+,HSO4-,SO4--/HNO3,NO3-, H2O -! based on equilibrium / internal mixture assumption / aw=rh / ZSR-relation -! parameterization of activcity coefficients (AC), i.e. an AC-RH relationship -! -! -! interface -! --------- -! call eqsam_v03d(yi,yo,nca,nco,iopt,loop,imax) -! -! yi = input array (imax, nca) -! yo = output array (imax, nco) -! imax = max loop (e.g. time steps) -! nca >= 11 -! nc0 >= 35 -! iopt = 1 metastable -! iopt = 2 solids -! iopt = 3 hysteresis (metastable/solids) for online calculations -! iopt = 31 hysteresis lower branch -! iopt = 32 hysteresis upper branch -! -! method -! ------ -! equilibrium / internal mixture assumption / aw=rh -! System: NH3,NH4+/H2SO4+,HSO4-,SO4--/HNO3,NO3-, HCl,Cl-/Na+, H2O -! (K+,Ca++,Mg++) -! external -! -------- -! program eqmd.f90 (driver only needed for the box model version) -! subroutine gribio.f90 (provides diagnostics output in grib/binary/ascii format) -! -! references -! --------- -! Swen Metzger Ph.D Thesis, University Utrecht, 2000. -! http://www.library.uu.nl/digiarchief/dip/diss/1930853/inhoud.htm -! -! Metzger, S. M., F. J. Dentener, J. Lelieveld, and S. N. Pandis, -! GAS/AEROSOL PARTITIONING I: A COMPUTATIONALLY EFFICIENT MODEL, -! J Geophys. Res., 107, D16, 10.1029/2001JD001102, 2002 -! http://www.agu.org/journals/jd/jd0216/2001JD001102/index.html -! Metzger, S. M., F. J. Dentener, A. Jeuken, and M. Krol, J. Lelieveld, -! GAS/AEROSOL PARTITIONING II: GLOBAL MODELING RESULTS, -! J Geophys. Res., 107, D16, 10.1029/2001JD001103, 2002. -! http://www.agu.org/journals/jd/jd0216/2001JD001103/index.html -!___________________________________________________________________________________________________________________________________ -real,parameter :: RH_HIST_DW=1.50 ! mean value for mixture of wet (2) and dry (1) gridboxes (needed for HYSTERESIS) -real,parameter :: T0=298.15,T1=298.0,AVO=6.03e23,R=82.0567e-6, & ! in cu.m*atm/deg/mole - r_kcal = 1.986E-3 ! Ideal gas constant [kcal K-1.mole-1] -real,parameter :: RHMAX=0.99,RHMIN=0.0001 ! restrict to max / min RH -real,parameter :: MWNH4=18.,MWSO4=96.,MWNO3=62.,MWCl=35.5 ! mole mass of species considered -real,parameter :: MWNa=23.0,MWCa=40.1,MWN=14.0, MWS=32.1 -real,parameter :: MWH20=55.51*18.01,ZERO=0.0 -real,parameter :: GF1=0.25,GF2=0.50,GF3=0.40,GF4=1.00,K=2. ! exponents of AC-RH functions -!______________________________________________ -integer,parameter :: NPAIR=10 -! -integer :: ii,il,IHYST -integer,intent(in) :: nca,nco,imax,loop -integer,intent(inout) :: iopt -!______________________________________________ -real :: T0T,TT,RH,PX,RHD,KAN,KAC,ZIONIC,RH_HIST,GAMA,GG,GF,GFN -real :: X00,X01,X02,X03,X04,X05,X08,X09,X10,X11 -real :: X0,X1,X2,X3,X4,X5,X6,XK10,XK6 -real :: ZFLAG,ZKAN,ZKAC,PH,COEF,HPLUS,AKW,XKW,MOLAL -real :: TNH4,TSO4,TNO3,TNa,TCl,TPo,TCa,TMg -real :: PNH4,PSO4,PNO3,PCl,PNa,GNO3,GNH3,GSO4,GHCl -real :: ASO4,ANO3,ANH4,ACl,ANa,SNH4,SSO4,SNO3,SCl,SNa -real :: WH2O,PM,PMs,PMt,RINC,DON,RATIONS,GR,NO3P,NH4P -!_______________________________________________ -!real,dimension(imax,nca),intent(in) :: yi -!real,dimension(imax,nco),intent(out) :: yo -real,dimension(:,:),intent(in) :: yi -real,dimension(:,:),intent(inout) :: yo -real,dimension(8) :: w1,w2 -real,dimension(8) :: RHDA,RHDE,RHDX,RHDZ ! RHD / MRHD arrays for different aerosol types -real,dimension(NPAIR) :: M0,MW,NW,ZW ! arrays of ion pairs -! -! salt solutes: -! 1 = NACl, 2 = (NA)2SO4, 3 = NANO3, 4 = (NH4)2SO4, 5 = NH4NO3, 6 = NH4CL, 7 = 2H-SO4 -! 8 = NH4HSO4, 9 = NAHSO4, 10 = (NH4)3H(SO4)2 -! -DATA MW(1:NPAIR)/ 58.5, 142.0, 88.0, 132.0, 80.0, 53.5, 98.0, 115.0, 120.0, 247.0/ ! mole mass of the salt solute -DATA NW(1:NPAIR)/ 2.0, 2.5, 2.5, 2.5, 3.5, 1.0, 4.5, 2.0, 2.0, 2.5/ ! square of max. dissocation number (not consistent) -DATA ZW(1:NPAIR)/ 0.67, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 1.0, 1.0, 1.0/ ! exponents of water activity functions -! -DATA RHDA(1:8)/0.32840, 0.4906, 0.6183, 0.7997, 0.67500, 0.5000, 0.4000, 0.0000/ ! RHD / MRHD values as of ISORROPIA / SCAPE (T=298.15K) -DATA RHDE(1:8)/-1860.0, -431.0, 852.00, 80.000, 262.000, 3951.0, 384.00, 0.0000/ ! Temp. coeff. -!___________________________________________________________________________________________________________________________________ -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('EQSAM_V03D_SUB',0,ZHOOK_HANDLE) -IHYST=2 -IF(IOPT.EQ.31) THEN ! SOLID HYSTORY - IHYST=1 - IOPT=3 -ELSEIF(IOPT.EQ.32) THEN ! WET HISTORY - IHYST=2 - IOPT=3 -ENDIF -!print*,' EQuilibrium Simplified Aerosol Model (EQSAM)' -!print*,' for global modeling ' -!print*,' by ' -!print*,' Swen Metzger, MPI-CH ' -!print*,' Copyright 1999-2003 ' -!print*,' >> metzger@mpch-mainz.mpg.de << ' -!print*,' last change: 04. June, 2003 ' -!print*,' (version 3.0d) ' -!print*,' gas/aerosol calculations assuming ' -!print*,' System: NH3,NH4+/H2SO4+,HSO4-,SO4-- ' -!print*,' HNO3,NO3-, HCl,Cl-/Na+, H2O ' -!if(iopt.eq.1) then -!print*,' metastable aeorsols ' -!elseif(iopt.eq.2) then -!print*,' solid aeorsols ' -!elseif(iopt.eq.3) then -!print*,' hysteresis ' -!print*,' (metastable/solids) ' -!if(IHYST.eq.1) then -!print*,' solid hystory ' -!elseif(IHYST.eq.2) then -!print*,' wet hystory ' -!endif -!endif -!print*,' ' -!print*,'loop over ',loop,' data sets' -!print*,' ' -!___________________________________________________________________________________________________________________________________ -yo=0.;w1=0.;w2=0. ! init/reset -!___________________________________________________________________________________________________________________________________ -do il=1,loop - -! get old relative humidity to calculate aerosol hysteresis (online only) - - RH_HIST = 2. ! WET HISTORY (DEFAULT) - IF(IHYST.EQ.1.OR.IOPT.EQ.2) RH_HIST = 1. ! SET TO SOLIDS - -! meteorology - TT = yi(il,1) ! T [K] - RH = yi(il,2) ! RH [0-1] - PX = yi(il,11) ! p [hPa] -! -! gas+aerosol: - w1(1) = yi(il,6) ! Na+ (ss + xsod) (a) [umol/m^3 air] - w1(2) = yi(il,4) ! H2SO4 + SO4-- (p) [umol/m^3 air] - w1(3) = yi(il,3) ! NH3 (g) + NH4+ (p) [umol/m^3 air] - w1(4) = yi(il,5) ! HNO3 (g) + NO3- (p) [umol/m^3 air] - w1(5) = yi(il,7) ! HCl (g) + Cl- (p) [umol/m^3 air] - w1(6) = yi(il, 8) ! K+ (p) from Dust [umol/m^3 air] - w1(7) = yi(il, 9) ! Ca++ (p) from Dust [umol/m^3 air] - w1(8) = yi(il,10) ! Mg++ (p) from Dust [umol/m^3 air] -!______________________________________________ - - zflag=1. - - w1=w1*1.0e-6 ! [mol/m^3 air] - - TNa = w1(1) ! total input sodium (g+p) - TSO4 = w1(2) ! total input sulfate (g+p) - TNH4 = w1(3) ! total input ammonium (g+p) - TNO3 = w1(4) ! total input nitrate (g+p) - TCl = w1(5) ! total input chloride (g+p) - TPo = w1(6) ! total input potasium (g+p) - TCa = w1(7) ! total input calcium (g+p) - TMg = w1(8) ! total input magnesium(g+p) - -! SULFATE RICH - - if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).le.(2.*w1(2))) then - zflag=3. - endif - -! SULFATE VERY RICH CASE if (NH4+Na+K+2(Ca+Mg))/SO4 < 1 - - if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).le.w1(2)) then - zflag=4. - endif - -! SULFATE NEUTRAL CASE - - if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).gt.(2.*w1(2))) then - zflag=2. - endif - -! SULFATE POOR AND CATION POOR CASE - - if((w1(1)+w1(6)+2.*(w1(7)+w1(8))).gt.(2.*w1(2))) then - zflag=1. - endif - - IF ( RH .LT. RHMIN ) RH=RHMIN - IF ( RH .GT. RHMAX ) RH=RHMAX - -! CALCULATE TEMPERATURE DEPENDENCY FOR SOME RHDs - - RHDX(:)=RHDA(:)*exp(RHDE(:)*(1./TT-1./T0)) - RHDZ(:)=RHDX(:) - -! ACCOUNT FOR VARIOUS AMMOMIUM/SODIUM SULFATE SALTS ACCORDING TO MEAN VALUE AS OF ISORROPIA - - GG=2.0 ! (Na)2SO4 / (NH4)2SO4 IS THE PREFFERED SPECIES FOR SULFATE DEFICIENT CASES - IF(ZFLAG.EQ.3.) THEN - IF(RH.LE.RHDZ(7)) THEN ! ACCOUNT FOR MIXTURE OF (NH4)2SO4(s) & NH4HSO4(s) & (NH4)3H(SO4)2(s) - GG=1.677 ! (Na)2SO4 & NaHSO4 -! GG=1.5 - ELSEIF(RH.GT.RHDZ(7).AND.RH.LE.RHDZ(5)) THEN ! MAINLY (Na)2SO4 / (NH4)2SO4(s) & (NH4)3H(SO4)2(s) - GG=1.75 -! GG=1.5 - ELSEIF(RH.GE.RHDZ(5)) THEN ! (NH4)2SO4(S) & NH4HSO4(S) & SO4-- & HSO4- - GG=1.5 ! (Na)2SO4 & NaHSO4 - ENDIF - ENDIF - IF(ZFLAG.EQ.4.) GG=1.0 ! IF SO4 NEUTRALIZED, THEN ONLY AS NaHSO4 / NH4HSO4(S) OR HSO4- / H2SO4 - - RHD=RH - IF(IOPT.EQ.2.OR.RH_HIST.LT.RH_HIST_DW) THEN ! GET RHD FOR SOLIDS / HYSTERESIS -! -! GET LOWEST DELIQUESCENCE RELATIVE HUMIDITIES ACCORDING TO THE CONCENTRATION DOMAIN (APROXIMATION) -! BASED ON RHD / MRHD ISORROPIA/SCAPE -! - w2(:)=1. - do ii=1,8 - if(w1(ii).le.1.e-12) w2(ii)=0. ! skip compound in RHD calculation if value is concentration is zero or rather small - enddo - -! GET LOWEST RHD ACCORDING TO THE CONCENTRATION DOMAIN - -! zflag=1. (cation rich) ... -! 1. sea salt aerosol : RHDX(1)=MgCl2 -! 2. mineral dust aerosol : RHDX(2)=Ca(NO3)2 -! -! zflag=2. (sulfate neutral) ... -! 3. ammonium + nitrate : RHDX(3)= NH4NO3 -! 4. ammonium + sulfate : RHDX(4)=(NH4)2SO4 -! 5. ammonium + sulfate mixed salt : RHDX(5)=(NH4)3H(SO4)2, (NH4)2SO4 -! 6. ammonium + nitrate + sulfate : RHDX(6)=(NH4)2SO4, NH4NO3, NA2SO4, NH4CL -! -! zflag=3. (sulfate poor) ... -! 7. ammonium + sulfate (1:1,1.5) : RHDX(7)= NH4HSO4 -! -! zflag=4. (sulfate very poor) ... -! 8. sulfuric acid : RHDX(8)= H2SO4 - - IF(ZFLAG.EQ.1.)THEN - - RHD=W2(1)+W2(5) ! Na+ dependency - IF(RHD.EQ.0.) RHDX(1)=1. - RHD=W2(6)+W2(7)+W2(8) ! K+/Ca++/Mg++ dependency (incl. ss) - IF(RHD.EQ.0.) RHDX(2)=1. - - RHD=MINVAL(RHDX(1:2)) - - ELSEIF(ZFLAG.EQ.2.)THEN - - RHD=W2(3)*W2(4) ! NH4+ & NO3- dependency - IF(RHD.EQ.0.) RHDX(3)=1. - RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency - IF(GG.NE.2.) RHD=0. ! account only for pure (NH4)2SO4 - IF(RHD.EQ.0.) RHDX(4)=1. - RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency - IF(RHD.EQ.0.) RHDX(5)=1. - RHD=W2(2)+W2(3)+W2(4)+W2(5) ! (NH4)2SO4, NH4NO3, NA2SO4, NH4CL dependency - IF(RHD.EQ.0.) RHDX(6)=1. - -! RHD=MINVAL(RHDX(3:4)) - RHD=MINVAL(RHDX(3:6)) - - ELSEIF(ZFLAG.EQ.3.)THEN - - RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency - IF(RHD.EQ.0.) RHDX(7)=1. - RHD=RHDX(7) - - ELSEIF(ZFLAG.EQ.4.)THEN - - RHD=W2(2) ! H2SO4 dependency (assume no dry aerosol) - IF(RHD.EQ.0.) RHDX(8)=1. - - RHD=RHDX(8) - - ENDIF ! ZFLAG - ENDIF ! SOLIDS - -! GET WATER ACTIVITIES ACCORDING TO METZGER, 2000. -! FUNCTION DERIVED FROM ZSR RELATIONSHIP DATA (AS USED IN ISORROPIA) - - M0(:) = ((NW(:)*MWH20/MW(:)*(1./RH-1.)))**ZW(:) - -! CALCULATE TEMPERATURE DEPENDENT EQUILIBRIUM CONSTANTS - - T0T=T0/TT - COEF=1.0+LOG(T0T)-T0T - -! EQUILIBRIUM CONSTANT NH4NO3(s) <==> NH3(g) + HNO3(g) [atm^2] (ISORROPIA) - - XK10 = 5.746e-17 - XK10= XK10 * EXP(-74.38*(T0T-1.0) + 6.120*COEF) - KAN = XK10/(R*TT)/(R*TT) - -! EQUILIBRIUM CONSTANT NH4CL(s) <==> NH3(g) + HCL(g) [atm^2] (ISORROPIA) - - XK6 = 1.086e-16 - XK6 = XK6 * EXP(-71.00*(T0T-1.0) + 2.400*COEF) - KAC = XK6/(R*TT)/(R*TT) - -! -! CALCULATE AUTODISSOCIATION CONSTANT (KW) FOR WATER H2O <==> H(aq) + OH(aq) [mol^2/kg^2] (ISORROPIA) - - XKW = 1.010e-14 - XKW = XKW *EXP(-22.52*(T0T-1.0) + 26.920*COEF) - -! GET MEAN MOLAL IONIC ACTIVITY COEFF ACCORDING TO METZGER, 2002. - - GAMA=0.0 - IF(RH.GE.RHD) GAMA=(RH**ZFLAG/(1000./ZFLAG*(1.-RH)+ZFLAG)) - GAMA = GAMA**GF1 ! ONLY GAMA TYPE OF NH4NO3, NaCl, etc. NEEDED SO FAR - - GAMA=0.0 - GFN=K*K ! K=2, i.e. condensation of 2 water molecules per 1 mole ion pair - GF=GFN*GF1 ! = GFN[=Nw=4] * GF1[=(1*1^1+1*1^1)/2/Nw=1/4] = 1 - ! ONLY GAMA TYPE OF NH4NO3, NH4Cl, etc. needed so far - - IF(RH.GE.RHD) GAMA=RH**GF/((GFN*MWH20*(1./RH-1.)))**GF1 - - GAMA = min(GAMA,1.0) ! FOCUS ON 0-1 SCALE - GAMA = max(GAMA,0.0) - GAMA = (1.-GAMA)**K ! transplate into aqueous phase equillibrium and account for - ! enhanced uptake of aerosol precursor gases with increasing RH - ! (to match the results of ISORROPIA) - - -! CALCULATE RHD DEPENDENT EQ: IF RH < RHD => NH4NO3(s) <==> NH3 (g) + HNO3(g) (ISORROPIA) -! IF RH >> RHD => HNO3 (g) -> NO3 (aq) - - X00 = MAX(ZERO,MIN(TNa,GG*TSO4)) ! MAX SODIUM SULFATE - X0 = MAX(ZERO,MIN(TNH4,GG*TSO4-X00)) ! MAX AMMOMIUM SULFATE - X01 = MAX(ZERO,MIN(TNa-X00, TNO3)) ! MAX SODIUM NITRATE - X1 = MAX(ZERO,MIN(TNH4-X0,TNO3-X01)) ! MAX AMMOMIUM NITRATE -! - X02 = MAX(ZERO,MIN(TNa-X01-X00,TCl)) ! MAX SODIUM CHLORIDE - X03 = MAX(ZERO,MIN(TNH4-X0-X1,TCl-X02))! MAX AMMOMIUM CHLORIDE - - X2 = MAX(TNH4-X1-X0-X03,ZERO) ! INTERIM RESIDUAL NH3 - X3 = MAX(TNO3-X1-X01,ZERO) ! INTERIM RESIDUAL HNO3 - X04 = MAX(TSO4-(X0+X00)/GG,ZERO) ! INTERIM RESIDUAL H2SO4 - X05 = MAX(TCl-X03-X02,ZERO) ! INTERIM RESIDUAL HCl -! X06 = MAX(TNa-X02-X01-X00,ZERO) ! INTERIM RESIDUAL Na (should be zero for electro-neutrality in input data) -! - ZKAN=2. - IF(RH.GE.RHD) ZKAN=ZKAN*GAMA - - X4 = X2 + X3 - X5 = SQRT(X4*X4+KAN*ZKAN*ZKAN) - X6 = 0.5*(-X4+X5) - X6 = MIN(X1,X6) - - GHCl = X05 ! INTERIM RESIDUAl HCl - GNH3 = X2 + X6 ! INTERIM RESIDUAl NH3 - GNO3 = X3 + X6 ! RESIDUAl HNO3 - GSO4 = X04 ! RESIDUAl H2SO4 - PNa = X02 + X01 + X00 ! RESIDUAl Na (neutralized) - - ZKAC=2. - IF(RH.GE.RHD) ZKAC=ZKAC*GAMA - - X08 = GNH3 + GHCl - X09 = SQRT(X08*X08+KAC*ZKAC*ZKAC) - X10 = 0.5*(-X08+X09) - X11 = MIN(X03,X10) - - GHCl = GHCl + X11 ! RESIDUAL HCl - GNH3 = GNH3 + X11 ! RESIDUAL NH3 - -! GO SAVE ... - - IF(GHCl.LT.0.) GHCl=0. - IF(GSO4.LT.0.) GSO4=0. - IF(GNH3.LT.0.) GNH3=0. - IF(GNO3.LT.0.) GNO3=0. - IF(PNa.LT.0.) PNa=0. - IF(GSO4.GT.TSO4) GSO4=TSO4 - IF(GNH3.GT.TNH4) GNH3=TNH4 - IF(GNO3.GT.TNO3) GNO3=TNO3 - IF(GHCl.GT.TCl) GHCl=TCl - IF(PNa.GT.TNa) PNa=TNa -! IF(PNa.LT.TNa) print*,il,' PNa.LT.TNa => no electro-neutrality in input data! ',PNa,TNa - - -! DEFINE AQUEOUSE PHASE (NO SOLID NH4NO3 IF NO3/SO4>1, TEN BRINK, ET AL., 1996, ATMOS ENV, 24, 4251-4261) - -! IF(TSO4.EQ.ZERO.AND.TNO3.GT.ZERO.OR.TNO3/TSO4.GE.1.) RHD=RH - -! IF(IOPT.EQ.2.AND.RH.LT.RHD.OR.IOPT.EQ.2.AND.RH_HIST.LT.RH_HIST_DW) THEN ! SOLIDS / HYSTERESIS - IF(RH_HIST.EQ.1.AND.RH.LT.RHD) THEN ! SOLIDS / HYSTERESIS - - ! EVERYTHING DRY, ONLY H2SO4 (GSO4) REMAINS IN THE AQUEOUSE PHASE - - ANH4 = 0. - ASO4 = 0. - ANO3 = 0. - ACl = 0. - ANa = 0. - - ELSE ! SUPERSATURATED SOLUTIONS NO SOLID FORMATION - - ASO4 = TSO4 - GSO4 - ANH4 = TNH4 - GNH3 - ANO3 = TNO3 - GNO3 - ACl = TCl - GHCl - ANa = PNa - - ENDIF ! SOLIDS / HYSTERESIS - -! CALCULATE AEROSOL WATER [kg/m^3(air)] -! -! salt solutes: -! 1 = NACl, 2 = (NA)2SO4, 3 = NANO3, 4 = (NH4)2SO4, 5 = NH4NO3, 6 = NH4CL, 7 = 2H-SO4 -! 8 = NH4HSO4, 9 = NAHSO4, 10 = (NH4)3H(SO4)2 -! - IF(ZFLAG.EQ.1.) WH2O = ASO4/M0( 2) + ANO3/M0(3) + ACl/M0(6) !sulfate poor - IF(ZFLAG.EQ.2.) WH2O = ASO4/M0( 9) + ANO3/M0(5) + ACl/M0(6) !sulfate neutral - IF(ZFLAG.EQ.3.) WH2O = ASO4/M0( 8) + ANO3/M0(5) + ACl/M0(6) !sulfate rich - IF(ZFLAG.EQ.4.) WH2O = ASO4/M0( 8) + GSO4/M0(7) !sulfate very rich - -! CALCULATE AQUEOUS PHASE PROPERTIES - -! PH = 9999. - PH = 7. - MOLAL = 0. - HPLUS = 0. - ZIONIC= 0. - - IF(WH2O.GT.0.) THEN - - ! CALCULATE AUTODISSOCIATION CONSTANT (KW) FOR WATER - - AKW=XKW*RH*WH2O*WH2O ! H2O <==> H+ + OH- with kw [mol^2/kg^2] - AKW=AKW**0.5 ! [OH-] = [H+] [mol] - - ! Calculate hydrogen molality [mol/kg], i.e. H+ of the ions: - ! Na+, NH4+, NO3-, Cl-, SO4--, HH-SO4- [mol/kg(water)] - ! with [OH-] = kw/[H+] - - HPLUS = (-ANa/WH2O-ANH4/WH2O+ANO3/WH2O+ACl/WH2O+GG*ASO4/WH2O+GG*GSO4/WH2O+ & - SQRT(( ANa/WH2O+ANH4/WH2O-ANO3/WH2O-ACl/WH2O-GG*ASO4/WH2O-GG*GSO4/WH2O)**2+XKW/AKW*WH2O))/2. - - ! Calculate pH - - !PH=-ALOG10(HPLUS) ! aerosol pH - !++alfgr changed to - !UPG - IF(HPLUS.GT.0.) THEN - PH=1.d0*log10(HPLUS) - END IF - - !UPG - - ! Calculate ionic strength [mol/kg] - - ZIONIC=0.5*(ANa+ANH4+ANO3+ACl+ASO4*GG*GG+GSO4*GG*GG+XKW/AKW*WH2O*WH2O) - ZIONIC=ZIONIC/WH2O ! ionic strength [mol/kg] -! ZIONIC=min(ZIONIC,200.0) ! limit for output -! ZIONIC=max(ZIONIC,0.0) - - ENDIF ! AQUEOUS PHASE -! -!------------------------------------------------------- -! calculate diagnostic output consistent with other EQMs ... -! - ASO4 = ASO4 + GSO4 ! assuming H2SO4 remains aqueous - - TNa = TNa * 1.e6 ! total input sodium (g+p) [umol/m^3] - TSO4 = TSO4 * 1.e6 ! total input sulfate (g+p) [umol/m^3] - TNH4 = TNH4 * 1.e6 ! total input ammonium (g+p) [umol/m^3] - TNO3 = TNO3 * 1.e6 ! total input nitrate (g+p) [umol/m^3] - TCl = TCl * 1.e6 ! total input chloride (g+p) [umol/m^3] - TPo = TPo * 1.e6 ! total input potasium (g+p) [umol/m^3] - TCa = TCa * 1.e6 ! total input calcium (g+p) [umol/m^3] - TMg = TMg * 1.e6 ! total input magnesium(g+p) [umol/m^3] -! -! residual gas: - GNH3 = GNH3 * 1.e6 ! residual NH3 - GSO4 = GSO4 * 1.e6 ! residual H2SO4 - GNO3 = GNO3 * 1.e6 ! residual HNO3 - GHCl = GHCl * 1.e6 ! residual HCl - -! total particulate matter (neutralized) - PNH4=TNH4-GNH3 ! particulate ammonium [umol/m^3] - PNO3=TNO3-GNO3 ! particulate nitrate [umol/m^3] - PCl =TCl -GHCl ! particulate chloride [umol/m^3] - PNa =TNa ! particulate sodium [umol/m^3] - PSO4=TSO4 ! particulate sulfate [umol/m^3] - -! liquid matter - ASO4 = ASO4 * 1.e6 ! aqueous phase sulfate [umol/m^3] - ANH4 = ANH4 * 1.e6 ! aqueous phase ammonium [umol/m^3] - ANO3 = ANO3 * 1.e6 ! aqueous phase nitrate [umol/m^3] - ACl = ACl * 1.e6 ! aqueous phase chloride [umol/m^3] - ANa = ANa * 1.e6 ! aqueous phase sodium [umol/m^3] - -! solid matter - SNH4=PNH4-ANH4 ! solid phase ammonium [umol/m^3] - SSO4=PSO4-ASO4 ! solid phase sulfate [umol/m^3] - SNO3=PNO3-ANO3 ! solid phase nitrate [umol/m^3] - SCl =PCl -ACl ! solid phase chloride [umol/m^3] - SNa =PNa -ANa ! solid phase sodium [umol/m^3] - -! GO SAVE ... - - IF(SNH4.LT.0.) SNH4=0. - IF(SSO4.LT.0.) SSO4=0. - IF(SNO3.LT.0.) SNO3=0. - IF(SCl.LT.0.) SCl=0. - IF(SNa.LT.0.) SNa=0. - - PM=SNH4+SSO4+SNO3+SNH4+SCl+SNa+ANH4+ASO4+ANO3+ACl+ANa ! total PM [umol/m^3] - PMs=SNH4*MWNH4+SSO4*MWSO4+SNO3*MWNO3+SCl*MWCl+SNa*MWNa ! dry particulate matter (PM) [ug/m^3] - PMt=PMs+ANH4*MWNH4+ASO4*MWSO4+ANO3*MWNO3+ACl*MWCl+ & - ANa*MWNa ! total (dry + wet) PM, excl. H20 [ug/m^3] - - WH2O = WH2O * 1.e9 ! convert aerosol water from [kg/m^3] to [ug/m^3] - IF(WH2O.LT.1.e-3) WH2O=0. - -! UPDATE HISTORY RH FOR HYSTERESIS (ONLINE CALCULATIONS ONLY) - - RH_HIST=2. ! wet - IF(WH2O.EQ.0.) RH_HIST=1. ! dry - - RINC = 1. - IF(PMt.GT.0.) RINC = (WH2O/PMt+1)**(1./3.) ! approx. radius increase due to water uptake - IF(RINC.EQ.0.) RINC = 1. - - RATIONS = 0. - IF(PSO4.GT.0.) RATIONS = PNO3/PSO4 ! nitrate / sulfate mol ratio - - GR = 0. - IF(GNO3.GT.0.) GR = GNH3/GNO3 ! gas ratio = residual NH3 / residual HNO3 [-] - - DON = 0. - IF((PNO3+2.*PSO4).GT.0.) DON = 100.*PNH4/(PNO3+2.*PSO4)! degree of neutralization by ammonia : ammonium / total nitrate + sulfate [%] - - NO3P = 0. - IF(TNO3.GT.0.) NO3P = 100.*PNO3/TNO3 ! nitrate partitioning = nitrate / total nitrate [%] - - NH4P = 0. - IF(TNH4.GT.0.) NH4P = 100.*PNH4/TNH4 ! ammonium partitioning = ammonium / total ammonium [%] -! -! store aerosol species for diagnostic output: -!______________________________________________________________ -! Input values: - yo(il, 1) = TT - 273.15 ! T [degC] - yo(il, 2) = RH * 100.00 ! RH [%] - yo(il, 3) = TNH4 ! total input ammonium (g+p) [umol/m^3] - yo(il, 4) = TSO4 ! total input sulfate (g+p) [umol/m^3] - yo(il, 5) = TNO3 ! total input nitrate (g+p) [umol/m^3] - yo(il, 6) = TNa ! total input sodium (p) [umol/m^3] - yo(il,33) = TCl ! total input chloride (g+p) [umol/m^3] - yo(il, 7) = TPo ! total input potasium (p) [umol/m^3] - yo(il,34) = TCa ! total input calcium (p) [umol/m^3] - yo(il,35) = TMg ! total input magnesium(p) [umol/m^3] - yo(il,25) = PX ! atmospheric pressure [hPa] -! Output values: - yo(il, 8) = GHCL ! residual HCl (g) [umol/m^3] - yo(il, 9) = GNO3 ! residual HNO3 (g) [umol/m^3] - yo(il,10) = GNH3 ! residual NH3 (g) [umol/m^3] - yo(il,11) = GSO4 ! residual H2SO4 (aq) [umol/m^3] - yo(il,12) = WH2O ! aerosol Water (aq) [ug/m^3] - yo(il,13) = PH ! aerosol pH [log] - yo(il,14) = ZFLAG ! concnetration domain [1=SP,2=SN,3=SR,4=SVR] - yo(il,15) = PM ! total particulate matter [umol/m^3] - yo(il,16) = SNH4 ! solid ammonium (s) [umol/m^3] - yo(il,17) = SNO3 ! solid nitrate (s) [umol/m^3] - yo(il,18) = SSO4 ! solid sulfate (s) [umol/m^3] - yo(il,19) = PNH4 ! particulate ammonium (p=a+s) [umol/m^3] - yo(il,20) = PNO3 ! particulate nitrate (p=a+s) [umol/m^3] - yo(il,21) = PSO4 ! particulate sulfate (p=a+s) [umol/m^3] - yo(il,22) = RATIONS ! mol ratio Nitrate/Sulfate (p) [-] - yo(il,23) = GAMA ! activity coefficient (e.g. NH4NO3) [-] - yo(il,24) = ZIONIC ! ionic strength (aq) [mol/kg] - yo(il,26) = PMt ! total PM (liquids & solids) [ug/m^3] - yo(il,27) = PMs ! total PM (solid) [ug/m^3] - yo(il,28) = RINC ! radius increase (H2O/PMt+1)**(1/3) [-] - yo(il,29) = SCl ! solid chloride (s) [umol/m^3] - yo(il,30) = SNa ! solid sodium (s) [umol/m^3] - yo(il,31) = PCl ! particulate chloride (p=a+s) [umol/m^3] - yo(il,32) = PNa ! particulate sodium (p=a+s) [umol/m^3] -enddo -! - -IF (LHOOK) CALL DR_HOOK('EQSAM_V03D_SUB',1,ZHOOK_HANDLE) -end subroutine eqsam_v03d_sub diff --git a/src/arome/chem/internals/fchap.F b/src/arome/chem/internals/fchap.F deleted file mode 100644 index 1cc972fbf006538d0af96348d14d72941c07f7aa..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/fchap.F +++ /dev/null @@ -1,37 +0,0 @@ -! ######spl - FUNCTION fchap(zeta) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - REAL zeta - -! function value: - REAL fchap - -! internal: - REAL rm - INTEGER j - REAL y(21) -!_______________________________________________________________________ - - DATA y / & - & 3.800,4.055,4.348,4.687,5.083,5.551,6.113, & - & 6.799,7.650,8.732,10.144,12.051,14.730,18.686, & - & 24.905,35.466,55.211,96.753,197.,485.,1476./ -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FCHAP',0,ZHOOK_HANDLE) - j = MIN( MAX(INT(zeta)+1,75),95 ) - rm = FLOAT(j) - - fchap = y(j-75) + (y(j-74) - y(j-75))*(zeta - (rm-1.)) -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('FCHAP',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION FCHAP diff --git a/src/arome/chem/internals/fctreso.F90 b/src/arome/chem/internals/fctreso.F90 deleted file mode 100644 index 1c54f79610b10266d0fd73efa60458ba51a0d562..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/fctreso.F90 +++ /dev/null @@ -1,44 +0,0 @@ -! ######spl -SUBROUTINE FCTRESO(II,JJ,KK,WIJ,WJK,XMAX,XMIN,XMOD,X,Y,KVECTN) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -IMPLICIT NONE -INTEGER, INTENT(IN) :: KVECTN -REAL, DIMENSION(100,100), INTENT(INOUT) :: WIJ,WJK -REAL, DIMENSION(2,100), INTENT(INOUT) :: XMIN,XMAX,XMOD -INTEGER, INTENT(INOUT) :: II,JJ,KK -REAL, DIMENSION(KVECTN,100), INTENT(INOUT) :: X,Y - -REAL, DIMENSION(KVECTN,100) :: U,H,S -INTEGER :: I, J, K - -! .. LES EQUATIONS DU RESEAU -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('FCTRESO',0,ZHOOK_HANDLE) -DO I=1,II - U(:,I)=(X(:,I)-XMIN(1,I))/(XMAX(1,I)-XMIN(1,I)) -ENDDO -U(:,II+1)=1. - -DO J=1,JJ - H(:,J)=0. - DO I=1,II+1 - H(:,J)=H(:,J)+WIJ(I,J)*U(:,I) - ENDDO - H(:,J)=1./(1.+EXP(-H(:,J))) -ENDDO -H(:,JJ+1)=1. - -DO K=1,KK - S(:,K)=0. - DO J=1,JJ+1 - S(:,K)=S(:,K)+WJK(J,K)*H(:,J) - ENDDO - S(:,K)=1./(1.+EXP(-S(:,K))) - - Y(:,K)=XMIN(2,K)+S(:,K)*(XMAX(2,K)-XMIN(2,K)) -ENDDO - -IF (LHOOK) CALL DR_HOOK('FCTRESO',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE FCTRESO diff --git a/src/arome/chem/internals/fery.F b/src/arome/chem/internals/fery.F deleted file mode 100644 index 0eff44c8b2d5685faf6c58ddfcb8bc6f03989465..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/fery.F +++ /dev/null @@ -1,36 +0,0 @@ -! ######spl - FUNCTION fery(w) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - REAL w - -! function value: - REAL fery -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FERY',0,ZHOOK_HANDLE) - IF (w .LT. 250.) THEN - fery = 1. -! outside the ery spectrum range - ELSEIF ((w .GE. 250.) .AND. (w .LT. 298)) THEN - fery = 1. - ELSEIF ((w .GE. 298.) .AND. (w .LT. 328.)) THEN - fery = 10.**( 0.094*(298.-w) ) - ELSEIF ((w .GE. 328.) .AND. (w .LT. 400.)) THEN - fery = 10.**( 0.015*(139.-w) ) - ELSE - fery = 1.E-36 -! outside the ery spectrum range - ENDIF - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('FERY',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION FERY diff --git a/src/arome/chem/internals/fsum.F b/src/arome/chem/internals/fsum.F deleted file mode 100644 index 3eaa3f532d30988d4d6cef7df91f71deea60495b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/fsum.F +++ /dev/null @@ -1,30 +0,0 @@ -! ######spl - FUNCTION fsum(n,x) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - INTEGER n - REAL x(n) - -! function value: - REAL fsum - -! local: - INTEGER i -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FSUM',0,ZHOOK_HANDLE) - fsum = 0. - DO 10, i = 1, n - fsum=fsum+x(i) - 10 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('FSUM',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION FSUM diff --git a/src/arome/chem/internals/futr.F b/src/arome/chem/internals/futr.F deleted file mode 100644 index bcc501f88e307144faad2387b9565659e3d9f891..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/futr.F +++ /dev/null @@ -1,56 +0,0 @@ -! ######spl - FUNCTION futr(w) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - REAL w - -! function value: - REAL futr - -! local: - REAL a1, a2, a3, a4, a5, & - & x1, x2, x3, x4, x5, & - & t1, t2, t3, t4, t5, & - & b1, b2, b3, b4, b5, & - & p -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUTR',0,ZHOOK_HANDLE) - a1 = -10.91 - a2 = - 0.86 - a3 = - 8.60 - a4 = - 9.36 - a5 = -13.15 - - x1 = 270. - x2 = 302. - x3 = 334. - x4 = 367. - x5 = 400. - - t1 = (w-x2)*(w-x3)*(w-x4)*(w-x5) - t2 = (w-x1)*(w-x3)*(w-x4)*(w-x5) - t3 = (w-x1)*(w-x2)*(w-x4)*(w-x5) - t4 = (w-x1)*(w-x2)*(w-x3)*(w-x5) - t5 = (w-x1)*(w-x2)*(w-x3)*(w-x4) - - b1 = (x1-x2)*(x1-x3)*(x1-x4)*(x1-x5) - b2 = (x2-x1)*(x2-x3)*(x2-x4)*(x2-x5) - b3 = (x3-x1)*(x3-x2)*(x3-x4)*(x3-x5) - b4 = (x4-x1)*(x4-x2)*(x4-x3)*(x4-x5) - b5 = (x5-x1)*(x5-x2)*(x5-x3)*(x5-x4) - - p = a1*t1/b1 + a2*t2/b2 + a3*t3/b3 + a4*t4/b4 + a5*t5/b5 - - futr = EXP(p) -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('FUTR',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION FUTR diff --git a/src/arome/chem/internals/gridck.F b/src/arome/chem/internals/gridck.F deleted file mode 100644 index 9752ab1f0b5f6da867be0bdcb746ad666fe1fdb9..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/gridck.F +++ /dev/null @@ -1,112 +0,0 @@ -! ######spl - SUBROUTINE gridck(k,n,x,ok) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input: - INTEGER k, n - REAL x(k) - -! output: - LOGICAL ok - -! local: - INTEGER i -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('GRIDCK',0,ZHOOK_HANDLE) - ok = .TRUE. - -! check if dimension meaningful and within bounds - - IF (n .GT. k) THEN - ok = .false. - WRITE(kout,100) - IF (LHOOK) CALL DR_HOOK('GRIDCK',1,ZHOOK_HANDLE) - RETURN - ENDIF - 100 FORMAT('Number of data exceeds dimension') - - IF (n .LT. 2) THEN - ok = .FALSE. - WRITE(kout,101) - IF (LHOOK) CALL DR_HOOK('GRIDCK',1,ZHOOK_HANDLE) - RETURN - ENDIF - 101 FORMAT('Too few data, number of data points must be >= 2') - -! disallow negative grid values - - IF(x(1) .LT. 0.) THEN - ok = .FALSE. - WRITE(kout,105) - IF (LHOOK) CALL DR_HOOK('GRIDCK',1,ZHOOK_HANDLE) - RETURN - ENDIF - 105 FORMAT('Grid cannot start below zero') - -! check sorting - - DO 10, i = 2, n - IF( x(i) .LE. x(i-1)) THEN - ok = .FALSE. - WRITE(kout,110) - IF (LHOOK) CALL DR_HOOK('GRIDCK',1,ZHOOK_HANDLE) - RETURN - ENDIF - 10 CONTINUE - 110 FORMAT('Grid is not sorted or contains multiple values') -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('GRIDCK',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE GRIDCK diff --git a/src/arome/chem/internals/gridw.F b/src/arome/chem/internals/gridw.F deleted file mode 100644 index 62a63d04033a686998c568fe489b36841368302c..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/gridw.F +++ /dev/null @@ -1,175 +0,0 @@ -! ######spl - SUBROUTINE gridw(nw,wl,wc,wu) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - IMPLICIT NONE - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=20) -! input - PARAMETER(kin=85) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! output: - - REAL wl(kw), wc(kw), wu(kw) - INTEGER nw - -! local: - - REAL wincr - INTEGER iw - LOGICAL ok - INTEGER idum - REAL dum - INTEGER mopt - -!_______________________________________________________________________ - -!*** chose wavelengths - -! some pre-set options -! mopt = 1 equal spacing -! mopt = 2 Isaksen's grid -! mopt = 3 combined Kockarts/Isaksen grid -! mopt = 4 user-defined - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('GRIDW',0,ZHOOK_HANDLE) - mopt = 2 - IF (mopt .EQ. 1) GO TO 1 - IF (mopt .EQ. 2) GO TO 2 - IF (mopt .EQ. 3) GO TO 3 - IF (mopt .EQ. 4) GO TO 4 - - 1 CONTINUE - nw = 140 + 1 - wincr = 1.0 - DO 10, iw = 1, nw-1 - wl(iw) = 280. + wincr*FLOAT(iw-1) - wu(iw) = wl(iw) + wincr - wc(iw) = ( wl(iw) + wu(iw) )/2. - 10 CONTINUE - wl(nw) = wu(nw-1) - GO TO 9 - - 2 CONTINUE - nw = 0 - OPEN(unit=kin,file='DATAE1/GRIDS/isaksen.grid',status='old') - DO iw = 1, 2 - READ(kin,*) - ENDDO - DO iw = 1, 130 - nw = nw + 1 - READ(kin,*) idum, dum, wc(nw), wl(nw), wu(nw) - ENDDO - CLOSE(kin) - nw = nw + 1 - wl(nw) = wu(nw-1) - GO TO 9 - -!** grid for strat photolysis calculations, extended at short wavelengths - - 3 CONTINUE - nw = 0 - OPEN(unit=kin,file='DATAE1/GRIDS/kockarts.grid',status='old') - DO iw = 1, 16 - nw = nw + 1 - READ(kin,*) wl(nw), wu(nw) - wc(iw) = ( wl(nw) + wu(nw) ) / 2. - ENDDO - CLOSE(kin) - - OPEN(unit=kin,file='DATAE1/GRIDS/isaksen.grid',status='old') - DO iw = 1, 2 + 10 - READ(kin,*) - ENDDO - DO iw = 11, 130 - nw = nw + 1 - READ(kin,*) idum, dum, wc(nw), wl(nw), wu(nw) - ENDDO - CLOSE(kin) - nw = nw + 1 - wl(nw) = wu(nw-1) - GO TO 9 - - 4 CONTINUE -! define wavelength intervals of width 1 nm from 150 - 420 nm: - nw = 1 - wl(1) = 150. - DO iw = 151, 420 - wu(nw) = Float(iw) - wc(nw) = (wl(nw) + wu(nw))/2. - nw = nw+1 - wl(nw) = Float(iw) - ENDDO -! define wavelength intervals of width 10 nm from 420 - 700 nm: - DO iw = 430, 700, 10 - wu(nw) = Float(iw) - wc(nw) = (wl(nw) + wu(nw))/2. - nw = nw+1 - wl(nw) = Float(iw) - ENDDO - - - 9 CONTINUE - -!** -! write to record - - WRITE(kout,*)'w-grid:',nw,wl(1),wl(nw) - -! check grid for assorted improprieties: - - CALL gridck(kw,nw,wl,ok) - - IF (.NOT. ok) THEN - WRITE(kout,*)'STOP in GRIDW: The w-grid does not make sense' - STOP - ENDIF - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('GRIDW',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE GRIDW diff --git a/src/arome/chem/internals/gridz.F b/src/arome/chem/internals/gridz.F deleted file mode 100644 index a181de51468dfedb20456918c13d03cbed802710..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/gridz.F +++ /dev/null @@ -1,131 +0,0 @@ -! ######spl - SUBROUTINE gridz(nz,z,az,nlevel) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!XXX SUBROUTINE gridz(nz,z) -!KS:8========================================================================== - - IMPLICIT NONE - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -!KS:9========================================================================== -! input: altitudes of calling model (CAUTION: AZ is given in meters, -! Z will be in kilometers!!) - REAL az(*) - INTEGER nlevel -!KS:9========================================================================== - -! output: altitude working grid: - - REAL z(kz) - INTEGER nz - -! local: - - REAL zincr - INTEGER i - LOGICAL ok -!_______________________________________________________________________ - -! set vertical grid of the atmosphere. All values should be in km. -! User specifies upright grid (surface at lowest km value, increasing -! upwards: -! - NZ = total number of user levels -! - Z(I) = altitude in km for each level. -! Note "levels" are vertical points -! "layers" are vertical distances between levels - -! set atmospheric level altitudes (in real km), including -! top-most level. -! non-uniform spacing is possible - -!KS:10========================================================================= -!XXX nz = 51 -!XXX z(1) = 0. -!XXX zincr = 1. -!XXX DO 10, i = 2, nz -!XXX z(i) = z(1) + FLOAT(i-1) * zincr -!XXX 10 CONTINUE -! -! use model levels for vertical grid where available - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('GRIDZ',0,ZHOOK_HANDLE) - do 10, i = 1, nlevel - z(i) = az(i) *1E-3 -10 continue -! - nz = nlevel -! -! fill up between model top and 50km with 1km grid spacing -20 continue - if (z(nz) .ge. 50.) goto 30 - nz = nz + 1 - if (nz .gt. kz) stop "GRIDZ: not enough memory, increase kz" - z(nz) = z(nz-1) + 1. - goto 20 -! -30 continue -! -!KS:10========================================================================= - -! write to record: - - WRITE(kout,*)'z-grid:',nz,z(1),z(nz) - -! check grid for assorted improprieties: - - CALL gridck(kz,nz,z,ok) - - IF (.NOT. ok) THEN - WRITE(kout,*)'STOP in GRIDZ: The z-grid does not make sense' - STOP - ENDIF -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('GRIDZ',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE GRIDZ diff --git a/src/arome/chem/internals/ini_wet_dep.F90 b/src/arome/chem/internals/ini_wet_dep.F90 deleted file mode 100644 index 72d6d0918f9c9f366221fbdbb5380f557d0a6c6a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ini_wet_dep.F90 +++ /dev/null @@ -1,456 +0,0 @@ -! ######spl - SUBROUTINE INI_WET_DEP - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ########################################################### -! -!!**** *INI_RAIN_ICE * - initialize the constants necessary for the warm and -!! cold microphysical schemes. -!! -!! PURPOSE -!! ------- -!! The purpose of this routine is to initialize the constants used to -!! resolve the mixed phase microphysical scheme. The collection kernels of -!! the precipitating particles are recomputed if necessary if some parameters -!! defining the ice categories have been modified. The number of small -!! time steps leading to stable scheme for the rain, ice, snow and ggraupeln -!! sedimentation is also computed (time-splitting technique). -!! -!!** METHOD -!! ------ -!! The constants are initialized to their numerical values and the number -!! of small time step is computed by dividing the 2* Deltat time interval of -!! the Leap-frog scheme so that the stability criterion for the rain -!! sedimentation is fulfilled for a Raindrop maximal fall velocity equal -!! VTRMAX. The parameters defining the collection kernels are read and are -!! checked against the new ones. If any change occurs, these kernels are -!! recomputed and their numerical values are written in the output listiing. -!! -!! EXTERNAL -!! -------- -!! GAMMA : gamma function -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_CST -!! XPI ! -!! XP00 ! Reference pressure -!! XRD ! Gaz constant for dry air -!! XRHOLW ! Liquid water density -!! Module MODD_REF -!! XTHVREFZ ! Reference virtual pot.temp. without orography -!! Module MODD_PARAMETERS_DEP -!! JPVEXT ! -!! Module MODD_WET_DEP_DESCR -!! Module MODD_WET_DEP_PARAM -!! -!! REFERENCE -!! --------- -!! Book2 of documentation ( routine INI_RAIN_ICE ) -!! -!! AUTHOR -!! ------ -!! J.-P. Pinty * Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 04/12/95 -!! 01-02-2011 M. Mokhtari Adaptation of ini_rain_ice under ini_wet_dep for Aladin -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CST -USE MODD_PARAMETERS_DEP -USE MODD_WET_DEP_DESCR -USE MODD_WET_DEP_PARAM -USE MODD_REF -! -USE MODI_GAMMA -USE MODI_GAMMA_INC -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -! -!INTEGER, INTENT(IN) :: KLUOUT ! Logical unit number for prints -! -!* 0.2 Declarations of local variables : -! -INTEGER :: IKB ! Coordinates of the first physical - ! points along z -INTEGER :: J1,J2 ! Internal loop indexes -REAL :: ZT ! Work variable -REAL :: ZVTRMAX ! Raindrop maximal fall velocity -REAL :: ZRHO00 ! Surface reference air density -REAL :: ZRATE ! Geometrical growth of Lbda in the tabulated - ! functions and kernels -REAL :: ZBOUND ! XDCSLIM*Lbda_s: upper bound for the partial - ! integration of the riming rate of the aggregates -REAL :: ZEGS, ZEGR, ZEHS, ZEHG! Bulk collection efficiencies -! -INTEGER :: IND ! Number of interval to integrate the kernels -REAL :: ZALPHA, ZNU, ZP ! Parameters to compute the value of the p_moment - ! of the generalized Gamma function -REAL :: ZESR ! Mean efficiency of rain-aggregate collection -REAL :: ZFDINFTY ! Factor used to define the "infinite" diameter -! -INTEGER :: IRESP ! Return code of FM-routines -LOGICAL :: GFLAG ! Logical flag for printing the constatnts on the output - ! listing -REAL :: ZCONC_MAX ! Maximal concentration for snow -REAL :: ZGAMC,ZGAMC2 ! parameters - ! involving various moments of the generalized gamma law -REAL :: ZFACT_NUCL! Amplification factor for the minimal ice concentration -REAL :: ZXR ! Value of x_r in N_r = C_r lambda_r ** x_r -! -INTEGER :: KND -INTEGER :: KACCLBDAS,KACCLBDAR,KDRYLBDAG,KDRYLBDAS,KDRYLBDAR -INTEGER :: KWETLBDAS,KWETLBDAG,KWETLBDAH -REAL :: PALPHAR,PALPHAS,PALPHAG,PALPHAH -REAL :: PNUR,PNUS,PNUG,PNUH -REAL :: PBR,PBS,PBG,PBH -REAL :: PCR,PCS,PCG,PCH -REAL :: PDR,PDS,PDG,PDH -REAL :: PESR,PEGS,PEGR,PEHS,PEHG -REAL :: PFDINFTY -REAL :: PACCLBDAS_MAX,PACCLBDAR_MAX,PACCLBDAS_MIN,PACCLBDAR_MIN -REAL :: PDRYLBDAG_MAX,PDRYLBDAS_MAX,PDRYLBDAG_MIN,PDRYLBDAS_MIN -REAL :: PDRYLBDAR_MAX,PDRYLBDAR_MIN -REAL :: PWETLBDAS_MAX,PWETLBDAG_MAX,PWETLBDAS_MIN,PWETLBDAG_MIN -REAL :: PWETLBDAH_MAX,PWETLBDAH_MIN -REAL :: ZTHVREFZ -!------------------------------------------------------------------------------- -! -! 1. INTIALIZE OUTPUT LISTING AND COMPUTE KSPLTR FOR EACH MODEL -! --------------------------------------------------------- -! -! -!* 1.1 Set the hailstones maximum fall velocity -! -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('INI_WET_DEP',0,ZHOOK_HANDLE) -IF (ALLOCATED(XRTMIN)) THEN ! In case of nesting microphysics constants of - ! MODD_RAIN_ICE_PARAM are computed only once, - ! but if INI_RAIN_ICE has been called already - ! one must change the XRTMIN size. - DEALLOCATE(XRTMIN) -END IF -! -!------------------------------------------------------------------------------- -! -!* 2. CHARACTERISTICS OF THE SPECIES -! ------------------------------ -! -! -!* 2.1 Cloud droplet and Raindrop characteristics -! -XAC = (XPI/6.0)*XRHOLW -XBC = 3.0 -XCC = XRHOLW*XG/(18.0*1.7E-5) ! Stokes flow (Pruppacher p 322 for T=273K) -XDC = 2.0 -! -! -XAR = (XPI/6.0)*XRHOLW -XBR = 3.0 -XCR = 842. -XDR = 0.8 -! -!XCCR = 1.E7 ! N0_r = XCXR * lambda_r ** ZXR -XCCR = 8.E6 ! N0_r = XCXR * lambda_r ** ZXR -ZXR = -1. ! -! -XF0R = 1.00 -XF1R = 0.26 -! -XC1R = 1./2. -! -! -!* 2.2 Ice crystal characteristics -!* 2.3 Snowflakes/aggregates characteristics -! -! -XAS = 0.02 -XBS = 1.9 -XCS = 5.1 -XDS = 0.27 -! -XCCS = 5.0 -XCXS = 1.0 -! -XF0S = 0.86 -XF1S = 0.28 -! -XC1S = 1./XPI -! -! -!* 2.4 Graupel/Frozen drop characteristics -! -! -XAG = 19.6 ! Lump graupel case -XBG = 2.8 ! Lump graupel case -XCG = 124. ! Lump graupel case -XDG = 0.66 ! Lump graupel case -! -XCCG = 5.E5 -XCXG = -0.5 -! XCCG = 4.E4 ! Test of Ziegler (1988) -! XCXG = -1.0 ! Test of Ziegler (1988) -! -XF0G = 0.86 -XF1G = 0.28 -! -XC1G = 1./2. -! -! -!* 2.5 Hailstone characteristics -! -! -XAH = 470. -XBH = 3.0 -XCH = 207. -XDH = 0.64 -! -!XCCH = 5.E-4 -!XCXH = 2.0 -!!!!!!!!!!!! - XCCH = 4.E4 ! Test of Ziegler (1988) - XCXH = -1.0 ! Test of Ziegler (1988) -!!! XCCH = 5.E5 ! Graupel_like -!!! XCXH = -0.5 ! Graupel_like -!!!!!!!!!!!! -! -XF0H = 0.86 -XF1H = 0.28 -! -XC1H = 1./2. -! -!------------------------------------------------------------------------------- -! -!* 3. DIMENSIONAL DISTRIBUTIONS OF THE SPECIES -! ---------------------------------------- -! -! -! 3.1 Cloud droplet distribution -! -! Over land -XALPHAC = 1.0 ! Gamma law of the Cloud droplet (here volume-like distribution) -XNUC = 3.0 ! Gamma law with little dispersion -! -! -! Over sea -XALPHAC2 = 3.0 ! Gamma law of the Cloud droplet (here volume-like distribution) -XNUC2 = 1.0 ! Gamma law with little dispersion -! -!* 3.2 Raindrops distribution -! -XALPHAR = 1.0 ! Exponential law -XNUR = 1.0 ! Exponential law -! -!* 3.3 Ice crystal distribution -! -XALPHAI = 3.0 ! Gamma law for the ice crystal volume -XNUI = 3.0 ! Gamma law with little dispersion -! -XALPHAS = 1.0 ! Exponential law -XNUS = 1.0 ! Exponential law -! -XALPHAG = 1.0 ! Exponential law -XNUG = 1.0 ! Exponential law -! -XALPHAH = 1.0 ! Gamma law -XNUH = 8.0 ! Gamma law with little dispersion -! -!* 3.4 Constants for shape parameter -! -ZGAMC = MOMG(XALPHAC,XNUC,3.) -ZGAMC2 = MOMG(XALPHAC2,XNUC2,3.) -XLBC(1) = XAR*ZGAMC -XLBC(2) = XAR*ZGAMC2 -XLBEXC = 1.0/XBC -! -XLBEXR = 1.0/(-1.0-XBR) -XLBR = ( XAR*XCCR*MOMG(XALPHAR,XNUR,XBR) )**(-XLBEXR) -! -!XLBEXI = 1.0/(-XBI) -!XLBI = ( XAI*MOMG(XALPHAI,XNUI,XBI) )**(-XLBEXI) -! -XLBEXS = 1.0/(XCXS-XBS) -XLBS = ( XAS*XCCS*MOMG(XALPHAS,XNUS,XBS) )**(-XLBEXS) -! -XLBEXG = 1.0/(XCXG-XBG) -XLBG = ( XAG*XCCG*MOMG(XALPHAG,XNUG,XBG) )**(-XLBEXG) -! -XLBEXH = 1.0/(XCXH-XBH) -XLBH = ( XAH*XCCH*MOMG(XALPHAH,XNUH,XBH) )**(-XLBEXH) -! -!* 3.5 Minimal values allowed for the mixing ratios -! -XLBDAR_MAX = 100000.0 -XLBDAS_MAX = 100000.0 -XLBDAG_MAX = 100000.0 -! -ZCONC_MAX = 1.E6 ! Maximal concentration for falling particules set to 1 per cc -XLBDAS_MAX = ( ZCONC_MAX/XCCS )**(1./XCXS) -! -ALLOCATE( XRTMIN(6) ) -XRTMIN(1) = 1.0E-20 -XRTMIN(2) = 1.0E-20 -XRTMIN(3) = 1.0E-20 -XRTMIN(4) = 1.0E-20 -XRTMIN(5) = 1.0E-15 -XRTMIN(6) = 1.0E-15 -! -XCONC_SEA=1E8 ! 100/cm3 -XCONC_LAND=3E8 ! 300/cm3 -XCONC_URBAN=5E8 ! 500/cm3 -! -!------------------------------------------------------------------------------- -! -!* 4. CONSTANTS FOR THE SEDIMENTATION -! ------------------------------- -! -! -!* 4.1 Exponent of the fall-speed air density correction -! -XCEXVT = 0.4 -! -ZTHVREFZ=300. -ZRHO00 = XP00/(XRD*300.) -! -!* 4.2 Constants for sedimentation -! -XFSEDC(1) = GAMMA(XNUC+(XDC+3.)/XALPHAC)/GAMMA(XNUC+3./XALPHAC)* & - (ZRHO00)**XCEXVT -XFSEDC(2) = GAMMA(XNUC2+(XDC+3.)/XALPHAC2)/GAMMA(XNUC2+3./XALPHAC2)* & - (ZRHO00)**XCEXVT -! -XEXSEDR = (XBR+XDR+1.0)/(XBR+1.0) -XFSEDR = XCR*XAR*XCCR*MOMG(XALPHAR,XNUR,XBR+XDR)* & - (XAR*XCCR*MOMG(XALPHAR,XNUR,XBR))**(-XEXSEDR)*(ZRHO00)**XCEXVT -! -! Computations made for Columns -! -XEXRSEDI = 1.9324 -XEXCSEDI =-0.9324 -XFSEDI = 3.89745E11*MOMG(XALPHAI,XNUI,3.285)* & - MOMG(XALPHAI,XNUI,1.7)**(-XEXRSEDI)*(ZRHO00)**XCEXVT -XEXCSEDI =-0.9324*3.0 -! -! -XEXSEDS = (XBS+XDS-XCXS)/(XBS-XCXS) -XFSEDS = XCS*XAS*XCCS*MOMG(XALPHAS,XNUS,XBS+XDS)* & - (XAS*XCCS*MOMG(XALPHAS,XNUS,XBS))**(-XEXSEDS)*(ZRHO00)**XCEXVT -! -XEXSEDG = (XBG+XDG-XCXG)/(XBG-XCXG) -XFSEDG = XCG*XAG*XCCG*MOMG(XALPHAG,XNUG,XBG+XDG)* & - (XAG*XCCG*MOMG(XALPHAG,XNUG,XBG))**(-XEXSEDG)*(ZRHO00)**XCEXVT -! -XEXSEDH = (XBH+XDH-XCXH)/(XBH-XCXH) -XFSEDH = XCH*XAH*XCCH*MOMG(XALPHAH,XNUH,XBH+XDH)* & - (XAH*XCCH*MOMG(XALPHAH,XNUH,XBH))**(-XEXSEDH)*(ZRHO00)**XCEXVT -! -! -!------------------------------------------------------------------------------- -! -!* 5. CONSTANTS FOR THE SLOW COLD PROCESSES -! ------------------------------------- -! -! -!* 5.1 Constants for ice nucleation -! -! -! -XMNU0 = 6.88E-13 -! -!* 5.2 Constants for vapor deposition on ice -! -XSCFAC = (0.63**(1./3.))*SQRT((ZRHO00)**XCEXVT) ! One assumes Sc=0.63 -! -X0DEPI = (4.0*XPI)*XC1I*XF0I*MOMG(XALPHAI,XNUI,1.) -X2DEPI = (4.0*XPI)*XC1I*XF2I*XC_I*MOMG(XALPHAI,XNUI,XDI+2.0) -! -X0DEPS = (4.0*XPI)*XCCS*XC1S*XF0S*MOMG(XALPHAS,XNUS,1.) -X1DEPS = (4.0*XPI)*XCCS*XC1S*XF1S*SQRT(XCS)*MOMG(XALPHAS,XNUS,0.5*XDS+1.5) -XEX0DEPS = XCXS-1.0 -XEX1DEPS = XCXS-0.5*(XDS+3.0) -! -X0DEPG = (4.0*XPI)*XCCG*XC1G*XF0G*MOMG(XALPHAG,XNUG,1.) -X1DEPG = (4.0*XPI)*XCCG*XC1G*XF1G*SQRT(XCG)*MOMG(XALPHAG,XNUG,0.5*XDG+1.5) -XEX0DEPG = XCXG-1.0 -XEX1DEPG = XCXG-0.5*(XDG+3.0) -! -X0DEPH = (4.0*XPI)*XCCH*XC1H*XF0H*MOMG(XALPHAH,XNUH,1.) -X1DEPH = (4.0*XPI)*XCCH*XC1H*XF1H*SQRT(XCH)*MOMG(XALPHAH,XNUH,0.5*XDH+1.5) -XEX0DEPH = XCXH-1.0 -XEX1DEPH = XCXH-0.5*(XDH+3.0) -! -!* 5.3 Constants for pristine ice autoconversion -! -XTIMAUTI = 1.E-3 ! Time constant at T=T_t -XTEXAUTI = 0.015 ! Temperature factor of the I+I collection efficiency -!!XCRIAUTI = 0.25E-3 ! Critical ice content for the autoconversion to occur -XCRIAUTI = 0.2E-4 ! Critical ice content for the autoconversion to occur - ! Revised value by Chaboureau et al. (2001) -! -! -!* 5.4 Constants for snow aggregation -! -XCOLIS = 0.25 ! Collection efficiency of I+S -XCOLEXIS = 0.05 ! Temperature factor of the I+S collection efficiency -XFIAGGS = (XPI/4.0)*XCOLIS*XCCS*XCS*(ZRHO00**XCEXVT)*MOMG(XALPHAS,XNUS,XDS+2.0) -XEXIAGGS = XCXS-XDS-2.0 -! -!------------------------------------------------------------------------------- -! -!* 6. CONSTANTS FOR THE SLOW WARM PROCESSES -! ------------------------------------- -! -! -!* 6.1 Constants for the cloud droplets autoconversion -! -XTIMAUTC = 1.E-3 -XCRIAUTC = 0.5E-3 -! -!* 6.2 Constants for the accretion of cloud droplets by raindrops -! -XFCACCR = (XPI/4.0)*XCCR*XCR*(ZRHO00**XCEXVT)*MOMG(XALPHAR,XNUR,XDR+2.0) -XEXCACCR = -XDR-3.0 -! -!* 6.3 Constants for the evaporation of the raindrops -! -X0EVAR = (4.0*XPI)*XCCR*XC1R*XF0R*MOMG(XALPHAR,XNUR,1.) -X1EVAR = (4.0*XPI)*XCCR*XC1R*XF1R*SQRT(XCR)*MOMG(XALPHAR,XNUR,0.5*XDR+1.5) -XEX0EVAR = -2.0 -XEX1EVAR = -1.0-0.5*(XDR+3.0) -! -! -IF (LHOOK) CALL DR_HOOK('INI_WET_DEP',1,ZHOOK_HANDLE) -!------------------------------------------------------------------------------------- -CONTAINS - -! -!* 11. INTERNAL FUNCTIONS -! ------------------- -! -! -!* 11.1 p_moment of the Generalized GAMMA function -! -REAL FUNCTION MOMG(ZALPHA,ZNU,ZP) - - IMPLICIT NONE - REAL :: ZALPHA,ZNU,ZP - - MOMG = GAMMA(ZNU+ZP/ZALPHA)/GAMMA(ZNU) - -END FUNCTION MOMG -! -! - - -END SUBROUTINE INI_WET_DEP diff --git a/src/arome/chem/internals/init_dust.F90 b/src/arome/chem/internals/init_dust.F90 deleted file mode 100644 index 493abd0907efafc7e374392ed835678bb0a8c035..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/init_dust.F90 +++ /dev/null @@ -1,179 +0,0 @@ -! ######spl - SUBROUTINE INIT_DUST(PSV,PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! Entry variables: -! -! PSV(INOUT) -Array of moments included in PSV -! -!************************************************************* -! Exit variables: -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -! -USE MODD_DUST -USE MODD_CSTS_DUST - -!! -IMPLICIT NONE - -!! Declarations d'arguments - -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF - -!* 0.2 declarations local variables -! -REAL :: ZDEN2MOL, ZRHOI, ZMI, ZFAC, ZRGMIN -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZCTOTA -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZSIG, ZRG, ZN -INTEGER,DIMENSION(:), ALLOCATABLE :: IM0, IM3, IM6 -REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN -REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS, ZINISIGMA -INTEGER :: IKU -INTEGER :: JJ, JN, JK ! loop counter -INTEGER :: IMODEIDX ! index mode -REAL, PARAMETER :: ZMMR_DUST=5.d-11!kg_{dust}/kg_{air} -REAL :: ZMMR_DUSTN -! -!------------------------------------------------------------------------------- -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ----------------------------------- -! -! 1.1 initialisation -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('INIT_DUST',0,ZHOOK_HANDLE) -IKU=SIZE(PSV,3) -! -ALLOCATE (IM0(NMODE_DST)) -ALLOCATE (IM3(NMODE_DST)) -ALLOCATE (IM6(NMODE_DST)) -ALLOCATE (ZCTOTA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_DST)) -ALLOCATE (ZM(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_DST*3)) -ALLOCATE (ZSIGMA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3))) -ALLOCATE (ZSIG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZRG(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZN(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3),NMODE_DST)) -ALLOCATE (ZINIRADIUS(NMODE_DST)) -ALLOCATE (ZINISIGMA(NMODE_DST)) -ALLOCATE (ZMMIN(NMODE_DST*3)) -! -! -DO JN = 1, NMODE_DST - IM0(JN) = 1+(JN-1)*3 - IM3(JN) = 2+(JN-1)*3 - IM6(JN) = 3+(JN-1)*3 - ! - !Get the dust mode we are talking about, MODE 2 is treated first, then mode 3, then 1 - !This index is only needed to get the right radius out of the XINIRADIUS array and the - !right XINISIG out of the XINISIG-array - IMODEIDX = JPDUSTORDER(JN) - ! - !Convert initial mass median radius to number median radius - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) - END IF - - ZINISIGMA(JN) = XINISIG(IMODEIDX) - ! - ZMMIN(IM0(JN)) = XN0MIN(IMODEIDX) -! ZRGMIN = XCOEFRADMIN * ZINIRADIUS(JN) - ZRGMIN = ZINIRADIUS(JN) - ZMMIN(IM3(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZMMIN(IM6(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**6)*EXP(18. * LOG(ZINISIGMA(JN))**2) -ENDDO -! -! -ZRHOI = XDENSITY_DUST !1.8e3 !++changed alfgr -!ZMI = XMOLARWEIGHT_DUST*1.D3 !100. !++changed alfgr -ZMI = XMOLARWEIGHT_DUST -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -ZFAC=(4./3.)*XPI*ZRHOI*1.e-9 - -! conversion into mol.cm-3 -DO JJ=1,SIZE(PSV,4) - PSV(:,:,:,JJ) = PSV(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -END DO -! -DO JN=1,NMODE_DST - -!* 1.1 calculate moment 0 from XN0MIN -! - IF (JN == 1) ZMMR_DUSTN = 0.99 * ZMMR_DUST - IF (JN == 2) ZMMR_DUSTN = 0.77 * ZMMR_DUST - IF (JN == 3) ZMMR_DUSTN = 0.023 * ZMMR_DUST - DO JK=1,IKU - ZM(:,:,JK,IM0(JN)) = & - ZMMR_DUSTN &![kg_{dust}/kg_{air} - *PRHODREF(:,:,JK) &![kg_{air}/m3_{air}]==> kg/m3 - /XDENSITY_DUST &![kg__{dust}/m3_{dust}==>m3_{dust}/m3{air} - *(6.d0/XPI) & - /(2.d0*ZINIRADIUS(JN)*1.d-6)**3 &![particle/m_dust^{-3}]==> particle/m3 - *EXP(-4.5*(LOG(XINISIG(JPDUSTORDER(JN))))**2) !Take into account distribution - END DO - ZM(:,:,:,IM0(JN)) = MAX(ZMMIN(IM0(JN)), ZM(:,:,:,IM0(JN))) -! -!* 1.2 calculate moment 3 from m0, RG and SIG -! - ZM(:,:,:,IM3(JN)) = ZM(:,:,:,IM0(JN)) * & - (ZINIRADIUS(JN)**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZM(:,:,:,IM3(JN)) = MAX(ZMMIN(IM3(JN)), ZM(:,:,:,IM3(JN))) -! -!* 1.3 calculate moment 6 from m0, RG and SIG -! - ZM(:,:,:,IM6(JN))= ZM(:,:,:,IM0(JN)) * ((ZINIRADIUS(JN)**6)*& - EXP(18. * (LOG(ZINISIGMA(JN)))**2)) - ZM(:,:,:,IM6(JN)) = MAX(ZMMIN(IM6(JN)), ZM(:,:,:,IM6(JN))) -! -!* 1.4 output concentration -! - PSV(:,:,:,1+(JN-1)*3) = ZM(:,:,:,IM0(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)) - PSV(:,:,:,2+(JN-1)*3) = ZM(:,:,:,IM3(JN)) * XMD*XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - - PSV(:,:,:,3+(JN-1)*3) = ZM(:,:,:,IM6(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -! -END DO -! -DEALLOCATE(ZMMIN) -DEALLOCATE(ZINISIGMA) -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZM) -DEALLOCATE(ZCTOTA) -DEALLOCATE(IM6) -DEALLOCATE(IM3) -DEALLOCATE(IM0) -! -! -IF (LHOOK) CALL DR_HOOK('INIT_DUST',1,ZHOOK_HANDLE) -END SUBROUTINE INIT_DUST diff --git a/src/arome/chem/internals/inter3.F b/src/arome/chem/internals/inter3.F deleted file mode 100644 index 37aa9ed3b3aa46cbba5a17ecd0bd3670c25cf701..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/inter3.F +++ /dev/null @@ -1,96 +0,0 @@ -! ######spl - SUBROUTINE inter3(ng,xg,yg, n,x,y, FoldIn) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - INTEGER n, ng - REAL xg(ng) - REAL x(n), y(n) - - INTEGER FoldIn - -! output: - REAL yg(ng) - -! local: - REAL a1, a2, sum - REAL tail - INTEGER jstart, i, j, k -!_______________________________________________________________________ - -! check whether flag given is legal - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INTER3',0,ZHOOK_HANDLE) - IF ((FoldIn .NE. 0) .AND. (FoldIn .NE. 1)) THEN - WRITE(0,*) '>>> ERROR (inter3) <<< Value for FOLDIN invalid. ' - WRITE(0,*) ' Must be 0 or 1' - STOP - ENDIF - -! do interpolation - - jstart = 1 - - DO 30, i = 1, ng - 1 - - yg(i) = 0. - sum = 0. - j = jstart - - IF (j .LE. n-1) THEN - - 20 CONTINUE - - IF (x(j+1) .LT. xg(i)) THEN - jstart = j - j = j+1 - IF (j .LE. n-1) GO TO 20 - ENDIF - - 25 CONTINUE - - IF ((x(j) .LE. xg(i+1)) .AND. (j .LE. n-1)) THEN - - a1 = MAX(x(j),xg(i)) - a2 = MIN(x(j+1),xg(i+1)) - - sum = sum + y(j) * (a2-a1)/(x(j+1)-x(j)) - j = j+1 - GO TO 25 - - ENDIF - - yg(i) = sum - - ENDIF - - 30 CONTINUE - - -! if wanted, integrate data "overhang" and fold back into last bin - - IF (FoldIn .EQ. 1) THEN - - j = j-1 - a1 = xg(ng) ! upper limit of last interpolated bin - a2 = x(j+1) ! upper limit of last input bin considered - -! do folding only if grids don't match up and there is more input - IF ((a2 .GT. a1) .OR. (j+1 .LT. n)) THEN - tail = y(j) * (a2-a1)/(x(j+1)-x(j)) - DO k = j+1, n-1 - tail = tail + y(k) * (x(k+1)-x(k)) - ENDDO - yg(ng-1) = yg(ng-1) + tail - ENDIF - - ENDIF -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('INTER3',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE INTER3 diff --git a/src/arome/chem/internals/isocom.F b/src/arome/chem/internals/isocom.F deleted file mode 100644 index ea40e2a191f6ce98dcaf0f916b38f272b889c459..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/isocom.F +++ /dev/null @@ -1,4810 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/isocom.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:31 $ -!----------------------------------------------------------------- -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISOROPIA -! *** THIS SUBROUTINE IS THE MASTER ROUTINE FOR THE ISORROPIA -! THERMODYNAMIC EQUILIBRIUM AEROSOL MODEL (VERSION 1.1 and above) -! -! ======================== ARGUMENTS / USAGE =========================== -! -! INPUT: -! 1. [WI] -! DOUBLE PRECISION array of length [5]. -! Concentrations, expressed in moles/m3. Depending on the type of -! problem solved (specified in CNTRL(1)), WI contains either -! GAS+AEROSOL or AEROSOL only concentratios. -! WI(1) - sodium -! WI(2) - sulfate -! WI(3) - ammonium -! WI(4) - nitrate -! WI(5) - chloride -! -! 2. [RHI] -! DOUBLE PRECISION variable. -! Ambient relative humidity expressed on a (0,1) scale. -! -! 3. [TEMPI] -! DOUBLE PRECISION variable. -! Ambient temperature expressed in Kelvins. -! -! 4. [CNTRL] -! DOUBLE PRECISION array of length [2]. -! Parameters that control the type of problem solved. -! -! CNTRL(1): Defines the type of problem solved. -! 0 - Forward problem is solved. In this case, array WI contains -! GAS and AEROSOL concentrations together. -! 1 - Reverse problem is solved. In this case, array WI contains -! AEROSOL concentrations only. -! -! CNTRL(2): Defines the state of the aerosol -! 0 - The aerosol can have both solid+liquid phases (deliquescent) -! 1 - The aerosol is in only liquid state (metastable aerosol) -! -! OUTPUT: -! 1. [WT] -! DOUBLE PRECISION array of length [5]. -! Total concentrations (GAS+AEROSOL) of species, expressed in moles/m3. -! If the foreward probelm is solved (CNTRL(1)=0), array WT is -! identical to array WI. -! WT(1) - total sodium -! WT(2) - total sulfate -! WT(3) - total ammonium -! WT(4) - total nitrate -! WT(5) - total chloride -! -! 2. [GAS] -! DOUBLE PRECISION array of length [03]. -! Gaseous species concentrations, expressed in moles/m3. -! GAS(1) - NH3 -! GAS(2) - HNO3 -! GAS(3) - HCl -! -! 3. [AERLIQ] -! DOUBLE PRECISION array of length [11]. -! Liquid aerosol species concentrations, expressed in moles/m3. -! AERLIQ(01) - H+(aq) -! AERLIQ(02) - Na+(aq) -! AERLIQ(03) - NH4+(aq) -! AERLIQ(04) - Cl-(aq) -! AERLIQ(05) - SO4--(aq) -! AERLIQ(06) - HSO4-(aq) -! AERLIQ(07) - NO3-(aq) -! AERLIQ(08) - H2O -! AERLIQ(09) - NH3(aq) (undissociated) -! AERLIQ(10) - HNCl(aq) (undissociated) -! AERLIQ(11) - HNO3(aq) (undissociated) -! AERLIQ(12) - OH-(aq) -! -! 4. [AERSLD] -! DOUBLE PRECISION array of length [09]. -! Solid aerosol species concentrations, expressed in moles/m3. -! AERSLD(01) - NaNO3(s) -! AERSLD(02) - NH4NO3(s) -! AERSLD(03) - NaCl(s) -! AERSLD(04) - NH4Cl(s) -! AERSLD(05) - Na2SO4(s) -! AERSLD(06) - (NH4)2SO4(s) -! AERSLD(07) - NaHSO4(s) -! AERSLD(08) - NH4HSO4(s) -! AERSLD(09) - (NH4)4H(SO4)2(s) -! -! 5. [SCASI] -! CHARACTER*15 variable. -! Returns the subcase which the input corresponds to. -! -! 6. [OTHER] -! DOUBLE PRECISION array of length [6]. -! Returns solution information. -! -! OTHER(1): Shows if aerosol water exists. -! 0 - Aerosol is WET -! 1 - Aerosol is DRY -! -! OTHER(2): Aerosol Sulfate ratio, defined as (in moles/m3) : -! (total ammonia + total Na) / (total sulfate) -! -! OTHER(3): Sulfate ratio based on aerosol properties that defines -! a sulfate poor system: -! (aerosol ammonia + aerosol Na) / (aerosol sulfate) -! -! OTHER(4): Aerosol sodium ratio, defined as (in moles/m3) : -! (total Na) / (total sulfate) -! -! OTHER(5): Ionic strength of the aqueous aerosol (if it exists). -! -! OTHER(6): Total number of calls to the activity coefficient -! calculation subroutine. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISOROPIA (WI, RHI, TEMPI, CNTRL, & - & WT, GAS, AERLIQ, AERSLD, SCASI, OTHER) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI,CNTRL,WT,GAS,AERLIQ,AERSLD,OTHER - INTEGER :: NCTRL,NOTHER,I - PARAMETER (NCTRL=2,NOTHER=6) - CHARACTER SCASI*15 - DIMENSION WI(NCOMP), WT(NCOMP), GAS(NGASAQ), AERSLD(NSLDS), & - & AERLIQ(NIONS+NGASAQ+2), CNTRL(NCTRL), OTHER(NOTHER) -! -! *** PROBLEM TYPE (0=FOREWARD, 1=REVERSE) ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISOROPIA',0,ZHOOK_HANDLE) - IPROB = NINT(CNTRL(1)) -! -! *** AEROSOL STATE (0=SOLID+LIQUID, 1=METASTABLE) ********************** -! - METSTBL = NINT(CNTRL(2)) -! -! *** SOLVE FOREWARD PROBLEM ******************************************** -! -50 IF (IPROB.EQ.0) THEN - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1F (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2F (WI, RHI, TEMPI) - ELSE - CALL ISRP3F (WI, RHI, TEMPI) - ENDIF -! -! *** SOLVE REVERSE PROBLEM ********************************************* -! - ELSE - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1R (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2R (WI, RHI, TEMPI) - ELSE - CALL ISRP3R (WI, RHI, TEMPI) - ENDIF - ENDIF -!cC -!cC *** IF METASTABLE AND NO WATER - RESOLVE AS NORMAL ******************** -!cC -!c IF (WATER.LE.TINY .AND. METSTBL.EQ.1) THEN -!c METSTBL = 0 -!c GOTO 50 -!c ENDIF -! -! *** SAVE RESULTS TO ARRAYS (units = mole/m3) **************************** -! - GAS(1) = GNH3 ! Gaseous aerosol species - GAS(2) = GHNO3 - GAS(3) = GHCL -! - DO 10 I=1,NIONS ! Liquid aerosol species - AERLIQ(I) = MOLAL(I) - 10 CONTINUE - DO 20 I=1,NGASAQ - AERLIQ(NIONS+1+I) = GASAQ(I) - 20 CONTINUE - AERLIQ(NIONS+1) = WATER*1.0D3/18.0D0 - AERLIQ(NIONS+NGASAQ+2) = COH -! - AERSLD(1) = CNANO3 ! Solid aerosol species - AERSLD(2) = CNH4NO3 - AERSLD(3) = CNACL - AERSLD(4) = CNH4CL - AERSLD(5) = CNA2SO4 - AERSLD(6) = CNH42S4 - AERSLD(7) = CNAHSO4 - AERSLD(8) = CNH4HS4 - AERSLD(9) = CLC -! - IF(WATER.LE.TINY) THEN ! Dry flag - OTHER(1) = 1.d0 - ELSE - OTHER(1) = 0.d0 - ENDIF -! - OTHER(2) = SULRAT ! Other stuff - OTHER(3) = SULRATW - OTHER(4) = SODRAT - OTHER(5) = IONIC - OTHER(6) = ICLACT -! - SCASI = SCASE -! - WT(1) = WI(1) ! Total gas+aerosol phase - WT(2) = WI(2) - WT(3) = WI(3) - WT(4) = WI(4) - WT(5) = WI(5) - IF (IPROB.GT.0 .AND. WATER.GT.TINY) THEN - WT(3) = WT(3) + GNH3 - WT(4) = WT(4) + GHNO3 - WT(5) = WT(5) + GHCL - ENDIF -! - IF (LHOOK) CALL DR_HOOK('ISOROPIA',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISOROPIA ****************************************** -! - ENDSUBROUTINE ISOROPIA -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE SETPARM -! *** THIS SUBROUTINE REDEFINES THE SOLUTION PARAMETERS OF ISORROPIA -! -! ======================== ARGUMENTS / USAGE =========================== -! -! *** NOTE: IF NEGATIVE VALUES ARE GIVEN FOR A PARAMETER, IT IS -! IGNORED AND THE CURRENT VALUE IS USED INSTEAD. -! -! INPUT: -! 1. [WFTYPI] -! INTEGER variable. -! Defines the type of weighting algorithm for the solution in Mutual -! Deliquescence Regions (MDR's): -! 0 - MDR's are assumed dry. This is equivalent to the approach -! used by SEQUILIB. -! 1 - The solution is assumed "half" dry and "half" wet throughout -! the MDR. -! 2 - The solution is a relative-humidity weighted mean of the -! dry and wet solutions (as defined in Nenes et al., 1998) -! -! 2. [IACALCI] -! INTEGER variable. -! Method of activity coefficient calculation: -! 0 - Calculate coefficients during runtime -! 1 - Use precalculated tables -! -! 3. [EPSI] -! DOUBLE PRECITION variable. -! Defines the convergence criterion for all iterative processes -! in ISORROPIA, except those for activity coefficient calculations -! (EPSACTI controls that). -! -! 4. [MAXITI] -! INTEGER variable. -! Defines the maximum number of iterations for all iterative -! processes in ISORROPIA, except for activity coefficient calculations -! (NSWEEPI controls that). -! -! 5. [NSWEEPI] -! INTEGER variable. -! Defines the maximum number of iterations for activity coefficient -! calculations. -! -! 6. [EPSACTI] -! DOUBLE PRECISION variable. -! Defines the convergence criterion for activity coefficient -! calculations. -! -! 7. [NDIV] -! INTEGER variable. -! Defines the number of subdivisions needed for the initial root -! tracking for the bisection method. Usually this parameter should -! not be altered, but is included for completeness. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA BLKISO -! *** THIS SUBROUTINE PROVIDES INITIAL (DEFAULT) VALUES TO PROGRAM -! PARAMETERS VIA DATA STATEMENTS -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA BLKISO - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! -! *** DEFAULT VALUES ************************************************* -! - DATA TEMP/298.0/, R/82.0567D-6/, RH/0.9D0/, EPS/1D-6/, MAXIT/100/,& - & TINY/1D-20/, GREAT/1D10/, ZERO/0.0D0/, ONE/1.0D0/,NSWEEP/4/, & - & TINY2/1D-11/,NDIV/5/ -! - DATA MOLAL/NIONS*0.0D0/, MOLALR/NPAIR*0.0D0/, GAMA/NPAIR*0.1D0/, & - & GAMOU/NPAIR*1D10/, GAMIN/NPAIR*1D10/, CALAIN/.TRUE./, & - & CALAOU/.TRUE./, EPSACT/5D-2/, ICLACT/0/, & - & IACALC/1/, WFTYP/2/ -! - DATA ERRSTK/NERRMX*0/, ERRMSG/NERRMX*' '/, NOFER/0/, & - & STKOFL/.FALSE./ -! - DATA IPROB/0/, METSTBL/0/ -! - DATA VERSION /'1.5 (12/03/03)'/ -! -! *** OTHER PARAMETERS *********************************************** -! - DATA SMW/58.5,142.,85.0,132.,80.0,53.5,98.0,98.0,115.,63.0, & - & 36.5,120.,247./ & - & IMW/ 1.0,23.0,18.0,35.5,96.0,97.0,63.0/, & - & WMW/23.0,98.0,17.0,63.0,36.5/ -! - DATA ZZ/1,2,1,2,1,1,2,1,1,1,1,1,2/, Z /1,1,1,1,2,1,1/ -! -! *** ZSR RELATIONSHIP PARAMETERS ************************************** -! -! awas= ammonium sulfate -! - DATA AWAS/33*100.,30,30,30,29.54,28.25,27.06,25.94, & - & 24.89,23.90,22.97,22.10,21.27,20.48,19.73,19.02,18.34,17.69, & - & 17.07,16.48,15.91,15.37,14.85,14.34,13.86,13.39,12.94,12.50, & - & 12.08,11.67,11.27,10.88,10.51,10.14, 9.79, 9.44, 9.10, 8.78, & - & 8.45, 8.14, 7.83, 7.53, 7.23, 6.94, 6.65, 6.36, 6.08, 5.81, & - & 5.53, 5.26, 4.99, 4.72, 4.46, 4.19, 3.92, 3.65, 3.38, 3.11, & - & 2.83, 2.54, 2.25, 1.95, 1.63, 1.31, 0.97, 0.63, 0.30, 0.001/ -! -! awsn= sodium nitrate -! - DATA AWSN/ 9*1.e5,685.59, & - & 451.00,336.46,268.48,223.41,191.28, & - & 167.20,148.46,133.44,121.12,110.83, & - & 102.09,94.57,88.03,82.29,77.20,72.65,68.56,64.87,61.51,58.44, & - & 55.62,53.03,50.63,48.40,46.32,44.39,42.57,40.87,39.27,37.76, & - & 36.33,34.98,33.70,32.48,31.32,30.21,29.16,28.14,27.18,26.25, & - & 25.35,24.50,23.67,22.87,22.11,21.36,20.65,19.95,19.28,18.62, & - & 17.99,17.37,16.77,16.18,15.61,15.05,14.51,13.98,13.45,12.94, & - & 12.44,11.94,11.46,10.98,10.51,10.04, 9.58, 9.12, 8.67, 8.22, & - & 7.77, 7.32, 6.88, 6.43, 5.98, 5.53, 5.07, 4.61, 4.15, 3.69, & - & 3.22, 2.76, 2.31, 1.87, 1.47, 1.10, 0.77, 0.48, 0.23, 0.001/ -! -! awsc= sodium chloride -! - DATA AWSC/ & - & 100., 100., 100., 100., 100., 100., 100., 100., 100., 100., & - & 100., 100., 100., 100., 100., 100., 100., 100., 100.,16.34, & - & 16.28,16.22,16.15,16.09,16.02,15.95,15.88,15.80,15.72,15.64, & - & 15.55,15.45,15.36,15.25,15.14,15.02,14.89,14.75,14.60,14.43, & - & 14.25,14.04,13.81,13.55,13.25,12.92,12.56,12.19,11.82,11.47, & - & 11.13,10.82,10.53,10.26,10.00, 9.76, 9.53, 9.30, 9.09, 8.88, & - & 8.67, 8.48, 8.28, 8.09, 7.90, 7.72, 7.54, 7.36, 7.17, 6.99, & - & 6.81, 6.63, 6.45, 6.27, 6.09, 5.91, 5.72, 5.53, 5.34, 5.14, & - & 4.94, 4.74, 4.53, 4.31, 4.09, 3.86, 3.62, 3.37, 3.12, 2.85, & - & 2.58, 2.30, 2.01, 1.72, 1.44, 1.16, 0.89, 0.64, 0.40, 0.18/ -! -! awac= ammonium chloride -! - DATA AWAC/ & - & 100., 100., 100., 100., 100., 100., 100., 100., 100., 100., & - & 100., 100., 100., 100., 100., 100., 100., 100., 100.,31.45, & - & 31.30,31.14,30.98,30.82,30.65,30.48,30.30,30.11,29.92,29.71, & - & 29.50,29.29,29.06,28.82,28.57,28.30,28.03,27.78,27.78,27.77, & - & 27.77,27.43,27.07,26.67,26.21,25.73,25.18,24.56,23.84,23.01, & - & 22.05,20.97,19.85,18.77,17.78,16.89,16.10,15.39,14.74,14.14, & - & 13.59,13.06,12.56,12.09,11.65,11.22,10.81,10.42,10.03, 9.66, & - & 9.30, 8.94, 8.59, 8.25, 7.92, 7.59, 7.27, 6.95, 6.63, 6.32, & - & 6.01, 5.70, 5.39, 5.08, 4.78, 4.47, 4.17, 3.86, 3.56, 3.25, & - & 2.94, 2.62, 2.30, 1.98, 1.65, 1.32, 0.97, 0.62, 0.26, 0.13/ -! -! awss= sodium sulfate -! - DATA AWSS/34*1.e5,23*14.30,14.21,12.53,11.47, & - & 10.66,10.01, 9.46, 8.99, 8.57, 8.19, 7.85, 7.54, 7.25, 6.98, & - & 6.74, 6.50, 6.29, 6.08, 5.88, 5.70, 5.52, 5.36, 5.20, 5.04, & - & 4.90, 4.75, 4.54, 4.34, 4.14, 3.93, 3.71, 3.49, 3.26, 3.02, & - & 2.76, 2.49, 2.20, 1.89, 1.55, 1.18, 0.82, 0.49, 0.22, 0.001/ -! -! awab= ammonium bisulfate -! - DATA AWAB/356.45,296.51,253.21,220.47,194.85, & - & 174.24,157.31,143.16,131.15,120.82, & - & 111.86,103.99,97.04,90.86,85.31,80.31,75.78,71.66,67.90,64.44, & - & 61.25,58.31,55.58,53.04,50.68,48.47,46.40,44.46,42.63,40.91, & - & 39.29,37.75,36.30,34.92,33.61,32.36,31.18,30.04,28.96,27.93, & - & 26.94,25.99,25.08,24.21,23.37,22.57,21.79,21.05,20.32,19.63, & - & 18.96,18.31,17.68,17.07,16.49,15.92,15.36,14.83,14.31,13.80, & - & 13.31,12.83,12.36,11.91,11.46,11.03,10.61,10.20, 9.80, 9.41, & - & 9.02, 8.64, 8.28, 7.91, 7.56, 7.21, 6.87, 6.54, 6.21, 5.88, & - & 5.56, 5.25, 4.94, 4.63, 4.33, 4.03, 3.73, 3.44, 3.14, 2.85, & - & 2.57, 2.28, 1.99, 1.71, 1.42, 1.14, 0.86, 0.57, 0.29, 0.001/ -! -! awsa= sulfuric acid -! - DATA AWSA/ & - & 34.0,33.56,29.22,26.55,24.61,23.11,21.89,20.87,19.99, & - & 19.21,18.51,17.87,17.29,16.76,16.26,15.8,15.37,14.95,14.56, & - & 14.20,13.85,13.53,13.22,12.93,12.66,12.40,12.14,11.90,11.67, & - & 11.44,11.22,11.01,10.8,10.60,10.4,10.2,10.01,9.83,9.65,9.47, & - & 9.3,9.13,8.96,8.81,8.64,8.48,8.33,8.17,8.02,7.87,7.72,7.58, & - & 7.44,7.30,7.16,7.02,6.88,6.75,6.61,6.48,6.35,6.21,6.08,5.95, & - & 5.82,5.69,5.56,5.44,5.31,5.18,5.05,4.92,4.79,4.66,4.53,4.40, & - & 4.27,4.14,4.,3.87,3.73,3.6,3.46,3.31,3.17,3.02,2.87,2.72, & - & 2.56,2.4,2.23,2.05,1.87,1.68,1.48,1.27,1.05,0.807,0.552,0.281/ -! -! awlc= (NH4)3H(SO4)2 -! - DATA AWLC/34*1.e5,17.0,16.5,15.94,15.31,14.71,14.14, & - & 13.60,13.08,12.59,12.12,11.68,11.25,10.84,10.44,10.07, 9.71, & - & 9.36, 9.02, 8.70, 8.39, 8.09, 7.80, 7.52, 7.25, 6.99, 6.73, & - & 6.49, 6.25, 6.02, 5.79, 5.57, 5.36, 5.15, 4.95, 4.76, 4.56, & - & 4.38, 4.20, 4.02, 3.84, 3.67, 3.51, 3.34, 3.18, 3.02, 2.87, & - & 2.72, 2.57, 2.42, 2.28, 2.13, 1.99, 1.85, 1.71, 1.57, 1.43, & - & 1.30, 1.16, 1.02, 0.89, 0.75, 0.61, 0.46, 0.32, 0.16, 0.001/ -! -! awan= ammonium nitrate -! - DATA AWAN/31*1.e5, & - & 97.17,92.28,87.66,83.15,78.87,74.84,70.98,67.46,64.11, & - & 60.98,58.07,55.37,52.85,50.43,48.24,46.19,44.26,42.40,40.70, & - & 39.10,37.54,36.10,34.69,33.35,32.11,30.89,29.71,28.58,27.46, & - & 26.42,25.37,24.33,23.89,22.42,21.48,20.56,19.65,18.76,17.91, & - & 17.05,16.23,15.40,14.61,13.82,13.03,12.30,11.55,10.83,10.14, & - & 9.44, 8.79, 8.13, 7.51, 6.91, 6.32, 5.75, 5.18, 4.65, 4.14, & - & 3.65, 3.16, 2.71, 2.26, 1.83, 1.42, 1.03, 0.66, 0.30, 0.001/ -! -! awsb= sodium bisulfate -! - DATA AWSB/173.72,156.88,142.80,130.85,120.57, & - & 111.64,103.80,96.88,90.71,85.18, & - & 80.20,75.69,71.58,67.82,64.37,61.19,58.26,55.53,53.00,50.64, & - & 48.44,46.37,44.44,42.61,40.90,39.27,37.74,36.29,34.91,33.61, & - & 32.36,31.18,30.05,28.97,27.94,26.95,26.00,25.10,24.23,23.39, & - & 22.59,21.81,21.07,20.35,19.65,18.98,18.34,17.71,17.11,16.52, & - & 15.95,15.40,14.87,14.35,13.85,13.36,12.88,12.42,11.97,11.53, & - & 11.10,10.69,10.28, 9.88, 9.49, 9.12, 8.75, 8.38, 8.03, 7.68, & - & 7.34, 7.01, 6.69, 6.37, 6.06, 5.75, 5.45, 5.15, 4.86, 4.58, & - & 4.30, 4.02, 3.76, 3.49, 3.23, 2.98, 2.73, 2.48, 2.24, 2.01, & - & 1.78, 1.56, 1.34, 1.13, 0.92, 0.73, 0.53, 0.35, 0.17, 0.001/ -! -! *** END OF BLOCK DATA SUBPROGRAM ************************************* -! - ENDBLOCKDATA BLKISO -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE INIT1 -! *** THIS SUBROUTINE INITIALIZES ALL GLOBAL VARIABLES FOR AMMONIUM -! SULFATE AEROSOL SYSTEMS (SUBROUTINE ISRP1) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE INIT1 (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI,COEF,G130,G13I,T0,T0T,TCF - INTEGER :: I,IRH - DIMENSION WI(NCOMP) - REAL IC,GII,GI0,XX,LN10 - PARAMETER (LN10=2.3025851) -! -! *** SAVE INPUT VARIABLES IN COMMON BLOCK ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INIT1',0,ZHOOK_HANDLE) - IF (IPROB.EQ.0) THEN ! FORWARD CALCULATION - DO 10 I=1,NCOMP - W(I) = MAX(WI(I), TINY) -10 CONTINUE - ELSE - DO 15 I=1,NCOMP ! REVERSE CALCULATION - WAER(I) = MAX(WI(I), TINY) - W(I) = ZERO -15 CONTINUE - ENDIF - RH = RHI - TEMP = TEMPI -! -! *** CALCULATE EQUILIBRIUM CONSTANTS *********************************** -! - XK1 = 1.015e-2 ! HSO4(aq) <==> H(aq) + SO4(aq) - XK21 = 57.639 ! NH3(g) <==> NH3(aq) - XK22 = 1.805e-5 ! NH3(aq) <==> NH4(aq) + OH(aq) - XK7 = 1.817 ! (NH4)2SO4(s) <==> 2*NH4(aq) + SO4(aq) - XK12 = 1.382e2 ! NH4HSO4(s) <==> NH4(aq) + HSO4(aq) - XK13 = 29.268 ! (NH4)3H(SO4)2(s) <==> 3*NH4(aq) + HSO4(aq) + SO4(aq) - XKW = 1.010e-14 ! H2O <==> H(aq) + OH(aq) -! - IF (INT(TEMP) .NE. 298) THEN ! FOR T != 298K or 298.15K - T0 = 298.15 - T0T = T0/TEMP - COEF= 1.0+LOG(T0T)-T0T - XK1 = XK1 *EXP( 8.85*(T0T-1.0) + 25.140*COEF) - XK21= XK21*EXP( 13.79*(T0T-1.0) - 5.393*COEF) - XK22= XK22*EXP( -1.50*(T0T-1.0) + 26.920*COEF) - XK7 = XK7 *EXP( -2.65*(T0T-1.0) + 38.570*COEF) - XK12= XK12*EXP( -2.87*(T0T-1.0) + 15.830*COEF) - XK13= XK13*EXP( -5.19*(T0T-1.0) + 54.400*COEF) - XKW = XKW *EXP(-22.52*(T0T-1.0) + 26.920*COEF) - ENDIF - XK2 = XK21*XK22 -! -! *** CALCULATE DELIQUESCENCE RELATIVE HUMIDITIES (UNICOMPONENT) ******** -! - DRH2SO4 = 0.0000D0 - DRNH42S4 = 0.7997D0 - DRNH4HS4 = 0.4000D0 - DRLC = 0.6900D0 - IF (INT(TEMP) .NE. 298) THEN - T0 = 298.15d0 - TCF = 1.0/TEMP - 1.0/T0 - DRNH42S4 = DRNH42S4*EXP( 80.*TCF) - DRNH4HS4 = DRNH4HS4*EXP(384.*TCF) - DRLC = DRLC *EXP(186.*TCF) - ENDIF -! -! *** CALCULATE MUTUAL DELIQUESCENCE RELATIVE HUMIDITIES **************** -! - DRMLCAB = 0.3780D0 ! (NH4)3H(SO4)2 & NH4HSO4 - DRMLCAS = 0.6900D0 ! (NH4)3H(SO4)2 & (NH4)2SO4 -!CC IF (INT(TEMP) .NE. 298) THEN ! For the time being. -!CC T0 = 298.15d0 -!CC TCF = 1.0/TEMP - 1.0/T0 -!CC DRMLCAB = DRMLCAB*EXP(507.506*TCF) -!CC DRMLCAS = DRMLCAS*EXP(133.865*TCF) -!CC ENDIF -! -! *** LIQUID PHASE ****************************************************** -! - CHNO3 = ZERO - CHCL = ZERO - CH2SO4 = ZERO - COH = ZERO - WATER = TINY -! - DO 20 I=1,NPAIR - MOLALR(I)=ZERO - GAMA(I) =0.1 - GAMIN(I) =GREAT - GAMOU(I) =GREAT - M0(I) =1d5 - 20 CONTINUE -! - DO 30 I=1,NPAIR - GAMA(I) = 0.1d0 - 30 CONTINUE -! - DO 40 I=1,NIONS - MOLAL(I)=ZERO -40 CONTINUE - COH = ZERO -! - DO 50 I=1,NGASAQ - GASAQ(I)=ZERO -50 CONTINUE -! -! *** SOLID PHASE ******************************************************* -! - CNH42S4= ZERO - CNH4HS4= ZERO - CNACL = ZERO - CNA2SO4= ZERO - CNANO3 = ZERO - CNH4NO3= ZERO - CNH4CL = ZERO - CNAHSO4= ZERO - CLC = ZERO -! -! *** GAS PHASE ********************************************************* -! - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO -! -! *** CALCULATE ZSR PARAMETERS ****************************************** -! - IRH = MIN (INT(RH*NZSR+0.5),NZSR) ! Position in ZSR arrays - IRH = MAX (IRH, 1) -! - M0(01) = AWSC(IRH) ! NACl - IF (M0(01) .LT. 100.0) THEN - IC = M0(01) - CALL KMTAB(IC,298.0, GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(01) = M0(01)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(02) = AWSS(IRH) ! (NA)2SO4 - IF (M0(02) .LT. 100.0) THEN - IC = 3.0*M0(02) - CALL KMTAB(IC,298.0, XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(02) = M0(02)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(03) = AWSN(IRH) ! NANO3 - IF (M0(03) .LT. 100.0) THEN - IC = M0(03) - CALL KMTAB(IC,298.0, XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(03) = M0(03)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(04) = AWAS(IRH) ! (NH4)2SO4 - IF (M0(04) .LT. 100.0) THEN - IC = 3.0*M0(04) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX) - M0(04) = M0(04)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(05) = AWAN(IRH) ! NH4NO3 - IF (M0(05) .LT. 100.0) THEN - IC = M0(05) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX) - M0(05) = M0(05)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(06) = AWAC(IRH) ! NH4CL - IF (M0(06) .LT. 100.0) THEN - IC = M0(06) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX) - M0(06) = M0(06)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(07) = AWSA(IRH) ! 2H-SO4 - IF (M0(07) .LT. 100.0) THEN - IC = 3.0*M0(07) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX) - M0(07) = M0(07)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(08) = AWSA(IRH) ! H-HSO4 -!CC IF (M0(08) .LT. 100.0) THEN ! These are redundant, because M0(8) is not used -!CC IC = M0(08) -!CC CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CCCCC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX) -!CC M0(08) = M0(08)*EXP(LN10*(GI0-GII)) -!CC ENDIF -! - M0(09) = AWAB(IRH) ! NH4HSO4 - IF (M0(09) .LT. 100.0) THEN - IC = M0(09) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX) - M0(09) = M0(09)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(12) = AWSB(IRH) ! NAHSO4 - IF (M0(12) .LT. 100.0) THEN - IC = M0(12) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GI0) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GII) - M0(12) = M0(12)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(13) = AWLC(IRH) ! (NH4)3H(SO4)2 - IF (M0(13) .LT. 100.0) THEN - IC = 4.0*M0(13) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G130 = 0.2*(3.0*GI0+2.0*GII) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G13I = 0.2*(3.0*GI0+2.0*GII) - M0(13) = M0(13)*EXP(LN10*SNGL(G130-G13I)) - ENDIF -! -! *** OTHER INITIALIZATIONS ********************************************* -! - ICLACT = 0 - CALAOU = .TRUE. - CALAIN = .TRUE. - FRST = .TRUE. - SCASE = '?? ' - SULRATW = 2.D0 - SODRAT = ZERO - NOFER = 0 - STKOFL =.FALSE. - DO 60 I=1,NERRMX - ERRSTK(I) =-999 - ERRMSG(I) = 'MESSAGE N/A' - 60 CONTINUE -! -! *** END OF SUBROUTINE INIT1 ******************************************* -! - IF (LHOOK) CALL DR_HOOK('INIT1',1,ZHOOK_HANDLE) - ENDSUBROUTINE INIT1 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE INIT2 -! *** THIS SUBROUTINE INITIALIZES ALL GLOBAL VARIABLES FOR AMMONIUM, -! NITRATE, SULFATE AEROSOL SYSTEMS (SUBROUTINE ISRP2) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE INIT2 (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - DIMENSION WI(NCOMP) - REAL :: IC,GII,GI0,XX,LN10 - REAL(KIND=8) :: COEF,G130,G13I,T0,T0T,TCF - PARAMETER (LN10=2.3025851) - INTEGER :: I,IRH -! -! *** SAVE INPUT VARIABLES IN COMMON BLOCK ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INIT2',0,ZHOOK_HANDLE) - IF (IPROB.EQ.0) THEN ! FORWARD CALCULATION - DO 10 I=1,NCOMP - W(I) = MAX(WI(I), TINY) -10 CONTINUE - ELSE - DO 15 I=1,NCOMP ! REVERSE CALCULATION - WAER(I) = MAX(WI(I), TINY) - W(I) = ZERO -15 CONTINUE - ENDIF - RH = RHI - TEMP = TEMPI -! -! *** CALCULATE EQUILIBRIUM CONSTANTS *********************************** -! - XK1 = 1.015e-2 ! HSO4(aq) <==> H(aq) + SO4(aq) - XK21 = 57.639 ! NH3(g) <==> NH3(aq) - XK22 = 1.805e-5 ! NH3(aq) <==> NH4(aq) + OH(aq) - XK4 = 2.511e6 ! HNO3(g) <==> H(aq) + NO3(aq) ! ISORR -!CC XK4 = 3.638e6 ! HNO3(g) <==> H(aq) + NO3(aq) ! SEQUIL - XK41 = 2.100e5 ! HNO3(g) <==> HNO3(aq) - XK7 = 1.817 ! (NH4)2SO4(s) <==> 2*NH4(aq) + SO4(aq) - XK10 = 5.746e-17 ! NH4NO3(s) <==> NH3(g) + HNO3(g) ! ISORR -!CC XK10 = 2.985e-17 ! NH4NO3(s) <==> NH3(g) + HNO3(g) ! SEQUIL - XK12 = 1.382e2 ! NH4HSO4(s) <==> NH4(aq) + HSO4(aq) - XK13 = 29.268 ! (NH4)3H(SO4)2(s) <==> 3*NH4(aq) + HSO4(aq) + SO4(aq) - XKW = 1.010e-14 ! H2O <==> H(aq) + OH(aq) -! - IF (INT(TEMP) .NE. 298) THEN ! FOR T != 298K or 298.15K - T0 = 298.15D0 - T0T = T0/TEMP - COEF= 1.0+LOG(T0T)-T0T - XK1 = XK1 *EXP( 8.85*(T0T-1.0) + 25.140*COEF) - XK21= XK21*EXP( 13.79*(T0T-1.0) - 5.393*COEF) - XK22= XK22*EXP( -1.50*(T0T-1.0) + 26.920*COEF) - XK4 = XK4 *EXP( 29.17*(T0T-1.0) + 16.830*COEF) !ISORR -!CC XK4 = XK4 *EXP( 29.47*(T0T-1.0) + 16.840*COEF) ! SEQUIL - XK41= XK41*EXP( 29.17*(T0T-1.0) + 16.830*COEF) - XK7 = XK7 *EXP( -2.65*(T0T-1.0) + 38.570*COEF) - XK10= XK10*EXP(-74.38*(T0T-1.0) + 6.120*COEF) ! ISORR -!CC XK10= XK10*EXP(-75.11*(T0T-1.0) + 13.460*COEF) ! SEQUIL - XK12= XK12*EXP( -2.87*(T0T-1.0) + 15.830*COEF) - XK13= XK13*EXP( -5.19*(T0T-1.0) + 54.400*COEF) - XKW = XKW *EXP(-22.52*(T0T-1.0) + 26.920*COEF) - ENDIF - XK2 = XK21*XK22 - XK42 = XK4/XK41 -! -! *** CALCULATE DELIQUESCENCE RELATIVE HUMIDITIES (UNICOMPONENT) ******** -! - DRH2SO4 = ZERO - DRNH42S4 = 0.7997D0 - DRNH4HS4 = 0.4000D0 - DRNH4NO3 = 0.6183D0 - DRLC = 0.6900D0 - IF (INT(TEMP) .NE. 298) THEN - T0 = 298.15D0 - TCF = 1.0/TEMP - 1.0/T0 - DRNH4NO3 = DRNH4NO3*EXP(852.*TCF) - DRNH42S4 = DRNH42S4*EXP( 80.*TCF) - DRNH4HS4 = DRNH4HS4*EXP(384.*TCF) - DRLC = DRLC *EXP(186.*TCF) - ENDIF -! -! *** CALCULATE MUTUAL DELIQUESCENCE RELATIVE HUMIDITIES **************** -! - DRMLCAB = 0.3780D0 ! (NH4)3H(SO4)2 & NH4HSO4 - DRMLCAS = 0.6900D0 ! (NH4)3H(SO4)2 & (NH4)2SO4 - DRMASAN = 0.6000D0 ! (NH4)2SO4 & NH4NO3 -!CC IF (INT(TEMP) .NE. 298) THEN ! For the time being -!CC T0 = 298.15d0 -!CC TCF = 1.0/TEMP - 1.0/T0 -!CC DRMLCAB = DRMLCAB*EXP( 507.506*TCF) -!CC DRMLCAS = DRMLCAS*EXP( 133.865*TCF) -!CC DRMASAN = DRMASAN*EXP(1269.068*TCF) -!CC ENDIF -! -! *** LIQUID PHASE ****************************************************** -! - CHNO3 = ZERO - CHCL = ZERO - CH2SO4 = ZERO - COH = ZERO - WATER = TINY -! - DO 20 I=1,NPAIR - MOLALR(I)=ZERO - GAMA(I) =0.1 - GAMIN(I) =GREAT - GAMOU(I) =GREAT - M0(I) =1d5 - 20 CONTINUE -! - DO 30 I=1,NPAIR - GAMA(I) = 0.1d0 - 30 CONTINUE -! - DO 40 I=1,NIONS - MOLAL(I)=ZERO -40 CONTINUE - COH = ZERO -! - DO 50 I=1,NGASAQ - GASAQ(I)=ZERO -50 CONTINUE -! -! *** SOLID PHASE ******************************************************* -! - CNH42S4= ZERO - CNH4HS4= ZERO - CNACL = ZERO - CNA2SO4= ZERO - CNANO3 = ZERO - CNH4NO3= ZERO - CNH4CL = ZERO - CNAHSO4= ZERO - CLC = ZERO -! -! *** GAS PHASE ********************************************************* -! - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO -! -! *** CALCULATE ZSR PARAMETERS ****************************************** -! - IRH = MIN (INT(RH*NZSR+0.5),NZSR) ! Position in ZSR arrays - IRH = MAX (IRH, 1) -! - M0(01) = AWSC(IRH) ! NACl - IF (M0(01) .LT. 100.0) THEN - IC = M0(01) - CALL KMTAB(IC,298.0, GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(01) = M0(01)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(02) = AWSS(IRH) ! (NA)2SO4 - IF (M0(02) .LT. 100.0) THEN - IC = 3.0*M0(02) - CALL KMTAB(IC,298.0, XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(02) = M0(02)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(03) = AWSN(IRH) ! NANO3 - IF (M0(03) .LT. 100.0) THEN - IC = M0(03) - CALL KMTAB(IC,298.0, XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(03) = M0(03)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(04) = AWAS(IRH) ! (NH4)2SO4 - IF (M0(04) .LT. 100.0) THEN - IC = 3.0*M0(04) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX) - M0(04) = M0(04)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(05) = AWAN(IRH) ! NH4NO3 - IF (M0(05) .LT. 100.0) THEN - IC = M0(05) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX) - M0(05) = M0(05)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(06) = AWAC(IRH) ! NH4CL - IF (M0(06) .LT. 100.0) THEN - IC = M0(06) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX) - M0(06) = M0(06)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(07) = AWSA(IRH) ! 2H-SO4 - IF (M0(07) .LT. 100.0) THEN - IC = 3.0*M0(07) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX) - M0(07) = M0(07)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(08) = AWSA(IRH) ! H-HSO4 -!CC IF (M0(08) .LT. 100.0) THEN ! These are redundant, because M0(8) is not used -!CC IC = M0(08) -!CC CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CCCCC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX) -!CC M0(08) = M0(08)*EXP(LN10*(GI0-GII)) -!CC ENDIF -! - M0(09) = AWAB(IRH) ! NH4HSO4 - IF (M0(09) .LT. 100.0) THEN - IC = M0(09) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX) - M0(09) = M0(09)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(12) = AWSB(IRH) ! NAHSO4 - IF (M0(12) .LT. 100.0) THEN - IC = M0(12) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GI0) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GII) - M0(12) = M0(12)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(13) = AWLC(IRH) ! (NH4)3H(SO4)2 - IF (M0(13) .LT. 100.0) THEN - IC = 4.0*M0(13) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G130 = 0.2*(3.0*GI0+2.0*GII) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G13I = 0.2*(3.0*GI0+2.0*GII) - M0(13) = M0(13)*EXP(LN10*SNGL(G130-G13I)) - ENDIF -! -! *** OTHER INITIALIZATIONS ********************************************* -! - ICLACT = 0 - CALAOU = .TRUE. - CALAIN = .TRUE. - FRST = .TRUE. - SCASE = '?? ' - SULRATW = 2.D0 - SODRAT = ZERO - NOFER = 0 - STKOFL =.FALSE. - DO 60 I=1,NERRMX - ERRSTK(I) =-999 - ERRMSG(I) = 'MESSAGE N/A' - 60 CONTINUE -! -! *** END OF SUBROUTINE INIT2 ******************************************* -! - IF (LHOOK) CALL DR_HOOK('INIT2',1,ZHOOK_HANDLE) - ENDSUBROUTINE INIT2 - - - - - -!======================================================================= -! -! *** ISORROPIA CODE -!======================================================================= -! - SUBROUTINE INIT3 (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - DIMENSION WI(NCOMP) - REAL :: IC,GII,GI0,XX,LN10 - REAL(KIND=8) :: COEF,G130,G13I,T0,T0T,TCF - PARAMETER (LN10=2.3025851) - INTEGER :: I,IRH -! -! *** SAVE INPUT VARIABLES IN COMMON BLOCK ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INIT3',0,ZHOOK_HANDLE) - IF (IPROB.EQ.0) THEN ! FORWARD CALCULATION - DO 10 I=1,NCOMP - W(I) = MAX(WI(I), TINY) -10 CONTINUE - ELSE - DO 15 I=1,NCOMP ! REVERSE CALCULATION - WAER(I) = MAX(WI(I), TINY) - W(I) = ZERO -15 CONTINUE - ENDIF - RH = RHI - TEMP = TEMPI -! -! *** CALCULATE EQUILIBRIUM CONSTANTS *********************************** -! - XK1 = 1.015D-2 ! HSO4(aq) <==> H(aq) + SO4(aq) - XK21 = 57.639D0 ! NH3(g) <==> NH3(aq) - XK22 = 1.805D-5 ! NH3(aq) <==> NH4(aq) + OH(aq) - XK3 = 1.971D6 ! HCL(g) <==> H(aq) + CL(aq) - XK31 = 2.500e3 ! HCL(g) <==> HCL(aq) - XK4 = 2.511e6 ! HNO3(g) <==> H(aq) + NO3(aq) ! ISORR -!CC XK4 = 3.638e6 ! HNO3(g) <==> H(aq) + NO3(aq) ! SEQUIL - XK41 = 2.100e5 ! HNO3(g) <==> HNO3(aq) - XK5 = 0.4799D0 ! NA2SO4(s) <==> 2*NA(aq) + SO4(aq) - XK6 = 1.086D-16 ! NH4CL(s) <==> NH3(g) + HCL(g) - XK7 = 1.817D0 ! (NH4)2SO4(s) <==> 2*NH4(aq) + SO4(aq) - XK8 = 37.661D0 ! NACL(s) <==> NA(aq) + CL(aq) - XK10 = 5.746D-17 ! NH4NO3(s) <==> NH3(g) + HNO3(g) ! ISORR -!CC XK10 = 2.985e-17 ! NH4NO3(s) <==> NH3(g) + HNO3(g) ! SEQUIL - XK11 = 2.413D4 ! NAHSO4(s) <==> NA(aq) + HSO4(aq) - XK12 = 1.382D2 ! NH4HSO4(s) <==> NH4(aq) + HSO4(aq) - XK13 = 29.268D0 ! (NH4)3H(SO4)2(s) <==> 3*NH4(aq) + HSO4(aq) + SO4(aq) - XK14 = 22.05D0 ! NH4CL(s) <==> NH4(aq) + CL(aq) - XKW = 1.010D-14 ! H2O <==> H(aq) + OH(aq) - XK9 = 11.977D0 ! NANO3(s) <==> NA(aq) + NO3(aq) -! - IF (INT(TEMP) .NE. 298) THEN ! FOR T != 298K or 298.15K - T0 = 298.15D0 - T0T = T0/TEMP - COEF= 1.0+LOG(T0T)-T0T - XK1 = XK1 *EXP( 8.85*(T0T-1.0) + 25.140*COEF) - XK21= XK21*EXP( 13.79*(T0T-1.0) - 5.393*COEF) - XK22= XK22*EXP( -1.50*(T0T-1.0) + 26.920*COEF) - XK3 = XK3 *EXP( 30.20*(T0T-1.0) + 19.910*COEF) - XK31= XK31*EXP( 30.20*(T0T-1.0) + 19.910*COEF) - XK4 = XK4 *EXP( 29.17*(T0T-1.0) + 16.830*COEF) !ISORR -!CC XK4 = XK4 *EXP( 29.47*(T0T-1.0) + 16.840*COEF) ! SEQUIL - XK41= XK41*EXP( 29.17*(T0T-1.0) + 16.830*COEF) - XK5 = XK5 *EXP( 0.98*(T0T-1.0) + 39.500*COEF) - XK6 = XK6 *EXP(-71.00*(T0T-1.0) + 2.400*COEF) - XK7 = XK7 *EXP( -2.65*(T0T-1.0) + 38.570*COEF) - XK8 = XK8 *EXP( -1.56*(T0T-1.0) + 16.900*COEF) - XK9 = XK9 *EXP( -8.22*(T0T-1.0) + 16.010*COEF) - XK10= XK10*EXP(-74.38*(T0T-1.0) + 6.120*COEF) ! ISORR -!CC XK10= XK10*EXP(-75.11*(T0T-1.0) + 13.460*COEF) ! SEQUIL - XK11= XK11*EXP( 0.79*(T0T-1.0) + 14.746*COEF) - XK12= XK12*EXP( -2.87*(T0T-1.0) + 15.830*COEF) - XK13= XK13*EXP( -5.19*(T0T-1.0) + 54.400*COEF) - XK14= XK14*EXP( 24.55*(T0T-1.0) + 16.900*COEF) - XKW = XKW *EXP(-22.52*(T0T-1.0) + 26.920*COEF) - ENDIF - XK2 = XK21*XK22 - XK42 = XK4/XK41 - XK32 = XK3/XK31 -! -! *** CALCULATE DELIQUESCENCE RELATIVE HUMIDITIES (UNICOMPONENT) ******** -! - DRH2SO4 = ZERO - DRNH42S4 = 0.7997D0 - DRNH4HS4 = 0.4000D0 - DRLC = 0.6900D0 - DRNACL = 0.7528D0 - DRNANO3 = 0.7379D0 - DRNH4CL = 0.7710D0 - DRNH4NO3 = 0.6183D0 - DRNA2SO4 = 0.9300D0 - DRNAHSO4 = 0.5200D0 - IF (INT(TEMP) .NE. 298) THEN - T0 = 298.15D0 - TCF = 1.0/TEMP - 1.0/T0 - DRNACL = DRNACL *EXP( 25.*TCF) - DRNANO3 = DRNANO3 *EXP(304.*TCF) - DRNA2SO4 = DRNA2SO4*EXP( 80.*TCF) - DRNH4NO3 = DRNH4NO3*EXP(852.*TCF) - DRNH42S4 = DRNH42S4*EXP( 80.*TCF) - DRNH4HS4 = DRNH4HS4*EXP(384.*TCF) - DRLC = DRLC *EXP(186.*TCF) - DRNH4CL = DRNH4Cl *EXP(239.*TCF) - DRNAHSO4 = DRNAHSO4*EXP(-45.*TCF) - ENDIF -! -! *** CALCULATE MUTUAL DELIQUESCENCE RELATIVE HUMIDITIES **************** -! - DRMLCAB = 0.378D0 ! (NH4)3H(SO4)2 & NH4HSO4 - DRMLCAS = 0.690D0 ! (NH4)3H(SO4)2 & (NH4)2SO4 - DRMASAN = 0.600D0 ! (NH4)2SO4 & NH4NO3 - DRMG1 = 0.460D0 ! (NH4)2SO4, NH4NO3, NA2SO4, NH4CL - DRMG2 = 0.691D0 ! (NH4)2SO4, NA2SO4, NH4CL - DRMG3 = 0.697D0 ! (NH4)2SO4, NA2SO4 - DRMH1 = 0.240D0 ! NA2SO4, NANO3, NACL, NH4NO3, NH4CL - DRMH2 = 0.596D0 ! NA2SO4, NANO3, NACL, NH4CL - DRMI1 = 0.240D0 ! LC, NAHSO4, NH4HSO4, NA2SO4, (NH4)2SO4 - DRMI2 = 0.363D0 ! LC, NAHSO4, NA2SO4, (NH4)2SO4 - NO DATA - - DRMI3 = 0.610D0 ! LC, NA2SO4, (NH4)2SO4 - DRMQ1 = 0.494D0 ! (NH4)2SO4, NH4NO3, NA2SO4 - DRMR1 = 0.663D0 ! NA2SO4, NANO3, NACL - DRMR2 = 0.735D0 ! NA2SO4, NACL - DRMR3 = 0.673D0 ! NANO3, NACL - DRMR4 = 0.694D0 ! NA2SO4, NACL, NH4CL - DRMR5 = 0.731D0 ! NA2SO4, NH4CL - DRMR6 = 0.596D0 ! NA2SO4, NANO3, NH4CL - DRMR7 = 0.380D0 ! NA2SO4, NANO3, NACL, NH4NO3 - DRMR8 = 0.380D0 ! NA2SO4, NACL, NH4NO3 - DRMR9 = 0.494D0 ! NA2SO4, NH4NO3 - DRMR10 = 0.476D0 ! NA2SO4, NANO3, NH4NO3 - DRMR11 = 0.340D0 ! NA2SO4, NACL, NH4NO3, NH4CL - DRMR12 = 0.460D0 ! NA2SO4, NH4NO3, NH4CL - DRMR13 = 0.438D0 ! NA2SO4, NANO3, NH4NO3, NH4CL -!CC IF (INT(TEMP) .NE. 298) THEN -!CC T0 = 298.15d0 -!CC TCF = 1.0/TEMP - 1.0/T0 -!CC DRMLCAB = DRMLCAB*EXP( 507.506*TCF) -!CC DRMLCAS = DRMLCAS*EXP( 133.865*TCF) -!CC DRMASAN = DRMASAN*EXP(1269.068*TCF) -!CC DRMG1 = DRMG1 *EXP( 572.207*TCF) -!CC DRMG2 = DRMG2 *EXP( 58.166*TCF) -!CC DRMG3 = DRMG3 *EXP( 22.253*TCF) -!CC DRMH1 = DRMH1 *EXP(2116.542*TCF) -!CC DRMH2 = DRMH2 *EXP( 650.549*TCF) -!CC DRMI1 = DRMI1 *EXP( 565.743*TCF) -!CC DRMI2 = DRMI2 *EXP( 91.745*TCF) -!CC DRMI3 = DRMI3 *EXP( 161.272*TCF) -!CC DRMQ1 = DRMQ1 *EXP(1616.621*TCF) -!CC DRMR1 = DRMR1 *EXP( 292.564*TCF) -!CC DRMR2 = DRMR2 *EXP( 14.587*TCF) -!CC DRMR3 = DRMR3 *EXP( 307.907*TCF) -!CC DRMR4 = DRMR4 *EXP( 97.605*TCF) -!CC DRMR5 = DRMR5 *EXP( 98.523*TCF) -!CC DRMR6 = DRMR6 *EXP( 465.500*TCF) -!CC DRMR7 = DRMR7 *EXP( 324.425*TCF) -!CC DRMR8 = DRMR8 *EXP(2660.184*TCF) -!CC DRMR9 = DRMR9 *EXP(1617.178*TCF) -!CC DRMR10 = DRMR10 *EXP(1745.226*TCF) -!CC DRMR11 = DRMR11 *EXP(3691.328*TCF) -!CC DRMR12 = DRMR12 *EXP(1836.842*TCF) -!CC DRMR13 = DRMR13 *EXP(1967.938*TCF) -!CC ENDIF -! -! *** LIQUID PHASE ****************************************************** -! - CHNO3 = ZERO - CHCL = ZERO - CH2SO4 = ZERO - COH = ZERO - WATER = TINY -! - DO 20 I=1,NPAIR - MOLALR(I)=ZERO - GAMA(I) =0.1 - GAMIN(I) =GREAT - GAMOU(I) =GREAT - M0(I) =1d5 - 20 CONTINUE -! - DO 30 I=1,NPAIR - GAMA(I) = 0.1d0 - 30 CONTINUE -! - DO 40 I=1,NIONS - MOLAL(I)=ZERO -40 CONTINUE - COH = ZERO -! - DO 50 I=1,NGASAQ - GASAQ(I)=ZERO -50 CONTINUE -! -! *** SOLID PHASE ******************************************************* -! - CNH42S4= ZERO - CNH4HS4= ZERO - CNACL = ZERO - CNA2SO4= ZERO - CNANO3 = ZERO - CNH4NO3= ZERO - CNH4CL = ZERO - CNAHSO4= ZERO - CLC = ZERO -! -! *** GAS PHASE ********************************************************* -! - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO -! -! *** CALCULATE ZSR PARAMETERS ****************************************** -! - IRH = MIN (INT(RH*NZSR+0.5),NZSR) ! Position in ZSR arrays - IRH = MAX (IRH, 1) -! - M0(01) = AWSC(IRH) ! NACl - IF (M0(01) .LT. 100.0) THEN - IC = M0(01) - CALL KMTAB(IC,298.0, GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(01) = M0(01)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(02) = AWSS(IRH) ! (NA)2SO4 - IF (M0(02) .LT. 100.0) THEN - IC = 3.0*M0(02) - CALL KMTAB(IC,298.0, XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(02) = M0(02)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(03) = AWSN(IRH) ! NANO3 - IF (M0(03) .LT. 100.0) THEN - IC = M0(03) - CALL KMTAB(IC,298.0, XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX,XX) - M0(03) = M0(03)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(04) = AWAS(IRH) ! (NH4)2SO4 - IF (M0(04) .LT. 100.0) THEN - IC = 3.0*M0(04) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX,XX) - M0(04) = M0(04)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(05) = AWAN(IRH) ! NH4NO3 - IF (M0(05) .LT. 100.0) THEN - IC = M0(05) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX,XX) - M0(05) = M0(05)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(06) = AWAC(IRH) ! NH4CL - IF (M0(06) .LT. 100.0) THEN - IC = M0(06) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX,XX) - M0(06) = M0(06)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(07) = AWSA(IRH) ! 2H-SO4 - IF (M0(07) .LT. 100.0) THEN - IC = 3.0*M0(07) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX,XX) - M0(07) = M0(07)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(08) = AWSA(IRH) ! H-HSO4 -!CC IF (M0(08) .LT. 100.0) THEN ! These are redundant, because M0(8) is not used -!CC IC = M0(08) -!CC CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX,XX) -!CCCCC CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX,XX) -!CC M0(08) = M0(08)*EXP(LN10*(GI0-GII)) -!CC ENDIF -! - M0(09) = AWAB(IRH) ! NH4HSO4 - IF (M0(09) .LT. 100.0) THEN - IC = M0(09) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,GI0,XX,XX,XX) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,GII,XX,XX,XX) - M0(09) = M0(09)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(12) = AWSB(IRH) ! NAHSO4 - IF (M0(12) .LT. 100.0) THEN - IC = M0(12) - CALL KMTAB(IC,298.0, XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GI0) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,GII) - M0(12) = M0(12)*EXP(LN10*(GI0-GII)) - ENDIF -! - M0(13) = AWLC(IRH) ! (NH4)3H(SO4)2 - IF (M0(13) .LT. 100.0) THEN - IC = 4.0*M0(13) - CALL KMTAB(IC,298.0, XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G130 = 0.2*(3.0*GI0+2.0*GII) - CALL KMTAB(IC,SNGL(TEMP),XX,XX,XX,GI0,XX,XX,XX,XX,GII,XX,XX,XX) - G13I = 0.2*(3.0*GI0+2.0*GII) - M0(13) = M0(13)*EXP(LN10*SNGL(G130-G13I)) - ENDIF -! -! *** OTHER INITIALIZATIONS ********************************************* -! - ICLACT = 0 - CALAOU = .TRUE. - CALAIN = .TRUE. - FRST = .TRUE. - SCASE = '?? ' - SULRATW = 2.D0 - NOFER = 0 - STKOFL =.FALSE. - DO 60 I=1,NERRMX - ERRSTK(I) =-999 - ERRMSG(I) = 'MESSAGE N/A' - 60 CONTINUE -! -! *** END OF SUBROUTINE INIT3 ******************************************* -! - IF (LHOOK) CALL DR_HOOK('INIT3',1,ZHOOK_HANDLE) - ENDSUBROUTINE INIT3 -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION GETASR -! *** CALCULATES THE LIMITING NH4+/SO4 RATIO OF A SULFATE POOR SYSTEM -! (i.e. SULFATE RATIO = 2.0) FOR GIVEN SO4 LEVEL AND RH -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! -! DOUBLE PRECISION FUNCTION GETASR (SO4I, RHI) - FUNCTION GETASR (SO4I, RHI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INTEGER :: NSO4S,NRHS,NASRD,IA1,INDS,INDR,INDSL,INDSH,IPOSL,IPOSH - REAL :: A1,RAT,WF - REAL :: ASRAT,ASSO4 - PARAMETER (NSO4S=14, NRHS=20, NASRD=NSO4S*NRHS) - COMMON /ASRC/ ASRAT(NASRD), ASSO4(NSO4S) - REAL(KIND=8) :: SO4I, RHI - REAL(KIND=8) :: GETASR -!CC -!CC *** SOLVE USING FULL COMPUTATIONS, NOT LOOK-UP TABLES ************** -!CC -!CC W(2) = WAER(2) -!CC W(3) = WAER(2)*2.0001D0 -!CC CALL CALCA2 -!CC SULRATW = MOLAL(3)/WAER(2) -!CC CALL INIT1 (WI, RHI, TEMPI) ! Re-initialize COMMON BLOCK -! -! *** CALCULATE INDICES ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('GETASR',0,ZHOOK_HANDLE) - RAT = SO4I/1.E-9 - A1 = INT(LOG10(RAT)) ! Magnitude of RAT - IA1 = INT(RAT/2.5/10.0**A1) -! - INDS = 4.0*A1 + MIN(IA1,4) - INDS = MIN(MAX(0, INDS), NSO4S-1) + 1 ! SO4 component of IPOS -! - INDR = INT(99.0-RHI*100.0) + 1 - INDR = MIN(MAX(1, INDR), NRHS) ! RH component of IPOS -! -! *** GET VALUE AND RETURN ********************************************* -! - INDSL = INDS - INDSH = MIN(INDSL+1, NSO4S) - IPOSL = (INDSL-1)*NRHS + INDR ! Low position in array - IPOSH = (INDSH-1)*NRHS + INDR ! High position in array -! - WF = (SO4I-ASSO4(INDSL))/(ASSO4(INDSH)-ASSO4(INDSL) + 1e-7) - WF = MIN(MAX(WF, 0.0), 1.0) -! - GETASR = WF*ASRAT(IPOSH) + (1.0-WF)*ASRAT(IPOSL) -! -! *** END OF FUNCTION GETASR ******************************************* -! - IF (LHOOK) CALL DR_HOOK('GETASR',1,ZHOOK_HANDLE) - ENDFUNCTION GETASR - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA AERSR -! *** CONTAINS DATA FOR AEROSOL SULFATE RATIO ARRAY NEEDED IN FUNCTION -! GETASR -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA AERSR - IMPLICIT NONE - INTEGER :: NSO4S,NRHS,NASRD,I - REAL :: ASRAT,ASSO4 - PARAMETER (NSO4S=14, NRHS=20, NASRD=NSO4S*NRHS) - COMMON /ASRC/ ASRAT(NASRD), ASSO4(NSO4S) -! - DATA ASSO4/1.0E-9, 2.5E-9, 5.0E-9, 7.5E-9, 1.0E-8, & - & 2.5E-8, 5.0E-8, 7.5E-8, 1.0E-7, 2.5E-7, & - & 5.0E-7, 7.5E-7, 1.0E-6, 5.0E-6/ -! - DATA (ASRAT(I), I=1,100)/ & - & 1.020464, 0.9998130, 0.9960167, 0.9984423, 1.004004, & - & 1.010885, 1.018356, 1.026726, 1.034268, 1.043846, & - & 1.052933, 1.062230, 1.062213, 1.080050, 1.088350, & - & 1.096603, 1.104289, 1.111745, 1.094662, 1.121594, & - & 1.268909, 1.242444, 1.233815, 1.232088, 1.234020, & - & 1.238068, 1.243455, 1.250636, 1.258734, 1.267543, & - & 1.276948, 1.286642, 1.293337, 1.305592, 1.314726, & - & 1.323463, 1.333258, 1.343604, 1.344793, 1.355571, & - & 1.431463, 1.405204, 1.395791, 1.393190, 1.394403, & - & 1.398107, 1.403811, 1.411744, 1.420560, 1.429990, & - & 1.439742, 1.449507, 1.458986, 1.468403, 1.477394, & - & 1.487373, 1.495385, 1.503854, 1.512281, 1.520394, & - & 1.514464, 1.489699, 1.480686, 1.478187, 1.479446, & - & 1.483310, 1.489316, 1.497517, 1.506501, 1.515816, & - & 1.524724, 1.533950, 1.542758, 1.551730, 1.559587, & - & 1.568343, 1.575610, 1.583140, 1.590440, 1.596481, & - & 1.567743, 1.544426, 1.535928, 1.533645, 1.535016, & - & 1.539003, 1.545124, 1.553283, 1.561886, 1.570530, & - & 1.579234, 1.587813, 1.595956, 1.603901, 1.611349, & - & 1.618833, 1.625819, 1.632543, 1.639032, 1.645276/ - - DATA (ASRAT(I), I=101,200)/ & - & 1.707390, 1.689553, 1.683198, 1.681810, 1.683490, & - & 1.687477, 1.693148, 1.700084, 1.706917, 1.713507, & - & 1.719952, 1.726190, 1.731985, 1.737544, 1.742673, & - & 1.747756, 1.752431, 1.756890, 1.761141, 1.765190, & - & 1.785657, 1.771851, 1.767063, 1.766229, 1.767901, & - & 1.771455, 1.776223, 1.781769, 1.787065, 1.792081, & - & 1.796922, 1.801561, 1.805832, 1.809896, 1.813622, & - & 1.817292, 1.820651, 1.823841, 1.826871, 1.829745, & - & 1.822215, 1.810497, 1.806496, 1.805898, 1.807480, & - & 1.810684, 1.814860, 1.819613, 1.824093, 1.828306, & - & 1.832352, 1.836209, 1.839748, 1.843105, 1.846175, & - & 1.849192, 1.851948, 1.854574, 1.857038, 1.859387, & - & 1.844588, 1.834208, 1.830701, 1.830233, 1.831727, & - & 1.834665, 1.838429, 1.842658, 1.846615, 1.850321, & - & 1.853869, 1.857243, 1.860332, 1.863257, 1.865928, & - & 1.868550, 1.870942, 1.873208, 1.875355, 1.877389, & - & 1.899556, 1.892637, 1.890367, 1.890165, 1.891317, & - & 1.893436, 1.896036, 1.898872, 1.901485, 1.903908, & - & 1.906212, 1.908391, 1.910375, 1.912248, 1.913952, & - & 1.915621, 1.917140, 1.918576, 1.919934, 1.921220/ - - DATA (ASRAT(I), I=201,280)/ & - & 1.928264, 1.923245, 1.921625, 1.921523, 1.922421, & - & 1.924016, 1.925931, 1.927991, 1.929875, 1.931614, & - & 1.933262, 1.934816, 1.936229, 1.937560, 1.938769, & - & 1.939951, 1.941026, 1.942042, 1.943003, 1.943911, & - & 1.941205, 1.937060, 1.935734, 1.935666, 1.936430, & - & 1.937769, 1.939359, 1.941061, 1.942612, 1.944041, & - & 1.945393, 1.946666, 1.947823, 1.948911, 1.949900, & - & 1.950866, 1.951744, 1.952574, 1.953358, 1.954099, & - & 1.948985, 1.945372, 1.944221, 1.944171, 1.944850, & - & 1.946027, 1.947419, 1.948902, 1.950251, 1.951494, & - & 1.952668, 1.953773, 1.954776, 1.955719, 1.956576, & - & 1.957413, 1.958174, 1.958892, 1.959571, 1.960213, & - & 1.977193, 1.975540, 1.975023, 1.975015, 1.975346, & - & 1.975903, 1.976547, 1.977225, 1.977838, 1.978401, & - & 1.978930, 1.979428, 1.979879, 1.980302, 1.980686, & - & 1.981060, 1.981401, 1.981722, 1.982025, 1.982312/ -! -! *** END OF BLOCK DATA AERSR ****************************************** -! - ENDBLOCKDATA AERSR - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCHA -! *** CALCULATES CHLORIDES SPECIATION -! -! HYDROCHLORIC ACID IN THE LIQUID PHASE IS ASSUMED A MINOR SPECIES, -! AND DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM. THE -! HYDROCHLORIC ACID DISSOLVED IS CALCULATED FROM THE -! HCL(G) <-> (H+) + (CL-) -! EQUILIBRIUM, USING THE (H+) FROM THE SULFATES. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCHA - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ALFA,DET,DELT,DIAK,X - REAL(KIND=8) :: KAPA -!C CHARACTER ERRINF*40 -! -! *** CALCULATE HCL DISSOLUTION ***************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCHA',0,ZHOOK_HANDLE) - X = W(5) - DELT = 0.0d0 - IF (WATER.GT.TINY) THEN - KAPA = MOLAL(1) - ALFA = XK3*R*TEMP*(WATER/GAMA(11))**2.0 - DIAK = SQRT( (KAPA+ALFA)**2.0 + 4.0*ALFA*X) - DELT = 0.5*(-(KAPA+ALFA) + DIAK) -!C IF (DELT/KAPA.GT.0.1d0) THEN -!C WRITE (ERRINF,'(1PE10.3)') DELT/KAPA*100.0 -!C CALL PUSHERR (0033, ERRINF) -!C ENDIF - ENDIF -! -! *** CALCULATE HCL SPECIATION IN THE GAS PHASE ************************* -! - GHCL = MAX(X-DELT, 0.0d0) ! GAS HCL -! -! *** CALCULATE HCL SPECIATION IN THE LIQUID PHASE ********************** -! - MOLAL(4) = DELT ! CL- - MOLAL(1) = MOLAL(1) + DELT ! H+ -! - IF (LHOOK) CALL DR_HOOK('CALCHA',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCHA ****************************************** -! - ENDSUBROUTINE CALCHA - - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCHAP -! *** CALCULATES CHLORIDES SPECIATION -! -! HYDROCHLORIC ACID IN THE LIQUID PHASE IS ASSUMED A MINOR SPECIES, -! THAT DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM. -! THE HYDROCHLORIC ACID DISSOLVED IS CALCULATED FROM THE -! HCL(G) -> HCL(AQ) AND HCL(AQ) -> (H+) + (CL-) -! EQUILIBRIA, USING (H+) FROM THE SULFATES. -! -! THIS IS THE VERSION USED BY THE INVERSE PROBLEM SOVER -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCHAP - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ALFA,DELT,DIAK,X -! -! *** IS THERE A LIQUID PHASE? ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCHAP',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - IF (LHOOK) CALL DR_HOOK('CALCHAP',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE HCL SPECIATION IN THE GAS PHASE ************************* -! - CALL CALCCLAQ (MOLAL(4), MOLAL(1), DELT) - ALFA = XK3*R*TEMP*(WATER/GAMA(11))**2.0 - GASAQ(3) = DELT - MOLAL(1) = MOLAL(1) - DELT - MOLAL(4) = MOLAL(4) - DELT - GHCL = MOLAL(1)*MOLAL(4)/ALFA -! - IF (LHOOK) CALL DR_HOOK('CALCHAP',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCHAP ***************************************** -! - ENDSUBROUTINE CALCHAP - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNA -! *** CALCULATES NITRATES SPECIATION -! -! NITRIC ACID IN THE LIQUID PHASE IS ASSUMED A MINOR SPECIES, THAT -! DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM. THE NITRIC -! ACID DISSOLVED IS CALCULATED FROM THE HNO3(G) -> (H+) + (NO3-) -! EQUILIBRIUM, USING THE (H+) FROM THE SULFATES. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNA - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ALFA,DELT,DIAK,X - REAL(KIND=8) :: KAPA -!C CHARACTER ERRINF*40 -! -! *** CALCULATE HNO3 DISSOLUTION **************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNA',0,ZHOOK_HANDLE) - X = W(4) - DELT = 0.0d0 - IF (WATER.GT.TINY) THEN - KAPA = MOLAL(1) - ALFA = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - DIAK = SQRT( (KAPA+ALFA)**2.0 + 4.0*ALFA*X) - DELT = 0.5*(-(KAPA+ALFA) + DIAK) -!C IF (DELT/KAPA.GT.0.1d0) THEN -!C WRITE (ERRINF,'(1PE10.3)') DELT/KAPA*100.0 -!C CALL PUSHERR (0019, ERRINF) ! WARNING ERROR: NO SOLUTION -!C ENDIF - ENDIF -! -! *** CALCULATE HNO3 SPECIATION IN THE GAS PHASE ************************ -! - GHNO3 = MAX(X-DELT, 0.0d0) ! GAS HNO3 -! -! *** CALCULATE HNO3 SPECIATION IN THE LIQUID PHASE ********************* -! - MOLAL(7) = DELT ! NO3- - MOLAL(1) = MOLAL(1) + DELT ! H+ -! - IF (LHOOK) CALL DR_HOOK('CALCNA',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNA ****************************************** -! - ENDSUBROUTINE CALCNA - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNAP -! *** CALCULATES NITRATES SPECIATION -! -! NITRIC ACID IN THE LIQUID PHASE IS ASSUMED A MINOR SPECIES, THAT -! DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM. THE NITRIC -! ACID DISSOLVED IS CALCULATED FROM THE HNO3(G) -> HNO3(AQ) AND -! HNO3(AQ) -> (H+) + (CL-) EQUILIBRIA, USING (H+) FROM THE SULFATES. -! -! THIS IS THE VERSION USED BY THE INVERSE PROBLEM SOVER -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNAP - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ALFA,DELT -! -! *** IS THERE A LIQUID PHASE? ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNAP',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - IF (LHOOK) CALL DR_HOOK('CALCNAP',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE HNO3 SPECIATION IN THE GAS PHASE ************************ -! - CALL CALCNIAQ (MOLAL(7), MOLAL(1), DELT) - ALFA = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - GASAQ(3) = DELT - MOLAL(1) = MOLAL(1) - DELT - MOLAL(7) = MOLAL(7) - DELT - GHNO3 = MOLAL(1)*MOLAL(7)/ALFA -! - IF (LHOOK) CALL DR_HOOK('CALCNAP',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNAP ***************************************** -! - ENDSUBROUTINE CALCNAP - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNH3 -! *** CALCULATES AMMONIA IN GAS PHASE -! -! AMMONIA IN THE GAS PHASE IS ASSUMED A MINOR SPECIES, THAT -! DOES NOT SIGNIFICANTLY PERTURB THE AEROSOL EQUILIBRIUM. -! AMMONIA GAS IS CALCULATED FROM THE NH3(g) + (H+)(l) <==> (NH4+)(l) -! EQUILIBRIUM, USING (H+), (NH4+) FROM THE AEROSOL SOLUTION. -! -! THIS IS THE VERSION USED BY THE DIRECT PROBLEM -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNH3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A1,CHI1,CHI2,BB,CC,DIAK,PSI -! -! *** IS THERE A LIQUID PHASE? ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNH3',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - IF (LHOOK) CALL DR_HOOK('CALCNH3',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE NH3 SUBLIMATION ***************************************** -! - A1 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - CHI1 = MOLAL(3) - CHI2 = MOLAL(1) -! - BB =(CHI2 + ONE/A1) ! a=1; b!=1; c!=1 - CC =-CHI1/A1 - DIAK = SQRT(BB*BB - 4.D0*CC) ! Always > 0 - PSI = 0.5*(-BB + DIAK) ! One positive root - PSI = MAX(TINY, MIN(PSI,CHI1))! Constrict in acceptible range -! -! *** CALCULATE NH3 SPECIATION IN THE GAS PHASE ************************* -! - GNH3 = PSI ! GAS HNO3 -! -! *** CALCULATE NH3 AFFECT IN THE LIQUID PHASE ************************** -! - MOLAL(3) = CHI1 - PSI ! NH4+ - MOLAL(1) = CHI2 + PSI ! H+ -! - IF (LHOOK) CALL DR_HOOK('CALCNH3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNH3 ***************************************** -! - ENDSUBROUTINE CALCNH3 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNH3P -! *** CALCULATES AMMONIA IN GAS PHASE -! -! AMMONIA GAS IS CALCULATED FROM THE NH3(g) + (H+)(l) <==> (NH4+)(l) -! EQUILIBRIUM, USING (H+), (NH4+) FROM THE AEROSOL SOLUTION. -! -! THIS IS THE VERSION USED BY THE INVERSE PROBLEM SOLVER -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNH3P - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A1 -! -! *** IS THERE A LIQUID PHASE? ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNH3P',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - IF (LHOOK) CALL DR_HOOK('CALCNH3P',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE NH3 GAS PHASE CONCENTRATION ***************************** -! - A1 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - GNH3 = MOLAL(3)/MOLAL(1)/A1 -! - IF (LHOOK) CALL DR_HOOK('CALCNH3P',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNH3P **************************************** -! - ENDSUBROUTINE CALCNH3P - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNHA -! -! THIS SUBROUTINE CALCULATES THE DISSOLUTION OF HCL, HNO3 AT -! THE PRESENCE OF (H,SO4). HCL, HNO3 ARE CONSIDERED MINOR SPECIES, -! THAT DO NOT SIGNIFICANTLY AFFECT THE EQUILIBRIUM POINT. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNHA - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A3,A4,C1,C2,C3,CHI3,CHI4,DELCL,DELNO,OMEGA - INTEGER :: ISLV - REAL(KIND=8) :: M1, M2, M3 - CHARACTER ERRINF*40 -! -! *** SPECIAL CASE; WATER=ZERO ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNHA',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - GOTO 55 -! -! *** SPECIAL CASE; HCL=HNO3=ZERO *************************************** -! - ELSEIF (W(5).LE.TINY .AND. W(4).LE.TINY) THEN - GOTO 60 -! -! *** SPECIAL CASE; HCL=ZERO ******************************************** -! - ELSE IF (W(5).LE.TINY) THEN - CALL CALCNA ! CALL HNO3 DISSOLUTION ROUTINE - GOTO 60 -! -! *** SPECIAL CASE; HNO3=ZERO ******************************************* -! - ELSE IF (W(4).LE.TINY) THEN - CALL CALCHA ! CALL HCL DISSOLUTION ROUTINE - GOTO 60 - ENDIF -! -! *** CALCULATE EQUILIBRIUM CONSTANTS *********************************** -! - A3 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 ! HNO3 - A4 = XK3*R*TEMP*(WATER/GAMA(11))**2.0 ! HCL -! -! *** CALCULATE CUBIC EQUATION COEFFICIENTS ***************************** -! - DELCL = ZERO - DELNO = ZERO -! - OMEGA = MOLAL(1) ! H+ - CHI3 = W(4) ! HNO3 - CHI4 = W(5) ! HCL -! - C1 = A3*CHI3 - C2 = A4*CHI4 - C3 = A3 - A4 -! - M1 = (C1 + C2 + (OMEGA+A4)*C3)/C3 - M2 = ((OMEGA+A4)*C2 - A4*C3*CHI4)/C3 - M3 =-A4*C2*CHI4/C3 -! -! *** CALCULATE ROOTS *************************************************** -! - CALL POLY3 (M1, M2, M3, DELCL, ISLV) ! HCL DISSOLUTION - IF (ISLV.NE.0) THEN - DELCL = TINY ! TINY AMOUNTS OF HCL ASSUMED WHEN NO ROOT - WRITE (ERRINF,'(1PE7.1)') TINY - CALL PUSHERR (0022, ERRINF) ! WARNING ERROR: NO SOLUTION - ENDIF - DELCL = MIN(DELCL, CHI4) -! - DELNO = C1*DELCL/(C2 + C3*DELCL) - DELNO = MIN(DELNO, CHI3) -! - IF (DELCL.LT.ZERO .OR. DELNO.LT.ZERO .OR. & - & DELCL.GT.CHI4 .OR. DELNO.GT.CHI3 ) THEN - DELCL = TINY ! TINY AMOUNTS OF HCL ASSUMED WHEN NO ROOT - DELNO = TINY - WRITE (ERRINF,'(1PE7.1)') TINY - CALL PUSHERR (0022, ERRINF) ! WARNING ERROR: NO SOLUTION - ENDIF -!CC -!CC *** COMPARE DELTA TO TOTAL H+ ; ESTIMATE EFFECT TO HSO4 *************** -!CC -!C IF ((DELCL+DELNO)/MOLAL(1).GT.0.1d0) THEN -!C WRITE (ERRINF,'(1PE10.3)') (DELCL+DELNO)/MOLAL(1)*100.0 -!C CALL PUSHERR (0021, ERRINF) -!C ENDIF -! -! *** EFFECT ON LIQUID PHASE ******************************************** -! -50 MOLAL(1) = MOLAL(1) + (DELNO+DELCL) ! H+ CHANGE - MOLAL(4) = MOLAL(4) + DELCL ! CL- CHANGE - MOLAL(7) = MOLAL(7) + DELNO ! NO3- CHANGE -! -! *** EFFECT ON GAS PHASE *********************************************** -! -55 GHCL = MAX(W(5) - MOLAL(4), TINY) - GHNO3 = MAX(W(4) - MOLAL(7), TINY) -! -60 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCNHA',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNHA ***************************************** -! - ENDSUBROUTINE CALCNHA - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNHP -! -! THIS SUBROUTINE CALCULATES THE GAS PHASE NITRIC AND HYDROCHLORIC -! ACID. CONCENTRATIONS ARE CALCULATED FROM THE DISSOLUTION -! EQUILIBRIA, USING (H+), (Cl-), (NO3-) IN THE AEROSOL PHASE. -! -! THIS IS THE VERSION USED BY THE INVERSE PROBLEM SOLVER -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNHP - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A3,A4,DELT -! -! *** IS THERE A LIQUID PHASE? ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNHP',0,ZHOOK_HANDLE) - IF (WATER.LE.TINY) THEN - IF (LHOOK) CALL DR_HOOK('CALCNHP',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE EQUILIBRIUM CONSTANTS *********************************** -! - A3 = XK3*R*TEMP*(WATER/GAMA(11))**2.0 - A4 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - MOLAL(1) = MOLAL(1) + WAER(4) + WAER(5) -! -! *** CALCULATE CONCENTRATIONS ****************************************** -! *** ASSUME THAT 'DELT' FROM HNO3 >> 'DELT' FROM HCL -! - CALL CALCNIAQ (WAER(4), MOLAL(1)+MOLAL(7)+MOLAL(4), DELT) - MOLAL(1) = MOLAL(1) - DELT - MOLAL(7) = WAER(4) - DELT - GASAQ(3) = DELT -! - CALL CALCCLAQ (WAER(5), MOLAL(1)+MOLAL(7)+MOLAL(4), DELT) - MOLAL(1) = MOLAL(1) - DELT - MOLAL(4) = WAER(5) - DELT - GASAQ(2) = DELT -! - GHNO3 = MOLAL(1)*MOLAL(7)/A4 - GHCL = MOLAL(1)*MOLAL(4)/A3 -! - IF (LHOOK) CALL DR_HOOK('CALCNHP',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNHP ***************************************** -! - ENDSUBROUTINE CALCNHP - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCAMAQ -! *** THIS SUBROUTINE CALCULATES THE NH3(aq) GENERATED FROM (H,NH4+). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCAMAQ (NH4I, OHI, DELT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A22,AKW,BB,CC,DD,OM1,OM2,DEL1,DEL2 - REAL(KIND=8) :: OHI,DELT - REAL(KIND=8) :: NH4I -!C CHARACTER ERRINF*40 -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCAMAQ',0,ZHOOK_HANDLE) - A22 = XK22/XKW/WATER*(GAMA(8)/GAMA(9))**2. ! GAMA(NH3) ASSUMED 1 - AKW = XKW *RH*WATER*WATER -! -! *** FIND ROOT -! - OM1 = NH4I - OM2 = OHI - BB =-(OM1+OM2+A22*AKW) - CC = OM1*OM2 - DD = SQRT(BB*BB-4.D0*CC) - - DEL1 = 0.5D0*(-BB - DD) - DEL2 = 0.5D0*(-BB + DD) -! -! *** GET APPROPRIATE ROOT. -! - IF (DEL1.LT.ZERO) THEN - IF (DEL2.GT.NH4I .OR. DEL2.GT.OHI) THEN - DELT = ZERO - ELSE - DELT = DEL2 - ENDIF - ELSE - DELT = DEL1 - ENDIF -!C -!C *** COMPARE DELTA TO TOTAL NH4+ ; ESTIMATE EFFECT ********************* -!C -!C IF (DELTA/HYD.GT.0.1d0) THEN -!C WRITE (ERRINF,'(1PE10.3)') DELTA/HYD*100.0 -!C CALL PUSHERR (0020, ERRINF) -!C ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCAMAQ',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCAMAQ **************************************** -! - ENDSUBROUTINE CALCAMAQ - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCAMAQ2 -! -! THIS SUBROUTINE CALCULATES THE NH3(aq) GENERATED FROM (H,NH4+). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCAMAQ2 (GGNH3, NH4I, OHI, NH3AQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A22,ALF1,ALF2,AKW,BB,CC,DEL - REAL(KIND=8) :: GGNH3,OHI - REAL(KIND=8) :: NH4I, NH3AQ -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCAMAQ2',0,ZHOOK_HANDLE) - A22 = XK22/XKW/WATER*(GAMA(8)/GAMA(9))**2. ! GAMA(NH3) ASSUMED 1 - AKW = XKW *RH*WATER*WATER -! -! *** FIND ROOT -! - ALF1 = NH4I - GGNH3 - ALF2 = GGNH3 - BB = ALF1 + A22*AKW - CC =-A22*AKW*ALF2 - DEL = 0.5D0*(-BB + SQRT(BB*BB-4.D0*CC)) -! -! *** ADJUST CONCENTRATIONS -! - NH4I = ALF1 + DEL - OHI = DEL - IF (OHI.LE.TINY) OHI = SQRT(AKW) ! If solution is neutral. - NH3AQ = ALF2 - DEL -! - IF (LHOOK) CALL DR_HOOK('CALCAMAQ2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCAMAQ2 **************************************** -! - ENDSUBROUTINE CALCAMAQ2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCCLAQ -! -! THIS SUBROUTINE CALCULATES THE HCL(aq) GENERATED FROM (H+,CL-). -! -! *** COPYRIGHT 1996-98, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCCLAQ (CLI, HI, DELT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: HI,DELT - REAL(KIND=8) :: A32,BB,CC,DD,DEL1,DEL2,OM1,OM2,X - REAL(KIND=8) :: CLI -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCCLAQ',0,ZHOOK_HANDLE) - A32 = XK32*WATER/(GAMA(11))**2. ! GAMA(HCL) ASSUMED 1 -! -! *** FIND ROOT -! - OM1 = CLI - OM2 = HI - BB =-(OM1+OM2+A32) - CC = OM1*OM2 - DD = SQRT(BB*BB-4.D0*CC) - - DEL1 = 0.5D0*(-BB - DD) - DEL2 = 0.5D0*(-BB + DD) -! -! *** GET APPROPRIATE ROOT. -! - IF (DEL1.LT.ZERO) THEN - IF (DEL2.LT.ZERO .OR. DEL2.GT.CLI .OR. DEL2.GT.HI) THEN - DELT = ZERO - ELSE - DELT = DEL2 - ENDIF - ELSE - DELT = DEL1 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCCLAQ',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCCLAQ **************************************** -! - ENDSUBROUTINE CALCCLAQ - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCCLAQ2 -! -! THIS SUBROUTINE CALCULATES THE HCL(aq) GENERATED FROM (H+,CL-). -! -! *** COPYRIGHT 1996-98, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCCLAQ2 (GGCL, CLI, HI, CLAQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A32,AKW,ALF1,ALF2,COEF,DEL1 - REAL(KIND=8) :: GGCL,HI,CLAQ - REAL(KIND=8) :: CLI -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCCLAQ2',0,ZHOOK_HANDLE) - A32 = XK32*WATER/(GAMA(11))**2. ! GAMA(HCL) ASSUMED 1 - AKW = XKW *RH*WATER*WATER -! -! *** FIND ROOT -! - ALF1 = CLI - GGCL - ALF2 = GGCL - COEF = (ALF1+A32) - DEL1 = 0.5*(-COEF + SQRT(COEF*COEF+4.D0*A32*ALF2)) -! -! *** CORRECT CONCENTRATIONS -! - CLI = ALF1 + DEL1 - HI = DEL1 - IF (HI.LE.TINY) HI = SQRT(AKW) ! If solution is neutral. - CLAQ = ALF2 - DEL1 -! - IF (LHOOK) CALL DR_HOOK('CALCCLAQ2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCCLAQ2 **************************************** -! - ENDSUBROUTINE CALCCLAQ2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNIAQ -! -! THIS SUBROUTINE CALCULATES THE HNO3(aq) GENERATED FROM (H,NO3-). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNIAQ (NO3I, HI, DELT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: HI,DELT - REAL(KIND=8) :: A42,BB,CC,DD,OM1,OM2,DEL1,DEL2 - REAL(KIND=8) :: NO3I -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNIAQ',0,ZHOOK_HANDLE) - A42 = XK42*WATER/(GAMA(10))**2. ! GAMA(HNO3) ASSUMED 1 -! -! *** FIND ROOT -! - OM1 = NO3I - OM2 = HI - BB =-(OM1+OM2+A42) - CC = OM1*OM2 - DD = SQRT(BB*BB-4.D0*CC) - - DEL1 = 0.5D0*(-BB - DD) - DEL2 = 0.5D0*(-BB + DD) -! -! *** GET APPROPRIATE ROOT. -! - IF (DEL1.LT.ZERO .OR. DEL1.GT.HI .OR. DEL1.GT.NO3I) THEN - DELT = ZERO - ELSE - DELT = DEL1 - IF (LHOOK) CALL DR_HOOK('CALCNIAQ',1,ZHOOK_HANDLE) - RETURN - ENDIF -! - IF (DEL2.LT.ZERO .OR. DEL2.GT.NO3I .OR. DEL2.GT.HI) THEN - DELT = ZERO - ELSE - DELT = DEL2 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCNIAQ',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNIAQ **************************************** -! - ENDSUBROUTINE CALCNIAQ - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCNIAQ2 -! -! THIS SUBROUTINE CALCULATES THE UNDISSOCIATED HNO3(aq) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A42,AKW,ALF1,ALF2,ALF3,BB,CC,DEL1 - REAL(KIND=8) :: GGNO3,HI - REAL(KIND=8) :: NO3I, NO3AQ -! -! *** EQUILIBRIUM CONSTANTS -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCNIAQ2',0,ZHOOK_HANDLE) - A42 = XK42*WATER/(GAMA(10))**2. ! GAMA(HNO3) ASSUMED 1 - AKW = XKW *RH*WATER*WATER -! -! *** FIND ROOT -! - ALF1 = NO3I - GGNO3 - ALF2 = GGNO3 - ALF3 = HI -! - BB = ALF3 + ALF1 + A42 - CC = ALF3*ALF1 - A42*ALF2 - DEL1 = 0.5*(-BB + SQRT(BB*BB-4.D0*CC)) -! -! *** CORRECT CONCENTRATIONS -! - NO3I = ALF1 + DEL1 - HI = ALF3 + DEL1 - IF (HI.LE.TINY) HI = SQRT(AKW) ! If solution is neutral. - NO3AQ = ALF2 - DEL1 -! - IF (LHOOK) CALL DR_HOOK('CALCNIAQ2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCNIAQ2 **************************************** -! - ENDSUBROUTINE CALCNIAQ2 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCMR -! *** THIS SUBROUTINE CALCULATES: -! 1. ION PAIR CONCENTRATIONS (FROM [MOLAR] ARRAY) -! 2. WATER CONTENT OF LIQUID AEROSOL PHASE (FROM ZSR CORRELATION) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCMR - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: AML5,FRCL,FRNH4,FRNO3,HSO4I,SO4I,TOTS4 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 - CHARACTER SC*1 -! -! *** CALCULATE ION PAIR CONCENTRATIONS ACCORDING TO SPECIFIC CASE **** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCMR',0,ZHOOK_HANDLE) - SC =SCASE(1:1) ! SULRAT & SODRAT case -! -! *** NH4-SO4 SYSTEM ; SULFATE POOR CASE -! - IF (SC.EQ.'A') THEN - MOLALR(4) = MOLAL(5)+MOLAL(6) ! (NH4)2SO4 - CORRECT FOR SO4 TO HSO4 -! -! *** NH4-SO4 SYSTEM ; SULFATE RICH CASE ; NO FREE ACID -! - ELSE IF (SC.EQ.'B') THEN - SO4I = MOLAL(5)-MOLAL(1) ! CORRECT FOR HSO4 DISSOCIATION - HSO4I = MOLAL(6)+MOLAL(1) - IF (SO4I.LT.HSO4I) THEN - MOLALR(13) = SO4I ! [LC] = [SO4] - MOLALR(9) = MAX(HSO4I-SO4I, ZERO) ! NH4HSO4 - ELSE - MOLALR(13) = HSO4I ! [LC] = [HSO4] - MOLALR(4) = MAX(SO4I-HSO4I, ZERO) ! (NH4)2SO4 - ENDIF -! -! *** NH4-SO4 SYSTEM ; SULFATE RICH CASE ; FREE ACID -! - ELSE IF (SC.EQ.'C') THEN - MOLALR(4) = MOLAL(3) ! NH4HSO4 - MOLALR(7) = MAX(W(2)-W(3), ZERO) ! H2SO4 -! -! *** NH4-SO4-NO3 SYSTEM ; SULFATE POOR CASE -! - ELSE IF (SC.EQ.'D') THEN - MOLALR(4) = MOLAL(5) + MOLAL(6) ! (NH4)2SO4 - AML5 = MOLAL(3)-2.D0*MOLALR(4) ! "free" NH4 - MOLALR(5) = MAX(MIN(AML5,MOLAL(7)), ZERO)! NH4NO3 = MIN("free", NO3) -! -! *** NH4-SO4-NO3 SYSTEM ; SULFATE RICH CASE ; NO FREE ACID -! - ELSE IF (SC.EQ.'E') THEN - SO4I = MAX(MOLAL(5)-MOLAL(1),ZERO) ! FROM HSO4 DISSOCIATION - HSO4I = MOLAL(6)+MOLAL(1) - IF (SO4I.LT.HSO4I) THEN - MOLALR(13) = SO4I ! [LC] = [SO4] - MOLALR(9) = MAX(HSO4I-SO4I, ZERO) ! NH4HSO4 - ELSE - MOLALR(13) = HSO4I ! [LC] = [HSO4] - MOLALR(4) = MAX(SO4I-HSO4I, ZERO) ! (NH4)2SO4 - ENDIF -! -! *** NH4-SO4-NO3 SYSTEM ; SULFATE RICH CASE ; FREE ACID -! - ELSE IF (SC.EQ.'F') THEN - MOLALR(4) = MOLAL(3) ! NH4HSO4 - MOLALR(7) = MAX(MOLAL(5)+MOLAL(6)-MOLAL(3),ZERO) ! H2SO4 -! -! *** NA-NH4-SO4-NO3-CL SYSTEM ; SULFATE POOR ; SODIUM POOR CASE -! - ELSE IF (SC.EQ.'G') THEN - MOLALR(2) = 0.5*MOLAL(2) ! NA2SO4 - TOTS4 = MOLAL(5)+MOLAL(6) ! Total SO4 - MOLALR(4) = MAX(TOTS4 - MOLALR(2), ZERO) ! (NH4)2SO4 - FRNH4 = MAX(MOLAL(3) - 2.D0*MOLALR(4), ZERO) - MOLALR(5) = MIN(MOLAL(7),FRNH4) ! NH4NO3 - FRNH4 = MAX(FRNH4 - MOLALR(5), ZERO) - MOLALR(6) = MIN(MOLAL(4), FRNH4) ! NH4CL -! -! *** NA-NH4-SO4-NO3-CL SYSTEM ; SULFATE POOR ; SODIUM RICH CASE -! *** RETREIVE DISSOLVED SALTS DIRECTLY FROM COMMON BLOCK /SOLUT/ -! - ELSE IF (SC.EQ.'H') THEN - MOLALR(1) = PSI7 ! NACL - MOLALR(2) = PSI1 ! NA2SO4 - MOLALR(3) = PSI8 ! NANO3 - MOLALR(4) = ZERO ! (NH4)2SO4 - FRNO3 = MAX(MOLAL(7) - MOLALR(3), ZERO) ! "FREE" NO3 - FRCL = MAX(MOLAL(4) - MOLALR(1), ZERO) ! "FREE" CL - MOLALR(5) = MIN(MOLAL(3),FRNO3) ! NH4NO3 - FRNH4 = MAX(MOLAL(3) - MOLALR(5), ZERO) ! "FREE" NH3 - MOLALR(6) = MIN(FRCL, FRNH4) ! NH4CL -! -! *** NA-NH4-SO4-NO3-CL SYSTEM ; SULFATE RICH CASE ; NO FREE ACID -! *** RETREIVE DISSOLVED SALTS DIRECTLY FROM COMMON BLOCK /SOLUT/ -! - ELSE IF (SC.EQ.'I') THEN - MOLALR(04) = PSI5 ! (NH4)2SO4 - MOLALR(02) = PSI4 ! NA2SO4 - MOLALR(09) = PSI1 ! NH4HSO4 - MOLALR(12) = PSI3 ! NAHSO4 - MOLALR(13) = PSI2 ! LC -! -! *** NA-NH4-SO4-NO3-CL SYSTEM ; SULFATE RICH CASE ; FREE ACID -! - ELSE IF (SC.EQ.'J') THEN - MOLALR(09) = MOLAL(3) ! NH4HSO4 - MOLALR(12) = MOLAL(2) ! NAHSO4 - MOLALR(07) = MOLAL(5)+MOLAL(6)-MOLAL(3)-MOLAL(2) ! H2SO4 - MOLALR(07) = MAX(MOLALR(07),ZERO) -! -! ======= REVERSE PROBLEMS =========================================== -! -! *** NH4-SO4-NO3 SYSTEM ; SULFATE POOR CASE -! - ELSE IF (SC.EQ.'N') THEN - MOLALR(4) = MOLAL(5) + MOLAL(6) ! (NH4)2SO4 - AML5 = WAER(3)-2.D0*MOLALR(4) ! "free" NH4 - MOLALR(5) = MAX(MIN(AML5,WAER(4)), ZERO) ! NH4NO3 = MIN("free", NO3) -! -! *** NH4-SO4-NO3-NA-CL SYSTEM ; SULFATE POOR, SODIUM POOR CASE -! - ELSE IF (SC.EQ.'Q') THEN - MOLALR(2) = PSI1 ! NA2SO4 - MOLALR(4) = PSI6 ! (NH4)2SO4 - MOLALR(5) = PSI5 ! NH4NO3 - MOLALR(6) = PSI4 ! NH4CL -! -! *** NH4-SO4-NO3-NA-CL SYSTEM ; SULFATE POOR, SODIUM RICH CASE -! - ELSE IF (SC.EQ.'R') THEN - MOLALR(1) = PSI3 ! NACL - MOLALR(2) = PSI1 ! NA2SO4 - MOLALR(3) = PSI2 ! NANO3 - MOLALR(4) = ZERO ! (NH4)2SO4 - MOLALR(5) = PSI5 ! NH4NO3 - MOLALR(6) = PSI4 ! NH4CL -! -! *** UNKNOWN CASE -! - ELSE - CALL PUSHERR (1001, ' ') ! FATAL ERROR: CASE NOT SUPPORTED - ENDIF -! -! *** CALCULATE WATER CONTENT ; ZSR CORRELATION *********************** -! - WATER = ZERO - DO 10 I=1,NPAIR - WATER = WATER + MOLALR(I)/M0(I) -10 CONTINUE - WATER = MAX(WATER, TINY) -! - IF (LHOOK) CALL DR_HOOK('CALCMR',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCMR ****************************************** -! - ENDSUBROUTINE CALCMR -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCMDRH -! -! THIS IS THE CASE WHERE THE RELATIVE HUMIDITY IS IN THE MUTUAL -! DRH REGION. THE SOLUTION IS ASSUMED TO BE THE SUM OF TWO WEIGHTED -! SOLUTIONS ; THE 'DRY' SOLUTION (SUBROUTINE DRYCASE) AND THE -! 'SATURATED LIQUID' SOLUTION (SUBROUTINE LIQCASE). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCMDRH (RHI, RHDRY, RHLIQ, DRYCASE, LIQCASE) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: CLCO,CNA2SO,CNACLO,CNAHSO,CNANO - REAL(KIND=8) :: CNH42SO,CNH4N3O,CNH4CLO,CNH4HSO - REAL(KIND=8) :: DAMBIS,DAMCHL,DAMG,DAMNIT,DAMSUL,DHAG,DLC,DNAG - REAL(KIND=8) :: DSOBIS,DSONIT,DSOSUL,DSOCHL - REAL(KIND=8) :: GHCLO,GHO3O,GNH3O,GHNO3O,ONEMWF,WF - INTEGER :: I - REAL(KIND=8) :: RHI,RHDRY,RHLIQ - EXTERNAL DRYCASE, LIQCASE -! -! *** FIND WEIGHT FACTOR ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCMDRH',0,ZHOOK_HANDLE) - IF (WFTYP.EQ.0) THEN - WF = ONE - ELSEIF (WFTYP.EQ.1) THEN - WF = 0.5D0 - ELSE - WF = (RHLIQ-RHI)/(RHLIQ-RHDRY) - ENDIF - ONEMWF = ONE - WF -! -! *** FIND FIRST SECTION ; DRY ONE ************************************ -! - CALL DRYCASE - IF (ABS(ONEMWF).LE.1D-5) GOTO 200 ! DRY AEROSOL -! - CNH42SO = CNH42S4 ! FIRST (DRY) SOLUTION - CNH4HSO = CNH4HS4 - CLCO = CLC - CNH4N3O = CNH4NO3 - CNH4CLO = CNH4CL - CNA2SO = CNA2SO4 - CNAHSO = CNAHSO4 - CNANO = CNANO3 - CNACLO = CNACL - GNH3O = GNH3 - GHNO3O = GHNO3 - GHCLO = GHCL -! -! *** FIND SECOND SECTION ; DRY & LIQUID ****************************** -! - CNH42S4 = ZERO - CNH4HS4 = ZERO - CLC = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNA2SO4 = ZERO - CNAHSO4 = ZERO - CNANO3 = ZERO - CNACL = ZERO - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO - CALL LIQCASE ! SECOND (LIQUID) SOLUTION -! -! *** ADJUST THINGS FOR THE CASE THAT THE LIQUID SUB PREDICTS DRY AEROSOL -! - IF (WATER.LE.TINY) THEN - DO 100 I=1,NIONS - MOLAL(I)= ZERO ! Aqueous phase - 100 CONTINUE - WATER = ZERO -! - CNH42S4 = CNH42SO ! Solid phase - CNA2SO4 = CNA2SO - CNAHSO4 = CNAHSO - CNH4HS4 = CNH4HSO - CLC = CLCO - CNH4NO3 = CNH4N3O - CNANO3 = CNANO - CNACL = CNACLO - CNH4CL = CNH4CLO -! - GNH3 = GNH3O ! Gas phase - GHNO3 = GHNO3O - GHCL = GHCLO -! - GOTO 200 - ENDIF -! -! *** FIND SALT DISSOLUTIONS BETWEEN DRY & LIQUID SOLUTIONS. -! - DAMSUL = CNH42SO - CNH42S4 - DSOSUL = CNA2SO - CNA2SO4 - DAMBIS = CNH4HSO - CNH4HS4 - DSOBIS = CNAHSO - CNAHSO4 - DLC = CLCO - CLC - DAMNIT = CNH4N3O - CNH4NO3 - DAMCHL = CNH4CLO - CNH4CL - DSONIT = CNANO - CNANO3 - DSOCHL = CNACLO - CNACL -! -! *** FIND GAS DISSOLUTIONS BETWEEN DRY & LIQUID SOLUTIONS. -! - DAMG = GNH3O - GNH3 - DHAG = GHCLO - GHCL - DNAG = GHNO3O - GHNO3 -! -! *** FIND SOLUTION AT MDRH BY WEIGHTING DRY & LIQUID SOLUTIONS. -! -! LIQUID -! - MOLAL(1)= ONEMWF*MOLAL(1) ! H+ - MOLAL(2)= ONEMWF*(2.D0*DSOSUL + DSOBIS + DSONIT + DSOCHL) ! NA+ - MOLAL(3)= ONEMWF*(2.D0*DAMSUL + DAMG + DAMBIS + DAMCHL + & - & 3.D0*DLC + DAMNIT ) ! NH4+ - MOLAL(4)= ONEMWF*( DAMCHL + DSOCHL + DHAG) ! CL- - MOLAL(5)= ONEMWF*( DAMSUL + DSOSUL + DLC - MOLAL(6)) ! SO4-- !VB 17 Sept 2001 - MOLAL(6)= ONEMWF*( MOLAL(6) + DSOBIS + DAMBIS + DLC) ! HSO4- - MOLAL(7)= ONEMWF*( DAMNIT + DSONIT + DNAG) ! NO3- - WATER = ONEMWF*WATER -! -! SOLID -! - CNH42S4 = WF*CNH42SO + ONEMWF*CNH42S4 - CNA2SO4 = WF*CNA2SO + ONEMWF*CNA2SO4 - CNAHSO4 = WF*CNAHSO + ONEMWF*CNAHSO4 - CNH4HS4 = WF*CNH4HSO + ONEMWF*CNH4HS4 - CLC = WF*CLCO + ONEMWF*CLC - CNH4NO3 = WF*CNH4N3O + ONEMWF*CNH4NO3 - CNANO3 = WF*CNANO + ONEMWF*CNANO3 - CNACL = WF*CNACLO + ONEMWF*CNACL - CNH4CL = WF*CNH4CLO + ONEMWF*CNH4CL -! -! GAS -! - GNH3 = WF*GNH3O + ONEMWF*GNH3 - GHNO3 = WF*GHNO3O + ONEMWF*GHNO3 - GHCL = WF*GHCLO + ONEMWF*GHCL -! -! *** RETURN POINT -! -200 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCMDRH',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCMDRH **************************************** -! - ENDSUBROUTINE CALCMDRH - - - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCMDRP -! -! THIS IS THE CASE WHERE THE RELATIVE HUMIDITY IS IN THE MUTUAL -! DRH REGION. THE SOLUTION IS ASSUMED TO BE THE SUM OF TWO WEIGHTED -! SOLUTIONS ; THE 'DRY' SOLUTION (SUBROUTINE DRYCASE) AND THE -! 'SATURATED LIQUID' SOLUTION (SUBROUTINE LIQCASE). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCMDRP (RHI, RHDRY, RHLIQ, DRYCASE, LIQCASE) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A2,A3,A4,A8,CLC0,CNA2SO,CNACLO,CNAHSO,CNANO - REAL(KIND=8) :: CNH4HSO,CNH4N30,CNH42SO,CNH4CLO,CNH4SO,CNH4N3O - REAL(KIND=8) :: CLCO - REAL(KIND=8) :: DAMBIS,DLC,DSOBIS,HIEN,HIEQ - INTEGER :: I - REAL(KIND=8) :: WF,ONEMWF - REAL(KIND=8) :: RHI,RHDRY,RHLIQ - EXTERNAL DRYCASE, LIQCASE -! -! *** FIND WEIGHT FACTOR ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCMDRP',0,ZHOOK_HANDLE) - IF (WFTYP.EQ.0) THEN - WF = ONE - ELSEIF (WFTYP.EQ.1) THEN - WF = 0.5D0 - ELSE - WF = (RHLIQ-RHI)/(RHLIQ-RHDRY) - ENDIF - ONEMWF = ONE - WF -! -! *** FIND FIRST SECTION ; DRY ONE ************************************ -! - CALL DRYCASE - IF (ABS(ONEMWF).LE.1D-5) GOTO 200 ! DRY AEROSOL -! - CNH42SO = CNH42S4 ! FIRST (DRY) SOLUTION - CNH4HSO = CNH4HS4 - CLCO = CLC - CNH4N3O = CNH4NO3 - CNH4CLO = CNH4CL - CNA2SO = CNA2SO4 - CNAHSO = CNAHSO4 - CNANO = CNANO3 - CNACLO = CNACL -! -! *** FIND SECOND SECTION ; DRY & LIQUID ****************************** -! - CNH42S4 = ZERO - CNH4HS4 = ZERO - CLC = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNA2SO4 = ZERO - CNAHSO4 = ZERO - CNANO3 = ZERO - CNACL = ZERO - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO - CALL LIQCASE ! SECOND (LIQUID) SOLUTION -! -! *** ADJUST THINGS FOR THE CASE THAT THE LIQUID SUB PREDICTS DRY AEROSOL -! - IF (WATER.LE.TINY) THEN - WATER = ZERO - DO 100 I=1,NIONS - MOLAL(I)= ZERO - 100 CONTINUE - CALL DRYCASE - GOTO 200 - ENDIF -! -! *** FIND SALT DISSOLUTIONS BETWEEN DRY & LIQUID SOLUTIONS. -! - DAMBIS = CNH4HSO - CNH4HS4 - DSOBIS = CNAHSO - CNAHSO4 - DLC = CLCO - CLC -! -! *** FIND SOLUTION AT MDRH BY WEIGHTING DRY & LIQUID SOLUTIONS. -! -! *** SOLID -! - CNH42S4 = WF*CNH42SO + ONEMWF*CNH42S4 - CNA2SO4 = WF*CNA2SO + ONEMWF*CNA2SO4 - CNAHSO4 = WF*CNAHSO + ONEMWF*CNAHSO4 - CNH4HS4 = WF*CNH4HSO + ONEMWF*CNH4HS4 - CLC = WF*CLCO + ONEMWF*CLC - CNH4NO3 = WF*CNH4N3O + ONEMWF*CNH4NO3 - CNANO3 = WF*CNANO + ONEMWF*CNANO3 - CNACL = WF*CNACLO + ONEMWF*CNACL - CNH4CL = WF*CNH4CLO + ONEMWF*CNH4CL -! -! *** LIQUID -! - WATER = ONEMWF*WATER -! - MOLAL(2)= WAER(1) - 2.D0*CNA2SO4 - CNAHSO4 - CNANO3 - & - & CNACL ! NA+ - MOLAL(3)= WAER(3) - 2.D0*CNH42S4 - CNH4HS4 - CNH4CL - & - & 3.D0*CLC - CNH4NO3 ! NH4+ - MOLAL(4)= WAER(5) - CNACL - CNH4CL ! CL- - MOLAL(7)= WAER(4) - CNANO3 - CNH4NO3 ! NO3- - MOLAL(6)= ONEMWF*(MOLAL(6) + DSOBIS + DAMBIS + DLC) ! HSO4- - MOLAL(5)= WAER(2) - MOLAL(6) - CLC - CNH42S4 - CNA2SO4 ! SO4-- -! - A8 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - IF (MOLAL(5).LE.TINY) THEN - HIEQ = SQRT(XKW *RH*WATER*WATER) ! Neutral solution - ELSE - HIEQ = A8*MOLAL(6)/MOLAL(5) - ENDIF - HIEN = MOLAL(4) + MOLAL(7) + MOLAL(6) + 2.D0*MOLAL(5) - & - & MOLAL(2) - MOLAL(3) - MOLAL(1)= MAX (HIEQ, HIEN) ! H+ -! -! *** GAS (ACTIVITY COEFS FROM LIQUID SOLUTION) -! - A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = MOLAL(3)/MAX(MOLAL(1),TINY)/A2 - GHNO3 = MOLAL(1)*MOLAL(7)/A3 - GHCL = MOLAL(1)*MOLAL(4)/A4 -! -200 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCMDRP',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCMDRP **************************************** -! - ENDSUBROUTINE CALCMDRP -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCHS4 -! *** THIS SUBROUTINE CALCULATES THE HSO4 GENERATED FROM (H,SO4). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCHS4 (HI, SO4I, HSO4I, DELTA) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A8,BB,CC,DD,DELTA1,DELTA2,SQDD - REAL(KIND=8) :: HI,SO4I,HSO4I,DELTA -!C CHARACTER ERRINF*40 -! -! *** IF TOO LITTLE WATER, DONT SOLVE -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCHS4',0,ZHOOK_HANDLE) - IF (WATER.LE.1d1*TINY) THEN - DELTA = ZERO - IF (LHOOK) CALL DR_HOOK('CALCHS4',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** CALCULATE HSO4 SPECIATION ***************************************** -! - A8 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! - BB =-(HI + SO4I + A8) - CC = HI*SO4I - HSO4I*A8 - DD = BB*BB - 4.D0*CC -! - IF (DD.GE.ZERO) THEN - SQDD = SQRT(DD) - DELTA1 = 0.5*(-BB + SQDD) - DELTA2 = 0.5*(-BB - SQDD) - IF (HSO4I.LE.TINY) THEN - DELTA = DELTA2 - ELSEIF( HI*SO4I .GE. A8*HSO4I ) THEN - DELTA = DELTA2 - ELSEIF( HI*SO4I .LT. A8*HSO4I ) THEN - DELTA = DELTA1 - ELSE - DELTA = ZERO - ENDIF - ELSE - DELTA = ZERO - ENDIF -!CC -!CC *** COMPARE DELTA TO TOTAL H+ ; ESTIMATE EFFECT OF HSO4 *************** -!CC -!C HYD = MAX(HI, MOLAL(1)) -!C IF (HYD.GT.TINY) THEN -!C IF (DELTA/HYD.GT.0.1d0) THEN -!C WRITE (ERRINF,'(1PE10.3)') DELTA/HYD*100.0 -!C CALL PUSHERR (0020, ERRINF) -!C ENDIF -!C ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCHS4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCHS4 ***************************************** -! - ENDSUBROUTINE CALCHS4 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCPH -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCPH (GG, HI, OHI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: AKW,BB,CC,DD,CN - REAL(KIND=8) :: GG,HI,OHI -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCPH',0,ZHOOK_HANDLE) - AKW = XKW *RH*WATER*WATER - CN = SQRT(AKW) -! -! *** GG = (negative charge) - (positive charge) -! - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = MAX(0.5D0*(-BB + SQRT(DD)),CN) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= MAX(0.5D0*(-BB + SQRT(DD)),CN) - HI = AKW/OHI - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCPH',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCPH ****************************************** -! - ENDSUBROUTINE CALCPH - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCACT -! *** CALCULATES MULTI-COMPONENET ACTIVITY COEFFICIENTS FROM BROMLEYS -! METHOD. THE BINARY ACTIVITY COEFFICIENTS ARE CALCULATED BY -! KUSIK-MEISNER RELATION (SUBROUTINE KMTAB or SUBROUTINE KMFUL). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCACT - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I,J - REAL(KIND=8) :: ERRIN,ERROU,G -! - REAL EX10, URF - REAL G0(3,4),ZPL,ZMI,AGAMA,SION,H,CH,F1(3),F2(4) - REAL(KIND=8) :: MPL, XIJ, YJI - PARAMETER (URF=0.5) -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - G(I,J)= (F1(I)/Z(I) + F2(J)/Z(J+3)) / (Z(I)+Z(J+3)) - H - IF (LHOOK) CALL DR_HOOK('CALCACT',0,ZHOOK_HANDLE) -! -! *** SAVE ACTIVITIES IN OLD ARRAY ************************************* -! - IF (FRST) THEN ! Outer loop - DO 10 I=1,NPAIR - GAMOU(I) = GAMA(I) -10 CONTINUE - ENDIF -! - DO 20 I=1,NPAIR ! Inner loop - GAMIN(I) = GAMA(I) -20 CONTINUE -! -! *** CALCULATE IONIC ACTIVITY OF SOLUTION ***************************** -! - IONIC=0.0 - DO 30 I=1,NIONS - IONIC=IONIC + MOLAL(I)*Z(I)*Z(I) -30 CONTINUE - IONIC = MAX(MIN(0.5*IONIC/WATER,20.d0), TINY) -! -! *** CALCULATE BINARY ACTIVITY COEFFICIENTS *************************** -! -! G0(1,1)=G11;G0(1,2)=G07;G0(1,3)=G08;G0(1,4)=G10;G0(2,1)=G01;G0(2,2)=G02 -! G0(2,3)=G12;G0(2,4)=G03;G0(3,1)=G06;G0(3,2)=G04;G0(3,3)=G09;G0(3,4)=G05 -! - IF (IACALC.EQ.0) THEN ! K.M.; FULL - CALL KMFUL (IONIC, SNGL(TEMP),G0(2,1),G0(2,2),G0(2,4), & - & G0(3,2),G0(3,4),G0(3,1),G0(1,2),G0(1,3),G0(3,3), & - & G0(1,4),G0(1,1),G0(2,3)) - ELSE ! K.M.; TABULATED - CALL KMTAB (IONIC, SNGL(TEMP),G0(2,1),G0(2,2),G0(2,4), & - & G0(3,2),G0(3,4),G0(3,1),G0(1,2),G0(1,3),G0(3,3), & - & G0(1,4),G0(1,1),G0(2,3)) - ENDIF -! -! *** CALCULATE MULTICOMPONENT ACTIVITY COEFFICIENTS ******************* -! - AGAMA = 0.511*(298.0/TEMP)**1.5 ! Debye Huckel const. at T - SION = SQRT(IONIC) - H = AGAMA*SION/(1+SION) -! - DO 100 I=1,3 - F1(I)=0.0 - F2(I)=0.0 -100 CONTINUE - F2(4)=0.0 -! - DO 110 I=1,3 - ZPL = Z(I) - MPL = MOLAL(I)/WATER - DO 110 J=1,4 - ZMI = Z(J+3) - CH = 0.25*(ZPL+ZMI)*(ZPL+ZMI)/IONIC - XIJ = CH*MPL - YJI = CH*MOLAL(J+3)/WATER - F1(I) = F1(I) + SNGL(YJI*(G0(I,J) + ZPL*ZMI*H)) - F2(J) = F2(J) + SNGL(XIJ*(G0(I,J) + ZPL*ZMI*H)) -110 CONTINUE -! -! *** LOG10 OF ACTIVITY COEFFICIENTS *********************************** -! - GAMA(01) = G(2,1)*ZZ(01) ! NACL - GAMA(02) = G(2,2)*ZZ(02) ! NA2SO4 - GAMA(03) = G(2,4)*ZZ(03) ! NANO3 - GAMA(04) = G(3,2)*ZZ(04) ! (NH4)2SO4 - GAMA(05) = G(3,4)*ZZ(05) ! NH4NO3 - GAMA(06) = G(3,1)*ZZ(06) ! NH4CL - GAMA(07) = G(1,2)*ZZ(07) ! 2H-SO4 - GAMA(08) = G(1,3)*ZZ(08) ! H-HSO4 - GAMA(09) = G(3,3)*ZZ(09) ! NH4HSO4 - GAMA(10) = G(1,4)*ZZ(10) ! HNO3 - GAMA(11) = G(1,1)*ZZ(11) ! HCL - GAMA(12) = G(2,3)*ZZ(12) ! NAHSO4 - GAMA(13) = 0.20*(3.0*GAMA(04)+2.0*GAMA(09)) ! LC ; SCAPE -!C GAMA(13) = 0.50*(GAMA(04)+GAMA(09)) ! LC ; SEQUILIB -!C GAMA(13) = 0.25*(3.0*GAMA(04)+GAMA(07)) ! LC ; AIM -! -! *** CONVERT LOG (GAMA) COEFFICIENTS TO GAMA ************************** -! - DO 200 I=1,NPAIR -!C GAMA(I)=MAX(-5.0d0, MIN(GAMA(I),5.0d0) ) ! F77 LIBRARY ROUTINE -!C GAMA(I)=10.0**GAMA(I) - GAMA(I)=EX10(SNGL(GAMA(I)), 5.0) ! CUTOFF SET TO [-5,5] - GAMA(I) = GAMIN(I)*(1.0-URF) + URF*GAMA(I) ! Under-relax GAMA's - 200 CONTINUE -! -! *** SETUP ACTIVITY CALCULATION FLAGS ********************************* -! -! OUTER CALCULATION LOOP ; ONLY IF FRST=.TRUE. -! - IF (FRST) THEN - ERROU = ZERO ! CONVERGENCE CRITERION - DO 210 I=1,NPAIR - ERROU=MAX(ERROU, ABS((GAMOU(I)-GAMA(I))/GAMOU(I))) -210 CONTINUE - CALAOU = ERROU .GE. EPSACT ! SETUP FLAGS - FRST =.FALSE. - ENDIF -! -! INNER CALCULATION LOOP ; ALWAYS -! - ERRIN = ZERO ! CONVERGENCE CRITERION - DO 220 I=1,NPAIR - ERRIN = MAX (ERRIN, ABS((GAMIN(I)-GAMA(I))/GAMIN(I))) -220 CONTINUE - CALAIN = ERRIN .GE. EPSACT -! - ICLACT = ICLACT + 1 ! Increment ACTIVITY call counter -! -! *** END OF SUBROUTINE ACTIVITY **************************************** -! - IF (LHOOK) CALL DR_HOOK('CALCACT',1,ZHOOK_HANDLE) - ENDSUBROUTINE CALCACT - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE RSTGAM -! *** RESETS ACTIVITY COEFFICIENT ARRAYS TO DEFAULT VALUE OF 0.1 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE RSTGAM - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RSTGAM',0,ZHOOK_HANDLE) - DO 10 I=1, NPAIR - GAMA(I) = 0.1 -10 CONTINUE -! -! *** END OF SUBROUTINE RSTGAM ****************************************** -! - IF (LHOOK) CALL DR_HOOK('RSTGAM',1,ZHOOK_HANDLE) - ENDSUBROUTINE RSTGAM -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KMFUL -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KMFUL (IONIC,TEMP,G01,G02,G03,G04,G05,G06,G07,G08,G09, & - & G10,G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - REAL :: CF1,CF2,SION,TI - REAL Ionic, TEMP - REAL :: G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 - REAL :: Z01,Z02,Z03,Z04,Z05,Z06,Z07,Z08,Z10,Z11 - DATA Z01,Z02,Z03,Z04,Z05,Z06,Z07,Z08,Z10,Z11 & - & /1, 2, 1, 2, 1, 1, 2, 1, 1, 1/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KMFUL',0,ZHOOK_HANDLE) - SION = SQRT(IONIC) -! -! *** Coefficients at 25 oC -! - CALL MKBI(2.230, IONIC, SION, Z01, G01) - CALL MKBI(-0.19, IONIC, SION, Z02, G02) - CALL MKBI(-0.39, IONIC, SION, Z03, G03) - CALL MKBI(-0.25, IONIC, SION, Z04, G04) - CALL MKBI(-1.15, IONIC, SION, Z05, G05) - CALL MKBI(0.820, IONIC, SION, Z06, G06) - CALL MKBI(-.100, IONIC, SION, Z07, G07) - CALL MKBI(8.000, IONIC, SION, Z08, G08) - CALL MKBI(2.600, IONIC, SION, Z10, G10) - CALL MKBI(6.000, IONIC, SION, Z11, G11) -! -! *** Correct for T other than 298 K -! - TI = TEMP-273.0 - IF (ABS(TI) .GT. 1.0) THEN - CF1 = 1.125-0.005*TI - CF2 = (0.125-0.005*TI)*(0.039*IONIC**0.92-0.41*SION/(1.+SION)) - G01 = CF1*G01 - CF2*Z01 - G02 = CF1*G02 - CF2*Z02 - G03 = CF1*G03 - CF2*Z03 - G04 = CF1*G04 - CF2*Z04 - G05 = CF1*G05 - CF2*Z05 - G06 = CF1*G06 - CF2*Z06 - G07 = CF1*G07 - CF2*Z07 - G08 = CF1*G08 - CF2*Z08 - G10 = CF1*G10 - CF2*Z10 - G11 = CF1*G11 - CF2*Z11 - ENDIF -! - G09 = G06 + G08 - G11 - G12 = G01 + G08 - G11 -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KMFUL',1,ZHOOK_HANDLE) - ENDSUBROUTINE KMFUL - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE MKBI -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE MKBI(Q,IONIC,SION,ZIP,BI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - REAL :: Q,SION,ZIP,BI - REAL :: B,C,XX - REAL IONIC -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MKBI',0,ZHOOK_HANDLE) - B=.75-.065*Q - C= 1.0 - IF (IONIC.LT.6.0) C=1.+.055*Q*EXP(-.023*IONIC*IONIC*IONIC) - XX=-0.5107*SION/(1.+C*SION) - BI=(1.+B*(1.+.1*IONIC)**Q-B) - BI=ZIP*LOG10(BI) + ZIP*XX -! - IF (LHOOK) CALL DR_HOOK('MKBI',1,ZHOOK_HANDLE) - ENDSUBROUTINE MKBI -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KMTAB -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IONIC' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KMTAB (IN,TEMP,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,& - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INTEGER :: IND - REAL :: IN,TEMP,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Find temperature range -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KMTAB',0,ZHOOK_HANDLE) - IND = NINT((TEMP-198.0)/25.0) + 1 - IND = MIN(MAX(IND,1),6) -! -! *** Call appropriate routine -! - IF (IND.EQ.1) THEN - CALL KM198 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ELSEIF (IND.EQ.2) THEN - CALL KM223 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ELSEIF (IND.EQ.3) THEN - CALL KM248 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ELSEIF (IND.EQ.4) THEN - CALL KM273 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ELSEIF (IND.EQ.5) THEN - CALL KM298 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ELSE - CALL KM323 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12) - ENDIF -! -! *** Return point; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KMTAB',1,ZHOOK_HANDLE) - ENDSUBROUTINE KMTAB - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KM198 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 198K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM198 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INTEGER :: IPOS - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M -! -! *** Common block definition -! - COMMON /KMC198/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM198',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM198',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM198 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KM223 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 223K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM223 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Common block definition -! - INTEGER :: IPOS - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M - COMMON /KMC223/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM223',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM223',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM223 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KM248 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 248K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM248 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - INTEGER :: IPOS - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Common block definition -! - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M - COMMON /KMC248/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM248',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM248',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM248 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KMTAB273 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 273K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM273 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - INTEGER :: IPOS - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Common block definition -! - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M - COMMON /KMC273/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM273',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM273',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM273 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KM298 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 298K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM298 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - INTEGER :: IPOS - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Common block definition -! - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M - COMMON /KMC298/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM298',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM298',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM298 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE KM323 -! *** CALCULATES BINARY ACTIVITY COEFFICIENTS BY KUSIK-MEISSNER METHOD. -! THE COMPUTATIONS HAVE BEEN PERFORMED AND THE RESULTS ARE STORED IN -! LOOKUP TABLES. THE IONIC ACTIVITY 'IN' IS INPUT, AND THE ARRAY -! 'BINARR' IS RETURNED WITH THE BINARY COEFFICIENTS. -! -! TEMPERATURE IS 323K -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE KM323 (IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10, & - & G11,G12) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! - INTEGER :: IPOS - REAL :: IN,G01,G02,G03,G04,G05,G06,G07,G08,G09,G10,G11,G12 -! -! *** Common block definition -! - REAL :: BNC01M,BNC02M,BNC03M,BNC04M,BNC05M,BNC06M,BNC07M - REAL :: BNC08M,BNC09M,BNC10M,BNC11M,BNC12M,BNC13M - COMMON /KMC323/ & - &BNC01M( 741),BNC02M( 741),BNC03M( 741),BNC04M( 741), & - &BNC05M( 741),BNC06M( 741),BNC07M( 741),BNC08M( 741), & - &BNC09M( 741),BNC10M( 741),BNC11M( 741),BNC12M( 741), & - &BNC13M( 741) -! REAL IN -! -! *** Find position in arrays for bincoef -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('KM323',0,ZHOOK_HANDLE) - IF (IN.LE. 0.300000E+02) THEN - ipos = NINT( 0.200000E+02*IN) + 1 - ELSE - ipos = 600+NINT( 0.200000E+01*IN- 0.300000E+02) - ENDIF - ipos = min(ipos, 741) -! -! *** Assign values to return array -! - G01 = BNC01M(ipos) - G02 = BNC02M(ipos) - G03 = BNC03M(ipos) - G04 = BNC04M(ipos) - G05 = BNC05M(ipos) - G06 = BNC06M(ipos) - G07 = BNC07M(ipos) - G08 = BNC08M(ipos) - G09 = BNC09M(ipos) - G10 = BNC10M(ipos) - G11 = BNC11M(ipos) - G12 = BNC12M(ipos) -! -! *** Return point ; End of subroutine -! - IF (LHOOK) CALL DR_HOOK('KM323',1,ZHOOK_HANDLE) - ENDSUBROUTINE KM323 - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE CHRBLN -!C Purpose : Position of last non-blank character in a string -!C Author : Athanasios Nenes -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C STR is the CHARACTER variable containing the string examined -!C IBLK is a INTEGER variable containing the position of last non -!C blank character. If string is all spaces (ie ' '), then -!C the value returned is 1. -!C -!C EXAMPLE: -!C STR = 'TEST1.DAT ' -!C CALL CHRBLN (STR, IBLK) -!C -!C after execution of this code segment, "IBLK" has the value "9", which -!C is the position of the last non-blank character of "STR". -!C -!C*********************************************************************** -!C - SUBROUTINE CHRBLN (STR, IBLK) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** - INTEGER :: IBLK - INTEGER ::I,ILEN - CHARACTER*(*) STR -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CHRBLN',0,ZHOOK_HANDLE) - IBLK = 1 ! Substring pointer (default=1) - ILEN = LEN(STR) ! Length of string - DO 10 i=ILEN,1,-1 - IF (STR(i:i).NE.' ' .AND. STR(i:i).NE.CHAR(0)) THEN - IBLK = i - IF (LHOOK) CALL DR_HOOK('CHRBLN',1,ZHOOK_HANDLE) - RETURN - ENDIF -10 CONTINUE - IF (LHOOK) CALL DR_HOOK('CHRBLN',1,ZHOOK_HANDLE) -! - ENDSUBROUTINE CHRBLN - - - - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE SHFTRGHT -!C Purpose : RIGHT-JUSTIFICATION FUNCTION ON A STRING -!C Author : Athanasios Nenes -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C STRING is the CHARACTER variable with the string to be justified -!C -!C EXAMPLE: -!C STRING = 'AAAA ' -!C CALL SHFTRGHT (STRING) -!C -!C after execution of this code segment, STRING contains the value -!C ' AAAA'. -!C -!C************************************************************************* -!C - SUBROUTINE SHFTRGHT (CHR) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** - INTEGER :: I,I1,I2 - CHARACTER CHR*(*) -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SHFTRGHT',0,ZHOOK_HANDLE) - I1 = LEN(CHR) ! Total length of string - CALL CHRBLN(CHR,I2) ! Position of last non-blank character - IF (I2.EQ.I1) THEN - IF (LHOOK) CALL DR_HOOK('SHFTRGHT',1,ZHOOK_HANDLE) - RETURN - ENDIF -! - DO 10 I=I2,1,-1 ! Shift characters - CHR(I1+I-I2:I1+I-I2) = CHR(I:I) - CHR(I:I) = ' ' -10 CONTINUE - IF (LHOOK) CALL DR_HOOK('SHFTRGHT',1,ZHOOK_HANDLE) -! - ENDSUBROUTINE SHFTRGHT - - - - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE RPLSTR -!C Purpose : REPLACE CHARACTERS OCCURING IN A STRING -!C Author : Athanasios Nenes -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C STRING is the CHARACTER variable with the string to be edited -!C OLD is the old character which is to be replaced -!C NEW is the new character which OLD is to be replaced with -!C IERR is 0 if everything went well, is 1 if 'NEW' contains 'OLD'. -!C In this case, this is invalid, and no change is done. -!C -!C EXAMPLE: -!C STRING = 'AAAA' -!C OLD = 'A' -!C NEW = 'B' -!C CALL RPLSTR (STRING, OLD, NEW) -!C -!C after execution of this code segment, STRING contains the value -!C 'BBBB'. -!C -!C************************************************************************* -!C - SUBROUTINE RPLSTR (STRING, OLD, NEW, IERR) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** - INTEGER :: IERR - INTEGER :: IP,ILO - CHARACTER STRING*(*), OLD*(*), NEW*(*) -! -! *** INITIALIZE ******************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RPLSTR',0,ZHOOK_HANDLE) - ILO = LEN(OLD) -! -! *** CHECK AND SEE IF 'NEW' CONTAINS 'OLD', WHICH CANNOT *************** -! - IP = INDEX(NEW,OLD) - IF (IP.NE.0) THEN - IERR = 1 - IF (LHOOK) CALL DR_HOOK('RPLSTR',1,ZHOOK_HANDLE) - RETURN - ELSE - IERR = 0 - ENDIF -! -! *** PROCEED WITH REPLACING ******************************************* -! -10 IP = INDEX(STRING,OLD) ! SEE IF 'OLD' EXISTS IN 'STRING' - IF (IP.EQ.0) THEN ! 'OLD' DOES NOT EXIST ; RETURN - IF (LHOOK) CALL DR_HOOK('RPLSTR',1,ZHOOK_HANDLE) - RETURN - ENDIF - STRING(IP:IP+ILO-1) = NEW ! REPLACE SUBSTRING 'OLD' WITH 'NEW' - GOTO 10 ! GO FOR NEW OCCURANCE OF 'OLD' -! - IF (LHOOK) CALL DR_HOOK('RPLSTR',1,ZHOOK_HANDLE) - ENDSUBROUTINE RPLSTR - - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE INPTD -!C Purpose : Prompts user for a value (DOUBLE). A default value -!C is provided, so if user presses <Enter>, the default -!C is used. -!C Author : Athanasios Nenes -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C VAR is the DOUBLE PRECISION variable which value is to be saved -!C DEF is a DOUBLE PRECISION variable, with the default value of VAR. -!C PROMPT is a CHARACTER varible containing the prompt string. -!C PRFMT is a CHARACTER variable containing the FORMAT specifier -!C for the default value DEF. -!C IERR is an INTEGER error flag, and has the values: -!C 0 - No error detected. -!C 1 - Invalid FORMAT and/or Invalid default value. -!C 2 - Bad value specified by user -!C -!C EXAMPLE: -!C CALL INPTD (VAR, 1.0D0, 'Give value for A ', '*', Ierr) -!C -!C after execution of this code segment, the user is prompted for the -!C value of variable VAR. If <Enter> is pressed (ie no value is specified) -!C then 1.0 is assigned to VAR. The default value is displayed in free- -!C format. The error status is specified by variable Ierr -!C -!C*********************************************************************** -!C - SUBROUTINE INPTD (VAR, DEF, PROMPT, PRFMT, IERR) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** - INTEGER :: IEND - CHARACTER PROMPT*(*), PRFMT*(*), BUFFER*128 - REAL(KIND=8) :: DEF, VAR - INTEGER IERR -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('INPTD',0,ZHOOK_HANDLE) - IERR = 0 -! -! *** WRITE DEFAULT VALUE TO WORK BUFFER ******************************* -! - WRITE (BUFFER, FMT=PRFMT, ERR=10) DEF - CALL CHRBLN (BUFFER, IEND) -! -! *** PROMPT USER FOR INPUT AND READ IT ******************************** -! - WRITE (*,*) PROMPT,' [',BUFFER(1:IEND),']: ' - READ (*, '(A)', ERR=20, END=20) BUFFER - CALL CHRBLN (BUFFER,IEND) -! -! *** READ DATA OR SET DEFAULT ? **************************************** -! - IF (IEND.EQ.1 .AND. BUFFER(1:1).EQ.' ') THEN - VAR = DEF - ELSE - READ (BUFFER, *, ERR=20, END=20) VAR - ENDIF -! -! *** RETURN POINT ****************************************************** -! -30 CONTINUE - IF (LHOOK) CALL DR_HOOK('INPTD',1,ZHOOK_HANDLE) - RETURN -! -! *** ERROR HANDLER ***************************************************** -! -10 IERR = 1 ! Bad FORMAT and/or bad default value - GOTO 30 -! -20 IERR = 2 ! Bad number given by user - GOTO 30 -! - IF (LHOOK) CALL DR_HOOK('INPTD',1,ZHOOK_HANDLE) - ENDSUBROUTINE INPTD - - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE Pushend -!C Purpose : Positions the pointer of a sequential file at its end -!C Simulates the ACCESS='APPEND' clause of a F77L OPEN -!C statement with Standard Fortran commands. -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C Iunit is a INTEGER variable, the file unit which the file is -!C connected to. -!C -!C EXAMPLE: -!C CALL PUSHEND (10) -!C -!C after execution of this code segment, the pointer of unit 10 is -!C pushed to its end. -!C -!C*********************************************************************** -!C - SUBROUTINE Pushend (Iunit) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** -! - INTEGER :: IUNIT - LOGICAL OPNED -! -! *** INQUIRE IF Iunit CONNECTED TO FILE ******************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('PUSHEND',0,ZHOOK_HANDLE) - INQUIRE (UNIT=Iunit, OPENED=OPNED) - IF (.NOT.OPNED) GOTO 25 -! -! *** Iunit CONNECTED, PUSH POINTER TO END ****************************** -! -10 READ (Iunit,'()', ERR=20, END=20) - GOTO 10 -! -! *** RETURN POINT ****************************************************** -! -20 BACKSPACE (Iunit) -25 CONTINUE - IF (LHOOK) CALL DR_HOOK('PUSHEND',1,ZHOOK_HANDLE) - ENDSUBROUTINE PUSHEND - - - -!C************************************************************************* -!C -!C TOOLBOX LIBRARY v.1.0 (May 1995) -!C -!C Program unit : SUBROUTINE APPENDEXT -!C Purpose : Fix extension in file name string -!C -!C ======================= ARGUMENTS / USAGE ============================= -!C -!C Filename is the CHARACTER variable with the file name -!C Defext is the CHARACTER variable with extension (including '.', -!C ex. '.DAT') -!C Overwrite is a LOGICAL value, .TRUE. overwrites any existing extension -!C in "Filename" with "Defext", .FALSE. puts "Defext" only if -!C there is no extension in "Filename". -!C -!C EXAMPLE: -!C FILENAME1 = 'TEST.DAT' -!C FILENAME2 = 'TEST.DAT' -!C CALL APPENDEXT (FILENAME1, '.TXT', .FALSE.) -!C CALL APPENDEXT (FILENAME2, '.TXT', .TRUE. ) -!C -!C after execution of this code segment, "FILENAME1" has the value -!C 'TEST.DAT', while "FILENAME2" has the value 'TEST.TXT' -!C -!C*********************************************************************** -!C - SUBROUTINE Appendext (Filename, Defext, Overwrite) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -!C -!C*********************************************************************** - INTEGER :: IDOT,IEND - CHARACTER*(*) Filename, Defext - LOGICAL Overwrite -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('APPENDEXT',0,ZHOOK_HANDLE) - CALL CHRBLN (Filename, Iend) - IF (Filename(1:1).EQ.' ' .AND. Iend.EQ.1) THEN ! Filename empty - IF (LHOOK) CALL DR_HOOK('APPENDEXT',1,ZHOOK_HANDLE) - RETURN - ENDIF - Idot = INDEX (Filename, '.') ! Append extension ? - IF (Idot.EQ.0) Filename = Filename(1:Iend)//Defext - IF (Overwrite .AND. Idot.NE.0) & - & Filename = Filename(:Idot-1)//Defext - IF (LHOOK) CALL DR_HOOK('APPENDEXT',1,ZHOOK_HANDLE) - ENDSUBROUTINE APPENDEXT - - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE POLY3 -! *** FINDS THE REAL ROOTS OF THE THIRD ORDER ALGEBRAIC EQUATION: -! X**3 + A1*X**2 + A2*X + A3 = 0.0 -! THE EQUATION IS SOLVED ANALYTICALLY. -! -! PARAMETERS A1, A2, A3 ARE SPECIFIED BY THE USER. THE MINIMUM -! NONEGATIVE ROOT IS RETURNED IN VARIABLE 'ROOT'. IF NO ROOT IS -! FOUND (WHICH IS GREATER THAN ZERO), ROOT HAS THE VALUE 1D30. -! AND THE FLAG ISLV HAS A VALUE GREATER THAN ZERO. -! -! SOLUTION FORMULA IS FOUND IN PAGE 32 OF: -! MATHEMATICAL HANDBOOK OF FORMULAS AND TABLES -! SCHAUM'S OUTLINE SERIES -! MURRAY SPIEGER, McGRAW-HILL, NEW YORK, 1968 -! (GREEK TRANSLATION: BY SOTIRIOS PERSIDES, ESPI, ATHENS, 1976) -! -! A SPECIAL CASE IS CONSIDERED SEPERATELY ; WHEN A3 = 0, THEN -! ONE ROOT IS X=0.0, AND THE OTHER TWO FROM THE SOLUTION OF THE -! QUADRATIC EQUATION X**2 + A1*X + A2 = 0.0 -! THIS SPECIAL CASE IS CONSIDERED BECAUSE THE ANALYTICAL FORMULA -! DOES NOT YIELD ACCURATE RESULTS (DUE TO NUMERICAL ROUNDOFF ERRORS) -! -! *** COPYRIGHT 1996-98, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE POLY3 (A1, A2, A3, ROOT, ISLV) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! -! IMPLICIT DOUBLE PRECISION (A-H, O-Z) - REAL(KIND=8) :: A1,A2,A3,ROOT,COEF,D,SQD,Q,R,S,SSIG,T,THET,TSIG - INTEGER :: ISLV,IX,I - REAL(KIND=8) :: EXPON,ZERO,THET1,THET2,PI,EPS - PARAMETER (EXPON=1.D0/3.D0, ZERO=0.D0, THET1=120.D0/180.D0, & - & THET2=240.D0/180.D0, PI=3.14159265358932, EPS=1D-50) - REAL(KIND=8) :: X(3) -! -! *** SPECIAL CASE : QUADRATIC*X EQUATION ***************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('POLY3',0,ZHOOK_HANDLE) - IF (ABS(A3).LE.EPS) THEN - ISLV = 1 - IX = 1 - X(1) = ZERO - D = A1*A1-4.D0*A2 - IF (D.GE.ZERO) THEN - IX = 3 - SQD = SQRT(D) - X(2) = 0.5*(-A1+SQD) - X(3) = 0.5*(-A1-SQD) - ENDIF - ELSE -! -! *** NORMAL CASE : CUBIC EQUATION ************************************ -! -! DEFINE PARAMETERS Q, R, S, T, D -! - ISLV= 1 - Q = (3.D0*A2 - A1*A1)/9.D0 - R = (9.D0*A1*A2 - 27.D0*A3 - 2.D0*A1*A1*A1)/54.D0 - D = Q*Q*Q + R*R -! -! *** CALCULATE ROOTS ************************************************* -! -! D < 0, THREE REAL ROOTS -! - IF (D.LT.-EPS) THEN ! D < -EPS : D < ZERO - IX = 3 - THET = EXPON*ACOS(R/SQRT(-Q*Q*Q)) - COEF = 2.D0*SQRT(-Q) - X(1) = COEF*COS(THET) - EXPON*A1 - X(2) = COEF*COS(THET + THET1*PI) - EXPON*A1 - X(3) = COEF*COS(THET + THET2*PI) - EXPON*A1 -! -! D = 0, THREE REAL (ONE DOUBLE) ROOTS -! - ELSE IF (D.LE.EPS) THEN ! -EPS <= D <= EPS : D = ZERO - IX = 2 - SSIG = SIGN (1._8, R) - S = SSIG*(ABS(R))**EXPON - X(1) = 2.D0*S - EXPON*A1 - X(2) = -S - EXPON*A1 -! -! D > 0, ONE REAL ROOT -! - ELSE ! D > EPS : D > ZERO - IX = 1 - SQD = SQRT(D) - SSIG = SIGN (1._8, R+SQD) ! TRANSFER SIGN TO SSIG - TSIG = SIGN (1._8, R-SQD) - S = SSIG*(ABS(R+SQD))**EXPON ! EXPONENTIATE ABS() - T = TSIG*(ABS(R-SQD))**EXPON - X(1) = S + T - EXPON*A1 - ENDIF - ENDIF -! -! *** SELECT APPROPRIATE ROOT ***************************************** -! - ROOT = 1.D30 - DO 10 I=1,IX - IF (X(I).GT.ZERO) THEN - ROOT = MIN (ROOT, X(I)) - ISLV = 0 - ENDIF -10 CONTINUE -! -! *** END OF SUBROUTINE POLY3 ***************************************** -! - IF (LHOOK) CALL DR_HOOK('POLY3',1,ZHOOK_HANDLE) - ENDSUBROUTINE POLY3 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE POLY3B -! *** FINDS A REAL ROOT OF THE THIRD ORDER ALGEBRAIC EQUATION: -! X**3 + A1*X**2 + A2*X + A3 = 0.0 -! THE EQUATION IS SOLVED NUMERICALLY (BISECTION). -! -! PARAMETERS A1, A2, A3 ARE SPECIFIED BY THE USER. THE MINIMUM -! NONEGATIVE ROOT IS RETURNED IN VARIABLE 'ROOT'. IF NO ROOT IS -! FOUND (WHICH IS GREATER THAN ZERO), ROOT HAS THE VALUE 1D30. -! AND THE FLAG ISLV HAS A VALUE GREATER THAN ZERO. -! -! RTLW, RTHI DEFINE THE INTERVAL WHICH THE ROOT IS LOOKED FOR. -! -!======================================================================= -! - SUBROUTINE POLY3B (A1, A2, A3, RTLW, RTHI, ROOT, ISLV) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE -! -! IMPLICIT DOUBLE PRECISION (A-H, O-Z) - REAL(KIND=8) :: A1,A2,A3,RTLW,RTHI,ROOT - INTEGER :: ISLV - REAL(KIND=8) :: DX,X1,X2,X3,Y1,Y2,Y3,X,FUNC - INTEGER :: I - REAL(KIND=8) :: ZERO,EPS - INTEGER :: MAXIT,NDIV - PARAMETER (ZERO=0.D0, EPS=1D-15, MAXIT=100, NDIV=5) -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - FUNC(X) = X**3.d0 + A1*X**2.0 + A2*X + A3 - IF (LHOOK) CALL DR_HOOK('POLY3B',0,ZHOOK_HANDLE) -! -! *** INITIAL VALUES FOR BISECTION ************************************* -! - X1 = RTLW - Y1 = FUNC(X1) - IF (ABS(Y1).LE.EPS) THEN ! Is low a root? - ROOT = RTLW - GOTO 50 - ENDIF -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO *********************** -! - DX = (RTHI-RTLW)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNC (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2) .LT. ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - IF (ABS(Y2) .LT. EPS) THEN ! X2 is a root - ROOT = X2 - ELSE - ROOT = 1.d30 - ISLV = 1 - ENDIF - GOTO 50 -! -! *** BISECTION ******************************************************* -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNC (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE -! -! *** CONVERGED ; RETURN *********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNC (X3) - ROOT = X3 - ISLV = 0 -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('POLY3B',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE POLY3B ***************************************** -! - ENDSUBROUTINE POLY3B - - - -!cc PROGRAM DRIVER -!cc DOUBLE PRECISION ROOT -!ccC -!cc CALL POLY3 (-1.d0, 1.d0, -1.d0, ROOT, ISLV) -!cc IF (ISLV.NE.0) STOP 'Error in POLY3' -!cc WRITE (*,*) 'Root=', ROOT -!ccC -!cc CALL POLY3B (-1.d0, 1.d0, -1.d0, -10.d0, 10.d0, ROOT, ISLV) -!cc IF (ISLV.NE.0) STOP 'Error in POLY3B' -!cc WRITE (*,*) 'Root=', ROOT -!ccC -!cc END -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION EX10 -! *** 10^X FUNCTION ; ALTERNATE OF LIBRARY ROUTINE ; USED BECAUSE IT IS -! MUCH FASTER BUT WITHOUT GREAT LOSS IN ACCURACY. , -! MAXIMUM ERROR IS 2%, EXECUTION TIME IS 42% OF THE LIBRARY ROUTINE -! (ON A 80286/80287 MACHINE, using Lahey FORTRAN 77 v.3.0). -! -! EXPONENT RANGE IS BETWEEN -K AND K (K IS THE REAL ARGUMENT 'K') -! MAX VALUE FOR K: 9.999 -! IF X < -K, X IS SET TO -K, IF X > K, X IS SET TO K -! -! THE EXPONENT IS CALCULATED BY THE PRODUCT ADEC*AINT, WHERE ADEC -! IS THE MANTISSA AND AINT IS THE MAGNITUDE (EXPONENT). BOTH -! MANTISSA AND MAGNITUDE ARE PRE-CALCULATED AND STORED IN LOOKUP -! TABLES ; THIS LEADS TO THE INCREASED SPEED. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION EX10(X,K) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - REAL X, EX10, Y, AINT10, ADEC10, K - INTEGER K1, K2 - COMMON /EXPNC/ AINT10(20), ADEC10(200) -! -! *** LIMIT X TO [-K, K] RANGE ***************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('EX10',0,ZHOOK_HANDLE) - Y = MAX(-K, MIN(X,K)) ! MIN: -9.999, MAX: 9.999 -! -! *** GET INTEGER AND DECIMAL PART ************************************* -! - K1 = INT(Y) - K2 = INT(100*(Y-K1)) -! -! *** CALCULATE EXP FUNCTION ******************************************* -! - EX10 = AINT10(K1+10)*ADEC10(K2+100) -! -! *** END OF EXP FUNCTION ********************************************** -! - IF (LHOOK) CALL DR_HOOK('EX10',1,ZHOOK_HANDLE) - ENDFUNCTION EX10 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** BLOCK DATA EXPON -! *** CONTAINS DATA FOR EXPONENT ARRAYS NEEDED IN FUNCTION EXP10 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - BLOCK DATA EXPON - IMPLICIT NONE -! -! *** Common block definition -! - INTEGER :: I - REAL AINT10, ADEC10 - COMMON /EXPNC/ AINT10(20), ADEC10(200) -! -! *** Integer part -! - DATA AINT10/ & - & 0.1000E-08, 0.1000E-07, 0.1000E-06, 0.1000E-05, 0.1000E-04, & - & 0.1000E-03, 0.1000E-02, 0.1000E-01, 0.1000E+00, 0.1000E+01, & - & 0.1000E+02, 0.1000E+03, 0.1000E+04, 0.1000E+05, 0.1000E+06, & - & 0.1000E+07, 0.1000E+08, 0.1000E+09, 0.1000E+10, 0.1000E+11 & - & / -! -! *** decimal part -! - DATA (ADEC10(I),I=1,100)/ & - & 0.1023E+00, 0.1047E+00, 0.1072E+00, 0.1096E+00, 0.1122E+00, & - & 0.1148E+00, 0.1175E+00, 0.1202E+00, 0.1230E+00, 0.1259E+00, & - & 0.1288E+00, 0.1318E+00, 0.1349E+00, 0.1380E+00, 0.1413E+00, & - & 0.1445E+00, 0.1479E+00, 0.1514E+00, 0.1549E+00, 0.1585E+00, & - & 0.1622E+00, 0.1660E+00, 0.1698E+00, 0.1738E+00, 0.1778E+00, & - & 0.1820E+00, 0.1862E+00, 0.1905E+00, 0.1950E+00, 0.1995E+00, & - & 0.2042E+00, 0.2089E+00, 0.2138E+00, 0.2188E+00, 0.2239E+00, & - & 0.2291E+00, 0.2344E+00, 0.2399E+00, 0.2455E+00, 0.2512E+00, & - & 0.2570E+00, 0.2630E+00, 0.2692E+00, 0.2754E+00, 0.2818E+00, & - & 0.2884E+00, 0.2951E+00, 0.3020E+00, 0.3090E+00, 0.3162E+00, & - & 0.3236E+00, 0.3311E+00, 0.3388E+00, 0.3467E+00, 0.3548E+00, & - & 0.3631E+00, 0.3715E+00, 0.3802E+00, 0.3890E+00, 0.3981E+00, & - & 0.4074E+00, 0.4169E+00, 0.4266E+00, 0.4365E+00, 0.4467E+00, & - & 0.4571E+00, 0.4677E+00, 0.4786E+00, 0.4898E+00, 0.5012E+00, & - & 0.5129E+00, 0.5248E+00, 0.5370E+00, 0.5495E+00, 0.5623E+00, & - & 0.5754E+00, 0.5888E+00, 0.6026E+00, 0.6166E+00, 0.6310E+00, & - & 0.6457E+00, 0.6607E+00, 0.6761E+00, 0.6918E+00, 0.7079E+00, & - & 0.7244E+00, 0.7413E+00, 0.7586E+00, 0.7762E+00, 0.7943E+00, & - & 0.8128E+00, 0.8318E+00, 0.8511E+00, 0.8710E+00, 0.8913E+00, & - & 0.9120E+00, 0.9333E+00, 0.9550E+00, 0.9772E+00, 0.1000E+01/ - - DATA (ADEC10(I),I=101,200)/ & - & 0.1023E+01, 0.1047E+01, 0.1072E+01, 0.1096E+01, 0.1122E+01, & - & 0.1148E+01, 0.1175E+01, 0.1202E+01, 0.1230E+01, 0.1259E+01, & - & 0.1288E+01, 0.1318E+01, 0.1349E+01, 0.1380E+01, 0.1413E+01, & - & 0.1445E+01, 0.1479E+01, 0.1514E+01, 0.1549E+01, 0.1585E+01, & - & 0.1622E+01, 0.1660E+01, 0.1698E+01, 0.1738E+01, 0.1778E+01, & - & 0.1820E+01, 0.1862E+01, 0.1905E+01, 0.1950E+01, 0.1995E+01, & - & 0.2042E+01, 0.2089E+01, 0.2138E+01, 0.2188E+01, 0.2239E+01, & - & 0.2291E+01, 0.2344E+01, 0.2399E+01, 0.2455E+01, 0.2512E+01, & - & 0.2570E+01, 0.2630E+01, 0.2692E+01, 0.2754E+01, 0.2818E+01, & - & 0.2884E+01, 0.2951E+01, 0.3020E+01, 0.3090E+01, 0.3162E+01, & - & 0.3236E+01, 0.3311E+01, 0.3388E+01, 0.3467E+01, 0.3548E+01, & - & 0.3631E+01, 0.3715E+01, 0.3802E+01, 0.3890E+01, 0.3981E+01, & - & 0.4074E+01, 0.4169E+01, 0.4266E+01, 0.4365E+01, 0.4467E+01, & - & 0.4571E+01, 0.4677E+01, 0.4786E+01, 0.4898E+01, 0.5012E+01, & - & 0.5129E+01, 0.5248E+01, 0.5370E+01, 0.5495E+01, 0.5623E+01, & - & 0.5754E+01, 0.5888E+01, 0.6026E+01, 0.6166E+01, 0.6310E+01, & - & 0.6457E+01, 0.6607E+01, 0.6761E+01, 0.6918E+01, 0.7079E+01, & - & 0.7244E+01, 0.7413E+01, 0.7586E+01, 0.7762E+01, 0.7943E+01, & - & 0.8128E+01, 0.8318E+01, 0.8511E+01, 0.8710E+01, 0.8913E+01, & - & 0.9120E+01, 0.9333E+01, 0.9550E+01, 0.9772E+01, 0.1000E+02 & - & / -! -! *** END OF BLOCK DATA EXPON ****************************************** -! - ENDBLOCKDATA EXPON -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISOPLUS -! *** THIS SUBROUTINE IS THE MASTER ROUTINE FOR THE ISORROPIA-PLUS -! THERMODYNAMIC EQUILIBRIUM AEROSOL MODEL (VERSION 1.0) -! -! *** NOTE: THIS SUBROUTINE IS INCLUDED FOR BACKWARD COMPATABILITY ONLY. -! A PROGRAMMER SHOULD USE THE MORE COMPLETE SUBROUTINE ISOROPIA INSTEAD -! -! ======================== ARGUMENTS / USAGE =========================== -! -! INPUT: -! 1. [WI] -! DOUBLE PRECISION array of length [5]. -! Concentrations, expressed in moles/m3. Depending on the type of -! problem solved, WI contains either GAS+AEROSOL or AEROSOL only -! concentratios. -! WI(1) - sodium -! WI(2) - sulfate -! WI(3) - ammonium -! WI(4) - nitrate -! WI(5) - chloride -! -! 2. [RHI] -! DOUBLE PRECISION variable. -! Ambient relative humidity expressed in a (0,1) scale. -! -! 3. [TEMPI] -! DOUBLE PRECISION variable. -! Ambient temperature expressed in Kelvins. -! -! 4. [IPROB] -! INTEGER variable. -! The type of problem solved. -! IPROB = 0 - Forward problem is solved. In this case, array WI -! contains GAS and AEROSOL concentrations together. -! IPROB = 1 - Reverse problem is solved. In this case, array WI -! contains AEROSOL concentrations only. -! -! OUTPUT: -! 1. [GAS] -! DOUBLE PRECISION array of length [03]. -! Gaseous species concentrations, expressed in moles/m3. -! GAS(1) - NH3 -! GAS(2) - HNO3 -! GAS(3) - HCl -! -! 2. [AERLIQ] -! DOUBLE PRECISION array of length [11]. -! Liquid aerosol species concentrations, expressed in moles/m3. -! AERLIQ(01) - H+(aq) -! AERLIQ(02) - Na+(aq) -! AERLIQ(03) - NH4+(aq) -! AERLIQ(04) - Cl-(aq) -! AERLIQ(05) - SO4--(aq) -! AERLIQ(06) - HSO4-(aq) -! AERLIQ(07) - NO3-(aq) -! AERLIQ(08) - H2O -! AERLIQ(09) - NH3(aq) (undissociated) -! AERLIQ(10) - HNCl(aq) (undissociated) -! AERLIQ(11) - HNO3(aq) (undissociated) -! -! 3. [AERSLD] -! DOUBLE PRECISION array of length [09]. -! Solid aerosol species concentrations, expressed in moles/m3. -! AERSLD(01) - NaNO3(s) -! AERSLD(02) - NH4NO3(s) -! AERSLD(03) - NaCl(s) -! AERSLD(04) - NH4Cl(s) -! AERSLD(05) - Na2SO4(s) -! AERSLD(06) - (NH4)2SO4(s) -! AERSLD(07) - NaHSO4(s) -! AERSLD(08) - NH4HSO4(s) -! AERSLD(09) - (NH4)4H(SO4)2(s) -! -! 4. [DRY] -! LOGICAL variable. -! Contains information about the physical state of the system. -! .TRUE. - There is no aqueous phase present -! .FALSE.- There is an aqueous phase present -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISOPLUS (WI, RHI, TEMPI, IPROBI, & - & GAS, AERLIQ, AERSLD, DRYI ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI,GAS,AERLIQ,AERSLD,DRVI - INTEGER :: IPROBI - INTEGER :: I - DIMENSION WI(NCOMP), GAS(NGASAQ), AERLIQ(NIONS+NGASAQ+1), & - & AERSLD(NSLDS) - LOGICAL DRYI -! -! *** PROBLEM TYPE (0=FOREWARD, 1=REVERSE) ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISOPLUS',0,ZHOOK_HANDLE) - IPROB = IPROBI -! -! *** SOLVE FOREWARD PROBLEM ******************************************** -! - IF (IPROB.EQ.0) THEN - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1F (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2F (WI, RHI, TEMPI) - ELSE - CALL ISRP3F (WI, RHI, TEMPI) - ENDIF -! -! *** SOLVE REVERSE PROBLEM ********************************************* -! - ELSE - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1R (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2R (WI, RHI, TEMPI) - ELSE - CALL ISRP3R (WI, RHI, TEMPI) - ENDIF - ENDIF -! -! *** SAVE RESULTS TO ARRAYS (units = mole/m3, kg/m3 for water) ********* -! - GAS(1) = GNH3 - GAS(2) = GHNO3 - GAS(3) = GHCL -! - DO 10 I=1,NIONS - AERLIQ(I) = MOLAL(I) - 10 CONTINUE - AERLIQ(NIONS+1) = WATER*1.0D3/18.0D0 - DO 20 I=1,NGASAQ - AERLIQ(NIONS+1+I) = GASAQ(I) - 20 CONTINUE -! - AERSLD(1) = CNANO3 - AERSLD(2) = CNH4NO3 - AERSLD(3) = CNACL - AERSLD(4) = CNH4CL - AERSLD(5) = CNA2SO4 - AERSLD(6) = CNH42S4 - AERSLD(7) = CNAHSO4 - AERSLD(8) = CNH4HS4 - AERSLD(9) = CLC -! - DRYI = WATER.LE.TINY -! - IF (LHOOK) CALL DR_HOOK('ISOPLUS',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISOPLUS ****************************************** -! - ENDSUBROUTINE ISOPLUS - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRPIA -! *** THIS SUBROUTINE IS THE MASTER ROUTINE FOR THE ISORROPIA-PLUS -! THERMODYNAMIC EQUILIBRIUM AEROSOL MODEL (VERSIONS 0.x) -! -! *** NOTE: THIS SUBROUTINE IS INCLUDED FOR BACKWARD COMPATABILITY ONLY. -! A PROGRAMMER SHOULD USE THE MORE COMPLETE SUBROUTINE ISOROPIA INSTEAD -! -! -! DEPENDING ON THE INPUT VALUES PROVIDED, THE FOLLOWING MODEL -! SUBVERSIONS ARE CALLED: -! -! FOREWARD PROBLEM (IPROB=0): -! Na SO4 NH4 NO3 CL SUBROUTINE CALLED -! ---- ---- ---- ---- ---- ----------------- -! 0.0 >0.0 >0.0 0.0 0.0 SUBROUTINE ISRP1F -! 0.0 >0.0 >0.0 >0.0 0.0 SUBROUTINE ISRP2F -! >0.0 >0.0 >0.0 >0.0 >0.0 SUBROUTINE ISRP3F -! -! REVERSE PROBLEM (IPROB=1): -! Na SO4 NH4 NO3 CL SUBROUTINE CALLED -! ---- ---- ---- ---- ---- ----------------- -! 0.0 >0.0 >0.0 0.0 0.0 SUBROUTINE ISRP1R -! 0.0 >0.0 >0.0 >0.0 0.0 SUBROUTINE ISRP2R -! >0.0 >0.0 >0.0 >0.0 >0.0 SUBROUTINE ISRP3R -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRPIA (WI, RHI, TEMPI, IPROBI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - INTEGER :: IPROBI - DIMENSION WI(NCOMP) -! -! *** PROBLEM TYPE (0=FOREWARD, 1=REVERSE) ****************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRPIA',0,ZHOOK_HANDLE) - IPROB = IPROBI -! -! *** SOLVE FOREWARD PROBLEM ******************************************** -! - IF (IPROB.EQ.0) THEN - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1F (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2F (WI, RHI, TEMPI) - ELSE - CALL ISRP3F (WI, RHI, TEMPI) - ENDIF -! -! *** SOLVE REVERSE PROBLEM ********************************************* -! - ELSE - IF (WI(1)+WI(2)+WI(3)+WI(4)+WI(5) .LE. TINY) THEN ! Everything=0 - CALL INIT1 (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(4)+WI(5) .LE. TINY) THEN ! Na,Cl,NO3=0 - CALL ISRP1R (WI, RHI, TEMPI) - ELSE IF (WI(1)+WI(5) .LE. TINY) THEN ! Na,Cl=0 - CALL ISRP2R (WI, RHI, TEMPI) - ELSE - CALL ISRP3R (WI, RHI, TEMPI) - ENDIF - ENDIF -! -! *** SETUP 'DRY' FLAG *************************************************** -! - DRYF = WATER.LE.TINY -! -! *** FIND TOTALS ******************************************************* -! - IF (IPROB.EQ.0) THEN - CONTINUE - ELSE - W(1) = WAER(1) - W(2) = WAER(2) - W(3) = WAER(3) - W(4) = WAER(4) - W(5) = WAER(5) -! - IF (.NOT.DRYF) THEN - W(3) = W(3) + GNH3 - W(4) = W(4) + GHNO3 - W(5) = W(5) + GHCL - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('ISRPIA',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRPIA ******************************************* -! - ENDSUBROUTINE ISRPIA -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE PUSHERR -! *** THIS SUBROUTINE SAVES AN ERROR MESSAGE IN THE ERROR STACK -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE PUSHERR (IERR,ERRINF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: IERR - CHARACTER ERRINF*(*) -! -! *** SAVE ERROR CODE IF THERE IS ANY SPACE *************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('PUSHERR',0,ZHOOK_HANDLE) - IF (NOFER.LT.NERRMX) THEN - NOFER = NOFER + 1 - ERRSTK(NOFER) = IERR - ERRMSG(NOFER) = ERRINF - STKOFL =.FALSE. - ELSE - STKOFL =.TRUE. ! STACK OVERFLOW - ENDIF -! -! *** END OF SUBROUTINE PUSHERR **************************************** -! - IF (LHOOK) CALL DR_HOOK('PUSHERR',1,ZHOOK_HANDLE) - ENDSUBROUTINE PUSHERR - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISERRINF -! *** THIS SUBROUTINE OBTAINS A COPY OF THE ERROR STACK (& MESSAGES) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISERRINF (ERRSTKI, ERRMSGI, NOFERI, STKOFLI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I,NOFERI - CHARACTER ERRMSGI*40 - INTEGER ERRSTKI - LOGICAL STKOFLI - DIMENSION ERRMSGI(NERRMX), ERRSTKI(NERRMX) -! -! *** OBTAIN WHOLE ERROR STACK **************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISERRINF',0,ZHOOK_HANDLE) - DO 10 I=1,NOFER ! Error messages & codes - ERRSTKI(I) = ERRSTK(I) - ERRMSGI(I) = ERRMSG(I) - 10 CONTINUE -! - STKOFLI = STKOFL - NOFERI = NOFER -! - IF (LHOOK) CALL DR_HOOK('ISERRINF',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISERRINF *************************************** -! - ENDSUBROUTINE ISERRINF - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISORINF -! *** THIS SUBROUTINE PROVIDES INFORMATION ABOUT ISORROPIA -! -! ======================== ARGUMENTS / USAGE =========================== -! -! OUTPUT: -! 1. [VERSI] -! CHARACTER*14 variable. -! Contains version-date information of ISORROPIA -! -! 2. [NCMP] -! INTEGER variable. -! The number of components needed in input array WI -! (or, the number of major species accounted for by ISORROPIA) -! -! 3. [NION] -! INTEGER variable -! The number of ions considered in the aqueous phase -! -! 4. [NAQGAS] -! INTEGER variable -! The number of undissociated species found in aqueous aerosol -! phase -! -! 5. [NSOL] -! INTEGER variable -! The number of solids considered in the solid aerosol phase -! -! 6. [NERR] -! INTEGER variable -! The size of the error stack (maximum number of errors that can -! be stored before the stack exhausts). -! -! 7. [TIN] -! DOUBLE PRECISION variable -! The value used for a very small number. -! -! 8. [GRT] -! DOUBLE PRECISION variable -! The value used for a very large number. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISORINF (VERSI, NCMP, NION, NAQGAS, NSOL, NERR, TIN, & - & GRT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: TIN,GRT - INTEGER :: NCMP,NION,NAQGAS,NSOL,NERR - CHARACTER*14 VERSI -! -! *** ASSIGN INFO ******************************************************* -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISORINF',0,ZHOOK_HANDLE) - VERSI = VERSION - NCMP = NCOMP - NION = NIONS - NAQGAS = NGASAQ - NSOL = NSLDS - NERR = NERRMX - TIN = TINY - GRT = GREAT -! - IF (LHOOK) CALL DR_HOOK('ISORINF',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISORINF ******************************************* -! - ENDSUBROUTINE ISORINF diff --git a/src/arome/chem/internals/isofwd.F b/src/arome/chem/internals/isofwd.F deleted file mode 100644 index dc89b4c04050ee9d87e46d46c87ef7916bab8fbf..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/isofwd.F +++ /dev/null @@ -1,7097 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/isofwd.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:31 $ -!----------------------------------------------------------------- -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP1F -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE FOREWARD PROBLEM OF -! AN AMMONIUM-SULFATE AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE RATIO AND BY -! THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP1F (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - REAL(KIND=8) :: DC - DIMENSION WI(NCOMP) -! -! *** INITIALIZE ALL VARIABLES IN COMMON BLOCK ************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP1F',0,ZHOOK_HANDLE) - CALL INIT1 (WI, RHI, TEMPI) -! -! *** CALCULATE SULFATE RATIO ******************************************* -! - SULRAT = W(3)/W(2) -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR -! - IF (2.0.LE.SULRAT) THEN - DC = W(3) - 2.001D0*W(2) ! For numerical stability - W(3) = W(3) + MAX(-DC, ZERO) -! - IF(METSTBL.EQ.1) THEN - SCASE = 'A2' - CALL CALCA2 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH42S4) THEN - SCASE = 'A1' - CALL CALCA1 ! NH42SO4 ; case A1 -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'A2' - CALL CALCA2 ! Only liquid ; case A2 - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'B1' - CALL CALCB1 ! NH4HSO4,LC,NH42SO4 ; case B1 -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'B2' - CALL CALCB2 ! LC,NH42S4 ; case B2 -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'B3' - CALL CALCB3 ! NH42S4 ; case B3 -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid ; case B4 - ENDIF - ENDIF - CALL CALCNH3 -! -! *** SULFATE RICH (FREE ACID) -! - ELSEIF (SULRAT.LT.1.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'C1' - CALL CALCC1 ! NH4HSO4 ; case C1 -! - ELSEIF (DRNH4HS4.LE.RH) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid ; case C2 -! - ENDIF - ENDIF - CALL CALCNH3 - ENDIF -! -! *** RETURN POINT -! - IF (LHOOK) CALL DR_HOOK('ISRP1F',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP1F ***************************************** -! - ENDSUBROUTINE ISRP1F -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP2F -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE FOREWARD PROBLEM OF -! AN AMMONIUM-SULFATE-NITRATE AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE RATIO AND BY -! THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP2F (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - DIMENSION WI(NCOMP) -! -! *** INITIALIZE ALL VARIABLES IN COMMON BLOCK ************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP2F',0,ZHOOK_HANDLE) - CALL INIT2 (WI, RHI, TEMPI) -! -! *** CALCULATE SULFATE RATIO ******************************************* -! - SULRAT = W(3)/W(2) -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR -! - IF (2.0.LE.SULRAT) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'D3' - CALL CALCD3 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'D1' - CALL CALCD1 ! NH42SO4,NH4NO3 ; case D1 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'D2' - CALL CALCD2 ! NH42S4 ; case D2 -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'D3' - CALL CALCD3 ! Only liquid ; case D3 - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! FOR SOLVING THIS CASE, NITRIC ACID IS ASSUMED A MINOR SPECIES, -! THAT DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM. -! SUBROUTINES CALCB? ARE CALLED, AND THEN THE NITRIC ACID IS DISSOLVED -! FROM THE HNO3(G) -> (H+) + (NO3-) EQUILIBRIUM. -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid (metastable) - SCASE = 'E4' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'B1' - CALL CALCB1 ! NH4HSO4,LC,NH42SO4 ; case E1 - SCASE = 'E1' -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'B2' - CALL CALCB2 ! LC,NH42S4 ; case E2 - SCASE = 'E2' -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'B3' - CALL CALCB3 ! NH42S4 ; case E3 - SCASE = 'E3' -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid ; case E4 - SCASE = 'E4' - ENDIF - ENDIF -! - CALL CALCNA ! HNO3(g) DISSOLUTION -! -! *** SULFATE RICH (FREE ACID) -! FOR SOLVING THIS CASE, NITRIC ACID IS ASSUMED A MINOR SPECIES, -! THAT DOES NOT SIGNIFICANTLY PERTURB THE HSO4-SO4 EQUILIBRIUM -! SUBROUTINE CALCC? IS CALLED, AND THEN THE NITRIC ACID IS DISSOLVED -! FROM THE HNO3(G) -> (H+) + (NO3-) EQUILIBRIUM. -! - ELSEIF (SULRAT.LT.1.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid (metastable) - SCASE = 'F2' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'C1' - CALL CALCC1 ! NH4HSO4 ; case F1 - SCASE = 'F1' -! - ELSEIF (DRNH4HS4.LE.RH) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid ; case F2 - SCASE = 'F2' - ENDIF - ENDIF -! - CALL CALCNA ! HNO3(g) DISSOLUTION - ENDIF -! -! *** RETURN POINT -! - IF (LHOOK) CALL DR_HOOK('ISRP2F',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP2F ***************************************** -! - ENDSUBROUTINE ISRP2F -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP3F -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE FORWARD PROBLEM OF -! AN AMMONIUM-SULFATE-NITRATE-CHLORIDE-SODIUM AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE & SODIUM -! RATIOS AND BY THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000 UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP3F (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI,REST - DIMENSION WI(NCOMP) -! -! *** ADJUST FOR TOO LITTLE AMMONIUM AND CHLORIDE *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP3F',0,ZHOOK_HANDLE) - WI(3) = MAX (WI(3), 1.D-10) ! NH4+ : 1e-4 umoles/m3 - WI(5) = MAX (WI(5), 1.D-10) ! Cl- : 1e-4 umoles/m3 -! -! *** ADJUST FOR TOO LITTLE SODIUM, SULFATE AND NITRATE COMBINED ******** -! - IF (WI(1)+WI(2)+WI(4) .LE. 1d-10) THEN - WI(1) = 1.D-10 ! Na+ : 1e-4 umoles/m3 - WI(2) = 1.D-10 ! SO4- : 1e-4 umoles/m3 - ENDIF -! -! *** INITIALIZE ALL VARIABLES IN COMMON BLOCK ************************** -! - CALL INIT3 (WI, RHI, TEMPI) -! -! *** CHECK IF TOO MUCH SODIUM ; ADJUST AND ISSUE ERROR MESSAGE ********* -! - REST = 2.D0*W(2) + W(4) + W(5) - IF (W(1).GT.REST) THEN ! NA > 2*SO4+CL+NO3 ? - W(1) = (ONE-1D-6)*REST ! Adjust Na amount - CALL PUSHERR (0050, 'ISRP3F') ! Warning error: Na adjusted - ENDIF -! -! *** CALCULATE SULFATE & SODIUM RATIOS ********************************* -! - SULRAT = (W(1)+W(3))/W(2) - SODRAT = W(1)/W(2) -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR ; SODIUM POOR -! - IF (2.0.LE.SULRAT .AND. SODRAT.LT.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'G5' - CALL CALCG5 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'G1' - CALL CALCG1 ! NH42SO4,NH4NO3,NH4CL,NA2SO4 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNH4CL) THEN - SCASE = 'G2' - CALL CALCG2 ! NH42SO4,NH4CL,NA2SO4 -! - ELSEIF (DRNH4CL.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'G3' - CALL CALCG3 ! NH42SO4,NA2SO4 -! - ELSEIF (DRNH42S4.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'G4' - CALL CALCG4 ! NA2SO4 -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'G5' - CALL CALCG5 ! Only liquid - ENDIF - ENDIF -! -! *** SULFATE POOR ; SODIUM RICH -! - ELSE IF (SULRAT.GE.2.0 .AND. SODRAT.GE.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'H6' - CALL CALCH6 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'H1' - CALL CALCH1 ! NH4NO3,NH4CL,NA2SO4,NACL,NANO3 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNANO3) THEN - SCASE = 'H2' - CALL CALCH2 ! NH4CL,NA2SO4,NACL,NANO3 -! - ELSEIF (DRNANO3.LE.RH .AND. RH.LT.DRNACL) THEN - SCASE = 'H3' - CALL CALCH3 ! NH4CL,NA2SO4,NACL -! - ELSEIF (DRNACL.LE.RH .AND. RH.LT.DRNH4Cl) THEN - SCASE = 'H4' - CALL CALCH4 ! NH4CL,NA2SO4 -! - ELSEIF (DRNH4Cl.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'H5' - CALL CALCH5 ! NA2SO4 -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'H6' - CALL CALCH6 ! NO SOLID - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'I6' - CALL CALCI6 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'I1' - CALL CALCI1 ! NA2SO4,(NH4)2SO4,NAHSO4,NH4HSO4,LC -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRNAHSO4) THEN - SCASE = 'I2' - CALL CALCI2 ! NA2SO4,(NH4)2SO4,NAHSO4,LC -! - ELSEIF (DRNAHSO4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'I3' - CALL CALCI3 ! NA2SO4,(NH4)2SO4,LC -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'I4' - CALL CALCI4 ! NA2SO4,(NH4)2SO4 -! - ELSEIF (DRNH42S4.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'I5' - CALL CALCI5 ! NA2SO4 -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'I6' - CALL CALCI6 ! NO SOLIDS - ENDIF - ENDIF -! - CALL CALCNHA ! MINOR SPECIES: HNO3, HCl - CALL CALCNH3 ! NH3 -! -! *** SULFATE RICH (FREE ACID) -! - ELSEIF (SULRAT.LT.1.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'J3' - CALL CALCJ3 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'J1' - CALL CALCJ1 ! NH4HSO4,NAHSO4 -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRNAHSO4) THEN - SCASE = 'J2' - CALL CALCJ2 ! NAHSO4 -! - ELSEIF (DRNAHSO4.LE.RH) THEN - SCASE = 'J3' - CALL CALCJ3 - ENDIF - ENDIF -! - CALL CALCNHA ! MINOR SPECIES: HNO3, HCl - CALL CALCNH3 ! NH3 - ENDIF -! -! *** RETURN POINT -! - IF (LHOOK) CALL DR_HOOK('ISRP3F',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP3F ***************************************** -! - ENDSUBROUTINE ISRP3F -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCA2 -! *** CASE A2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. LIQUID AEROSOL PHASE ONLY POSSIBLE -! -! FOR CALCULATIONS, A BISECTION IS PERFORMED TOWARDS X, THE -! AMOUNT OF HYDROGEN IONS (H+) FOUND IN THE LIQUID PHASE. -! FOR EACH ESTIMATION OF H+, FUNCTION FUNCB2A CALCULATES THE -! CONCENTRATION OF IONS FROM THE NH3(GAS) - NH4+(LIQ) EQUILIBRIUM. -! ELECTRONEUTRALITY IS USED AS THE OBJECTIVE FUNCTION. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCA2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,OMEHI,OMELO - REAL(KIND=8) :: X1,X2,X3,Y1,Y2,Y3,FUNCA2 - INTEGER :: I -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCA2',0,ZHOOK_HANDLE) - CALAOU =.TRUE. ! Outer loop activity calculation flag - OMELO = TINY ! Low limit: SOLUTION IS VERY BASIC - OMEHI = 2.0D0*W(2) ! High limit: FROM NH4+ -> NH3(g) + H+(aq) -! -! *** CALCULATE WATER CONTENT ***************************************** -! - MOLAL(5) = W(2) - MOLAL(6) = ZERO - CALL CALCMR -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = OMEHI - Y1 = FUNCA2 (X1) - IF (ABS(Y1).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCA2',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (OMEHI-OMELO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = MAX(X1-DX, OMELO) - Y2 = FUNCA2 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE - IF (ABS(Y2).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCA2',1,ZHOOK_HANDLE) - RETURN - ELSE - CALL PUSHERR (0001, 'CALCA2') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCA2',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCA2 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCA2') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCA2 (X3) - IF (LHOOK) CALL DR_HOOK('CALCA2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCA2 **************************************** -! - ENDSUBROUTINE CALCA2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCA2 -! *** CASE A2 -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE A2 ; -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCA2. -! -!======================================================================= -! - FUNCTION FUNCA2 (OMEGI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A1,A2,A3,DENOM,PSI,ZETA - INTEGER :: I - REAL(KIND=8) :: OMEGI - REAL(KIND=8) :: FUNCA2 - REAL(KIND=8) :: LAMDA -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCA2',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - PSI = W(2) ! INITIAL AMOUNT OF (NH4)2SO4 IN SOLUTION -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A1 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - A2 = XK2*R*TEMP/XKW*(GAMA(8)/GAMA(9))**2. - A3 = XKW*RH*WATER*WATER -! - LAMDA = PSI/(A1/OMEGI+ONE) - ZETA = A3/OMEGI -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = OMEGI ! HI - MOLAL (3) = W(3)/(ONE/A2/OMEGI + ONE) ! NH4I - MOLAL (5) = MAX(PSI-LAMDA,TINY) ! SO4I - MOLAL (6) = LAMDA ! HSO4I - GNH3 = MAX (W(3)-MOLAL(3), TINY) ! NH3GI - COH = ZETA ! OHI -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 DENOM = (2.0*MOLAL(5)+MOLAL(6)) - FUNCA2= (MOLAL(3)/DENOM - ONE) + MOLAL(1)/DENOM - IF (LHOOK) CALL DR_HOOK('FUNCA2',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCA2 ******************************************** -! - ENDFUNCTION FUNCA2 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCA1 -! *** CASE A1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4 -! -! A SIMPLE MATERIAL BALANCE IS PERFORMED, AND THE SOLID (NH4)2SO4 -! IS CALCULATED FROM THE SULFATES. THE EXCESS AMMONIA REMAINS IN -! THE GAS PHASE. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCA1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCA1',0,ZHOOK_HANDLE) - CNH42S4 = W(2) - GNH3 = MAX (W(3)-2.0*CNH42S4, ZERO) - IF (LHOOK) CALL DR_HOOK('CALCA1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCA1 ****************************************** -! - ENDSUBROUTINE CALCA1 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB4 -! *** CASE B4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. LIQUID AEROSOL PHASE ONLY POSSIBLE -! -! FOR CALCULATIONS, A BISECTION IS PERFORMED WITH RESPECT TO H+. -! THE OBJECTIVE FUNCTION IS THE DIFFERENCE BETWEEN THE ESTIMATED H+ -! AND THAT CALCULATED FROM ELECTRONEUTRALITY. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: AK1,AA,BB,CC,DD,GAM,BET - INTEGER :: I -! -! *** SOLVE EQUATIONS ************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB4',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - CALAOU = .TRUE. -! -! *** CALCULATE WATER CONTENT ****************************************** -! - CALL CALCB1A ! GET DRY SALT CONTENT, AND USE FOR WATER. - MOLALR(13) = CLC - MOLALR(9) = CNH4HS4 - MOLALR(4) = CNH42S4 - CLC = ZERO - CNH4HS4 = ZERO - CNH42S4 = ZERO - WATER = MOLALR(13)/M0(13)+MOLALR(9)/M0(9)+MOLALR(4)/M0(4) -! - MOLAL(3) = W(3) ! NH4I -! - DO 20 I=1,NSWEEP - AK1 = XK1*((GAMA(8)/GAMA(7))**2.)*(WATER/GAMA(7)) - BET = W(2) - GAM = MOLAL(3) -! - BB = BET + AK1 - GAM - CC =-AK1*BET - DD = BB*BB - 4.D0*CC -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (5) = MIN(0.5*(-BB + SQRT(DD)), W(2)) ! SO4I - MOLAL (6) = MAX(TINY,MIN(W(2)-MOLAL(5),W(2))) ! HSO4I - MOLAL (1) = MAX(TINY,MIN(AK1*MOLAL(6)/MOLAL(5),W(2))) ! HI - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (.NOT.CALAIN) GOTO 30 - CALL CALCACT -20 CONTINUE -! -30 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCB4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB4 ****************************************** -! - ENDSUBROUTINE CALCB4 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB3 -! *** CASE B3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. BOTH LIQUID & SOLID PHASE IS POSSIBLE -! 3. SOLIDS POSSIBLE: (NH4)2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: X,Y,TLC,TNH42S4,TNH4HS4 -! -! *** CALCULATE EQUIVALENT AMOUNT OF HSO4 AND SO4 *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB3',0,ZHOOK_HANDLE) - X = MAX(2*W(2)-W(3), ZERO) ! Equivalent NH4HSO4 - Y = MAX(W(3) -W(2), ZERO) ! Equivalent NH42SO4 -! -! *** CALCULATE SPECIES ACCORDING TO RELATIVE ABUNDANCE OF HSO4 ********* -! - IF (X.LT.Y) THEN ! LC is the MIN (x,y) - SCASE = 'B3 ; SUBCASE 1' - TLC = X - TNH42S4 = Y-X - CALL CALCB3A (TLC,TNH42S4) ! LC + (NH4)2SO4 - ELSE - SCASE = 'B3 ; SUBCASE 2' - TLC = Y - TNH4HS4 = X-Y - CALL CALCB3B (TLC,TNH4HS4) ! LC + NH4HSO4 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCB3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB3 ****************************************** -! - ENDSUBROUTINE CALCB3 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB3A -! *** CASE B3 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH (1.0 < SULRAT < 2.0) -! 2. BOTH LIQUID & SOLID PHASE IS POSSIBLE -! 3. SOLIDS POSSIBLE: (NH4)2SO4 -! -! FOR CALCULATIONS, A BISECTION IS PERFORMED TOWARDS ZETA, THE -! AMOUNT OF SOLID (NH4)2SO4 DISSOLVED IN THE LIQUID PHASE. -! FOR EACH ESTIMATION OF ZETA, FUNCTION FUNCB3A CALCULATES THE -! AMOUNT OF H+ PRODUCED (BASED ON THE SO4 RELEASED INTO THE -! SOLUTION). THE SOLUBILITY PRODUCT OF (NH4)2SO4 IS USED AS THE -! OBJECTIVE FUNCTION. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB3A (TLC, TNH42S4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: TLC,TNH42S4 - REAL(KIND=8) :: ZLO,ZHI,YLO,DZ,Y1,Y2,Y3,YHI,Z1,Z2,Z3,ZK - REAL(KIND=8) :: FUNCB3A - INTEGER :: I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB3A',0,ZHOOK_HANDLE) - CALAOU = .TRUE. ! Outer loop activity calculation flag - ZLO = ZERO ! MIN DISSOLVED (NH4)2SO4 - ZHI = TNH42S4 ! MAX DISSOLVED (NH4)2SO4 -! -! *** INITIAL VALUES FOR BISECTION (DISSOLVED (NH4)2SO4 **************** -! - Z1 = ZLO - Y1 = FUNCB3A (Z1, TLC, TNH42S4) - IF (ABS(Y1).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCB3A',1,ZHOOK_HANDLE) - RETURN - ENDIF - YLO= Y1 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO *********************** -! - DZ = (ZHI-ZLO)/FLOAT(NDIV) - DO 10 I=1,NDIV - Z2 = Z1+DZ - Y2 = FUNCB3A (Z2, TLC, TNH42S4) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - Z1 = Z2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YHI= Y1 ! Save Y-value at HI position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCB3A',1,ZHOOK_HANDLE) - RETURN -! -! *** { YLO, YHI } < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH LC -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - Z1 = ZHI - Z2 = ZHI - GOTO 40 -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH LC -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - Z1 = ZLO - Z2 = ZLO - GOTO 40 - ELSE - CALL PUSHERR (0001, 'CALCB3A') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCB3A',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - Z3 = 0.5*(Z1+Z2) - Y3 = FUNCB3A (Z3, TLC, TNH42S4) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - Z2 = Z3 - ELSE - Y1 = Y3 - Z1 = Z3 - ENDIF - IF (ABS(Z2-Z1) .LE. EPS*Z1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCB3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ************************************************ -! -40 ZK = 0.5*(Z1+Z2) - Y3 = FUNCB3A (ZK, TLC, TNH42S4) -! - IF (LHOOK) CALL DR_HOOK('CALCB3A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB3A ****************************************** -! - ENDSUBROUTINE CALCB3A - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCB3A -! *** CASE B3 ; SUBCASE 1 -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE B3 -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCA3. -! -!======================================================================= -! - FUNCTION FUNCB3A (ZK, Y, X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ZK,Y,X - REAL(KIND=8) :: FUNCB3A - REAL(KIND=8) :: KK - REAL(KIND=8) :: DD,GRAT1 - INTEGER :: I -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCB3A',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - DO 20 I=1,NSWEEP - GRAT1 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - DD = SQRT( (ZK+GRAT1+Y)**2. + 4.0*Y*GRAT1) - KK = 0.5*(-(ZK+GRAT1+Y) + DD ) -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = KK ! HI - MOLAL (5) = KK+ZK+Y ! SO4I - MOLAL (6) = MAX (Y-KK, TINY) ! HSO4I - MOLAL (3) = 3.0*Y+2*ZK ! NH4I - CNH42S4 = X-ZK ! Solid (NH4)2SO4 - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 30 - ENDIF -20 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -!CC30 FUNCB3A= ( SO4I*NH4I**2.0 )/( XK7*(WATER/GAMA(4))**3.0 ) -30 FUNCB3A= MOLAL(5)*MOLAL(3)**2.0 - FUNCB3A= FUNCB3A/(XK7*(WATER/GAMA(4))**3.0) - ONE - IF (LHOOK) CALL DR_HOOK('FUNCB3A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCB3A ******************************************** -! - ENDFUNCTION FUNCB3A - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB3B -! *** CASE B3 ; SUBCASE 2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH (1.0 < SULRAT < 2.0) -! 2. LIQUID PHASE ONLY IS POSSIBLE -! -! SPECIATION CALCULATIONS IS BASED ON THE HSO4 <--> SO4 EQUILIBRIUM. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB3B (Y, X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: Y,X - REAL(KIND=8) :: KK - REAL(KIND=8) :: DD,GRAT1 - INTEGER :: I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB3B',0,ZHOOK_HANDLE) - CALAOU = .FALSE. ! Outer loop activity calculation flag - FRST = .FALSE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 20 I=1,NSWEEP - GRAT1 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - DD = SQRT( (GRAT1+Y)**2. + 4.0*(X+Y)*GRAT1) - KK = 0.5*(-(GRAT1+Y) + DD ) -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = KK ! HI - MOLAL (5) = Y+KK ! SO4I - MOLAL (6) = MAX (X+Y-KK, TINY) ! HSO4I - MOLAL (3) = 3.0*Y+X ! NH4I - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (.NOT.CALAIN) GOTO 30 - CALL CALCACT -20 CONTINUE -! -30 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCB3B',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB3B ****************************************** -! - ENDSUBROUTINE CALCB3B -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB2 -! *** CASE B2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : LC, (NH4)2SO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON THE SULFATE RATIO: -! 1. WHEN BOTH LC AND (NH4)2SO4 ARE POSSIBLE (SUBROUTINE CALCB2A) -! 2. WHEN ONLY LC IS POSSIBLE (SUBROUTINE CALCB2B). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: X,Y -! -! *** CALCULATE EQUIVALENT AMOUNT OF HSO4 AND SO4 *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB2',0,ZHOOK_HANDLE) - X = MAX(2*W(2)-W(3), TINY) ! Equivalent NH4HSO4 - Y = MAX(W(3) -W(2), TINY) ! Equivalent NH42SO4 -! -! *** CALCULATE SPECIES ACCORDING TO RELATIVE ABUNDANCE OF HSO4 ********* -! - IF (X.LE.Y) THEN ! LC is the MIN (x,y) - SCASE = 'B2 ; SUBCASE 1' - CALL CALCB2A (X,Y-X) ! LC + (NH4)2SO4 POSSIBLE - ELSE - SCASE = 'B2 ; SUBCASE 2' - CALL CALCB2B (Y,X-Y) ! LC ONLY POSSIBLE - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCB2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB2 ****************************************** -! - ENDSUBROUTINE CALCB2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB2 -! *** CASE B2 ; SUBCASE A. -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH (1.0 < SULRAT < 2.0) -! 2. SOLID PHASE ONLY POSSIBLE -! 3. SOLIDS POSSIBLE: LC, (NH4)2SO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON RELATIVE HUMIDITY: -! 1. WHEN RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! 2. WHEN RH < MDRH ; ONLY SOLID PHASE POSSIBLE -! -! FOR SOLID CALCULATIONS, A MATERIAL BALANCE BASED ON THE STOICHIMETRIC -! PROPORTION OF AMMONIUM AND SULFATE IS DONE TO CALCULATE THE AMOUNT -! OF LC AND (NH4)2SO4 IN THE SOLID PHASE. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB2A (TLC, TNH42S4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: TLC,TNH42S4 -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB2A',0,ZHOOK_HANDLE) - IF (RH.LT.DRMLCAS) THEN - SCASE = 'B2 ; SUBCASE A1' ! SOLIDS POSSIBLE ONLY - CLC = TLC - CNH42S4 = TNH42S4 - SCASE = 'B2 ; SUBCASE A1' - ELSE - SCASE = 'B2 ; SUBCASE A2' - CALL CALCB2A2 (TLC, TNH42S4) ! LIQUID & SOLID PHASE POSSIBLE - SCASE = 'B2 ; SUBCASE A2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCB2A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB2A ***************************************** -! - ENDSUBROUTINE CALCB2A - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB2A2 -! *** CASE B2 ; SUBCASE A2. -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH (1.0 < SULRAT < 2.0) -! 2. SOLID PHASE ONLY POSSIBLE -! 3. SOLIDS POSSIBLE: LC, (NH4)2SO4 -! -! THIS IS THE CASE WHERE THE RELATIVE HUMIDITY IS IN THE MUTUAL -! DRH REGION. THE SOLUTION IS ASSUMED TO BE THE SUM OF TWO WEIGHTED -! SOLUTIONS ; THE SOLID PHASE ONLY (SUBROUTINE CALCB2A1) AND THE -! THE SOLID WITH LIQUID PHASE (SUBROUTINE CALCB3). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB2A2 (TLC, TNH42S4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: TLC,TNH42S4 - REAL(KIND=8) :: CLCO,CNH42SO,ONEMWF,WF -! -! *** FIND WEIGHT FACTOR ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB2A2',0,ZHOOK_HANDLE) - IF (WFTYP.EQ.0) THEN - WF = ZERO - ELSEIF (WFTYP.EQ.1) THEN - WF = 0.5D0 - ELSE - WF = (DRLC-RH)/(DRLC-DRMLCAS) - ENDIF - ONEMWF = ONE - WF -! -! *** FIND FIRST SECTION ; DRY ONE ************************************ -! - CLCO = TLC ! FIRST (DRY) SOLUTION - CNH42SO = TNH42S4 -! -! *** FIND SECOND SECTION ; DRY & LIQUID ****************************** -! - CLC = ZERO - CNH42S4 = ZERO - CALL CALCB3 ! SECOND (LIQUID) SOLUTION -! -! *** FIND SOLUTION AT MDRH BY WEIGHTING DRY & LIQUID SOLUTIONS. -! - MOLAL(1)= ONEMWF*MOLAL(1) ! H+ - MOLAL(3)= ONEMWF*(2.D0*(CNH42SO-CNH42S4) + 3.D0*(CLCO-CLC)) ! NH4+ - MOLAL(5)= ONEMWF*(CNH42SO-CNH42S4 + CLCO-CLC) ! SO4-- - MOLAL(6)= ONEMWF*(CLCO-CLC) ! HSO4- -! - WATER = ONEMWF*WATER -! - CLC = WF*CLCO + ONEMWF*CLC - CNH42S4 = WF*CNH42SO + ONEMWF*CNH42S4 -! - IF (LHOOK) CALL DR_HOOK('CALCB2A2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB2A2 **************************************** -! - ENDSUBROUTINE CALCB2A2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB2 -! *** CASE B2 ; SUBCASE B -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH (1.0 < SULRAT < 2.0) -! 2. BOTH LIQUID & SOLID PHASE IS POSSIBLE -! 3. SOLIDS POSSIBLE: LC -! -! FOR CALCULATIONS, A BISECTION IS PERFORMED TOWARDS ZETA, THE -! AMOUNT OF SOLID LC DISSOLVED IN THE LIQUID PHASE. -! FOR EACH ESTIMATION OF ZETA, FUNCTION FUNCB2A CALCULATES THE -! AMOUNT OF H+ PRODUCED (BASED ON THE HSO4, SO4 RELEASED INTO THE -! SOLUTION). THE SOLUBILITY PRODUCT OF LC IS USED AS THE OBJECTIVE -! FUNCTION. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB2B (TLC,TNH4HS4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: TLC,TNH4HS4 - REAL(KIND=8) :: DX,X1,X2,X3,Y1,Y2,Y3,YHI,YLO,ZHI,ZLO - REAL(KIND=8) :: FUNCB2B - INTEGER ::I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB2B',0,ZHOOK_HANDLE) - CALAOU = .TRUE. ! Outer loop activity calculation flag - ZLO = ZERO - ZHI = TLC ! High limit: all of it in liquid phase -! -! *** INITIAL VALUES FOR BISECTION ************************************** -! - X1 = ZHI - Y1 = FUNCB2B (X1,TNH4HS4,TLC) - IF (ABS(Y1).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCB2B',1,ZHOOK_HANDLE) - RETURN - ENDIF - YHI= Y1 ! Save Y-value at Hi position -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ************************ -! - DX = (ZHI-ZLO)/NDIV - DO 10 I=1,NDIV - X2 = X1-DX - Y2 = FUNCB2B (X2,TNH4HS4,TLC) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YLO= Y1 ! Save Y-value at LO position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCB2B',1,ZHOOK_HANDLE) - RETURN -! -! *** { YLO, YHI } < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH LC -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - X1 = ZHI - X2 = ZHI - GOTO 40 -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH LC -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - X1 = ZLO - X2 = ZLO - GOTO 40 - ELSE - CALL PUSHERR (0001, 'CALCB2B') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCB2B',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** PERFORM BISECTION ************************************************* -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCB2B (X3,TNH4HS4,TLC) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCB2B') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ************************************************ -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCB2B (X3,TNH4HS4,TLC) -! - IF (LHOOK) CALL DR_HOOK('CALCB2B',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB2B ***************************************** -! - ENDSUBROUTINE CALCB2B - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCB2B -! *** CASE B2 ; -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE B2 ; SUBCASE 2 -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCB2B. -! -!======================================================================= -! - FUNCTION FUNCB2B (X,TNH4HS4,TLC) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCB2B - REAL(KIND=8) :: X,TNH4HS4,TLC - REAL(KIND=8) :: DELTA,GRAT2,OMEGA,PARM - INTEGER :: I -! -! *** SOLVE EQUATIONS ************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCB2B',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - DO 20 I=1,NSWEEP - GRAT2 = XK1*WATER*(GAMA(8)/GAMA(7))**2./GAMA(7) - PARM = X+GRAT2 - DELTA = PARM*PARM + 4.0*(X+TNH4HS4)*GRAT2 ! Diakrinousa - OMEGA = 0.5*(-PARM + SQRT(DELTA)) ! Thetiki riza (ie:H+>0) -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = OMEGA ! HI - MOLAL (3) = 3.0*X+TNH4HS4 ! NH4I - MOLAL (5) = X+OMEGA ! SO4I - MOLAL (6) = MAX (X+TNH4HS4-OMEGA, TINY) ! HSO4I - CLC = MAX(TLC-X,ZERO) ! Solid LC - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ****************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 30 - ENDIF -20 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************** -! -!CC30 FUNCB2B= ( NH4I**3.*SO4I*HSO4I )/( XK13*(WATER/GAMA(13))**5. ) -30 FUNCB2B= (MOLAL(3)**3.)*MOLAL(5)*MOLAL(6) - FUNCB2B= FUNCB2B/(XK13*(WATER/GAMA(13))**5.) - ONE - IF (LHOOK) CALL DR_HOOK('FUNCB2B',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCB2B ******************************************* -! - ENDFUNCTION FUNCB2B - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB1 -! *** CASE B1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : LC, (NH4)2SO4, NH4HSO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON RELATIVE HUMIDITY: -! 1. WHEN RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! 2. WHEN RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCB1A) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMLCAB) THEN - SCASE = 'B1 ; SUBCASE 1' - CALL CALCB1A ! SOLID PHASE ONLY POSSIBLE - SCASE = 'B1 ; SUBCASE 1' - ELSE - SCASE = 'B1 ; SUBCASE 2' - CALL CALCB1B ! LIQUID & SOLID PHASE POSSIBLE - SCASE = 'B1 ; SUBCASE 2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCB1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB1 ****************************************** -! - ENDSUBROUTINE CALCB1 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB1A -! *** CASE B1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH -! 2. THERE IS NO LIQUID PHASE -! 3. SOLIDS POSSIBLE: LC, { (NH4)2SO4 XOR NH4HSO4 } (ONE OF TWO -! BUT NOT BOTH) -! -! A SIMPLE MATERIAL BALANCE IS PERFORMED, AND THE AMOUNT OF LC -! IS CALCULATED FROM THE (NH4)2SO4 AND NH4HSO4 WHICH IS LEAST -! ABUNDANT (STOICHIMETRICALLY). THE REMAINING EXCESS OF SALT -! IS MIXED WITH THE LC. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: X,Y -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB1A',0,ZHOOK_HANDLE) - X = 2*W(2)-W(3) ! Equivalent NH4HSO4 - Y = W(3)-W(2) ! Equivalent (NH4)2SO4 -! -! *** CALCULATE COMPOSITION ******************************************* -! - IF (X.LE.Y) THEN ! LC is the MIN (x,y) - CLC = X ! NH4HSO4 >= (NH4)2S04 - CNH4HS4 = ZERO - CNH42S4 = Y-X - ELSE - CLC = Y ! NH4HSO4 < (NH4)2S04 - CNH4HS4 = X-Y - CNH42S4 = ZERO - ENDIF - IF (LHOOK) CALL DR_HOOK('CALCB1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB1 ****************************************** -! - ENDSUBROUTINE CALCB1A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCB1B -! *** CASE B1 ; SUBCASE 2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE: LC, { (NH4)2SO4 XOR NH4HSO4 } (ONE OF TWO -! BUT NOT BOTH) -! -! THIS IS THE CASE WHERE THE RELATIVE HUMIDITY IS IN THE MUTUAL -! DRH REGION. THE SOLUTION IS ASSUMED TO BE THE SUM OF TWO WEIGHTED -! SOLUTIONS ; THE SOLID PHASE ONLY (SUBROUTINE CALCB1A) AND THE -! THE SOLID WITH LIQUID PHASE (SUBROUTINE CALCB2). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCB1B - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: CLCO,CNH42SO,CNH4HSO,ONEMWF,WF -! -! *** FIND WEIGHT FACTOR ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCB1B',0,ZHOOK_HANDLE) - IF (WFTYP.EQ.0) THEN - WF = ZERO - ELSEIF (WFTYP.EQ.1) THEN - WF = 0.5D0 - ELSE - WF = (DRNH4HS4-RH)/(DRNH4HS4-DRMLCAB) - ENDIF - ONEMWF = ONE - WF -! -! *** FIND FIRST SECTION ; DRY ONE ************************************ -! - CALL CALCB1A - CLCO = CLC ! FIRST (DRY) SOLUTION - CNH42SO = CNH42S4 - CNH4HSO = CNH4HS4 -! -! *** FIND SECOND SECTION ; DRY & LIQUID ****************************** -! - CLC = ZERO - CNH42S4 = ZERO - CNH4HS4 = ZERO - CALL CALCB2 ! SECOND (LIQUID) SOLUTION -! -! *** FIND SOLUTION AT MDRH BY WEIGHTING DRY & LIQUID SOLUTIONS. -! - MOLAL(1)= ONEMWF*MOLAL(1) ! H+ - MOLAL(3)= ONEMWF*(2.D0*(CNH42SO-CNH42S4) + (CNH4HSO-CNH4HS4) & - & + 3.D0*(CLCO-CLC)) ! NH4+ - MOLAL(5)= ONEMWF*(CNH42SO-CNH42S4 + CLCO-CLC) ! SO4-- - MOLAL(6)= ONEMWF*(CNH4HSO-CNH4HS4 + CLCO-CLC) ! HSO4- -! - WATER = ONEMWF*WATER -! - CLC = WF*CLCO + ONEMWF*CLC - CNH42S4 = WF*CNH42SO + ONEMWF*CNH42S4 - CNH4HS4 = WF*CNH4HSO + ONEMWF*CNH4HS4 -! - IF (LHOOK) CALL DR_HOOK('CALCB1B',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCB1B ***************************************** -! - ENDSUBROUTINE CALCB1B - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCC2 -! *** CASE C2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS ONLY A LIQUID PHASE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCC2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: LAMDA, KAPA - REAL(KIND=8) :: BB,CC,PARM,PSI - INTEGER :: I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCC2',0,ZHOOK_HANDLE) - CALAOU =.TRUE. ! Outer loop activity calculation flag - FRST =.TRUE. - CALAIN =.TRUE. -! -! *** SOLVE EQUATIONS ************************************************** -! - LAMDA = W(3) ! NH4HSO4 INITIALLY IN SOLUTION - PSI = W(2)-W(3) ! H2SO4 IN SOLUTION - DO 20 I=1,NSWEEP - PARM = WATER*XK1/GAMA(7)*(GAMA(8)/GAMA(7))**2. - BB = PSI+PARM - CC =-PARM*(LAMDA+PSI) - KAPA = 0.5*(-BB+SQRT(BB*BB-4.0*CC)) -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL(1) = PSI+KAPA ! HI - MOLAL(3) = LAMDA ! NH4I - MOLAL(5) = KAPA ! SO4I - MOLAL(6) = MAX(LAMDA+PSI-KAPA, TINY) ! HSO4I - CH2SO4 = MAX(MOLAL(5)+MOLAL(6)-MOLAL(3), ZERO) ! Free H2SO4 - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (.NOT.CALAIN) GOTO 30 - CALL CALCACT -20 CONTINUE -! -30 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCC2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCC2 ***************************************** -! - ENDSUBROUTINE CALCC2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCC1 -! *** CASE C1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE: NH4HSO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCC1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: KLO, KHI - REAL(KIND=8) :: DX,X1,X2,X3,Y1,Y2,Y3,YHI,YLO - REAL(KIND=8) :: FUNCC1 - INTEGER :: I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCC1',0,ZHOOK_HANDLE) - CALAOU = .TRUE. ! Outer loop activity calculation flag - KLO = TINY - KHI = W(3) -! -! *** INITIAL VALUES FOR BISECTION ************************************* -! - X1 = KLO - Y1 = FUNCC1 (X1) - IF (ABS(Y1).LE.EPS) GOTO 50 - YLO= Y1 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO *********************** -! - DX = (KHI-KLO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCC1 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2) .LT. ZERO) GOTO 20 ! (Y1*Y2 .LT. ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YHI= Y2 ! Save Y-value at HI position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - GOTO 50 -! -! *** { YLO, YHI } < 0.0 SOLUTION IS ALWAYS UNDERSATURATED WITH NH4HS04 -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - GOTO 50 -! -! *** { YLO, YHI } > 0.0 SOLUTION IS ALWAYS SUPERSATURATED WITH NH4HS04 -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - X1 = KLO - X2 = KLO - GOTO 40 - ELSE - CALL PUSHERR (0001, 'CALCC1') ! WARNING ERROR: NO SOLUTION - GOTO 50 - ENDIF -! -! *** PERFORM BISECTION OF DISSOLVED NH4HSO4 ************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCC1 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCC1') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN *********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCC1 (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCC1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCC1 ***************************************** -! - ENDSUBROUTINE CALCC1 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCC1 -! *** CASE C1 ; -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE C1 -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCC1. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CANREGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCC1 (KAPA) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCC1 - REAL(KIND=8) :: KAPA, LAMDA - REAL(KIND=8) :: BB,CC,PAR1,PAR2,PSI - INTEGER :: I -! -! *** SOLVE EQUATIONS ************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCC1',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. -! - PSI = W(2)-W(3) - DO 20 I=1,NSWEEP - PAR1 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2.0 - PAR2 = XK12*(WATER/GAMA(9))**2.0 - BB = PSI + PAR1 - CC =-PAR1*(PSI+KAPA) - LAMDA = 0.5*(-BB+SQRT(BB*BB-4*CC)) -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ******************************* -! - MOLAL(1) = PSI+LAMDA ! HI - MOLAL(3) = KAPA ! NH4I - MOLAL(5) = LAMDA ! SO4I - MOLAL(6) = MAX (ZERO, PSI+KAPA-LAMDA) ! HSO4I - CNH4HS4 = MAX(W(3)-MOLAL(3), ZERO) ! Solid NH4HSO4 - CH2SO4 = MAX(PSI, ZERO) ! Free H2SO4 - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 30 - ENDIF -20 CONTINUE -! -! *** CALCULATE ZERO FUNCTION ******************************************* -! -!CC30 FUNCC1= (NH4I*HSO4I/PAR2) - ONE -30 FUNCC1= (MOLAL(3)*MOLAL(6)/PAR2) - ONE - IF (LHOOK) CALL DR_HOOK('FUNCC1',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCC1 ******************************************** -! - ENDFUNCTION FUNCC1 - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCD3 -! *** CASE D3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. THERE IS OLNY A LIQUID PHASE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCD3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DELTA,DX,P4,PSI4HI,PSI4LO,YHI,YLO,YY - REAL(KIND=8) :: FUNCD3,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: i - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCD3',0,ZHOOK_HANDLE) - CALL CALCD1A -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4NO3 ! Save from CALCD1 run - CHI2 = CNH42S4 - CHI3 = GHNO3 - CHI4 = GNH3 -! - PSI1 = CNH4NO3 ! ASSIGN INITIAL PSI's - PSI2 = CHI2 - PSI3 = ZERO - PSI4 = ZERO -! - MOLAL(5) = ZERO - MOLAL(6) = ZERO - MOLAL(3) = PSI1 - MOLAL(7) = PSI1 - CALL CALCMR ! Initial water -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI4LO = TINY ! Low limit - PSI4HI = CHI4 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! -60 X1 = PSI4LO - Y1 = FUNCD3 (X1) - IF (ABS(Y1).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCD3',1,ZHOOK_HANDLE) - RETURN - ENDIF - YLO= Y1 ! Save Y-value at HI position -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI4HI-PSI4LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCD3 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YHI= Y1 ! Save Y-value at Hi position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCD3',1,ZHOOK_HANDLE) - RETURN -! -! *** { YLO, YHI } < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NH3 -! Physically I dont know when this might happen, but I have put this -! branch in for completeness. I assume there is no solution; all NO3 goes to the -! gas phase. -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - P4 = TINY ! PSI4LO ! CHI4 - YY = FUNCD3(P4) - GOTO 50 -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH3 -! This happens when Sul.Rat. = 2.0, so some NH4+ from sulfate evaporates -! and goes to the gas phase ; so I redefine the LO and HI limits of PSI4 -! and proceed again with root tracking. -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - PSI4HI = PSI4LO - PSI4LO = PSI4LO - 0.1*(PSI1+PSI2) ! No solution; some NH3 evaporates - IF (PSI4LO.LT.-(PSI1+PSI2)) THEN - CALL PUSHERR (0001, 'CALCD3') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCD3',1,ZHOOK_HANDLE) - RETURN - ELSE - MOLAL(5) = ZERO - MOLAL(6) = ZERO - MOLAL(3) = PSI1 - MOLAL(7) = PSI1 - CALL CALCMR ! Initial water - GOTO 60 ! Redo root tracking - ENDIF - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCD3 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*ABS(X1)) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCD3') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCD3 (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF - IF (LHOOK) CALL DR_HOOK('CALCD3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCD3 ****************************************** -! - ENDSUBROUTINE CALCD3 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCD3 -! *** CASE D3 -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE D3 ; -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCD3. -! -!======================================================================= -! - FUNCTION FUNCD3 (P4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: P4,ABB,AHI,BB,DENM,DELTA - INTEGER :: I - REAL(KIND=8) :: FUNCD3 - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCD3',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - PSI4 = P4 -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A2 = XK7*(WATER/GAMA(4))**3.0 - A3 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A7 = XKW *RH*WATER*WATER -! - PSI3 = A3*A4*CHI3*(CHI4-PSI4) - PSI1*(2.D0*PSI2+PSI1+PSI4) - PSI3 = PSI3/(A3*A4*(CHI4-PSI4) + 2.D0*PSI2+PSI1+PSI4) - PSI3 = MIN(MAX(PSI3, ZERO), CHI3) -! - BB = PSI4 - PSI3 -!CCOLD AHI = 0.5*(-BB + SQRT(BB*BB + 4._8*A7)) ! This is correct also -!CC AHI =2.0*A7/(BB+SQRT(BB*BB + 4._8*A7)) ! Avoid overflow when HI->0 - DENM = BB+SQRT(BB*BB + 4._8*A7) - IF (DENM.LE.TINY) THEN ! Avoid overflow when HI->0 - ABB = ABS(BB) - DENM = (BB+ABB) + 2.0*A7/ABB ! Taylor expansion of SQRT - ENDIF - AHI = 2.0*A7/DENM -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = AHI ! HI - MOLAL (3) = PSI1 + PSI4 + 2.D0*PSI2 ! NH4I - MOLAL (5) = PSI2 ! SO4I - MOLAL (6) = ZERO ! HSO4I - MOLAL (7) = PSI3 + PSI1 ! NO3I - CNH42S4 = CHI2 - PSI2 ! Solid (NH4)2SO4 - CNH4NO3 = ZERO ! Solid NH4NO3 - GHNO3 = CHI3 - PSI3 ! Gas HNO3 - GNH3 = CHI4 - PSI4 ! Gas NH3 - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 CONTINUE -!CC FUNCD3= NH4I/HI/MAX(GNH3,TINY)/A4 - ONE - FUNCD3= MOLAL(3)/MOLAL(1)/MAX(GNH3,TINY)/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCD3',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCD3 ******************************************** -! - ENDFUNCTION FUNCD3 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCD2 -! *** CASE D2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCD2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DELTA,DX,P4,PSI4HI,PSI4LO,YHI,YLO,YY - INTEGER :: I - REAL(KIND=8) :: FUNCD2,X1,X2,X3,Y1,Y2,Y3 - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCD2',0,ZHOOK_HANDLE) - CALL CALCD1A -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4NO3 ! Save from CALCD1 run - CHI2 = CNH42S4 - CHI3 = GHNO3 - CHI4 = GNH3 -! - PSI1 = CNH4NO3 ! ASSIGN INITIAL PSI's - PSI2 = CNH42S4 - PSI3 = ZERO - PSI4 = ZERO -! - MOLAL(5) = ZERO - MOLAL(6) = ZERO - MOLAL(3) = PSI1 - MOLAL(7) = PSI1 - CALL CALCMR ! Initial water -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI4LO = TINY ! Low limit - PSI4HI = CHI4 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! -60 X1 = PSI4LO - Y1 = FUNCD2 (X1) - IF (ABS(Y1).LE.EPS) THEN - IF (LHOOK) CALL DR_HOOK('CALCD2',1,ZHOOK_HANDLE) - RETURN - ENDIF - YLO= Y1 ! Save Y-value at HI position -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI4HI-PSI4LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCD2 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) THEN -! -! This is done, in case if Y(PSI4LO)>0, but Y(PSI4LO+DX) < 0 (i.e.undersat) -! - IF (Y1 .LE. Y2) GOTO 20 ! (Y1*Y2.LT.ZERO) - ENDIF - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YHI= Y1 ! Save Y-value at Hi position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCD2',1,ZHOOK_HANDLE) - RETURN -! -! *** { YLO, YHI } < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NH3 -! Physically I dont know when this might happen, but I have put this -! branch in for completeness. I assume there is no solution; all NO3 goes to the -! gas phase. -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - P4 = TINY ! PSI4LO ! CHI4 - YY = FUNCD2(P4) - GOTO 50 -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH3 -! This happens when Sul.Rat. = 2.0, so some NH4+ from sulfate evaporates -! and goes to the gas phase ; so I redefine the LO and HI limits of PSI4 -! and proceed again with root tracking. -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - PSI4HI = PSI4LO - PSI4LO = PSI4LO - 0.1*(PSI1+PSI2) ! No solution; some NH3 evaporates - IF (PSI4LO.LT.-(PSI1+PSI2)) THEN - CALL PUSHERR (0001, 'CALCD2') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCD2',1,ZHOOK_HANDLE) - RETURN - ELSE - MOLAL(5) = ZERO - MOLAL(6) = ZERO - MOLAL(3) = PSI1 - MOLAL(7) = PSI1 - CALL CALCMR ! Initial water - GOTO 60 ! Redo root tracking - ENDIF - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCD2 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*ABS(X1)) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCD2') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = MIN(X1,X2) ! 0.5*(X1+X2) ! Get "low" side, it's acidic soln. - Y3 = FUNCD2 (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF - IF (LHOOK) CALL DR_HOOK('CALCD2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCD2 ****************************************** -! - ENDSUBROUTINE CALCD2 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCD2 -! *** CASE D2 -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE D2 ; -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCD2. -! -!======================================================================= -! - FUNCTION FUNCD2 (P4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: ABB,AHI,DENM,BB,PSI14 - INTEGER :: I,ISLV - REAL(KIND=8) :: P4 - REAL(KIND=8) :: FUNCD2 - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCD2',0,ZHOOK_HANDLE) - CALL RSTGAM ! Reset activity coefficients to 0.1 - FRST = .TRUE. - CALAIN = .TRUE. - PSI4 = P4 - PSI2 = CHI2 -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A2 = XK7*(WATER/GAMA(4))**3.0 - A3 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A7 = XKW *RH*WATER*WATER -! - IF (CHI2.GT.TINY .AND. WATER.GT.TINY) THEN - PSI14 = PSI1+PSI4 - CALL POLY3 (PSI14,0.25*PSI14**2.,-A2/4.D0, PSI2, ISLV) ! PSI2 - IF (ISLV.EQ.0) THEN - PSI2 = MIN (PSI2, CHI2) - ELSE - PSI2 = ZERO - ENDIF - ENDIF -! - PSI3 = A3*A4*CHI3*(CHI4-PSI4) - PSI1*(2.D0*PSI2+PSI1+PSI4) - PSI3 = PSI3/(A3*A4*(CHI4-PSI4) + 2.D0*PSI2+PSI1+PSI4) -!cc PSI3 = MIN(MAX(PSI3, ZERO), CHI3) -! - BB = PSI4-PSI3 ! (BB > 0, acidic solution, <0 alkaline) -! -! Do not change computation scheme for H+, all others did not work well. -! - DENM = BB+SQRT(BB*BB + 4._8*A7) - IF (DENM.LE.TINY) THEN ! Avoid overflow when HI->0 - ABB = ABS(BB) - DENM = (BB+ABB) + 2._8*A7/ABB ! Taylor expansion of SQRT - ENDIF - AHI = 2._8*A7/DENM -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL (1) = AHI ! HI - MOLAL (3) = PSI1 + PSI4 + 2.D0*PSI2 ! NH4 - MOLAL (5) = PSI2 ! SO4 - MOLAL (6) = ZERO ! HSO4 - MOLAL (7) = PSI3 + PSI1 ! NO3 - CNH42S4 = CHI2 - PSI2 ! Solid (NH4)2SO4 - CNH4NO3 = ZERO ! Solid NH4NO3 - GHNO3 = CHI3 - PSI3 ! Gas HNO3 - GNH3 = CHI4 - PSI4 ! Gas NH3 - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 CONTINUE -!CC FUNCD2= NH4I/HI/MAX(GNH3,TINY)/A4 - ONE - FUNCD2= MOLAL(3)/MOLAL(1)/MAX(GNH3,TINY)/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCD2',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCD2 ******************************************** -! - ENDFUNCTION FUNCD2 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCD1 -! *** CASE D1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3 -! -! THERE ARE TWO REGIMES DEFINED BY RELATIVE HUMIDITY: -! 1. RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCD1A) -! 2. RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCD1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCD1A, CALCD2 -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCD1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMASAN) THEN - SCASE = 'D1 ; SUBCASE 1' ! SOLID PHASE ONLY POSSIBLE - CALL CALCD1A - SCASE = 'D1 ; SUBCASE 1' - ELSE - SCASE = 'D1 ; SUBCASE 2' ! LIQUID & SOLID PHASE POSSIBLE - CALL CALCMDRH (RH, DRMASAN, DRNH4NO3, CALCD1A, CALCD2) - SCASE = 'D1 ; SUBCASE 2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCD1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCD1 ****************************************** -! - ENDSUBROUTINE CALCD1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCD1A -! *** CASE D1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3 -! -! THE SOLID (NH4)2SO4 IS CALCULATED FROM THE SULFATES, WHILE NH4NO3 -! IS CALCULATED FROM NH3-HNO3 EQUILIBRIUM. 'ZE' IS THE AMOUNT OF -! NH4NO3 THAT VOLATIZES WHEN ALL POSSILBE NH4NO3 IS INITIALLY IN -! THE SOLID PHASE. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCD1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: PARM,X,PS,OM,OMPS,DIAK,ZE -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCD1A',0,ZHOOK_HANDLE) - PARM = XK10/(R*TEMP)/(R*TEMP) -! -! *** CALCULATE NH4NO3 THAT VOLATIZES ********************************* -! - CNH42S4 = W(2) - X = MAX(ZERO, MIN(W(3)-2.0*CNH42S4, W(4))) ! MAX NH4NO3 - PS = MAX(W(3) - X - 2.0*CNH42S4, ZERO) - OM = MAX(W(4) - X, ZERO) -! - OMPS = OM+PS - DIAK = SQRT(OMPS*OMPS + 4.0*PARM) ! DIAKRINOUSA - ZE = MIN(X, 0.5*(-OMPS + DIAK)) ! THETIKI RIZA -! -! *** SPECIATION ******************************************************* -! - CNH4NO3 = X - ZE ! Solid NH4NO3 - GNH3 = PS + ZE ! Gas NH3 - GHNO3 = OM + ZE ! Gas HNO3 -! - IF (LHOOK) CALL DR_HOOK('CALCD1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCD1A ***************************************** -! - ENDSUBROUTINE CALCD1A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG5 -! *** CASE G5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG5 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCG5A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG5',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = 0.5*W(1) - CHI2 = MAX (W(2)-CHI1, ZERO) - CHI3 = ZERO - CHI4 = MAX (W(3)-2.D0*CHI2, ZERO) - CHI5 = W(4) - CHI6 = W(5) -! - PSI1 = CHI1 - PSI2 = CHI2 - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! - WATER = CHI2/M0(4) + CHI1/M0(2) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCG5A (X1) - IF (CHI6.LE.TINY) GOTO 50 -!cc IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -!cc IF (WATER .LE. TINY) RETURN ! No water -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCG5A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCG5A (PSI6HI) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCG5A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCG5') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCG5A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN ! If quadrat.called - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG5',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG5 ******************************************* -! - ENDSUBROUTINE CALCG5 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCG5A -! *** CASE G5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCG5A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCG5A -! - REAL(KIND=8) :: X,AKK,BB,CC,DD,HI,OHI,SMIN - INTEGER :: I - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCG5A',0,ZHOOK_HANDLE) - PSI6 = X - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A2 = XK7 *(WATER/GAMA(4))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - AKK = A4*A6 -! -! CALCULATE DISSOCIATION QUANTITIES -! - IF (CHI5.GE.TINY) THEN - PSI5 = PSI6*CHI5/(A6/A5*(CHI6-PSI6) + PSI6) - ELSE - PSI5 = TINY - ENDIF -! -!CC IF(CHI4.GT.TINY) THEN - IF(W(2).GT.TINY) THEN ! Accounts for NH3 evaporation - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - 2._8*PSI2/A4 - DD = MAX(BB*BB-4._8*CC,ZERO) ! Patch proposed by Uma Shankar, 19/11/01 - PSI4 =0.5_8*(-BB - SQRT(DD)) - ELSE - PSI4 = TINY - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = 2.0D0*PSI1 ! NAI - MOLAL (3) = 2.0*PSI2 + PSI4 ! NH4I - MOLAL (4) = PSI6 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO - MOLAL (7) = PSI5 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! - GNH3 = MAX(CHI4 - PSI4, TINY) ! Gas NH3 - GHNO3 = MAX(CHI5 - PSI5, TINY) ! Gas HNO3 - GHCL = MAX(CHI6 - PSI6, TINY) ! Gas HCl -! - CNH42S4 = ZERO ! Solid (NH4)2SO4 - CNH4NO3 = ZERO ! Solid NH4NO3 - CNH4CL = ZERO ! Solid NH4Cl -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCG5A = MOLAL(1)*MOLAL(4)/GHCL/A6 - ONE -!CC FUNCG5A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCG5A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCG5A ******************************************* -! - ENDFUNCTION FUNCG5A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG4 -! *** CASE G4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,PSI6LO,PSI6HI - REAL(KIND=8) :: FUNCG4A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG4',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = 0.5*W(1) - CHI2 = MAX (W(2)-CHI1, ZERO) - CHI3 = ZERO - CHI4 = MAX (W(3)-2.D0*CHI2, ZERO) - CHI5 = W(4) - CHI6 = W(5) -! - PSI2 = CHI2 - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! - WATER = CHI2/M0(4) + CHI1/M0(2) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCG4A (X1) - IF (CHI6.LE.TINY) GOTO 50 -!CC IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY .OR. WATER .LE. TINY) GOTO 50 -!CC IF (WATER .LE. TINY) RETURN ! No water -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCG4A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCG4A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCG4A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCG4') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCG4A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG4 ******************************************* -! - ENDSUBROUTINE CALCG4 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCG4A -! *** CASE G4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCG4A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCG4A -! - REAL(KIND=8) :: BB,CC,CLI,DD,HI - REAL(KIND=8) :: X,OHI,SO4I - INTEGER :: I,ISLV - REAL(KIND=8) :: LAMDA, NAI, NH4I, NO3I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCG4A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A2 = XK7 *(WATER/GAMA(4))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 -! -! CALCULATE DISSOCIATION QUANTITIES -! - IF (CHI5.GE.TINY) THEN - PSI5 = PSI6*CHI5/(A6/A5*(CHI6-PSI6) + PSI6) - ELSE - PSI5 = TINY - ENDIF -! -!CC IF(CHI4.GT.TINY) THEN - IF(W(2).GT.TINY) THEN ! Accounts for NH3 evaporation - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - 2._8*PSI2/A4 - DD = MAX(BB*BB-4._8*CC,ZERO) ! Patch proposed by Uma shankar, 19/11/2001 - PSI4 =0.5_8*(-BB - SQRT(DD)) - ELSE - PSI4 = TINY - ENDIF -! -! CALCULATE CONCENTRATIONS -! - NH4I = 2.0*PSI2 + PSI4 - CLI = PSI6 - SO4I = PSI2 + PSI1 - NO3I = PSI5 - NAI = 2.0D0*PSI1 -! - CALL CALCPH(2._8*SO4I+NO3I+CLI-NAI-NH4I, HI, OHI) -! -! *** Na2SO4 DISSOLUTION -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! PSI1 - CALL POLY3 (PSI2, ZERO, -A1/4.D0, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ELSE - PSI1 = ZERO - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL (1) = HI - MOLAL (2) = NAI - MOLAL (3) = NH4I - MOLAL (4) = CLI - MOLAL (5) = SO4I - MOLAL (6) = ZERO - MOLAL (7) = NO3I -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO -! -! *** CALCULATE MOLALR ARRAY, WATER AND ACTIVITIES ********************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCG4A = MOLAL(1)*MOLAL(4)/GHCL/A6 - ONE -!CC FUNCG4A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCG4A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCG4A ******************************************* -! - ENDFUNCTION FUNCG4A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG3 -! *** CASE G3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID & SOLID PHASE ARE BOTH POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I - EXTERNAL CALCG1A, CALCG4 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF WATER AND OF THE RH ************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG3',0,ZHOOK_HANDLE) - IF (W(4).GT.TINY .AND. W(5).GT.TINY) THEN ! NO3,CL EXIST, WATER POSSIBLE - SCASE = 'G3 ; SUBCASE 1' - CALL CALCG3A - SCASE = 'G3 ; SUBCASE 1' - ELSE ! NO3, CL NON EXISTANT - SCASE = 'G1 ; SUBCASE 1' - CALL CALCG1A - SCASE = 'G1 ; SUBCASE 1' - ENDIF -! - IF (WATER.LE.TINY) THEN - IF (RH.LT.DRMG3) THEN ! ONLY SOLIDS - WATER = TINY - DO 10 I=1,NIONS - MOLAL(I) = ZERO -10 CONTINUE - CALL CALCG1A - SCASE = 'G3 ; SUBCASE 2' - IF (LHOOK) CALL DR_HOOK('CALCG3',1,ZHOOK_HANDLE) - RETURN - ELSE - SCASE = 'G3 ; SUBCASE 3' ! MDRH REGION (NA2SO4, NH42S4) - CALL CALCMDRH (RH, DRMG3, DRNH42S4, CALCG1A, CALCG4) - SCASE = 'G3 ; SUBCASE 3' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG3 ****************************************** -! - ENDSUBROUTINE CALCG3 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG3A -! *** CASE G3 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG3A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCG3A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I,ISLV - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG3A',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = 0.5*W(1) - CHI2 = MAX (W(2)-CHI1, ZERO) - CHI3 = ZERO - CHI4 = MAX (W(3)-2.D0*CHI2, ZERO) - CHI5 = W(4) - CHI6 = W(5) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! - WATER = TINY -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCG3A (X1) - IF (CHI6.LE.TINY) GOTO 50 -!CC IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY .OR. WATER .LE. TINY) GOTO 50 -!CC IF (WATER .LE. TINY) RETURN ! No water -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCG3A (X2) -! - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCG3A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCG3A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCG3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCG3A (X3) -! -! *** FINAL CALCULATIONS ************************************************* -! -50 CONTINUE -! -! *** Na2SO4 DISSOLUTION -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! PSI1 - CALL POLY3 (PSI2, ZERO, -A1/4.D0, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ELSE - PSI1 = ZERO - ENDIF - MOLAL(2) = 2.0D0*PSI1 ! Na+ EFFECT - MOLAL(5) = MOLAL(5) + PSI1 ! SO4 EFFECT - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) ! NA2SO4(s) depletion -! -! *** HSO4 equilibrium -! - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG3A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG3A ****************************************** -! - ENDSUBROUTINE CALCG3A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCG3A -! *** CASE G3 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCG3A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCG3A -! - REAL(KIND=8) :: X,BB,CC,DD,HI,OHI,PSI20,SMIN - INTEGER :: I,ISLV - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCG3A',0,ZHOOK_HANDLE) - PSI6 = X - PSI2 = CHI2 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A2 = XK7 *(WATER/GAMA(4))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 -! -! CALCULATE DISSOCIATION QUANTITIES -! - IF (CHI5.GE.TINY) THEN - PSI5 = PSI6*CHI5/(A6/A5*(CHI6-PSI6) + PSI6) - ELSE - PSI5 = TINY - ENDIF -! -!CC IF(CHI4.GT.TINY) THEN - IF(W(2).GT.TINY) THEN ! Accounts for NH3 evaporation - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - 2._8*PSI2/A4 - DD = MAX(BB*BB-4._8*CC,ZERO) ! Patch proposed by Uma Shankar, 19/11/01 - PSI4 =0.5_8*(-BB - SQRT(DD)) - ELSE - PSI4 = TINY - ENDIF -! - IF (CHI2.GT.TINY .AND. WATER.GT.TINY) THEN - CALL POLY3 (PSI4, PSI4*PSI4/4.D0, -A2/4.D0, PSI20, ISLV) - IF (ISLV.EQ.0) PSI2 = MIN (PSI20, CHI2) - ENDIF -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - MOLAL (2) = ZERO ! Na - MOLAL (3) = 2.0*PSI2 + PSI4 ! NH4I - MOLAL (4) = PSI6 ! CLI - MOLAL (5) = PSI2 ! SO4I - MOLAL (6) = ZERO ! HSO4 - MOLAL (7) = PSI5 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! - GNH3 = MAX(CHI4 - PSI4, TINY) ! Gas NH3 - GHNO3 = MAX(CHI5 - PSI5, TINY) ! Gas HNO3 - GHCL = MAX(CHI6 - PSI6, TINY) ! Gas HCl -! - CNH42S4 = CHI2 - PSI2 ! Solid (NH4)2SO4 - CNH4NO3 = ZERO ! Solid NH4NO3 - CNH4CL = ZERO ! Solid NH4Cl -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCG3A = MOLAL(1)*MOLAL(4)/GHCL/A6 - ONE -!CC FUNCG3A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCG3A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCG3A ******************************************* -! - ENDFUNCTION FUNCG3A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG2 -! *** CASE G2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID & SOLID PHASE ARE BOTH POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I - EXTERNAL CALCG1A, CALCG3A, CALCG4 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF NITRATES *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG2',0,ZHOOK_HANDLE) - IF (W(4).GT.TINY) THEN ! NO3 EXISTS, WATER POSSIBLE - SCASE = 'G2 ; SUBCASE 1' - CALL CALCG2A - SCASE = 'G2 ; SUBCASE 1' - ELSE ! NO3 NON EXISTANT, WATER NOT POSSIBLE - SCASE = 'G1 ; SUBCASE 1' - CALL CALCG1A - SCASE = 'G1 ; SUBCASE 1' - ENDIF -! -! *** REGIME DEPENDS ON THE EXISTANCE OF WATER AND OF THE RH ************ -! - IF (WATER.LE.TINY) THEN - IF (RH.LT.DRMG2) THEN ! ONLY SOLIDS - WATER = TINY - DO 10 I=1,NIONS - MOLAL(I) = ZERO -10 CONTINUE - CALL CALCG1A - SCASE = 'G2 ; SUBCASE 2' - ELSE - IF (W(5).GT. TINY) THEN - SCASE = 'G2 ; SUBCASE 3' ! MDRH (NH4CL, NA2SO4, NH42S4) - CALL CALCMDRH (RH, DRMG2, DRNH4CL, CALCG1A, CALCG3A) - SCASE = 'G2 ; SUBCASE 3' - ENDIF - IF (WATER.LE.TINY .AND. RH.GE.DRMG3) THEN - SCASE = 'G2 ; SUBCASE 4' ! MDRH (NA2SO4, NH42S4) - CALL CALCMDRH (RH, DRMG3, DRNH42S4, CALCG1A, CALCG4) - SCASE = 'G2 ; SUBCASE 4' - ELSE - WATER = TINY - DO 20 I=1,NIONS - MOLAL(I) = ZERO -20 CONTINUE - CALL CALCG1A - SCASE = 'G2 ; SUBCASE 2' - ENDIF - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG2 ****************************************** -! - ENDSUBROUTINE CALCG2 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG2A -! *** CASE G2 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG2A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCG2A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I,ISLV - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG2A',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = 0.5*W(1) - CHI2 = MAX (W(2)-CHI1, ZERO) - CHI3 = ZERO - CHI4 = MAX (W(3)-2.D0*CHI2, ZERO) - CHI5 = W(4) - CHI6 = W(5) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY -! - WATER = TINY -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCG2A (X1) - IF (CHI6.LE.TINY) GOTO 50 -!CC IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -!CC IF (WATER .LE. TINY) GOTO 50 ! No water -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCG2A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) WATER = TINY - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCG2A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCG2A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - IF (X3.LE.TINY2) THEN ! PRACTICALLY NO NITRATES, SO DRY SOLUTION - WATER = TINY - ELSE - Y3 = FUNCG2A (X3) - ENDIF -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE -! -! *** Na2SO4 DISSOLUTION -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! PSI1 - CALL POLY3 (PSI2, ZERO, -A1/4.D0, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ELSE - PSI1 = ZERO - ENDIF - MOLAL(2) = 2.0D0*PSI1 ! Na+ EFFECT - MOLAL(5) = MOLAL(5) + PSI1 ! SO4 EFFECT - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) ! NA2SO4(s) depletion -! -! *** HSO4 equilibrium -! - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ AFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 AFFECT - MOLAL(6) = DELTA ! HSO4 AFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG2A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG2A ****************************************** -! - ENDSUBROUTINE CALCG2A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCG2A -! *** CASE G2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCG2A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCG2A -! - REAL(KIND=8) :: X,BB,CC,DD,DELT,DENO,HI,OHI,SMIN - REAL(KIND=8) :: PSI20,PSI31,PSI32 - INTEGER :: I,ISLV - REAL(KIND=8) :: LAMDA - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7 - COMMON /CASEG/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, LAMDA, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, & - & A1, A2, A3, A4, A5, A6, A7 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCG2A',0,ZHOOK_HANDLE) - PSI6 = X - PSI2 = CHI2 - PSI3 = ZERO - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A2 = XK7 *(WATER/GAMA(4))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 -! - DENO = MAX(CHI6-PSI6-PSI3, ZERO) - PSI5 = CHI5/((A6/A5)*(DENO/PSI6) + ONE) -! - PSI4 = MIN(PSI5+PSI6,CHI4) -! - IF (CHI2.GT.TINY .AND. WATER.GT.TINY) THEN - CALL POLY3 (PSI4, PSI4*PSI4/4.D0, -A2/4.D0, PSI20, ISLV) - IF (ISLV.EQ.0) PSI2 = MIN (PSI20, CHI2) - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL (2) = ZERO ! NA - MOLAL (3) = 2.0*PSI2 + PSI4 ! NH4I - MOLAL (4) = PSI6 ! CLI - MOLAL (5) = PSI2 ! SO4I - MOLAL (6) = ZERO ! HSO4 - MOLAL (7) = PSI5 ! NO3I -! -!CC MOLAL (1) = MAX(CHI5 - PSI5, TINY)*A5/PSI5 ! HI - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = MAX(CHI2 - PSI2, ZERO) - CNH4NO3 = ZERO -! -! *** NH4Cl(s) calculations -! - A3 = XK6 /(R*TEMP*R*TEMP) - IF (GNH3*GHCL.GT.A3) THEN - DELT = MIN(GNH3, GHCL) - BB = -(GNH3+GHCL) - CC = GNH3*GHCL-A3 - DD = BB*BB - 4.D0*CC - PSI31 = 0.5D0*(-BB + SQRT(DD)) - PSI32 = 0.5D0*(-BB - SQRT(DD)) - IF (DELT-PSI31.GT.ZERO .AND. PSI31.GT.ZERO) THEN - PSI3 = PSI31 - ELSEIF (DELT-PSI32.GT.ZERO .AND. PSI32.GT.ZERO) THEN - PSI3 = PSI32 - ELSE - PSI3 = ZERO - ENDIF - ELSE - PSI3 = ZERO - ENDIF -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(GNH3 - PSI3, TINY) - GHCL = MAX(GHCL - PSI3, TINY) - CNH4CL = PSI3 -! -! *** CALCULATE MOLALR ARRAY, WATER AND ACTIVITIES ********************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 IF (CHI4.LE.TINY) THEN - FUNCG2A = MOLAL(1)*MOLAL(4)/GHCL/A6 - ONE - ELSE - FUNCG2A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE - ENDIF -! - IF (LHOOK) CALL DR_HOOK('FUNCG2A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCG2A ******************************************* -! - ENDFUNCTION FUNCG2A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG1 -! *** CASE G1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3, NH4CL, NA2SO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON RELATIVE HUMIDITY: -! 1. WHEN RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! 2. WHEN RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCG1A) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCG1A, CALCG2A -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMG1) THEN - SCASE = 'G1 ; SUBCASE 1' - CALL CALCG1A ! SOLID PHASE ONLY POSSIBLE - SCASE = 'G1 ; SUBCASE 1' - ELSE - SCASE = 'G1 ; SUBCASE 2' ! LIQUID & SOLID PHASE POSSIBLE - CALL CALCMDRH (RH, DRMG1, DRNH4NO3, CALCG1A, CALCG2A) - SCASE = 'G1 ; SUBCASE 2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCG1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG1 ****************************************** -! - ENDSUBROUTINE CALCG1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCG1A -! *** CASE G1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3 -! -! SOLID (NH4)2SO4 IS CALCULATED FROM THE SULFATES, WHILE NH4NO3 -! IS CALCULATED FROM NH3-HNO3 EQUILIBRIUM. 'ZE' IS THE AMOUNT OF -! NH4NO3 THAT VOLATIZES WHEN ALL POSSILBE NH4NO3 IS INITIALLY IN -! THE SOLID PHASE. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCG1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A1,A2,ALF,BB,BET,CC,DD,DD1,DD2 - REAL(KIND=8) :: GAM,RTSQ,SQDD,SQDD1,SQDD2,THETA1,THETA2 - REAL(KIND=8) :: LAMDA, LAMDA1, LAMDA2, KAPA, KAPA1, KAPA2 -! -! *** CALCULATE NON VOLATILE SOLIDS *********************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCG1A',0,ZHOOK_HANDLE) - CNA2SO4 = 0.5*W(1) - CNH42S4 = W(2) - CNA2SO4 -! -! *** CALCULATE VOLATILE SPECIES ************************************** -! - ALF = W(3) - 2.0*CNH42S4 - BET = W(5) - GAM = W(4) -! - RTSQ = R*TEMP*R*TEMP - A1 = XK6/RTSQ - A2 = XK10/RTSQ -! - THETA1 = GAM - BET*(A2/A1) - THETA2 = A2/A1 -! -! QUADRATIC EQUATION SOLUTION -! - BB = (THETA1-ALF-BET*(ONE+THETA2))/(ONE+THETA2) - CC = (ALF*BET-A1-BET*THETA1)/(ONE+THETA2) - DD = BB*BB - 4.0D0*CC - IF (DD.LT.ZERO) GOTO 100 ! Solve each reaction seperately -! -! TWO ROOTS FOR KAPA, CHECK AND SEE IF ANY VALID -! - SQDD = SQRT(DD) - KAPA1 = 0.5D0*(-BB+SQDD) - KAPA2 = 0.5D0*(-BB-SQDD) - LAMDA1 = THETA1 + THETA2*KAPA1 - LAMDA2 = THETA1 + THETA2*KAPA2 -! - IF (KAPA1.GE.ZERO .AND. LAMDA1.GE.ZERO) THEN - IF (ALF-KAPA1-LAMDA1.GE.ZERO .AND. & - & BET-KAPA1.GE.ZERO .AND. GAM-LAMDA1.GE.ZERO) THEN - KAPA = KAPA1 - LAMDA= LAMDA1 - GOTO 200 - ENDIF - ENDIF -! - IF (KAPA2.GE.ZERO .AND. LAMDA2.GE.ZERO) THEN - IF (ALF-KAPA2-LAMDA2.GE.ZERO .AND. & - & BET-KAPA2.GE.ZERO .AND. GAM-LAMDA2.GE.ZERO) THEN - KAPA = KAPA2 - LAMDA= LAMDA2 - GOTO 200 - ENDIF - ENDIF -! -! SEPERATE SOLUTION OF NH4CL & NH4NO3 EQUILIBRIA -! -100 KAPA = ZERO - LAMDA = ZERO - DD1 = (ALF+BET)*(ALF+BET) - 4.0D0*(ALF*BET-A1) - DD2 = (ALF+GAM)*(ALF+GAM) - 4.0D0*(ALF*GAM-A2) -! -! NH4CL EQUILIBRIUM -! - IF (DD1.GE.ZERO) THEN - SQDD1 = SQRT(DD1) - KAPA1 = 0.5D0*(ALF+BET + SQDD1) - KAPA2 = 0.5D0*(ALF+BET - SQDD1) -! - IF (KAPA1.GE.ZERO .AND. KAPA1.LE.MIN(ALF,BET)) THEN - KAPA = KAPA1 - ELSE IF (KAPA2.GE.ZERO .AND. KAPA2.LE.MIN(ALF,BET)) THEN - KAPA = KAPA2 - ELSE - KAPA = ZERO - ENDIF - ENDIF -! -! NH4NO3 EQUILIBRIUM -! - IF (DD2.GE.ZERO) THEN - SQDD2 = SQRT(DD2) - LAMDA1= 0.5D0*(ALF+GAM + SQDD2) - LAMDA2= 0.5D0*(ALF+GAM - SQDD2) -! - IF (LAMDA1.GE.ZERO .AND. LAMDA1.LE.MIN(ALF,GAM)) THEN - LAMDA = LAMDA1 - ELSE IF (LAMDA2.GE.ZERO .AND. LAMDA2.LE.MIN(ALF,GAM)) THEN - LAMDA = LAMDA2 - ELSE - LAMDA = ZERO - ENDIF - ENDIF -! -! IF BOTH KAPA, LAMDA ARE > 0, THEN APPLY EXISTANCE CRITERION -! - IF (KAPA.GT.ZERO .AND. LAMDA.GT.ZERO) THEN - IF (BET .LT. LAMDA/THETA1) THEN - KAPA = ZERO - ELSE - LAMDA= ZERO - ENDIF - ENDIF -! -! *** CALCULATE COMPOSITION OF VOLATILE SPECIES *********************** -! -200 CONTINUE - CNH4NO3 = LAMDA - CNH4CL = KAPA -! - GNH3 = MAX(ALF - KAPA - LAMDA, ZERO) - GHNO3 = MAX(GAM - LAMDA, ZERO) - GHCL = MAX(BET - KAPA, ZERO) -! - IF (LHOOK) CALL DR_HOOK('CALCG1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCG1A ***************************************** -! - ENDSUBROUTINE CALCG1A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH6 -! *** CASE H6 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH6 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,FRNA,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCH6A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH6',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = W(2) ! CNA2SO4 - CHI2 = ZERO ! CNH42S4 - CHI3 = ZERO ! CNH4CL - FRNA = MAX (W(1)-2.D0*CHI1, ZERO) - CHI8 = MIN (FRNA, W(4)) ! CNANO3 - CHI4 = W(3) ! NH3(g) - CHI5 = MAX (W(4)-CHI8, ZERO) ! HNO3(g) - CHI7 = MIN (MAX(FRNA-CHI8, ZERO), W(5)) ! CNACL - CHI6 = MAX (W(5)-CHI7, ZERO) ! HCL(g) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCH6A (X1) - IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCH6A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCH6A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCH6A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCH6') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCH6A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH6',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH6 ****************************************** -! - ENDSUBROUTINE CALCH6 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCH6A -! *** CASE H6 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCH6A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCH6A -! - REAL(KIND=8) :: X,A9,BB,CC,DD,HI,OHI,SMIN - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCH6A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - PSI2 = ZERO - PSI3 = ZERO - PSI7 = CHI7 - PSI8 = CHI8 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - A7 = XK8 *(WATER/GAMA(1))**2.0 - A8 = XK9 *(WATER/GAMA(3))**2.0 - A9 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - PSI5 = CHI5*(PSI6+PSI7) - A6/A5*PSI8*(CHI6-PSI6-PSI3) - PSI5 = PSI5/(A6/A5*(CHI6-PSI6-PSI3) + PSI6 + PSI7) - PSI5 = MAX(PSI5, TINY) -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! First try 3rd order soln - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - DD = BB*BB-4._8*CC - PSI4 =0.5_8*(-BB - SQRT(DD)) - PSI4 = MIN(PSI4,CHI4) - ELSE - PSI4 = TINY - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = PSI8 + PSI7 + 2.D0*PSI1 ! NAI - MOLAL (3) = PSI4 ! NH4I - MOLAL (4) = PSI6 + PSI7 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO ! HSO4I - MOLAL (7) = PSI5 + PSI8 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNACL = MAX(CHI7 - PSI7, ZERO) - CNANO3 = MAX(CHI8 - PSI8, ZERO) - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCH6A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCH6A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCH6A ******************************************* -! - ENDFUNCTION FUNCH6A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH5 -! *** CASE H5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH5 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,FRNA,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCH5A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF NITRATES *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH5',0,ZHOOK_HANDLE) - IF (W(4).LE.TINY .AND. W(5).LE.TINY) THEN - SCASE = 'H5' - CALL CALCH1A - SCASE = 'H5' - IF (LHOOK) CALL DR_HOOK('CALCH5',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** SETUP PARAMETERS ************************************************ -! - CALAOU = .TRUE. - CHI1 = W(2) ! CNA2SO4 - CHI2 = ZERO ! CNH42S4 - CHI3 = ZERO ! CNH4CL - FRNA = MAX (W(1)-2.D0*CHI1, ZERO) - CHI8 = MIN (FRNA, W(4)) ! CNANO3 - CHI4 = W(3) ! NH3(g) - CHI5 = MAX (W(4)-CHI8, ZERO) ! HNO3(g) - CHI7 = MIN (MAX(FRNA-CHI8, ZERO), W(5)) ! CNACL - CHI6 = MAX (W(5)-CHI7, ZERO) ! HCL(g) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCH5A (X1) - IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCH5A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCH5A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCH5A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCH5') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCH5A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH5',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH5 ****************************************** -! - ENDSUBROUTINE CALCH5 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCH5A -! *** CASE H5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NONE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCH5A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCH5A -! - REAL(KIND=8) :: X,A9,AA,BB,CC,DD,HI,OHI,SMIN - INTEGER :: I,ISLV - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCH5A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - PSI2 = ZERO - PSI3 = ZERO - PSI7 = CHI7 - PSI8 = CHI8 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - A7 = XK8 *(WATER/GAMA(1))**2.0 - A8 = XK9 *(WATER/GAMA(3))**2.0 - A9 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - PSI5 = CHI5*(PSI6+PSI7) - A6/A5*PSI8*(CHI6-PSI6-PSI3) - PSI5 = PSI5/(A6/A5*(CHI6-PSI6-PSI3) + PSI6 + PSI7) - PSI5 = MAX(PSI5, TINY) -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! First try 3rd order soln - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - DD = BB*BB-4._8*CC - PSI4 =0.5_8*(-BB - SQRT(DD)) - PSI4 = MIN(PSI4,CHI4) - ELSE - PSI4 = TINY - ENDIF -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! NA2SO4 DISSOLUTION - AA = PSI7+PSI8 - BB = AA*AA - CC =-A1/4.D0 - CALL POLY3 (AA, BB, CC, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = PSI8 + PSI7 + 2.D0*PSI1 ! NAI - MOLAL (3) = PSI4 ! NH4I - MOLAL (4) = PSI6 + PSI7 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO - MOLAL (7) = PSI5 + PSI8 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNACL = MAX(CHI7 - PSI7, ZERO) - CNANO3 = MAX(CHI8 - PSI8, ZERO) - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCH5A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCH5A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCH5A ******************************************* -! - ENDFUNCTION FUNCH5A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH4 -! *** CASE H4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,FRNA,PSI6LO,PSI6HI - REAL(KIND=8) :: FUNCH4A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF NITRATES *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH4',0,ZHOOK_HANDLE) - IF (W(4).LE.TINY .AND. W(5).LE.TINY) THEN - SCASE = 'H4' - CALL CALCH1A - SCASE = 'H4' - IF (LHOOK) CALL DR_HOOK('CALCH4',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** SETUP PARAMETERS ************************************************ -! - CALAOU = .TRUE. - CHI1 = W(2) ! CNA2SO4 - CHI2 = ZERO ! CNH42S4 - CHI3 = ZERO ! CNH4CL - FRNA = MAX (W(1)-2.D0*CHI1, ZERO) - CHI8 = MIN (FRNA, W(4)) ! CNANO3 - CHI4 = W(3) ! NH3(g) - CHI5 = MAX (W(4)-CHI8, ZERO) ! HNO3(g) - CHI7 = MIN (MAX(FRNA-CHI8, ZERO), W(5)) ! CNACL - CHI6 = MAX (W(5)-CHI7, ZERO) ! HCL(g) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCH4A (X1) - IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCH4A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCH4A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCH4A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCH4') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCH4A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH4 ****************************************** -! - ENDSUBROUTINE CALCH4 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCH4A -! *** CASE H4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCH4A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCH4A -! - REAL(KIND=8) :: X,A9,AA,BB,CC,DD,DELT,HI,OHI,PSI31,PSI32,SMIN - INTEGER :: I,ISLV - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCH4A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - PSI2 = ZERO - PSI3 = ZERO - PSI7 = CHI7 - PSI8 = CHI8 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - A7 = XK8 *(WATER/GAMA(1))**2.0 - A8 = XK9 *(WATER/GAMA(3))**2.0 - A9 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - PSI5 = CHI5*(PSI6+PSI7) - A6/A5*PSI8*(CHI6-PSI6-PSI3) - PSI5 = PSI5/(A6/A5*(CHI6-PSI6-PSI3) + PSI6 + PSI7) - PSI5 = MAX(PSI5, TINY) -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! First try 3rd order soln - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - DD = BB*BB-4._8*CC - PSI4 =0.5_8*(-BB - SQRT(DD)) - PSI4 = MIN(PSI4,CHI4) - ELSE - PSI4 = TINY - ENDIF -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! NA2SO4 DISSOLUTION - AA = PSI7+PSI8 - BB = AA*AA - CC =-A1/4.D0 - CALL POLY3 (AA, BB, CC, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = PSI8 + PSI7 + 2.D0*PSI1 ! NAI - MOLAL (3) = PSI4 ! NH4I - MOLAL (4) = PSI6 + PSI7 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO - MOLAL (7) = PSI5 + PSI8 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNACL = MAX(CHI7 - PSI7, ZERO) - CNANO3 = MAX(CHI8 - PSI8, ZERO) - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) -! -! *** NH4Cl(s) calculations -! - A3 = XK6 /(R*TEMP*R*TEMP) - DELT = MIN(GNH3, GHCL) - BB = -(GNH3+GHCL) - CC = GNH3*GHCL-A3 - DD = BB*BB - 4.D0*CC - PSI31 = 0.5D0*(-BB + SQRT(DD)) - PSI32 = 0.5D0*(-BB - SQRT(DD)) - IF (DELT-PSI31.GT.ZERO .AND. PSI31.GT.ZERO) THEN - PSI3 = PSI31 - ELSEIF (DELT-PSI32.GT.ZERO .AND. PSI32.GT.ZERO) THEN - PSI3 = PSI32 - ELSE - PSI3 = ZERO - ENDIF -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(GNH3 - PSI3, TINY) - GHCL = MAX(GHCL - PSI3, TINY) - CNH4CL = PSI3 -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCH4A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCH4A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCH4A ******************************************* -! - ENDFUNCTION FUNCH4A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH3 -! *** CASE H3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,FRNA,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCH3A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF NITRATES *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH3',0,ZHOOK_HANDLE) - IF (W(4).LE.TINY) THEN ! NO3 NOT EXIST, WATER NOT POSSIBLE - SCASE = 'H3' - CALL CALCH1A - SCASE = 'H3' - IF (LHOOK) CALL DR_HOOK('CALCH3',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** SETUP PARAMETERS ************************************************ -! - CALAOU = .TRUE. - CHI1 = W(2) ! CNA2SO4 - CHI2 = ZERO ! CNH42S4 - CHI3 = ZERO ! CNH4CL - FRNA = MAX (W(1)-2.D0*CHI1, ZERO) - CHI8 = MIN (FRNA, W(4)) ! CNANO3 - CHI4 = W(3) ! NH3(g) - CHI5 = MAX (W(4)-CHI8, ZERO) ! HNO3(g) - CHI7 = MIN (MAX(FRNA-CHI8, ZERO), W(5)) ! CNACL - CHI6 = MAX (W(5)-CHI7, ZERO) ! HCL(g) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCH3A (X1) - IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCH3A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (ABS(Y2) .GT. EPS) Y2 = FUNCH3A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCH3A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCH3') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCH3A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH3 ****************************************** -! - ENDSUBROUTINE CALCH3 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCH3A -! *** CASE H3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCH3A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCH3A -! - REAL(KIND=8) :: X,A9,AA,BB,CC,DD,DELT,DIAK,HI,OHI - REAL(KIND=8) :: PSI31,PSI32,SMIN - INTEGER :: I,ISLV - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCH3A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - PSI2 = ZERO - PSI3 = ZERO - PSI7 = CHI7 - PSI8 = CHI8 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - A7 = XK8 *(WATER/GAMA(1))**2.0 - A8 = XK9 *(WATER/GAMA(3))**2.0 - A9 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - PSI5 = CHI5*(PSI6+PSI7) - A6/A5*PSI8*(CHI6-PSI6-PSI3) - PSI5 = PSI5/(A6/A5*(CHI6-PSI6-PSI3) + PSI6 + PSI7) - PSI5 = MAX(PSI5, TINY) -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! First try 3rd order soln - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - DD = BB*BB-4._8*CC - PSI4 =0.5_8*(-BB - SQRT(DD)) - PSI4 = MIN(PSI4,CHI4) - ELSE - PSI4 = TINY - ENDIF -! - IF (CHI7.GT.TINY .AND. WATER.GT.TINY) THEN ! NACL DISSOLUTION - DIAK = (PSI8-PSI6)**2.D0 + 4.D0*A7 - PSI7 = 0.5D0*( -(PSI8+PSI6) + SQRT(DIAK) ) - PSI7 = MAX(MIN(PSI7, CHI7), ZERO) - ENDIF -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! NA2SO4 DISSOLUTION - AA = PSI7+PSI8 - BB = AA*AA - CC =-A1/4.D0 - CALL POLY3 (AA, BB, CC, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = PSI8 + PSI7 + 2.D0*PSI1 ! NAI - MOLAL (3) = PSI4 ! NH4I - MOLAL (4) = PSI6 + PSI7 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO - MOLAL (7) = PSI5 + PSI8 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNACL = MAX(CHI7 - PSI7, ZERO) - CNANO3 = MAX(CHI8 - PSI8, ZERO) - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) -! -! *** NH4Cl(s) calculations -! - A3 = XK6 /(R*TEMP*R*TEMP) - DELT = MIN(GNH3, GHCL) - BB = -(GNH3+GHCL) - CC = GNH3*GHCL-A3 - DD = BB*BB - 4.D0*CC - PSI31 = 0.5D0*(-BB + SQRT(DD)) - PSI32 = 0.5D0*(-BB - SQRT(DD)) - IF (DELT-PSI31.GT.ZERO .AND. PSI31.GT.ZERO) THEN - PSI3 = PSI31 - ELSEIF (DELT-PSI32.GT.ZERO .AND. PSI32.GT.ZERO) THEN - PSI3 = PSI32 - ELSE - PSI3 = ZERO - ENDIF -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(GNH3 - PSI3, TINY) - GHCL = MAX(GHCL - PSI3, TINY) - CNH4CL = PSI3 -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCH3A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A6/A4 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCH3A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCH3A ******************************************* -! - ENDFUNCTION FUNCH3A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH2 -! *** CASE H2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : NH4Cl, NA2SO4, NANO3, NACL -! -! THERE ARE THREE REGIMES IN THIS CASE: -! 1. NH4NO3(s) POSSIBLE. LIQUID & SOLID AEROSOL (SUBROUTINE CALCH2A) -! 2. NH4NO3(s) NOT POSSIBLE, AND RH < MDRH. SOLID AEROSOL ONLY -! 3. NH4NO3(s) NOT POSSIBLE, AND RH >= MDRH. (MDRH REGION) -! -! REGIMES 2. AND 3. ARE CONSIDERED TO BE THE SAME AS CASES H1A, H2B -! RESPECTIVELY (BECAUSE MDRH POINTS COINCIDE). -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCH1A, CALCH3 -! -! *** REGIME DEPENDS ON THE EXISTANCE OF NITRATES *********************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH2',0,ZHOOK_HANDLE) - IF (W(4).GT.TINY) THEN ! NO3 EXISTS, WATER POSSIBLE - SCASE = 'H2 ; SUBCASE 1' - CALL CALCH2A - SCASE = 'H2 ; SUBCASE 1' - ELSE ! NO3 NON EXISTANT, WATER NOT POSSIBLE - SCASE = 'H2 ; SUBCASE 1' - CALL CALCH1A - SCASE = 'H2 ; SUBCASE 1' - ENDIF -! - IF (WATER.LE.TINY .AND. RH.LT.DRMH2) THEN ! DRY AEROSOL - SCASE = 'H2 ; SUBCASE 2' -! - ELSEIF (WATER.LE.TINY .AND. RH.GE.DRMH2) THEN ! MDRH OF H2 - SCASE = 'H2 ; SUBCASE 3' - CALL CALCMDRH (RH, DRMH2, DRNANO3, CALCH1A, CALCH3) - SCASE = 'H2 ; SUBCASE 3' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH2 ****************************************** -! - ENDSUBROUTINE CALCH2 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH2A -! *** CASE H2 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH2A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DELTA,DX,FRNA,PSI6HI,PSI6LO - REAL(KIND=8) :: FUNCH2A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH2A',0,ZHOOK_HANDLE) - CALAOU = .TRUE. - CHI1 = W(2) ! CNA2SO4 - CHI2 = ZERO ! CNH42S4 - CHI3 = ZERO ! CNH4CL - FRNA = MAX (W(1)-2.D0*CHI1, ZERO) - CHI8 = MIN (FRNA, W(4)) ! CNANO3 - CHI4 = W(3) ! NH3(g) - CHI5 = MAX (W(4)-CHI8, ZERO) ! HNO3(g) - CHI7 = MIN (MAX(FRNA-CHI8, ZERO), W(5)) ! CNACL - CHI6 = MAX (W(5)-CHI7, ZERO) ! HCL(g) -! - PSI6LO = TINY - PSI6HI = CHI6-TINY ! MIN(CHI6-TINY, CHI4) -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI6LO - Y1 = FUNCH2A (X1) - IF (ABS(Y1).LE.EPS .OR. CHI6.LE.TINY) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI6HI-PSI6LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1+DX - Y2 = FUNCH2A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION; IF ABS(Y2)<EPS SOLUTION IS ASSUMED -! - IF (Y2 .GT. EPS) Y2 = FUNCH2A (PSI6LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCH2A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCH2A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCH2A (X3) -! -! *** CALCULATE HSO4 SPECIATION AND RETURN ******************************* -! -50 CONTINUE - IF (MOLAL(1).GT.TINY .AND. MOLAL(5).GT.TINY) THEN - CALL CALCHS4 (MOLAL(1), MOLAL(5), ZERO, DELTA) - MOLAL(1) = MOLAL(1) - DELTA ! H+ EFFECT - MOLAL(5) = MOLAL(5) - DELTA ! SO4 EFFECT - MOLAL(6) = DELTA ! HSO4 EFFECT - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH2A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH2A ****************************************** -! - ENDSUBROUTINE CALCH2A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCH2A -! *** CASE H2 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCH2A (X) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCH2A -! - REAL(KIND=8) :: X,A64,A9,AA,BB,CC,DD,DELT,DIAK,HI,OHI - REAL(KIND=8) :: PSI31,PSI32,SMIN - INTEGER :: I,ISLV - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCH2A',0,ZHOOK_HANDLE) - PSI6 = X - PSI1 = CHI1 - PSI2 = ZERO - PSI3 = ZERO - PSI7 = CHI7 - PSI8 = CHI8 - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK5 *(WATER/GAMA(2))**3.0 - A4 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2.0 - A5 = XK4 *R*TEMP*(WATER/GAMA(10))**2.0 - A6 = XK3 *R*TEMP*(WATER/GAMA(11))**2.0 - A7 = XK8 *(WATER/GAMA(1))**2.0 - A8 = XK9 *(WATER/GAMA(3))**2.0 - A64 = (XK3*XK2/XKW)*(GAMA(10)/GAMA(5)/GAMA(11))**2.0 - A64 = A64*(R*TEMP*WATER)**2.0 - A9 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - PSI5 = CHI5*(PSI6+PSI7) - A6/A5*PSI8*(CHI6-PSI6-PSI3) - PSI5 = PSI5/(A6/A5*(CHI6-PSI6-PSI3) + PSI6 + PSI7) - PSI5 = MAX(PSI5, TINY) -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! First try 3rd order soln - BB =-(CHI4 + PSI6 + PSI5 + 1._8/A4) - CC = CHI4*(PSI5+PSI6) - DD = BB*BB-4._8*CC - PSI4 =0.5_8*(-BB - SQRT(DD)) - PSI4 = MIN(PSI4,CHI4) - ELSE - PSI4 = TINY - ENDIF -! - IF (CHI7.GT.TINY .AND. WATER.GT.TINY) THEN ! NACL DISSOLUTION - DIAK = (PSI8-PSI6)**2.D0 + 4.D0*A7 - PSI7 = 0.5D0*( -(PSI8+PSI6) + SQRT(DIAK) ) - PSI7 = MAX(MIN(PSI7, CHI7), ZERO) - ENDIF -! - IF (CHI8.GT.TINY .AND. WATER.GT.TINY) THEN ! NANO3 DISSOLUTION - DIAK = (PSI7-PSI5)**2.D0 + 4.D0*A8 - PSI8 = 0.5D0*( -(PSI7+PSI5) + SQRT(DIAK) ) - PSI8 = MAX(MIN(PSI8, CHI8), ZERO) - ENDIF -! - IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN ! NA2SO4 DISSOLUTION - AA = PSI7+PSI8 - BB = AA*AA - CC =-A1/4.D0 - CALL POLY3 (AA, BB, CC, PSI1, ISLV) - IF (ISLV.EQ.0) THEN - PSI1 = MIN (PSI1, CHI1) - ELSE - PSI1 = ZERO - ENDIF - ENDIF -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (2) = PSI8 + PSI7 + 2.D0*PSI1 ! NAI - MOLAL (3) = PSI4 ! NH4I - MOLAL (4) = PSI6 + PSI7 ! CLI - MOLAL (5) = PSI2 + PSI1 ! SO4I - MOLAL (6) = ZERO ! HSO4I - MOLAL (7) = PSI5 + PSI8 ! NO3I -! - SMIN = 2._8*MOLAL(5)+MOLAL(7)+MOLAL(4)-MOLAL(2)-MOLAL(3) - CALL CALCPH (SMIN, HI, OHI) - MOLAL (1) = HI -! - GNH3 = MAX(CHI4 - PSI4, TINY) - GHNO3 = MAX(CHI5 - PSI5, TINY) - GHCL = MAX(CHI6 - PSI6, TINY) -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNACL = MAX(CHI7 - PSI7, ZERO) - CNANO3 = MAX(CHI8 - PSI8, ZERO) - CNA2SO4 = MAX(CHI1 - PSI1, ZERO) -! -! *** NH4Cl(s) calculations -! - A3 = XK6 /(R*TEMP*R*TEMP) - DELT = MIN(GNH3, GHCL) - BB = -(GNH3+GHCL) - CC = GNH3*GHCL-A3 - DD = BB*BB - 4.D0*CC - PSI31 = 0.5D0*(-BB + SQRT(DD)) - PSI32 = 0.5D0*(-BB - SQRT(DD)) - IF (DELT-PSI31.GT.ZERO .AND. PSI31.GT.ZERO) THEN - PSI3 = PSI31 - ELSEIF (DELT-PSI32.GT.ZERO .AND. PSI32.GT.ZERO) THEN - PSI3 = PSI32 - ELSE - PSI3 = ZERO - ENDIF -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! - GNH3 = MAX(GNH3 - PSI3, TINY) - GHCL = MAX(GHCL - PSI3, TINY) - CNH4CL = PSI3 -! - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 FUNCH2A = MOLAL(3)*MOLAL(4)/GHCL/GNH3/A64 - ONE -! - IF (LHOOK) CALL DR_HOOK('FUNCH2A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCH2A ******************************************* -! - ENDFUNCTION FUNCH2A - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH1 -! *** CASE H1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON RELATIVE HUMIDITY: -! 1. WHEN RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! 2. WHEN RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCH1A) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCH1A, CALCH2A -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMH1) THEN - SCASE = 'H1 ; SUBCASE 1' - CALL CALCH1A ! SOLID PHASE ONLY POSSIBLE - SCASE = 'H1 ; SUBCASE 1' - ELSE - SCASE = 'H1 ; SUBCASE 2' ! LIQUID & SOLID PHASE POSSIBLE - CALL CALCMDRH (RH, DRMH1, DRNH4NO3, CALCH1A, CALCH2A) - SCASE = 'H1 ; SUBCASE 2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCH1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH1 ****************************************** -! - ENDSUBROUTINE CALCH1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCH1A -! *** CASE H1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NANO3, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCH1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A1,A2,ALF,BB,BET,CC,CLFR,DD,DD1,DD2,GAM,RTSQ - REAL(KIND=8) :: SQDD,SQDD1,SQDD2,THETA1,THETA2 - REAL(KIND=8) :: LAMDA, LAMDA1, LAMDA2, KAPA, KAPA1, KAPA2, NAFR, & - & NO3FR -! -! *** CALCULATE NON VOLATILE SOLIDS *********************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCH1A',0,ZHOOK_HANDLE) - CNA2SO4 = W(2) - CNH42S4 = ZERO - NAFR = MAX (W(1)-2*CNA2SO4, ZERO) - CNANO3 = MIN (NAFR, W(4)) - NO3FR = MAX (W(4)-CNANO3, ZERO) - CNACL = MIN (MAX(NAFR-CNANO3, ZERO), W(5)) - CLFR = MAX (W(5)-CNACL, ZERO) -! -! *** CALCULATE VOLATILE SPECIES ************************************** -! - ALF = W(3) ! FREE NH3 - BET = CLFR ! FREE CL - GAM = NO3FR ! FREE NO3 -! - RTSQ = R*TEMP*R*TEMP - A1 = XK6/RTSQ - A2 = XK10/RTSQ -! - THETA1 = GAM - BET*(A2/A1) - THETA2 = A2/A1 -! -! QUADRATIC EQUATION SOLUTION -! - BB = (THETA1-ALF-BET*(ONE+THETA2))/(ONE+THETA2) - CC = (ALF*BET-A1-BET*THETA1)/(ONE+THETA2) - DD = BB*BB - 4.0D0*CC - IF (DD.LT.ZERO) GOTO 100 ! Solve each reaction seperately -! -! TWO ROOTS FOR KAPA, CHECK AND SEE IF ANY VALID -! - SQDD = SQRT(DD) - KAPA1 = 0.5D0*(-BB+SQDD) - KAPA2 = 0.5D0*(-BB-SQDD) - LAMDA1 = THETA1 + THETA2*KAPA1 - LAMDA2 = THETA1 + THETA2*KAPA2 -! - IF (KAPA1.GE.ZERO .AND. LAMDA1.GE.ZERO) THEN - IF (ALF-KAPA1-LAMDA1.GE.ZERO .AND. & - & BET-KAPA1.GE.ZERO .AND. GAM-LAMDA1.GE.ZERO) THEN - KAPA = KAPA1 - LAMDA= LAMDA1 - GOTO 200 - ENDIF - ENDIF -! - IF (KAPA2.GE.ZERO .AND. LAMDA2.GE.ZERO) THEN - IF (ALF-KAPA2-LAMDA2.GE.ZERO .AND. & - & BET-KAPA2.GE.ZERO .AND. GAM-LAMDA2.GE.ZERO) THEN - KAPA = KAPA2 - LAMDA= LAMDA2 - GOTO 200 - ENDIF - ENDIF -! -! SEPERATE SOLUTION OF NH4CL & NH4NO3 EQUILIBRIA -! -100 KAPA = ZERO - LAMDA = ZERO - DD1 = (ALF+BET)*(ALF+BET) - 4.0D0*(ALF*BET-A1) - DD2 = (ALF+GAM)*(ALF+GAM) - 4.0D0*(ALF*GAM-A2) -! -! NH4CL EQUILIBRIUM -! - IF (DD1.GE.ZERO) THEN - SQDD1 = SQRT(DD1) - KAPA1 = 0.5D0*(ALF+BET + SQDD1) - KAPA2 = 0.5D0*(ALF+BET - SQDD1) -! - IF (KAPA1.GE.ZERO .AND. KAPA1.LE.MIN(ALF,BET)) THEN - KAPA = KAPA1 - ELSE IF (KAPA2.GE.ZERO .AND. KAPA2.LE.MIN(ALF,BET)) THEN - KAPA = KAPA2 - ELSE - KAPA = ZERO - ENDIF - ENDIF -! -! NH4NO3 EQUILIBRIUM -! - IF (DD2.GE.ZERO) THEN - SQDD2 = SQRT(DD2) - LAMDA1= 0.5D0*(ALF+GAM + SQDD2) - LAMDA2= 0.5D0*(ALF+GAM - SQDD2) -! - IF (LAMDA1.GE.ZERO .AND. LAMDA1.LE.MIN(ALF,GAM)) THEN - LAMDA = LAMDA1 - ELSE IF (LAMDA2.GE.ZERO .AND. LAMDA2.LE.MIN(ALF,GAM)) THEN - LAMDA = LAMDA2 - ELSE - LAMDA = ZERO - ENDIF - ENDIF -! -! IF BOTH KAPA, LAMDA ARE > 0, THEN APPLY EXISTANCE CRITERION -! - IF (KAPA.GT.ZERO .AND. LAMDA.GT.ZERO) THEN - IF (BET .LT. LAMDA/THETA1) THEN - KAPA = ZERO - ELSE - LAMDA= ZERO - ENDIF - ENDIF -! -! *** CALCULATE COMPOSITION OF VOLATILE SPECIES *********************** -! -200 CONTINUE - CNH4NO3 = LAMDA - CNH4CL = KAPA -! - GNH3 = ALF - KAPA - LAMDA - GHNO3 = GAM - LAMDA - GHCL = BET - KAPA -! - IF (LHOOK) CALL DR_HOOK('CALCH1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCH1A ***************************************** -! - ENDSUBROUTINE CALCH1A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI6 -! *** CASE I6 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI6 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI6',0,ZHOOK_HANDLE) - CALL CALCI1A -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4HS4 ! Save from CALCI1 run - CHI2 = CLC - CHI3 = CNAHSO4 - CHI4 = CNA2SO4 - CHI5 = CNH42S4 -! - PSI1 = CNH4HS4 ! ASSIGN INITIAL PSI's - PSI2 = CLC - PSI3 = CNAHSO4 - PSI4 = CNA2SO4 - PSI5 = CNH42S4 -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A6 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = PSI2 + PSI4 + PSI5 + A6 ! PSI6 - CC =-A6*(PSI2 + PSI3 + PSI1) - DD = BB*BB - 4.D0*CC - PSI6 = 0.5D0*(-BB + SQRT(DD)) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = PSI6 ! HI - MOLAL (2) = 2.D0*PSI4 + PSI3 ! NAI - MOLAL (3) = 3.D0*PSI2 + 2.D0*PSI5 + PSI1 ! NH4I - MOLAL (5) = PSI2 + PSI4 + PSI5 + PSI6 ! SO4I - MOLAL (6) = PSI2 + PSI3 + PSI1 - PSI6 ! HSO4I - CLC = ZERO - CNAHSO4 = ZERO - CNA2SO4 = CHI4 - PSI4 - CNH42S4 = ZERO - CNH4HS4 = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -20 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCI6',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCI6 ***************************************** -! - ENDSUBROUTINE CALCI6 - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI5 -! *** CASE I5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI5 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI4LO,PSI4HI,YHI,YLO - REAL(KIND=8) :: FUNCI5A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI5',0,ZHOOK_HANDLE) - CALL CALCI1A -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4HS4 ! Save from CALCI1 run - CHI2 = CLC - CHI3 = CNAHSO4 - CHI4 = CNA2SO4 - CHI5 = CNH42S4 -! - PSI1 = CNH4HS4 ! ASSIGN INITIAL PSI's - PSI2 = CLC - PSI3 = CNAHSO4 - PSI4 = ZERO - PSI5 = CNH42S4 -! - CALAOU =.TRUE. ! Outer loop activity calculation flag - PSI4LO = ZERO ! Low limit - PSI4HI = CHI4 ! High limit -! -! *** IF NA2SO4(S) =0, CALL FUNCI5B FOR Y4=0 *************************** -! - IF (CHI4.LE.TINY) THEN - Y1 = FUNCI5A (ZERO) - GOTO 50 - ENDIF -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI4HI - Y1 = FUNCI5A (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NA2SO4 ** -! - IF (ABS(Y1).LE.EPS .OR. YHI.LT.ZERO) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI4HI-PSI4LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1-DX - Y2 = FUNCI5A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH4CL -! - YLO= Y1 ! Save Y-value at Hi position - IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - Y3 = FUNCI5A (ZERO) - GOTO 50 - ELSE IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - GOTO 50 - ELSE - CALL PUSHERR (0001, 'CALCI5') ! WARNING ERROR: NO SOLUTION - GOTO 50 - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCI5A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCI5') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCI5A (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCI5',1,ZHOOK_HANDLE) - -! *** END OF SUBROUTINE CALCI5 ***************************************** -! - ENDSUBROUTINE CALCI5 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCI5A -! *** CASE I5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCI5A (P4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: P4,BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: FUNCI5A - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCI5A',0,ZHOOK_HANDLE) - PSI4 = P4 ! PSI3 already assigned in FUNCI5A - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A4 = XK5 *(WATER/GAMA(2))**3.0 - A5 = XK7 *(WATER/GAMA(4))**3.0 - A6 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = PSI2 + PSI4 + PSI5 + A6 ! PSI6 - CC =-A6*(PSI2 + PSI3 + PSI1) - DD = BB*BB - 4.D0*CC - PSI6 = 0.5D0*(-BB + SQRT(DD)) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = PSI6 ! HI - MOLAL (2) = 2.D0*PSI4 + PSI3 ! NAI - MOLAL (3) = 3.D0*PSI2 + 2.D0*PSI5 + PSI1 ! NH4I - MOLAL (5) = PSI2 + PSI4 + PSI5 + PSI6 ! SO4I - MOLAL (6) = PSI2 + PSI3 + PSI1 - PSI6 ! HSO4I - CLC = ZERO - CNAHSO4 = ZERO - CNA2SO4 = CHI4 - PSI4 - CNH42S4 = ZERO - CNH4HS4 = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 A4 = XK5 *(WATER/GAMA(2))**3.0 - FUNCI5A= MOLAL(5)*MOLAL(2)*MOLAL(2)/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCI5A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCI5A ******************************************** -! - ENDFUNCTION FUNCI5A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI4 -! *** CASE I4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI4HI,PSI4LO,YHI,YLO - REAL(KIND=8) :: FUNCI4A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI4',0,ZHOOK_HANDLE) - CALL CALCI1A -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4HS4 ! Save from CALCI1 run - CHI2 = CLC - CHI3 = CNAHSO4 - CHI4 = CNA2SO4 - CHI5 = CNH42S4 -! - PSI1 = CNH4HS4 ! ASSIGN INITIAL PSI's - PSI2 = CLC - PSI3 = CNAHSO4 - PSI4 = ZERO - PSI5 = ZERO -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI4LO = ZERO ! Low limit - PSI4HI = CHI4 ! High limit -! -! *** IF NA2SO4(S) =0, CALL FUNCI4B FOR Y4=0 *************************** -! - IF (CHI4.LE.TINY) THEN - Y1 = FUNCI4A (ZERO) - GOTO 50 - ENDIF -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI4HI - Y1 = FUNCI4A (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NA2SO4 ** -! - IF (ABS(Y1).LE.EPS .OR. YHI.LT.ZERO) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI4HI-PSI4LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1-DX - Y2 = FUNCI4A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH4CL -! - YLO= Y1 ! Save Y-value at Hi position - IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - Y3 = FUNCI4A (ZERO) - GOTO 50 - ELSE IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - GOTO 50 - ELSE - CALL PUSHERR (0001, 'CALCI4') ! WARNING ERROR: NO SOLUTION - GOTO 50 - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCI4A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCI4') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCI4A (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCI4',1,ZHOOK_HANDLE) - -! *** END OF SUBROUTINE CALCI4 ***************************************** -! - ENDSUBROUTINE CALCI4 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCI4A -! *** CASE I4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCI4A (P4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCI4A - REAL(KIND=8) :: P4,BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCI4A',0,ZHOOK_HANDLE) - PSI4 = P4 ! PSI3 already assigned in FUNCI4A - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A4 = XK5 *(WATER/GAMA(2))**3.0 - A5 = XK7 *(WATER/GAMA(4))**3.0 - A6 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - A7 = SQRT(A4/A5) -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = PSI2 + PSI4 + PSI5 + A6 ! PSI6 - CC =-A6*(PSI2 + PSI3 + PSI1) - DD = BB*BB - 4.D0*CC - PSI6 = 0.5D0*(-BB + SQRT(DD)) -! - PSI5 = (PSI3 + 2.D0*PSI4 - A7*(3.D0*PSI2 + PSI1))/2.D0/A7 - PSI5 = MIN (PSI5, CHI5) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = PSI6 ! HI - MOLAL (2) = 2.D0*PSI4 + PSI3 ! NAI - MOLAL (3) = 3.D0*PSI2 + 2.D0*PSI5 + PSI1 ! NH4I - MOLAL (5) = PSI2 + PSI4 + PSI5 + PSI6 ! SO4I - MOLAL (6) = PSI2 + PSI3 + PSI1 - PSI6 ! HSO4I - CLC = ZERO - CNAHSO4 = ZERO - CNA2SO4 = CHI4 - PSI4 - CNH42S4 = CHI5 - PSI5 - CNH4HS4 = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 A4 = XK5 *(WATER/GAMA(2))**3.0 - FUNCI4A= MOLAL(5)*MOLAL(2)*MOLAL(2)/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCI4A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCI4A ******************************************** -! - ENDFUNCTION FUNCI4A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI3 -! *** CASE I3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, NAHSO4, LC -! -! THERE ARE THREE REGIMES IN THIS CASE: -! 1.(NA,NH4)HSO4(s) POSSIBLE. LIQUID & SOLID AEROSOL (SUBROUTINE CALCI3A) -! 2.(NA,NH4)HSO4(s) NOT POSSIBLE, AND RH < MDRH. SOLID AEROSOL ONLY -! 3.(NA,NH4)HSO4(s) NOT POSSIBLE, AND RH >= MDRH. SOLID & LIQUID AEROSOL -! -! REGIMES 2. AND 3. ARE CONSIDERED TO BE THE SAME AS CASES I1A, I2B -! RESPECTIVELY -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I - EXTERNAL CALCI1A, CALCI4 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI3',0,ZHOOK_HANDLE) - CALL CALCI1A -! -! *** REGIME DEPENDS UPON THE POSSIBLE SOLIDS & RH ********************** -! - IF (CNH4HS4.GT.TINY .OR. CNAHSO4.GT.TINY) THEN - SCASE = 'I3 ; SUBCASE 1' - CALL CALCI3A ! FULL SOLUTION - SCASE = 'I3 ; SUBCASE 1' - ENDIF -! - IF (WATER.LE.TINY) THEN - IF (RH.LT.DRMI3) THEN ! SOLID SOLUTION - WATER = TINY - DO 10 I=1,NIONS - MOLAL(I) = ZERO -10 CONTINUE - CALL CALCI1A - SCASE = 'I3 ; SUBCASE 2' -! - ELSEIF (RH.GE.DRMI3) THEN ! MDRH OF I3 - SCASE = 'I3 ; SUBCASE 3' - CALL CALCMDRH (RH, DRMI3, DRLC, CALCI1A, CALCI4) - SCASE = 'I3 ; SUBCASE 3' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCI3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCI3 ****************************************** -! - ENDSUBROUTINE CALCI3 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI3A -! *** CASE I3 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, LC -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI3A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI2HI,PSI2LO,YHI - REAL(KIND=8) :: FUNCI3A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI3A',0,ZHOOK_HANDLE) - CALL CALCI1A ! Needed when called from CALCMDRH -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4HS4 ! Save from CALCI1 run - CHI2 = CLC - CHI3 = CNAHSO4 - CHI4 = CNA2SO4 - CHI5 = CNH42S4 -! - PSI1 = CNH4HS4 ! ASSIGN INITIAL PSI's - PSI2 = ZERO - PSI3 = CNAHSO4 - PSI4 = ZERO - PSI5 = ZERO -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI2LO = ZERO ! Low limit - PSI2HI = CHI2 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI2HI - Y1 = FUNCI3A (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH LC ********* -! - IF (YHI.LT.EPS) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI2HI-PSI2LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = MAX(X1-DX, PSI2LO) - Y2 = FUNCI3A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH LC -! - IF (Y2.GT.EPS) Y2 = FUNCI3A (ZERO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCI3A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCI3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCI3A (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCI3A',1,ZHOOK_HANDLE) - -! *** END OF SUBROUTINE CALCI3A ***************************************** -! - ENDSUBROUTINE CALCI3A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCI3A -! *** CASE I3 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, LC -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCI3A (P2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI4HI,PSI4LO,YHI - REAL(KIND=8) :: FUNCI3B,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! - REAL(KIND=8) :: FUNCI3A - REAL(KIND=8) :: P2 -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCI3A',0,ZHOOK_HANDLE) - PSI2 = P2 ! Save PSI2 in COMMON BLOCK - PSI4LO = ZERO ! Low limit for PSI4 - PSI4HI = CHI4 ! High limit for PSI4 -! -! *** IF NH3 =0, CALL FUNCI3B FOR Y4=0 ******************************** -! - IF (CHI4.LE.TINY) THEN - FUNCI3A = FUNCI3B (ZERO) - GOTO 50 - ENDIF -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI4HI - Y1 = FUNCI3B (X1) - IF (ABS(Y1).LE.EPS) GOTO 50 - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NA2SO4 ***** -! - IF (YHI.LT.ZERO) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI4HI-PSI4LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = MAX(X1-DX, PSI4LO) - Y2 = FUNCI3B (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NA2SO4 -! - IF (Y2.GT.EPS) Y2 = FUNCI3B (PSI4LO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCI3B (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0004, 'FUNCI3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** INNER LOOP CONVERGED ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCI3B (X3) -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -50 A2 = XK13*(WATER/GAMA(13))**5.0 - FUNCI3A = MOLAL(5)*MOLAL(6)*MOLAL(3)**3.D0/A2 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCI3A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCI3A ******************************************* -! - ENDFUNCTION FUNCI3A - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCI3B -! *** CASE I3 ; SUBCASE 2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, LC -! -! SOLUTION IS SAVED IN COMMON BLOCK /CASE/ -! -!======================================================================= -! - FUNCTION FUNCI3B (P4) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FUNCI3B -! - REAL(KIND=8) :: P4,BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCI3B',0,ZHOOK_HANDLE) - PSI4 = P4 -! -! *** SETUP PARAMETERS ************************************************ -! - FRST = .TRUE. - CALAIN = .TRUE. -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A4 = XK5*(WATER/GAMA(2))**3.0 - A5 = XK7*(WATER/GAMA(4))**3.0 - A6 = XK1*WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - A7 = SQRT(A4/A5) -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = PSI2 + PSI4 + PSI5 + A6 ! PSI6 - CC =-A6*(PSI2 + PSI3 + PSI1) - DD = BB*BB - 4.D0*CC - PSI6 = 0.5D0*(-BB + SQRT(DD)) -! - PSI5 = (PSI3 + 2.D0*PSI4 - A7*(3.D0*PSI2 + PSI1))/2.D0/A7 - PSI5 = MIN (PSI5, CHI5) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL(1) = PSI6 ! HI - MOLAL(2) = 2.D0*PSI4 + PSI3 ! NAI - MOLAL(3) = 3.D0*PSI2 + 2.D0*PSI5 + PSI1 ! NH4I - MOLAL(5) = PSI2 + PSI4 + PSI5 + PSI6 ! SO4I - MOLAL(6) = MAX(PSI2 + PSI3 + PSI1 - PSI6, TINY) ! HSO4I - CLC = MAX(CHI2 - PSI2, ZERO) - CNAHSO4 = ZERO - CNA2SO4 = MAX(CHI4 - PSI4, ZERO) - CNH42S4 = MAX(CHI5 - PSI5, ZERO) - CNH4HS4 = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 A4 = XK5 *(WATER/GAMA(2))**3.0 - FUNCI3B= MOLAL(5)*MOLAL(2)*MOLAL(2)/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCI3B',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCI3B ******************************************** -! - ENDFUNCTION FUNCI3B -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI2 -! *** CASE I2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, NAHSO4, LC -! -! THERE ARE THREE REGIMES IN THIS CASE: -! 1. NH4HSO4(s) POSSIBLE. LIQUID & SOLID AEROSOL (SUBROUTINE CALCI2A) -! 2. NH4HSO4(s) NOT POSSIBLE, AND RH < MDRH. SOLID AEROSOL ONLY -! 3. NH4HSO4(s) NOT POSSIBLE, AND RH >= MDRH. SOLID & LIQUID AEROSOL -! -! REGIMES 2. AND 3. ARE CONSIDERED TO BE THE SAME AS CASES I1A, I2B -! RESPECTIVELY -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - INTEGER :: I - EXTERNAL CALCI1A, CALCI3A -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI2',0,ZHOOK_HANDLE) - CALL CALCI1A -! -! *** REGIME DEPENDS UPON THE POSSIBLE SOLIDS & RH ********************** -! - IF (CNH4HS4.GT.TINY) THEN - SCASE = 'I2 ; SUBCASE 1' - CALL CALCI2A - SCASE = 'I2 ; SUBCASE 1' - ENDIF -! - IF (WATER.LE.TINY) THEN - IF (RH.LT.DRMI2) THEN ! SOLID SOLUTION ONLY - WATER = TINY - DO 10 I=1,NIONS - MOLAL(I) = ZERO -10 CONTINUE - CALL CALCI1A - SCASE = 'I2 ; SUBCASE 2' -! - ELSEIF (RH.GE.DRMI2) THEN ! MDRH OF I2 - SCASE = 'I2 ; SUBCASE 3' - CALL CALCMDRH (RH, DRMI2, DRNAHSO4, CALCI1A, CALCI3A) - SCASE = 'I2 ; SUBCASE 3' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCI2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCI2 ****************************************** -! - ENDSUBROUTINE CALCI2 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI2A -! *** CASE I2 ; SUBCASE A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, NAHSO4, LC -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI2A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI2HI,PSI2LO,YHI - REAL(KIND=8) :: FUNCI2A,FUNCI3A,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** FIND DRY COMPOSITION ********************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI2A',0,ZHOOK_HANDLE) - CALL CALCI1A ! Needed when called from CALCMDRH -! -! *** SETUP PARAMETERS ************************************************ -! - CHI1 = CNH4HS4 ! Save from CALCI1 run - CHI2 = CLC - CHI3 = CNAHSO4 - CHI4 = CNA2SO4 - CHI5 = CNH42S4 -! - PSI1 = CNH4HS4 ! ASSIGN INITIAL PSI's - PSI2 = ZERO - PSI3 = ZERO - PSI4 = ZERO - PSI5 = ZERO -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI2LO = ZERO ! Low limit - PSI2HI = CHI2 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI2HI - Y1 = FUNCI2A (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH LC ********* -! - IF (YHI.LT.EPS) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI2HI-PSI2LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = MAX(X1-DX, PSI2LO) - Y2 = FUNCI2A (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH LC -! - IF (Y2.GT.EPS) Y2 = FUNCI3A (ZERO) - GOTO 50 -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCI2A (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCI2A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCI2A (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCI2A',1,ZHOOK_HANDLE) - -! *** END OF SUBROUTINE CALCI2A ***************************************** -! - ENDSUBROUTINE CALCI2A - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCI2A -! *** CASE I2 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NA2SO4, NAHSO4, LC -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCI2A (P2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: P2,AA,BB,CC,DD - INTEGER :: I,ISLV - REAL(KIND=8) :: FUNCI2A - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCI2A',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - PSI2 = P2 ! Save PSI2 in COMMON BLOCK - PSI3 = CHI3 - PSI4 = CHI4 - PSI5 = CHI5 - PSI6 = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A3 = XK11*(WATER/GAMA(9))**2.0 - A4 = XK5 *(WATER/GAMA(2))**3.0 - A5 = XK7 *(WATER/GAMA(4))**3.0 - A6 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2. - A7 = SQRT(A4/A5) -! -! CALCULATE DISSOCIATION QUANTITIES -! - IF (CHI5.GT.TINY .AND. WATER.GT.TINY) THEN - PSI5 = (PSI3 + 2.D0*PSI4 - A7*(3.D0*PSI2 + PSI1))/2.D0/A7 - PSI5 = MAX(MIN (PSI5, CHI5), TINY) - ENDIF -! - IF (CHI4.GT.TINY .AND. WATER.GT.TINY) THEN - AA = PSI2+PSI5+PSI6+PSI3 - BB = PSI3*AA - CC = 0.25D0*(PSI3*PSI3*(PSI2+PSI5+PSI6)-A4) - CALL POLY3 (AA, BB, CC, PSI4, ISLV) - IF (ISLV.EQ.0) THEN - PSI4 = MIN (PSI4, CHI4) - ELSE - PSI4 = ZERO - ENDIF - ENDIF -! - IF (CHI3.GT.TINY .AND. WATER.GT.TINY) THEN - AA = 2.D0*PSI4 + PSI2 + PSI1 - PSI6 - BB = 2.D0*PSI4*(PSI2 + PSI1 - PSI6) - A3 - CC = ZERO - CALL POLY3 (AA, BB, CC, PSI3, ISLV) - IF (ISLV.EQ.0) THEN - PSI3 = MIN (PSI3, CHI3) - ELSE - PSI3 = ZERO - ENDIF - ENDIF -! - BB = PSI2 + PSI4 + PSI5 + A6 ! PSI6 - CC =-A6*(PSI2 + PSI3 + PSI1) - DD = BB*BB - 4.D0*CC - PSI6 = 0.5D0*(-BB + SQRT(DD)) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = PSI6 ! HI - MOLAL (2) = 2.D0*PSI4 + PSI3 ! NAI - MOLAL (3) = 3.D0*PSI2 + 2.D0*PSI5 + PSI1 ! NH4I - MOLAL (5) = PSI2 + PSI4 + PSI5 + PSI6 ! SO4I - MOLAL (6) = PSI2 + PSI3 + PSI1 - PSI6 ! HSO4I - CLC = CHI2 - PSI2 - CNAHSO4 = CHI3 - PSI3 - CNA2SO4 = CHI4 - PSI4 - CNH42S4 = CHI5 - PSI5 - CNH4HS4 = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE FUNCTION VALUE FOR OUTER LOOP *************************** -! -20 A2 = XK13*(WATER/GAMA(13))**5.0 - FUNCI2A = MOLAL(5)*MOLAL(6)*MOLAL(3)**3.D0/A2 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCI2A',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCI2A ******************************************* -! - ENDFUNCTION FUNCI2A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI1 -! *** CASE I1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4 -! -! THERE ARE TWO POSSIBLE REGIMES HERE, DEPENDING ON RELATIVE HUMIDITY: -! 1. WHEN RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! 2. WHEN RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCI1A) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCI1A, CALCI2A -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMI1) THEN - SCASE = 'I1 ; SUBCASE 1' - CALL CALCI1A ! SOLID PHASE ONLY POSSIBLE - SCASE = 'I1 ; SUBCASE 1' - ELSE - SCASE = 'I1 ; SUBCASE 2' ! LIQUID & SOLID PHASE POSSIBLE - CALL CALCMDRH (RH, DRMI1, DRNH4HS4, CALCI1A, CALCI2A) - SCASE = 'I1 ; SUBCASE 2' - ENDIF -! -! *** AMMONIA IN GAS PHASE ********************************************** -! - CALL CALCNH3 -! - IF (LHOOK) CALL DR_HOOK('CALCI1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCI1 ****************************************** -! - ENDSUBROUTINE CALCI1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCI1A -! *** CASE I1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, NO FREE ACID (1.0 <= SULRAT < 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4HSO4, NAHSO4, (NH4)2SO4, NA2SO4, LC -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCI1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FRNH4,FRSO4 -! -! *** CALCULATE NON VOLATILE SOLIDS *********************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCI1A',0,ZHOOK_HANDLE) - CNA2SO4 = 0.5D0*W(1) - CNH4HS4 = ZERO - CNAHSO4 = ZERO - CNH42S4 = ZERO - FRSO4 = MAX(W(2)-CNA2SO4, ZERO) -! - CLC = MIN(W(3)/3.D0, FRSO4/2.D0) - FRSO4 = MAX(FRSO4-2.D0*CLC, ZERO) - FRNH4 = MAX(W(3)-3.D0*CLC, ZERO) -! - IF (FRSO4.LE.TINY) THEN - CLC = MAX(CLC - FRNH4, ZERO) - CNH42S4 = 2.D0*FRNH4 - - ELSEIF (FRNH4.LE.TINY) THEN - CNH4HS4 = 3.D0*MIN(FRSO4, CLC) - CLC = MAX(CLC-FRSO4, ZERO) - IF (CNA2SO4.GT.TINY) THEN - FRSO4 = MAX(FRSO4-CNH4HS4/3.D0, ZERO) - CNAHSO4 = 2.D0*FRSO4 - CNA2SO4 = MAX(CNA2SO4-FRSO4, ZERO) - ENDIF - ENDIF -! -! *** CALCULATE GAS SPECIES ********************************************* -! - GHNO3 = W(4) - GHCL = W(5) - GNH3 = ZERO -! - IF (LHOOK) CALL DR_HOOK('CALCI1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCI1A ***************************************** -! - ENDSUBROUTINE CALCI1A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCJ3 -! *** CASE J3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS ONLY A LIQUID PHASE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCJ3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A3,BB,CC,CHI1,CHI2,DD,PSI1,PSI2,DX - INTEGER :: I -! - REAL(KIND=8) :: LAMDA, KAPA -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCJ3',0,ZHOOK_HANDLE) - CALAOU = .TRUE. ! Outer loop activity calculation flag - FRST = .TRUE. - CALAIN = .TRUE. -! - LAMDA = MAX(W(2) - W(3) - W(1), TINY) ! FREE H2SO4 - CHI1 = W(1) ! NA TOTAL as NaHSO4 - CHI2 = W(3) ! NH4 TOTAL as NH4HSO4 - PSI1 = CHI1 - PSI2 = CHI2 ! ALL NH4HSO4 DELIQUESCED -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A3 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2.0 -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = A3+LAMDA ! KAPA - CC =-A3*(LAMDA + PSI1 + PSI2) - DD = BB*BB-4.D0*CC - KAPA = 0.5D0*(-BB+SQRT(DD)) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = LAMDA + KAPA ! HI - MOLAL (2) = PSI1 ! NAI - MOLAL (3) = PSI2 ! NH4I - MOLAL (4) = ZERO ! CLI - MOLAL (5) = KAPA ! SO4I - MOLAL (6) = LAMDA + PSI1 + PSI2 - KAPA ! HSO4I - MOLAL (7) = ZERO ! NO3I - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 50 - ENDIF -10 CONTINUE -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCJ3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCJ3 ****************************************** -! - ENDSUBROUTINE CALCJ3 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCJ2 -! *** CASE J2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NAHSO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCJ2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: DX,PSI1HI,PSI1LO,YHI,YLO - REAL(KIND=8) :: FUNCJ2,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: LAMDA, KAPA - REAL(KIND=8) :: CHI1,CHI2,CHI3,PSI1,PSI2,PSI3,A1,A2,A3 - COMMON /CASEJ/ CHI1, CHI2, CHI3, LAMDA, KAPA, PSI1, PSI2, PSI3, & - & A1, A2, A3 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCJ2',0,ZHOOK_HANDLE) - CALAOU = .TRUE. ! Outer loop activity calculation flag - CHI1 = W(1) ! NA TOTAL - CHI2 = W(3) ! NH4 TOTAL - PSI1LO = TINY ! Low limit - PSI1HI = CHI1 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI1HI - Y1 = FUNCJ2 (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NH42SO4 **** -! - IF (ABS(Y1).LE.EPS .OR. YHI.LT.ZERO) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI1HI-PSI1LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1-DX - Y2 = FUNCJ2 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH42SO4 -! - YLO= Y1 ! Save Y-value at Hi position - IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - Y3 = FUNCJ2 (ZERO) - GOTO 50 - ELSE IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - GOTO 50 - ELSE - CALL PUSHERR (0001, 'CALCJ2') ! WARNING ERROR: NO SOLUTION - GOTO 50 - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCJ2 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCJ2') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCJ2 (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCJ2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCJ2 ****************************************** -! - ENDSUBROUTINE CALCJ2 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCJ2 -! *** CASE J2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCJ2 (P1) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: P1,BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: FUNCJ2 - REAL(KIND=8) :: LAMDA, KAPA - REAL(KIND=8) :: CHI1,CHI2,CHI3,PSI1,PSI2,PSI3,A1,A2,A3 - COMMON /CASEJ/ CHI1, CHI2, CHI3, LAMDA, KAPA, PSI1, PSI2, PSI3, & - & A1, A2, A3 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCJ2',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. -! - LAMDA = MAX(W(2) - W(3) - W(1), TINY) ! FREE H2SO4 - PSI1 = P1 - PSI2 = CHI2 ! ALL NH4HSO4 DELIQUESCED -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK11 *(WATER/GAMA(12))**2.0 - A3 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2.0 -! -! CALCULATE DISSOCIATION QUANTITIES -! - BB = A3+LAMDA ! KAPA - CC =-A3*(LAMDA + PSI1 + PSI2) - DD = BB*BB-4.D0*CC - KAPA = 0.5D0*(-BB+SQRT(DD)) -! -! *** CALCULATE SPECIATION ******************************************** -! - MOLAL (1) = LAMDA + KAPA ! HI - MOLAL (2) = PSI1 ! NAI - MOLAL (3) = PSI2 ! NH4I - MOLAL (4) = ZERO ! CLI - MOLAL (5) = KAPA ! SO4I - MOLAL (6) = LAMDA + PSI1 + PSI2 - KAPA ! HSO4I - MOLAL (7) = ZERO ! NO3I - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 FUNCJ2 = MOLAL(2)*MOLAL(6)/A1 - ONE -! -! *** END OF FUNCTION FUNCJ2 ******************************************* -! - IF (LHOOK) CALL DR_HOOK('FUNCJ2',1,ZHOOK_HANDLE) - ENDFUNCTION FUNCJ2 - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCJ1 -! *** CASE J1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : NH4HSO4, NAHSO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCJ1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,PSI1HI,PSI1LO,YHI,YLO - REAL(KIND=8) :: FUNCJ1,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I -! - REAL(KIND=8) :: LAMDA, KAPA - REAL(KIND=8) :: CHI1,CHI2,CHI3,PSI1,PSI2,PSI3,A1,A2,A3 - COMMON /CASEJ/ CHI1, CHI2, CHI3, LAMDA, KAPA, PSI1, PSI2, PSI3, & - & A1, A2, A3 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCJ1',0,ZHOOK_HANDLE) - CALAOU =.TRUE. ! Outer loop activity calculation flag - CHI1 = W(1) ! Total NA initially as NaHSO4 - CHI2 = W(3) ! Total NH4 initially as NH4HSO4 -! - PSI1LO = TINY ! Low limit - PSI1HI = CHI1 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI1HI - Y1 = FUNCJ1 (X1) - YHI= Y1 ! Save Y-value at HI position -! -! *** YHI < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NH42SO4 **** -! - IF (ABS(Y1).LE.EPS .OR. YHI.LT.ZERO) GOTO 50 -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI1HI-PSI1LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = X1-DX - Y2 = FUNCJ1 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH42SO4 -! - YLO= Y1 ! Save Y-value at Hi position - IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - Y3 = FUNCJ1 (ZERO) - GOTO 50 - ELSE IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - GOTO 50 - ELSE - CALL PUSHERR (0001, 'CALCJ1') ! WARNING ERROR: NO SOLUTION - GOTO 50 - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCJ1 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCJ1') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCJ1 (X3) -! -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCJ1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCJ1 ****************************************** -! - ENDSUBROUTINE CALCJ1 - - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE FUNCJ1 -! *** CASE J1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE RICH, FREE ACID (SULRAT < 1.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4CL, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - FUNCTION FUNCJ1 (P1) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: P1,BB,CC,DD - INTEGER :: I - REAL(KIND=8) :: FUNCJ1 - REAL(KIND=8) :: LAMDA, KAPA - REAL(KIND=8) :: CHI1,CHI2,CHI3,PSI1,PSI2,PSI3,A1,A2,A3 - COMMON /CASEJ/ CHI1, CHI2, CHI3, LAMDA, KAPA, PSI1, PSI2, PSI3, & - & A1, A2, A3 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCJ1',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. -! - LAMDA = MAX(W(2) - W(3) - W(1), TINY) ! FREE H2SO4 - PSI1 = P1 -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -! - A1 = XK11 *(WATER/GAMA(12))**2.0 - A2 = XK12 *(WATER/GAMA(09))**2.0 - A3 = XK1 *WATER/GAMA(7)*(GAMA(8)/GAMA(7))**2.0 -! - PSI2 = 0.5*(-(LAMDA+PSI1) + SQRT((LAMDA+PSI1)**2.D0+4.D0*A2)) ! PSI2 - PSI2 = MIN (PSI2, CHI2) -! - BB = A3+LAMDA ! KAPA - CC =-A3*(LAMDA + PSI2 + PSI1) - DD = BB*BB-4.D0*CC - KAPA = 0.5D0*(-BB+SQRT(DD)) -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL (1) = LAMDA + KAPA ! HI - MOLAL (2) = PSI1 ! NAI - MOLAL (3) = PSI2 ! NH4I - MOLAL (4) = ZERO - MOLAL (5) = KAPA ! SO4I - MOLAL (6) = LAMDA + PSI1 + PSI2 - KAPA ! HSO4I - MOLAL (7) = ZERO - CALL CALCMR ! Water content -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 FUNCJ1 = MOLAL(2)*MOLAL(6)/A1 - ONE -! -! *** END OF FUNCTION FUNCJ1 ******************************************* -! - IF (LHOOK) CALL DR_HOOK('FUNCJ1',1,ZHOOK_HANDLE) - ENDFUNCTION FUNCJ1 diff --git a/src/arome/chem/internals/isorev.F b/src/arome/chem/internals/isorev.F deleted file mode 100644 index 1f0ff517d390ad01a2d288c852083cbd82deaeef..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/isorev.F +++ /dev/null @@ -1,3744 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/isorev.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:31 $ -!----------------------------------------------------------------- -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP1R -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE REVERSE PROBLEM OF -! AN AMMONIUM-SULFATE AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE RATIO AND BY -! THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP1R (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - REAL(KIND=8),EXTERNAL :: GETASR - DIMENSION WI(NCOMP) -! -! *** INITIALIZE COMMON BLOCK VARIABLES ********************************* -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP1R',0,ZHOOK_HANDLE) - CALL INIT1 (WI, RHI, TEMPI) -! -! *** CALCULATE SULFATE RATIO ******************************************* -! - IF (RH.GE.DRNH42S4) THEN ! WET AEROSOL, NEED NH4 AT SRATIO=2.0 - SULRATW = GETASR(WAER(2), RHI) ! AEROSOL SULFATE RATIO - ELSE - SULRATW = 2.0D0 ! DRY AEROSOL SULFATE RATIO - ENDIF - SULRAT = WAER(3)/WAER(2) ! SULFATE RATIO -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR -! - IF (SULRATW.LE.SULRAT) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'K2' - CALL CALCK2 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH42S4) THEN - SCASE = 'K1' - CALL CALCK1 ! NH42SO4 ; case K1 -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'K2' - CALL CALCK2 ! Only liquid ; case K2 - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.SULRATW) THEN - W(2) = WAER(2) - W(3) = WAER(3) -! - IF(METSTBL.EQ.1) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid (metastable) - SCASE = 'L4' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'B1' - CALL CALCB1 ! NH4HSO4,LC,NH42SO4 ; case B1 - SCASE = 'L1' -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'B2' - CALL CALCB2 ! LC,NH42S4 ; case B2 - SCASE = 'L2' -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'B3' - CALL CALCB3 ! NH42S4 ; case B3 - SCASE = 'L3' -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid ; case B4 - SCASE = 'L4' - ENDIF - ENDIF -! - CALL CALCNH3P -! -! *** SULFATE RICH (FREE ACID) -! - ELSEIF (SULRAT.LT.1.0) THEN - W(2) = WAER(2) - W(3) = WAER(3) -! - IF(METSTBL.EQ.1) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid (metastable) - SCASE = 'M2' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'C1' - CALL CALCC1 ! NH4HSO4 ; case C1 - SCASE = 'M1' -! - ELSEIF (DRNH4HS4.LE.RH) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid ; case C2 - SCASE = 'M2' - ENDIF - ENDIF -! - CALL CALCNH3P -! - ENDIF - IF (LHOOK) CALL DR_HOOK('ISRP1R',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP1R ***************************************** -! - ENDSUBROUTINE ISRP1R - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP2R -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE REVERSE PROBLEM OF -! AN AMMONIUM-SULFATE-NITRATE AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE RATIO AND BY -! THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP2R (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - REAL(KIND=8),EXTERNAL :: GETASR - DIMENSION WI(NCOMP) - LOGICAL TRYLIQ -! -! *** INITIALIZE ALL VARIABLES IN COMMON BLOCK ************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP2R',0,ZHOOK_HANDLE) - TRYLIQ = .TRUE. ! Assume liquid phase, sulfate poor limit -! -10 CALL INIT2 (WI, RHI, TEMPI) -! -! *** CALCULATE SULFATE RATIO ******************************************* -! - IF (TRYLIQ .AND. RH.GE.DRNH4NO3) THEN ! *** WET AEROSOL - SULRATW = GETASR(WAER(2), RHI) ! LIMITING SULFATE RATIO - ELSE - SULRATW = 2.0D0 ! *** DRY AEROSOL - ENDIF - SULRAT = WAER(3)/WAER(2) -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR -! - IF (SULRATW.LE.SULRAT) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'N3' - CALL CALCN3 ! Only liquid (metastable) - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'N1' - CALL CALCN1 ! NH42SO4,NH4NO3 ; case N1 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'N2' - CALL CALCN2 ! NH42S4 ; case N2 -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'N3' - CALL CALCN3 ! Only liquid ; case N3 - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! -! FOR SOLVING THIS CASE, NITRIC ACID AND AMMONIA IN THE GAS PHASE ARE -! ASSUMED A MINOR SPECIES, THAT DO NOT SIGNIFICANTLY AFFECT THE -! AEROSOL EQUILIBRIUM. -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.SULRATW) THEN - W(2) = WAER(2) - W(3) = WAER(3) - W(4) = WAER(4) -! - IF(METSTBL.EQ.1) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid (metastable) - SCASE = 'O4' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'B1' - CALL CALCB1 ! NH4HSO4,LC,NH42SO4 ; case O1 - SCASE = 'O1' -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'B2' - CALL CALCB2 ! LC,NH42S4 ; case O2 - SCASE = 'O2' -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'B3' - CALL CALCB3 ! NH42S4 ; case O3 - SCASE = 'O3' -! - ELSEIF (DRNH42S4.LE.RH) THEN - SCASE = 'B4' - CALL CALCB4 ! Only liquid ; case O4 - SCASE = 'O4' - ENDIF - ENDIF -! - CALL CALCNAP ! HNO3, NH3 dissolved - CALL CALCNH3P -! -! *** SULFATE RICH (FREE ACID) -! -! FOR SOLVING THIS CASE, NITRIC ACID AND AMMONIA IN THE GAS PHASE ARE -! ASSUMED A MINOR SPECIES, THAT DO NOT SIGNIFICANTLY AFFECT THE -! AEROSOL EQUILIBRIUM. -! - ELSEIF (SULRAT.LT.1.0) THEN - W(2) = WAER(2) - W(3) = WAER(3) - W(4) = WAER(4) -! - IF(METSTBL.EQ.1) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid (metastable) - SCASE = 'P2' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'C1' - CALL CALCC1 ! NH4HSO4 ; case P1 - SCASE = 'P1' -! - ELSEIF (DRNH4HS4.LE.RH) THEN - SCASE = 'C2' - CALL CALCC2 ! Only liquid ; case P2 - SCASE = 'P2' - ENDIF - ENDIF -! - CALL CALCNAP ! HNO3, NH3 dissolved - CALL CALCNH3P - ENDIF -! -! *** IF SULRATW < SULRAT < 2.0 and WATER = 0 => SULFATE RICH CASE. -! - IF (SULRATW.LE.SULRAT .AND. SULRAT.LT.2.0 & - & .AND. WATER.LE.TINY) THEN - TRYLIQ = .FALSE. - GOTO 10 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('ISRP2R',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP2R ***************************************** -! - ENDSUBROUTINE ISRP2R -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE ISRP3R -! *** THIS SUBROUTINE IS THE DRIVER ROUTINE FOR THE REVERSE PROBLEM OF -! AN AMMONIUM-SULFATE-NITRATE-CHLORIDE-SODIUM AEROSOL SYSTEM. -! THE COMPOSITION REGIME IS DETERMINED BY THE SULFATE & SODIUM -! RATIOS AND BY THE AMBIENT RELATIVE HUMIDITY. -! -! *** COPYRIGHT 1996-2000 UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE ISRP3R (WI, RHI, TEMPI) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: WI,RHI,TEMPI - REAL(KIND=8) :: FRSO4,SRI - REAL(KIND=8),EXTERNAL :: GETASR - INTEGER :: I - DIMENSION WI(NCOMP) - LOGICAL TRYLIQ -!cC -!cC *** ADJUST FOR TOO LITTLE AMMONIUM AND CHLORIDE *********************** -!cC -!c WI(3) = MAX (WI(3), 1.D-10) ! NH4+ : 1e-4 umoles/m3 -!c WI(5) = MAX (WI(5), 1.D-10) ! Cl- : 1e-4 umoles/m3 -! -! *** INITIALIZE ALL VARIABLES ****************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ISRP3R',0,ZHOOK_HANDLE) - TRYLIQ = .TRUE. ! Use liquid phase sulfate poor limit -! -10 CALL INIT3 (WI, RHI, TEMPI) ! COMMON block variables -!cC -!cC *** CHECK IF TOO MUCH SODIUM ; ADJUST AND ISSUE ERROR MESSAGE ********* -!cC -!c REST = 2.D0*WAER(2) + WAER(4) + WAER(5) -!c IF (WAER(1).GT.REST) THEN ! NA > 2*SO4+CL+NO3 ? -!c WAER(1) = (ONE-1D-6)*REST ! Adjust Na amount -!c CALL PUSHERR (0050, 'ISRP3R') ! Warning error: Na adjusted -!c ENDIF -! -! *** CALCULATE SULFATE & SODIUM RATIOS ********************************* -! - IF (TRYLIQ .AND. RH.GE.DRNH4NO3) THEN ! ** WET AEROSOL - FRSO4 = WAER(2) - WAER(1)/2.0D0 ! SULFATE UNBOUND BY SODIUM - FRSO4 = MAX(FRSO4, TINY) - SRI = GETASR(FRSO4, RHI) ! SULFATE RATIO FOR NH4+ - SULRATW = (WAER(1)+FRSO4*SRI)/WAER(2) ! LIMITING SULFATE RATIO - SULRATW = MIN (SULRATW, 2.0D0) - ELSE - SULRATW = 2.0D0 ! ** DRY AEROSOL - ENDIF - SULRAT = (WAER(1)+WAER(3))/WAER(2) - SODRAT = WAER(1)/WAER(2) -! -! *** FIND CALCULATION REGIME FROM (SULRAT,RH) ************************** -! -! *** SULFATE POOR ; SODIUM POOR -! - IF (SULRATW.LE.SULRAT .AND. SODRAT.LT.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'Q5' - CALL CALCQ5 ! Only liquid (metastable) - SCASE = 'Q5' - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'Q1' - CALL CALCQ1 ! NH42SO4,NH4NO3,NH4CL,NA2SO4 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNH4CL) THEN - SCASE = 'Q2' - CALL CALCQ2 ! NH42SO4,NH4CL,NA2SO4 -! - ELSEIF (DRNH4CL.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'Q3' - CALL CALCQ3 ! NH42SO4,NA2SO4 -! - ELSEIF (DRNH42S4.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'Q4' - CALL CALCQ4 ! NA2SO4 - SCASE = 'Q4' -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'Q5' - CALL CALCQ5 ! Only liquid - SCASE = 'Q5' - ENDIF - ENDIF -! -! *** SULFATE POOR ; SODIUM RICH -! - ELSE IF (SULRAT.GE.SULRATW .AND. SODRAT.GE.2.0) THEN -! - IF(METSTBL.EQ.1) THEN - SCASE = 'R6' - CALL CALCR6 ! Only liquid (metastable) - SCASE = 'R6' - ELSE -! - IF (RH.LT.DRNH4NO3) THEN - SCASE = 'R1' - CALL CALCR1 ! NH4NO3,NH4CL,NA2SO4,NACL,NANO3 -! - ELSEIF (DRNH4NO3.LE.RH .AND. RH.LT.DRNANO3) THEN - SCASE = 'R2' - CALL CALCR2 ! NH4CL,NA2SO4,NACL,NANO3 -! - ELSEIF (DRNANO3.LE.RH .AND. RH.LT.DRNACL) THEN - SCASE = 'R3' - CALL CALCR3 ! NH4CL,NA2SO4,NACL -! - ELSEIF (DRNACL.LE.RH .AND. RH.LT.DRNH4CL) THEN - SCASE = 'R4' - CALL CALCR4 ! NH4CL,NA2SO4 -! - ELSEIF (DRNH4CL.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'R5' - CALL CALCR5 ! NA2SO4 - SCASE = 'R5' -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'R6' - CALL CALCR6 ! NO SOLID - SCASE = 'R6' - ENDIF - ENDIF -! -! *** SULFATE RICH (NO ACID) -! - ELSEIF (1.0.LE.SULRAT .AND. SULRAT.LT.SULRATW) THEN - DO 100 I=1,NCOMP - W(I) = WAER(I) -100 CONTINUE -! - IF(METSTBL.EQ.1) THEN - SCASE = 'I6' - CALL CALCI6 ! Only liquid (metastable) - SCASE = 'S6' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'I1' - CALL CALCI1 ! NA2SO4,(NH4)2SO4,NAHSO4,NH4HSO4,LC - SCASE = 'S1' -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRNAHSO4) THEN - SCASE = 'I2' - CALL CALCI2 ! NA2SO4,(NH4)2SO4,NAHSO4,LC - SCASE = 'S2' -! - ELSEIF (DRNAHSO4.LE.RH .AND. RH.LT.DRLC) THEN - SCASE = 'I3' - CALL CALCI3 ! NA2SO4,(NH4)2SO4,LC - SCASE = 'S3' -! - ELSEIF (DRLC.LE.RH .AND. RH.LT.DRNH42S4) THEN - SCASE = 'I4' - CALL CALCI4 ! NA2SO4,(NH4)2SO4 - SCASE = 'S4' -! - ELSEIF (DRNH42S4.LE.RH .AND. RH.LT.DRNA2SO4) THEN - SCASE = 'I5' - CALL CALCI5 ! NA2SO4 - SCASE = 'S5' -! - ELSEIF (DRNA2SO4.LE.RH) THEN - SCASE = 'I6' - CALL CALCI6 ! NO SOLIDS - SCASE = 'S6' - ENDIF - ENDIF -! - CALL CALCNHP ! HNO3, NH3, HCL in gas phase - CALL CALCNH3P -! -! *** SULFATE RICH (FREE ACID) -! - ELSEIF (SULRAT.LT.1.0) THEN - DO 200 I=1,NCOMP - W(I) = WAER(I) -200 CONTINUE -! - IF(METSTBL.EQ.1) THEN - SCASE = 'J3' - CALL CALCJ3 ! Only liquid (metastable) - SCASE = 'T3' - ELSE -! - IF (RH.LT.DRNH4HS4) THEN - SCASE = 'J1' - CALL CALCJ1 ! NH4HSO4,NAHSO4 - SCASE = 'T1' -! - ELSEIF (DRNH4HS4.LE.RH .AND. RH.LT.DRNAHSO4) THEN - SCASE = 'J2' - CALL CALCJ2 ! NAHSO4 - SCASE = 'T2' -! - ELSEIF (DRNAHSO4.LE.RH) THEN - SCASE = 'J3' - CALL CALCJ3 - SCASE = 'T3' - ENDIF - ENDIF -! - CALL CALCNHP ! HNO3, NH3, HCL in gas phase - CALL CALCNH3P -! - ENDIF -! -! *** IF AFTER CALCULATIONS, SULRATW < SULRAT < 2.0 -! and WATER = 0 => SULFATE RICH CASE. -! - IF (SULRATW.LE.SULRAT .AND. SULRAT.LT.2.0 & - & .AND. WATER.LE.TINY) THEN - TRYLIQ = .FALSE. - GOTO 10 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('ISRP3R',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE ISRP3R ***************************************** -! - ENDSUBROUTINE ISRP3R -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCK2 -! *** CASE K2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. LIQUID AEROSOL PHASE ONLY POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCK2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: A2,AKW,DEL,HI,OHI,HSO4I,SO4I - INTEGER :: I - REAL(KIND=8) :: NH4I, NH3GI, NH3AQ -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCK2',0,ZHOOK_HANDLE) - CALAOU =.TRUE. ! Outer loop activity calculation flag - FRST =.TRUE. - CALAIN =.TRUE. -! -! *** CALCULATE WATER CONTENT ***************************************** -! - MOLALR(4)= MIN(WAER(2), 0.5d0*WAER(3)) - WATER = MOLALR(4)/M0(4) ! ZSR correlation -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP -!C A21 = XK21*WATER*R*TEMP - A2 = XK2 *R*TEMP/XKW/RH*(GAMA(8)/GAMA(9))**2. - AKW = XKW *RH*WATER*WATER -! - NH4I = WAER(3) - SO4I = WAER(2) - HSO4I= ZERO -! - CALL CALCPH (2.D0*SO4I - NH4I, HI, OHI) ! Get pH -! - NH3AQ = ZERO ! AMMONIA EQUILIBRIUM - IF (HI.LT.OHI) THEN - CALL CALCAMAQ (NH4I, OHI, DEL) - NH4I = MAX (NH4I-DEL, ZERO) - OHI = MAX (OHI -DEL, TINY) - NH3AQ = DEL - HI = AKW/OHI - ENDIF -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) ! SULFATE EQUILIBRIUM - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL -! - NH3GI = NH4I/HI/A2 ! NH3AQ/A21 -! -! *** SPECIATION & WATER CONTENT *************************************** -! - MOLAL(1) = HI - MOLAL(3) = NH4I - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - COH = OHI - GASAQ(1) = NH3AQ - GNH3 = NH3GI -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -20 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCK2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCK2 **************************************** -! - ENDSUBROUTINE CALCK2 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCK1 -! *** CASE K1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4 -! -! A SIMPLE MATERIAL BALANCE IS PERFORMED, AND THE SOLID (NH4)2SO4 -! IS CALCULATED FROM THE SULFATES. THE EXCESS AMMONIA REMAINS IN -! THE GAS PHASE. -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCK1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCK1',0,ZHOOK_HANDLE) - CNH42S4 = MIN(WAER(2),0.5d0*WAER(3)) ! For bad input problems - GNH3 = ZERO -! - W(2) = CNH42S4 - W(3) = 2.D0*CNH42S4 + GNH3 -! - IF (LHOOK) CALL DR_HOOK('CALCK1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCK1 ****************************************** -! - ENDSUBROUTINE CALCK1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCN3 -! *** CASE N3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. THERE IS ONLY A LIQUID PHASE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCN3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: AKW,AML5,DEL,GG,HI,HSO4I,OHI,SO4I - INTEGER :: I - REAL(KIND=8) :: NH4I, NO3I, NH3AQ, NO3AQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCN3',0,ZHOOK_HANDLE) - CALAOU =.TRUE. ! Outer loop activity calculation flag - FRST =.TRUE. - CALAIN =.TRUE. -! -! *** AEROSOL WATER CONTENT -! - MOLALR(4) = MIN(WAER(2),0.5d0*WAER(3)) ! (NH4)2SO4 - AML5 = MAX(WAER(3)-2.D0*MOLALR(4),ZERO) ! "free" NH4 - MOLALR(5) = MAX(MIN(AML5,WAER(4)), ZERO) ! NH4NO3=MIN("free",NO3) - WATER = MOLALR(4)/M0(4) + MOLALR(5)/M0(5) - WATER = MAX(WATER, TINY) -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A2 = XK2 *R*TEMP/XKW/RH*(GAMA(8)/GAMA(9))**2. -!C A21 = XK21*WATER*R*TEMP - A3 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - A4 = XK7*(WATER/GAMA(4))**3.0 - AKW = XKW *RH*WATER*WATER -! -! ION CONCENTRATIONS -! - NH4I = WAER(3) - NO3I = WAER(4) - SO4I = WAER(2) - HSO4I = ZERO -! - CALL CALCPH (2.D0*SO4I + NO3I - NH4I, HI, OHI) -! -! AMMONIA ASSOCIATION EQUILIBRIUM -! - NH3AQ = ZERO - NO3AQ = ZERO - GG = 2.D0*SO4I + NO3I - NH4I - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - HI = ZERO - CALL CALCNIAQ2 (GG, NO3I, HI, NO3AQ) ! HNO3 -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL (1) = HI - MOLAL (3) = NH4I - MOLAL (5) = SO4I - MOLAL (6) = HSO4I - MOLAL (7) = NO3I - COH = OHI -! - CNH42S4 = ZERO - CNH4NO3 = ZERO -! - GASAQ(1) = NH3AQ - GASAQ(3) = NO3AQ -! - GHNO3 = HI*NO3I/A3 - GNH3 = NH4I/HI/A2 ! NH3AQ/A21 -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ****************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** RETURN *********************************************************** -! -20 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCN3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCN3 ***************************************** -! - ENDSUBROUTINE CALCN3 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCN2 -! *** CASE N2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. THERE IS BOTH A LIQUID & SOLID PHASE -! 3. SOLIDS POSSIBLE : (NH4)2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCN2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: DX,P4,PSI1LO,PSI1HI,YHI,YLO,YY - REAL(KIND=8) :: FUNCN2,X1,X2,X3,Y1,Y2,Y3 - INTEGER :: I - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCN2',0,ZHOOK_HANDLE) - CHI1 = MIN(WAER(2),0.5d0*WAER(3)) ! (NH4)2SO4 - CHI2 = MAX(WAER(3) - 2.D0*CHI1, ZERO) ! "Free" NH4+ - CHI3 = MAX(WAER(4) - CHI2, ZERO) ! "Free" NO3 -! - PSI2 = CHI2 - PSI3 = CHI3 -! - CALAOU = .TRUE. ! Outer loop activity calculation flag - PSI1LO = TINY ! Low limit - PSI1HI = CHI1 ! High limit -! -! *** INITIAL VALUES FOR BISECTION ************************************ -! - X1 = PSI1HI - Y1 = FUNCN2 (X1) - IF (Y1.LE.EPS) THEN ! IF (ABS(Y1).LE.EPS .OR. Y1.LE.ZERO) RETURN - IF (LHOOK) CALL DR_HOOK('CALCN2',1,ZHOOK_HANDLE) - RETURN - ENDIF - YHI= Y1 ! Save Y-value at HI position -! -! *** ROOT TRACKING ; FOR THE RANGE OF HI AND LO ********************** -! - DX = (PSI1HI-PSI1LO)/FLOAT(NDIV) - DO 10 I=1,NDIV - X2 = MAX(X1-DX, ZERO) - Y2 = FUNCN2 (X2) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y2).LT.ZERO) GOTO 20 ! (Y1*Y2.LT.ZERO) - X1 = X2 - Y1 = Y2 -10 CONTINUE -! -! *** NO SUBDIVISION WITH SOLUTION FOUND -! - YLO= Y1 ! Save Y-value at Hi position - IF (ABS(Y2) .LT. EPS) THEN ! X2 IS A SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCN2',1,ZHOOK_HANDLE) - RETURN -! -! *** { YLO, YHI } < 0.0 THE SOLUTION IS ALWAYS UNDERSATURATED WITH NH3 -! - ELSE IF (YLO.LT.ZERO .AND. YHI.LT.ZERO) THEN - P4 = CHI4 - YY = FUNCN2(P4) - GOTO 50 -! -! *** { YLO, YHI } > 0.0 THE SOLUTION IS ALWAYS SUPERSATURATED WITH NH3 -! - ELSE IF (YLO.GT.ZERO .AND. YHI.GT.ZERO) THEN - P4 = TINY - YY = FUNCN2(P4) - GOTO 50 - ELSE - CALL PUSHERR (0001, 'CALCN2') ! WARNING ERROR: NO SOLUTION - IF (LHOOK) CALL DR_HOOK('CALCN2',1,ZHOOK_HANDLE) - RETURN - ENDIF -! -! *** PERFORM BISECTION *********************************************** -! -20 DO 30 I=1,MAXIT - X3 = 0.5*(X1+X2) - Y3 = FUNCN2 (X3) - IF (SIGN(1._8,Y1)*SIGN(1._8,Y3) .LE. ZERO) THEN ! (Y1*Y3 .LE. ZERO) - Y2 = Y3 - X2 = X3 - ELSE - Y1 = Y3 - X1 = X3 - ENDIF - IF (ABS(X2-X1) .LE. EPS*X1) GOTO 40 -30 CONTINUE - CALL PUSHERR (0002, 'CALCN2') ! WARNING ERROR: NO CONVERGENCE -! -! *** CONVERGED ; RETURN ********************************************** -! -40 X3 = 0.5*(X1+X2) - Y3 = FUNCN2 (X3) -50 CONTINUE - IF (LHOOK) CALL DR_HOOK('CALCN2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCN2 ****************************************** -! - ENDSUBROUTINE CALCN2 - - - -!====================================================================== -! -! *** ISORROPIA CODE -! *** FUNCTION FUNCN2 -! *** CASE D2 -! FUNCTION THAT SOLVES THE SYSTEM OF EQUATIONS FOR CASE D2 ; -! AND RETURNS THE VALUE OF THE ZEROED FUNCTION IN FUNCN2. -! -!======================================================================= -! - FUNCTION FUNCN2 (P1) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: P1,AKW,DEL,GG,HI,HSO4I,OHI,SO4I - INTEGER :: I - REAL(KIND=8) :: FUNCN2 - REAL(KIND=8) :: NH4I, NO3I, NH3AQ, NO3AQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('FUNCN2',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - PSI1 = P1 -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A2 = XK2 *R*TEMP/XKW/RH*(GAMA(8)/GAMA(9))**2. -!C A21 = XK21*WATER*R*TEMP - A3 = XK4*R*TEMP*(WATER/GAMA(10))**2.0 - A4 = XK7*(WATER/GAMA(4))**3.0 - AKW = XKW *RH*WATER*WATER -! -! ION CONCENTRATIONS -! - NH4I = 2.D0*PSI1 + PSI2 - NO3I = PSI2 + PSI3 - SO4I = PSI1 - HSO4I = ZERO -! - CALL CALCPH (2.D0*SO4I + NO3I - NH4I, HI, OHI) -! -! AMMONIA ASSOCIATION EQUILIBRIUM -! - NH3AQ = ZERO - NO3AQ = ZERO - GG = 2.D0*SO4I + NO3I - NH4I - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - HI = ZERO - CALL CALCNIAQ2 (GG, NO3I, HI, NO3AQ) ! HNO3 -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL (1) = HI - MOLAL (3) = NH4I - MOLAL (5) = SO4I - MOLAL (6) = HSO4I - MOLAL (7) = NO3I - COH = OHI -! - CNH42S4 = CHI1 - PSI1 - CNH4NO3 = ZERO -! - GASAQ(1) = NH3AQ - GASAQ(3) = NO3AQ -! - GHNO3 = HI*NO3I/A3 - GNH3 = NH4I/HI/A2 ! NH3AQ/A21 -! -! *** CALCULATE MOLALR ARRAY, WATER AND ACTIVITIES ********************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -! -! *** CALCULATE OBJECTIVE FUNCTION ************************************ -! -20 FUNCN2= NH4I*NH4I*SO4I/A4 - ONE - IF (LHOOK) CALL DR_HOOK('FUNCN2',1,ZHOOK_HANDLE) -! -! *** END OF FUNCTION FUNCN2 ******************************************** -! - ENDFUNCTION FUNCN2 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCN1 -! *** CASE N1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3 -! -! THERE ARE TWO REGIMES DEFINED BY RELATIVE HUMIDITY: -! 1. RH < MDRH ; ONLY SOLID PHASE POSSIBLE (SUBROUTINE CALCN1A) -! 2. RH >= MDRH ; LIQUID PHASE POSSIBLE (MDRH REGION) -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCN1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - EXTERNAL CALCN1A, CALCN2 -! -! *** REGIME DEPENDS UPON THE AMBIENT RELATIVE HUMIDITY ***************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCN1',0,ZHOOK_HANDLE) - IF (RH.LT.DRMASAN) THEN - SCASE = 'N1 ; SUBCASE 1' - CALL CALCN1A ! SOLID PHASE ONLY POSSIBLE - SCASE = 'N1 ; SUBCASE 1' - ELSE - SCASE = 'N1 ; SUBCASE 2' - CALL CALCMDRP (RH, DRMASAN, DRNH4NO3, CALCN1A, CALCN2) - SCASE = 'N1 ; SUBCASE 2' - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCN1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCN1 ****************************************** -! - ENDSUBROUTINE CALCN1 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCN1A -! *** CASE N1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : (NH4)2SO4, NH4NO3 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCN1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: PSI1,PSI2 -! -! *** SETUP PARAMETERS ************************************************* -! -!CC A1 = XK10/R/TEMP/R/TEMP -! -! *** CALCULATE AEROSOL COMPOSITION ************************************ -! -!CC CHI1 = 2.D0*WAER(4) ! Free parameter ; arbitrary value. - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCN1A',0,ZHOOK_HANDLE) - PSI1 = WAER(4) -! -! *** The following statment is here to avoid negative NH4+ values in -! CALCN? routines that call CALCN1A -! - PSI2 = MAX(MIN(WAER(2),0.5d0*(WAER(3)-PSI1)),TINY) -! - CNH4NO3 = PSI1 - CNH42S4 = PSI2 -! -!CC GNH3 = CHI1 + PSI1 + 2.0*PSI2 -!CC GHNO3 = A1/(CHI1-PSI1) + PSI1 - GNH3 = ZERO - GHNO3 = ZERO -! - W(2) = PSI2 - W(3) = GNH3 + PSI1 + 2.0*PSI2 - W(4) = GHNO3 + PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCN1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCN1A ***************************************** -! - ENDSUBROUTINE CALCN1A - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ5 -! *** CASE Q5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ5 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: AKW,BB,CC,CLI,DD,DEL - REAL(KIND=8) :: GG,GGCL,GGNO3,HI,HSO4I,OHI,SO4I - INTEGER :: I - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ5',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCQ1A -! - PSI1 = CNA2SO4 ! SALTS DISSOLVED - PSI4 = CNH4CL - PSI5 = CNH4NO3 - PSI6 = CNH42S4 -! - CALL CALCMR ! WATER -! - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - HSO4I = ZERO - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCQ5') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = ZERO -! - IF (LHOOK) CALL DR_HOOK('CALCQ5',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ5 ****************************************** -! - ENDSUBROUTINE CALCQ5 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ4 -! *** CASE Q4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: AKW,BB,CC,CLI,DD,DEL,HI,OHI - REAL(KIND=8) :: GG,GGCL,GGNO3,HSO4I,SO4I - REAL(KIND=8) :: PSI1O,ROOT3 - INTEGER :: I,ISLV - LOGICAL PSCONV1 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ4',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. -! - PSCONV1 =.TRUE. - PSI1O =-GREAT - ROOT3 = ZERO -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCQ1A -! - CHI1 = CNA2SO4 ! SALTS -! - PSI1 = CNA2SO4 ! AMOUNT DISSOLVED - PSI4 = CNH4CL - PSI5 = CNH4NO3 - PSI6 = CNH42S4 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! SODIUM SULFATE -! - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-(WAER(2) + WAER(1)) - CC = WAER(1)*WAER(2) + 0.25*WAER(1)*WAER(1) - DD =-0.25*(WAER(1)*WAER(1)*WAER(2) - A5) - CALL POLY3(BB, CC, DD, ROOT3, ISLV) - IF (ISLV.NE.0) ROOT3 = TINY - ROOT3 = MIN (ROOT3, WAER(1)/2.0, WAER(2), CHI1) - ROOT3 = MAX (ROOT3, ZERO) - PSI1 = CHI1-ROOT3 - ENDIF - PSCONV1 = ABS(PSI1-PSI1O) .LE. EPS*PSI1O - PSI1O = PSI1 -! -! ION CONCENTRATIONS ; CORRECTIONS -! - NAI = WAER(1) - 2.D0*ROOT3 - SO4I= WAER(2) - ROOT3 - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - HSO4I = ZERO - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCQ4') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCQ4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ4 ****************************************** -! - ENDSUBROUTINE CALCQ4 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ3 -! *** CASE Q3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXNO, EXCL - EXTERNAL CALCQ1A, CALCQ4 -! -! *** REGIME DEPENDS ON AMBIENT RELATIVE HUMIDITY & POSSIBLE SPECIES *** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ3',0,ZHOOK_HANDLE) - EXNO = WAER(4).GT.TINY - EXCL = WAER(5).GT.TINY -! - IF (EXNO .OR. EXCL) THEN ! *** NITRATE OR CHLORIDE EXISTS - SCASE = 'Q3 ; SUBCASE 1' - CALL CALCQ3A - SCASE = 'Q3 ; SUBCASE 1' -! - ELSE ! *** NO CHLORIDE AND NITRATE - IF (RH.LT.DRMG3) THEN - SCASE = 'Q3 ; SUBCASE 2' - CALL CALCQ1A ! SOLID - SCASE = 'Q3 ; SUBCASE 2' - ELSE - SCASE = 'Q3 ; SUBCASE 3' ! MDRH (NH4)2SO4, NA2SO4 - CALL CALCMDRP (RH, DRMG3, DRNH42S4, CALCQ1A, CALCQ4) - SCASE = 'Q3 ; SUBCASE 3' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCQ3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ3 ****************************************** -! - ENDSUBROUTINE CALCQ3 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ3A -! *** CASE Q3 ; SUBCASE A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ3A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: AKW,BB,CC,CLI,DD,DEL,HI,OHI - REAL(KIND=8) :: PSI1O,PSI6O,ROOT1,ROOT3 - REAL(KIND=8) :: GG,GGCL,GGNO3,HSO4I,SO4I - INTEGER :: I,ISLV - LOGICAL PSCONV1, PSCONV6 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ3A',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. -! - PSCONV1 =.TRUE. - PSCONV6 =.TRUE. -! - PSI1O =-GREAT - PSI6O =-GREAT -! - ROOT1 = ZERO - ROOT3 = ZERO -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCQ1A -! - CHI1 = CNA2SO4 ! SALTS - CHI4 = CNH4CL - CHI6 = CNH42S4 -! - PSI1 = CNA2SO4 ! AMOUNT DISSOLVED - PSI4 = CNH4CL - PSI5 = CNH4NO3 - PSI6 = CNH42S4 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - A7 = XK7 *(WATER/GAMA(4))**3. ! (NH4)2SO4 <==> Na+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! SODIUM SULFATE -! - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-(WAER(2) + WAER(1) - ROOT1) - CC = WAER(1)*(WAER(2) - ROOT1) + 0.25*WAER(1)*WAER(1) - DD =-0.25*(WAER(1)*WAER(1)*(WAER(2) - ROOT1) - A5) - CALL POLY3(BB, CC, DD, ROOT3, ISLV) - IF (ISLV.NE.0) ROOT3 = TINY - ROOT3 = MIN (ROOT3, WAER(1)/2.0, WAER(2) - ROOT1, CHI1) - ROOT3 = MAX (ROOT3, ZERO) - PSI1 = CHI1-ROOT3 - ENDIF - PSCONV1 = ABS(PSI1-PSI1O) .LE. EPS*PSI1O - PSI1O = PSI1 -! -! AMMONIUM SULFATE -! - IF (NH4I*NH4I*SO4I .GT. A4) THEN - BB =-(WAER(2)+WAER(3)-ROOT3) - CC = WAER(3)*(WAER(2)-ROOT3+0.5D0*WAER(3)) - DD =-((WAER(2)-ROOT3)*WAER(3)**2.D0 + A4)/4.D0 - CALL POLY3(BB, CC, DD, ROOT1, ISLV) - IF (ISLV.NE.0) ROOT1 = TINY - ROOT1 = MIN(ROOT1, WAER(3), WAER(2)-ROOT3, CHI6) - ROOT1 = MAX(ROOT1, ZERO) - PSI6 = CHI6-ROOT1 - ENDIF - PSCONV6 = ABS(PSI6-PSI6O) .LE. EPS*PSI6O - PSI6O = PSI6 -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - 2.D0*ROOT3 - SO4I= WAER(2) - ROOT1 - ROOT3 - NH4I= WAER(3) - 2.D0*ROOT1 - NO3I= WAER(4) - CLI = WAER(5) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - HSO4I = ZERO - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1 .AND. PSCONV6) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCQ3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = CHI6 - PSI6 - CNH4NO3 = ZERO - CNH4CL = ZERO - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCQ3A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ3A ***************************************** -! - ENDSUBROUTINE CALCQ3A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ2 -! *** CASE Q2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID & LIQUID AEROSOL POSSIBLE -! 3. SOLIDS POSSIBLE : NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXNO, EXCL - EXTERNAL CALCQ1A, CALCQ3A, CALCQ4 -! -! *** REGIME DEPENDS ON AMBIENT RELATIVE HUMIDITY & POSSIBLE SPECIES *** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ2',0,ZHOOK_HANDLE) - EXNO = WAER(4).GT.TINY - EXCL = WAER(5).GT.TINY -! - IF (EXNO) THEN ! *** NITRATE EXISTS - SCASE = 'Q2 ; SUBCASE 1' - CALL CALCQ2A - SCASE = 'Q2 ; SUBCASE 1' -! - ELSEIF (.NOT.EXNO .AND. EXCL) THEN ! *** ONLY CHLORIDE EXISTS - IF (RH.LT.DRMG2) THEN - SCASE = 'Q2 ; SUBCASE 2' - CALL CALCQ1A ! SOLID - SCASE = 'Q2 ; SUBCASE 2' - ELSE - SCASE = 'Q2 ; SUBCASE 3' ! MDRH (NH4)2SO4, NA2SO4, NH4CL - CALL CALCMDRP (RH, DRMG2, DRNH4CL, CALCQ1A, CALCQ3A) - SCASE = 'Q2 ; SUBCASE 3' - ENDIF -! - ELSE ! *** NO CHLORIDE AND NITRATE - IF (RH.LT.DRMG3) THEN - SCASE = 'Q2 ; SUBCASE 2' - CALL CALCQ1A ! SOLID - SCASE = 'Q2 ; SUBCASE 2' - ELSE - SCASE = 'Q2 ; SUBCASE 4' ! MDRH (NH4)2SO4, NA2SO4 - CALL CALCMDRP (RH, DRMG3, DRNH42S4, CALCQ1A, CALCQ4) - SCASE = 'Q2 ; SUBCASE 4' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCQ2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ2 ****************************************** -! - ENDSUBROUTINE CALCQ2 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ2A -! *** CASE Q2 ; SUBCASE A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM POOR (SODRAT < 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ2A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: A14,AKW,BB,CC,CLI,DD,DEL,HI,OHI - REAL(KIND=8) :: PSI1O,PSI4O,PSI6O - REAL(KIND=8) :: ROOT1,ROOT2,ROOT2A,ROOT2B,ROOT3 - REAL(KIND=8) :: GG,GGCL,GGNO3,HSO4I,SO4I - INTEGER :: I,ISLV - LOGICAL PSCONV1, PSCONV4, PSCONV6 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ2A',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. -! - PSCONV1 =.TRUE. - PSCONV4 =.TRUE. - PSCONV6 =.TRUE. -! - PSI1O =-GREAT - PSI4O =-GREAT - PSI6O =-GREAT -! - ROOT1 = ZERO - ROOT2 = ZERO - ROOT3 = ZERO -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCQ1A -! - CHI1 = CNA2SO4 ! SALTS - CHI4 = CNH4CL - CHI6 = CNH42S4 -! - PSI1 = CNA2SO4 ! AMOUNT DISSOLVED - PSI4 = CNH4CL - PSI5 = CNH4NO3 - PSI6 = CNH42S4 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - A14 = XK14*(WATER/GAMA(6))**2. ! NH4Cl <==> NH4+ - A7 = XK7 *(WATER/GAMA(4))**3. ! (NH4)2SO4 <==> Na+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! AMMONIUM CHLORIDE -! - IF (NH4I*CLI .GT. A14) THEN - BB =-(WAER(3) + WAER(5) - 2.D0*ROOT1) - CC = WAER(5)*(WAER(3) - 2.D0*ROOT1) - A14 - DD = BB*BB - 4.D0*CC - IF (DD.LT.ZERO) THEN - ROOT2 = ZERO - ELSE - DD = SQRT(DD) - ROOT2A= 0.5D0*(-BB+DD) - ROOT2B= 0.5D0*(-BB-DD) - IF (ZERO.LE.ROOT2A) THEN - ROOT2 = ROOT2A - ELSE - ROOT2 = ROOT2B - ENDIF - ROOT2 = MIN(ROOT2, WAER(5), WAER(3) - 2.D0*ROOT1, CHI4) - ROOT2 = MAX(ROOT2, ZERO) - PSI4 = CHI4 - ROOT2 - ENDIF - ENDIF - PSCONV4 = ABS(PSI4-PSI4O) .LE. EPS*PSI4O - PSI4O = PSI4 -! -! SODIUM SULFATE -! - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-(WAER(2) + WAER(1) - ROOT1) - CC = WAER(1)*(WAER(2) - ROOT1) + 0.25*WAER(1)*WAER(1) - DD =-0.25*(WAER(1)*WAER(1)*(WAER(2) - ROOT1) - A5) - CALL POLY3(BB, CC, DD, ROOT3, ISLV) - IF (ISLV.NE.0) ROOT3 = TINY - ROOT3 = MIN (ROOT3, WAER(1)/2.0, WAER(2) - ROOT1, CHI1) - ROOT3 = MAX (ROOT3, ZERO) - PSI1 = CHI1-ROOT3 - ENDIF - PSCONV1 = ABS(PSI1-PSI1O) .LE. EPS*PSI1O - PSI1O = PSI1 -! -! AMMONIUM SULFATE -! - IF (NH4I*NH4I*SO4I .GT. A4) THEN - BB =-(WAER(2)+WAER(3)-ROOT2-ROOT3) - CC = (WAER(3)-ROOT2)*(WAER(2)-ROOT3+0.5D0*(WAER(3)-ROOT2)) - DD =-((WAER(2)-ROOT3)*(WAER(3)-ROOT2)**2.D0 + A4)/4.D0 - CALL POLY3(BB, CC, DD, ROOT1, ISLV) - IF (ISLV.NE.0) ROOT1 = TINY - ROOT1 = MIN(ROOT1, WAER(3)-ROOT2, WAER(2)-ROOT3, CHI6) - ROOT1 = MAX(ROOT1, ZERO) - PSI6 = CHI6-ROOT1 - ENDIF - PSCONV6 = ABS(PSI6-PSI6O) .LE. EPS*PSI6O - PSI6O = PSI6 -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - 2.D0*ROOT3 - SO4I= WAER(2) - ROOT1 - ROOT3 - NH4I= WAER(3) - ROOT2 - 2.D0*ROOT1 - NO3I= WAER(4) - CLI = WAER(5) - ROOT2 -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - HSO4I = ZERO - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1 .AND. PSCONV4 .AND. PSCONV6) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCQ2A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = CHI6 - PSI6 - CNH4NO3 = ZERO - CNH4CL = CHI4 - PSI4 - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCQ2A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ2A ***************************************** -! - ENDSUBROUTINE CALCQ2A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ1 -! *** CASE Q1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXNO, EXCL - EXTERNAL CALCQ1A, CALCQ2A, CALCQ3A, CALCQ4 -! -! *** REGIME DEPENDS ON AMBIENT RELATIVE HUMIDITY & POSSIBLE SPECIES *** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ1',0,ZHOOK_HANDLE) - EXNO = WAER(4).GT.TINY - EXCL = WAER(5).GT.TINY -! - IF (EXNO .AND. EXCL) THEN ! *** NITRATE & CHLORIDE EXIST - IF (RH.LT.DRMG1) THEN - SCASE = 'Q1 ; SUBCASE 1' - CALL CALCQ1A ! SOLID - SCASE = 'Q1 ; SUBCASE 1' - ELSE - SCASE = 'Q1 ; SUBCASE 2' ! MDRH (NH4)2SO4, NA2SO4, NH4CL, NH4NO3 - CALL CALCMDRP (RH, DRMG1, DRNH4NO3, CALCQ1A, CALCQ2A) - SCASE = 'Q1 ; SUBCASE 2' - ENDIF -! - ELSE IF (EXNO .AND. .NOT.EXCL) THEN ! *** ONLY NITRATE EXISTS - IF (RH.LT.DRMQ1) THEN - SCASE = 'Q1 ; SUBCASE 1' - CALL CALCQ1A ! SOLID - SCASE = 'Q1 ; SUBCASE 1' - ELSE - SCASE = 'Q1 ; SUBCASE 3' ! MDRH (NH4)2SO4, NA2SO4, NH4NO3 - CALL CALCMDRP (RH, DRMQ1, DRNH4NO3, CALCQ1A, CALCQ2A) - SCASE = 'Q1 ; SUBCASE 3' - ENDIF -! - ELSE IF (.NOT.EXNO .AND. EXCL) THEN ! *** ONLY CHLORIDE EXISTS - IF (RH.LT.DRMG2) THEN - SCASE = 'Q1 ; SUBCASE 1' - CALL CALCQ1A ! SOLID - SCASE = 'Q1 ; SUBCASE 1' - ELSE - SCASE = 'Q1 ; SUBCASE 4' ! MDRH (NH4)2SO4, NA2SO4, NH4CL - CALL CALCMDRP (RH, DRMG2, DRNH4CL, CALCQ1A, CALCQ3A) - SCASE = 'Q1 ; SUBCASE 4' - ENDIF -! - ELSE ! *** NO CHLORIDE AND NITRATE - IF (RH.LT.DRMG3) THEN - SCASE = 'Q1 ; SUBCASE 1' - CALL CALCQ1A ! SOLID - SCASE = 'Q1 ; SUBCASE 1' - ELSE - SCASE = 'Q1 ; SUBCASE 5' ! MDRH (NH4)2SO4, NA2SO4 - CALL CALCMDRP (RH, DRMG3, DRNH42S4, CALCQ1A, CALCQ4) - SCASE = 'Q1 ; SUBCASE 5' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCQ1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ1 ****************************************** -! - ENDSUBROUTINE CALCQ1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCQ1A -! *** CASE Q1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM POOR (SODRAT < 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, (NH4)2SO4, NA2SO4 -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCQ1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FRNH3,FRSO4 -! -! *** CALCULATE SOLIDS ************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCQ1A',0,ZHOOK_HANDLE) - CNA2SO4 = 0.5d0*WAER(1) - FRSO4 = MAX (WAER(2)-CNA2SO4, ZERO) -! - CNH42S4 = MAX (MIN(FRSO4,0.5d0*WAER(3)), TINY) - FRNH3 = MAX (WAER(3)-2.D0*CNH42S4, ZERO) -! - CNH4NO3 = MIN (FRNH3, WAER(4)) -!CC FRNO3 = MAX (WAER(4)-CNH4NO3, ZERO) - FRNH3 = MAX (FRNH3-CNH4NO3, ZERO) -! - CNH4CL = MIN (FRNH3, WAER(5)) -!CC FRCL = MAX (WAER(5)-CNH4CL, ZERO) - FRNH3 = MAX (FRNH3-CNH4CL, ZERO) -! -! *** OTHER PHASES ****************************************************** -! - WATER = ZERO -! - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO -! - IF (LHOOK) CALL DR_HOOK('CALCQ1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCQ1A ***************************************** -! - ENDSUBROUTINE CALCQ1A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR6 -! *** CASE R6 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM RICH (SODRAT >= 2.0) -! 2. THERE IS ONLY A LIQUID PHASE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR6 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: AKW,BB,CC,CLI,DD,DEL,HI,OHI - REAL(KIND=8) :: GG,GGCL,GGNO3,HSO4I,SO4I - INTEGER :: I - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR6',0,ZHOOK_HANDLE) - CALL CALCR1A -! - PSI1 = CNA2SO4 - PSI2 = CNANO3 - PSI3 = CNACL - PSI4 = CNH4CL - PSI5 = CNH4NO3 -! - FRST = .TRUE. - CALAIN = .TRUE. - CALAOU = .TRUE. -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** SETUP LIQUID CONCENTRATIONS ************************************** -! - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! - NAI = WAER(1) - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*WAER(2) + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCR6') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1) = NH3AQ - GASAQ(2) = CLAQ - GASAQ(3) = NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = ZERO -! - IF (LHOOK) CALL DR_HOOK('CALCR6',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR6 ****************************************** -! - ENDSUBROUTINE CALCR6 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR5 -! *** CASE R5 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM RICH (SODRAT >= 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR5 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: AKW,BB,CC,CLI,DD,DEL,GG,HI,OHI - REAL(KIND=8) :: GGCL,GGNO3,HSO4I,SO4I,PSIO,ROOT - INTEGER :: I,ISLV - LOGICAL PSCONV - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! - LOGICAL NEAN, NEAC, NESN, NESC -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR5',0,ZHOOK_HANDLE) - CALL CALCR1A ! DRY SOLUTION -! - NEAN = CNH4NO3.LE.TINY ! NH4NO3 ! Water exists? - NEAC = CNH4CL .LE.TINY ! NH4CL - NESN = CNANO3 .LE.TINY ! NANO3 - NESC = CNACL .LE.TINY ! NACL - IF (NEAN .AND. NEAC .AND. NESN .AND. NESC) THEN - IF (LHOOK) CALL DR_HOOK('CALCR5',1,ZHOOK_HANDLE) - RETURN - ENDIF -! - CHI1 = CNA2SO4 -! - PSI1 = CNA2SO4 - PSI2 = CNANO3 - PSI3 = CNACL - PSI4 = CNH4CL - PSI5 = CNH4NO3 -! - PSIO =-GREAT -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! - FRST = .TRUE. - CALAIN = .TRUE. - CALAOU = .TRUE. - PSCONV = .FALSE. -! -! *** SETUP LIQUID CONCENTRATIONS ************************************** -! - NAI = WAER(1) - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5*(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! SODIUM SULFATE -! - ROOT = ZERO - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-3.D0*CHI1 - CC = 3.D0*CHI1**2.0 - DD =-CHI1**3.0 + 0.25D0*A5 - CALL POLY3(BB, CC, DD, ROOT, ISLV) - IF (ISLV.NE.0) ROOT = TINY - ROOT = MIN (MAX(ROOT,ZERO), CHI1) - PSI1 = CHI1-ROOT - ENDIF - PSCONV = ABS(PSI1-PSIO) .LE. EPS*PSIO - PSIO = PSI1 -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - 2.D0*ROOT - SO4I = WAER(2) - ROOT - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCR5') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ -!C A21 = XK21*WATER*R*TEMP - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 ! NH4I*OHI/A2/AKW - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1) = NH3AQ - GASAQ(2) = CLAQ - GASAQ(3) = NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = ZERO - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCR5',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR5 ****************************************** -! - ENDSUBROUTINE CALCR5 -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR4 -! *** CASE R4 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR4 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXAN, EXAC, EXSN, EXSC - EXTERNAL CALCR1A, CALCR5 -! -! *** SOLVE FOR DRY CASE AND SEE WHICH SOLIDS ARE POSSIBLE ************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR4',0,ZHOOK_HANDLE) - SCASE = 'R4 ; SUBCASE 2' - CALL CALCR1A ! SOLID - SCASE = 'R4 ; SUBCASE 2' -! - EXAN = CNH4NO3.GT.TINY ! NH4NO3 - EXAC = CNH4CL .GT.TINY ! NH4CL - EXSN = CNANO3 .GT.TINY ! NANO3 - EXSC = CNACL .GT.TINY ! NACL -! -! *** REGIME DEPENDS ON RELATIVE HUMIDITY AND POSSIBLE SPECIES ********** -! - IF (EXAN .OR. EXSN .OR. EXSC) THEN ! *** NH4NO3,NANO3 EXIST - IF (RH.GE.DRMH1) THEN - SCASE = 'R4 ; SUBCASE 1' - CALL CALCR4A - SCASE = 'R4 ; SUBCASE 1' - ENDIF -! - ELSE IF (EXAC) THEN ! *** NH4CL EXISTS ONLY - IF (RH.GE.DRMR5) THEN - SCASE = 'R4 ; SUBCASE 3' - CALL CALCMDRP (RH, DRMR5, DRNH4CL, CALCR1A, CALCR5) - SCASE = 'R4 ; SUBCASE 3' - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR4',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR4 ****************************************** -! - ENDSUBROUTINE CALCR4 - - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR4A -! *** CASE R4A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM RICH (SODRAT >= 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR4A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: A14,AKW,BB,CC,CLI,DD,DEL,GG,HI,OHI - REAL(KIND=8) :: GGCL,GGNO3,HSO4I,SO4I - REAL(KIND=8) :: PSIO1,PSIO4,ROOT - INTEGER :: I,ISLV - LOGICAL PSCONV1, PSCONV4 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR4A',0,ZHOOK_HANDLE) - FRST = .TRUE. - CALAIN = .TRUE. - CALAOU = .TRUE. - PSCONV1 = .FALSE. - PSCONV4 = .FALSE. - PSIO1 =-GREAT - PSIO4 =-GREAT -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCR1A -! - CHI1 = CNA2SO4 ! SALTS - CHI4 = CNH4CL -! - PSI1 = CNA2SO4 - PSI2 = CNANO3 - PSI3 = CNACL - PSI4 = CNH4CL - PSI5 = CNH4NO3 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - A14 = XK14*(WATER/GAMA(6))**2. ! NH4Cl <==> NH4+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! SODIUM SULFATE -! - ROOT = ZERO - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-3.D0*CHI1 - CC = 3.D0*CHI1**2.0 - DD =-CHI1**3.0 + 0.25D0*A5 - CALL POLY3(BB, CC, DD, ROOT, ISLV) - IF (ISLV.NE.0) ROOT = TINY - ROOT = MIN (MAX(ROOT,ZERO), CHI1) - PSI1 = CHI1-ROOT - NAI = WAER(1) - 2.D0*ROOT - SO4I = WAER(2) - ROOT - ENDIF - PSCONV1 = ABS(PSI1-PSIO1) .LE. EPS*PSIO1 - PSIO1 = PSI1 -! -! AMMONIUM CHLORIDE -! - ROOT = ZERO - IF (NH4I*CLI .GT. A14) THEN - BB =-(NH4I + CLI) - CC =-A14 + NH4I*CLI - DD = BB*BB - 4.D0*CC - ROOT = 0.5D0*(-BB-SQRT(DD)) - IF (ROOT.GT.TINY) THEN - ROOT = MIN(ROOT, CHI4) - PSI4 = CHI4 - ROOT - NH4I = WAER(3) - ROOT - CLI = WAER(5) - ROOT - ENDIF - ENDIF - PSCONV4 = ABS(PSI4-PSIO4) .LE. EPS*PSIO4 - PSIO4 = PSI4 -! - NO3I = WAER(4) -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1 .AND. PSCONV4) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCR4A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = CHI4 - PSI4 - CNACL = ZERO - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 -! - IF (LHOOK) CALL DR_HOOK('CALCR4A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR4A ***************************************** -! - ENDSUBROUTINE CALCR4A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR3 -! *** CASE R3 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR3 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXAN, EXAC, EXSN, EXSC - EXTERNAL CALCR1A, CALCR4A, CALCR5 -! -! *** SOLVE FOR DRY CASE AND SEE WHICH SOLIDS ARE POSSIBLE ************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR3',0,ZHOOK_HANDLE) - SCASE = 'R3 ; SUBCASE 2' - CALL CALCR1A ! SOLID - SCASE = 'R3 ; SUBCASE 2' -! - EXAN = CNH4NO3.GT.TINY ! NH4NO3 - EXAC = CNH4CL .GT.TINY ! NH4CL - EXSN = CNANO3 .GT.TINY ! NANO3 - EXSC = CNACL .GT.TINY ! NACL -! -! *** REGIME DEPENDS ON RELATIVE HUMIDITY AND POSSIBLE SPECIES ********** -! - IF (EXAN .OR. EXSN) THEN ! *** NH4NO3,NANO3 EXIST - IF (RH.GE.DRMH1) THEN - SCASE = 'R3 ; SUBCASE 1' - CALL CALCR3A - SCASE = 'R3 ; SUBCASE 1' - ENDIF -! - ELSE IF (.NOT.EXAN .AND. .NOT.EXSN) THEN ! *** NH4NO3,NANO3 = 0 - IF ( EXAC .AND. EXSC) THEN - IF (RH.GE.DRMR4) THEN - SCASE = 'R3 ; SUBCASE 3' - CALL CALCMDRP (RH, DRMR4, DRNACL, CALCR1A, CALCR4A) - SCASE = 'R3 ; SUBCASE 3' - ENDIF - - ELSE IF (.NOT.EXAC .AND. EXSC) THEN - IF (RH.GE.DRMR2) THEN - SCASE = 'R3 ; SUBCASE 4' - CALL CALCMDRP (RH, DRMR2, DRNACL, CALCR1A, CALCR4A) - SCASE = 'R3 ; SUBCASE 4' - ENDIF - - ELSE IF ( EXAC .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR5) THEN - SCASE = 'R3 ; SUBCASE 5' - CALL CALCMDRP (RH, DRMR5, DRNACL, CALCR1A, CALCR5) - SCASE = 'R3 ; SUBCASE 5' - ENDIF - ENDIF -! - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR3',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR3 ****************************************** -! - ENDSUBROUTINE CALCR3 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR3A -! *** CASE R3A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM RICH (SODRAT >= 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR3A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: A14,AKW,BB,CC,CLI,DD,DEL,GG,HI,OHI - REAL(KIND=8) :: GGCL,GGNO3,HSO4I,SO4I - REAL(KIND=8) :: PSI1O,PSI3O,PSI4O - REAL(KIND=8) :: ROOT1,ROOT2,ROOT2A,ROOT2B,ROOT3,ROOT3A,ROOT3B - INTEGER :: I,ISLV - LOGICAL PSCONV1, PSCONV3, PSCONV4 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR3A',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. - PSCONV1 =.TRUE. - PSCONV3 =.TRUE. - PSCONV4 =.TRUE. - PSI1O =-GREAT - PSI3O =-GREAT - PSI4O =-GREAT - ROOT1 = ZERO - ROOT2 = ZERO - ROOT3 = ZERO -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCR1A -! - CHI1 = CNA2SO4 ! SALTS - CHI4 = CNH4CL - CHI3 = CNACL -! - PSI1 = CNA2SO4 - PSI2 = CNANO3 - PSI3 = CNACL - PSI4 = CNH4CL - PSI5 = CNH4NO3 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! - MOLAL(1) = ZERO - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! - CALL CALCACT ! CALCULATE ACTIVITY COEFFICIENTS -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - A8 = XK8 *(WATER/GAMA(1))**2. ! NaCl <==> Na+ - A14 = XK14*(WATER/GAMA(6))**2. ! NH4Cl <==> NH4+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! AMMONIUM CHLORIDE -! - IF (NH4I*CLI .GT. A14) THEN - BB =-(WAER(3) + WAER(5) - ROOT3) - CC =-A14 + NH4I*(WAER(5) - ROOT3) - DD = MAX(BB*BB - 4.D0*CC, ZERO) - ROOT2A= 0.5D0*(-BB+SQRT(DD)) - ROOT2B= 0.5D0*(-BB-SQRT(DD)) - IF (ZERO.LE.ROOT2A) THEN - ROOT2 = ROOT2A - ELSE - ROOT2 = ROOT2B - ENDIF - ROOT2 = MIN(MAX(ZERO, ROOT2), MAX(WAER(5)-ROOT3,ZERO), & - & CHI4, WAER(3)) - PSI4 = CHI4 - ROOT2 - ENDIF - PSCONV4 = ABS(PSI4-PSI4O) .LE. EPS*PSI4O - PSI4O = PSI4 -! -! SODIUM SULFATE -! - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-(CHI1 + WAER(1) - ROOT3) - CC = 0.25D0*(WAER(1) - ROOT3)*(4.D0*CHI1+WAER(1)-ROOT3) - DD =-0.25D0*(CHI1*(WAER(1)-ROOT3)**2.D0 - A5) - CALL POLY3(BB, CC, DD, ROOT1, ISLV) - IF (ISLV.NE.0) ROOT1 = TINY - ROOT1 = MIN (MAX(ROOT1,ZERO), MAX(WAER(1)-ROOT3,ZERO), & - & CHI1, WAER(2)) - PSI1 = CHI1-ROOT1 - ENDIF - PSCONV1 = ABS(PSI1-PSI1O) .LE. EPS*PSI1O - PSI1O = PSI1 -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - (2.D0*ROOT1 + ROOT3) - SO4I= WAER(2) - ROOT1 - NH4I= WAER(3) - ROOT2 - CLI = WAER(5) - (ROOT3 + ROOT2) - NO3I= WAER(4) -! -! SODIUM CHLORIDE ; To obtain new value for ROOT3 -! - IF (NAI*CLI .GT. A8) THEN - BB =-((CHI1-2.D0*ROOT1) + (WAER(5) - ROOT2)) - CC = (CHI1-2.D0*ROOT1)*(WAER(5) - ROOT2) - A8 - DD = SQRT(MAX(BB*BB - 4.D0*CC, TINY)) - ROOT3A= 0.5D0*(-BB-SQRT(DD)) - ROOT3B= 0.5D0*(-BB+SQRT(DD)) - IF (ZERO.LE.ROOT3A) THEN - ROOT3 = ROOT3A - ELSE - ROOT3 = ROOT3B - ENDIF - ROOT3 = MIN(MAX(ROOT3, ZERO), CHI3) - PSI3 = CHI3-ROOT3 - ENDIF - PSCONV3 = ABS(PSI3-PSI3O) .LE. EPS*PSI3O - PSI3O = PSI3 -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1.AND.PSCONV3.AND.PSCONV4) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCR3A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 IF (CLI.LE.TINY .AND. WAER(5).GT.TINY) THEN !No disslv Cl-;solid only - DO 30 I=1,NIONS - MOLAL(I) = ZERO -30 CONTINUE - DO 40 I=1,NGASAQ - GASAQ(I) = ZERO -40 CONTINUE - CALL CALCR1A - ELSE - A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = CHI4 - PSI4 - CNACL = CHI3 - PSI3 - CNANO3 = ZERO - CNA2SO4 = CHI1 - PSI1 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR3A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR3A ***************************************** -! - ENDSUBROUTINE CALCR3A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR2 -! *** CASE R2 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR2 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXAN, EXAC, EXSN, EXSC - EXTERNAL CALCR1A, CALCR3A, CALCR4A, CALCR5 -! -! *** SOLVE FOR DRY CASE AND SEE WHICH SOLIDS ARE POSSIBLE ************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR2',0,ZHOOK_HANDLE) - SCASE = 'R2 ; SUBCASE 2' - CALL CALCR1A ! SOLID - SCASE = 'R2 ; SUBCASE 2' -! - EXAN = CNH4NO3.GT.TINY ! NH4NO3 - EXAC = CNH4CL .GT.TINY ! NH4CL - EXSN = CNANO3 .GT.TINY ! NANO3 - EXSC = CNACL .GT.TINY ! NACL -! -! *** REGIME DEPENDS ON RELATIVE HUMIDITY AND POSSIBLE SPECIES ********** -! - IF (EXAN) THEN ! *** NH4NO3 EXISTS - IF (RH.GE.DRMH1) THEN - SCASE = 'R2 ; SUBCASE 1' - CALL CALCR2A - SCASE = 'R2 ; SUBCASE 1' - ENDIF -! - ELSE IF (.NOT.EXAN) THEN ! *** NH4NO3 = 0 - IF ( EXAC .AND. EXSN .AND. EXSC) THEN - IF (RH.GE.DRMH2) THEN - SCASE = 'R2 ; SUBCASE 3' - CALL CALCMDRP (RH, DRMH2, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R2 ; SUBCASE 3' - ENDIF - - ELSE IF (.NOT.EXAC .AND. EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR1) THEN - SCASE = 'R2 ; SUBCASE 4' - CALL CALCMDRP (RH, DRMR1, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R2 ; SUBCASE 4' - ENDIF - - ELSE IF (.NOT.EXAC .AND. .NOT.EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR2) THEN - SCASE = 'R2 ; SUBCASE 5' - CALL CALCMDRP (RH, DRMR2, DRNACL, CALCR1A, CALCR4A) - SCASE = 'R2 ; SUBCASE 5' - ENDIF - - ELSE IF (.NOT.EXAC .AND. EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR3) THEN - SCASE = 'R2 ; SUBCASE 6' - CALL CALCMDRP (RH, DRMR3, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R2 ; SUBCASE 6' - ENDIF - - ELSE IF ( EXAC .AND. .NOT.EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR4) THEN - SCASE = 'R2 ; SUBCASE 7' - CALL CALCMDRP (RH, DRMR4, DRNACL, CALCR1A, CALCR4A) - SCASE = 'R2 ; SUBCASE 7' - ENDIF - - ELSE IF ( EXAC .AND. .NOT.EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR5) THEN - SCASE = 'R2 ; SUBCASE 8' - CALL CALCMDRP (RH, DRMR5, DRNH4CL, CALCR1A, CALCR5) - SCASE = 'R2 ; SUBCASE 8' - ENDIF - - ELSE IF ( EXAC .AND. EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR6) THEN - SCASE = 'R2 ; SUBCASE 9' - CALL CALCMDRP (RH, DRMR6, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R2 ; SUBCASE 9' - ENDIF - ENDIF -! - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR2',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR2 ****************************************** -! - ENDSUBROUTINE CALCR2 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR2A -! *** CASE R2A -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0); SODIUM RICH (SODRAT >= 2.0) -! 2. LIQUID AND SOLID PHASES ARE POSSIBLE -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR2A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' -! - REAL(KIND=8) :: A14,A9,AKW,BB,CC,CLI,DD,DEL,GG,HI,OHI - REAL(KIND=8) :: GGCL,GGNO3,HSO4I,SO4I - REAL(KIND=8) :: PSI1O,PSI2O,PSI3O,PSI4O - REAL(KIND=8) :: ROOT1,ROOT2,ROOT2A,ROOT2B - REAL(KIND=8) :: ROOT3,ROOT3A,ROOT3B,ROOT4,ROOT4A,ROOT4B - INTEGER :: I,ISLV - LOGICAL PSCONV1, PSCONV2, PSCONV3, PSCONV4 - REAL(KIND=8) :: NH4I, NAI, NO3I, NH3AQ, NO3AQ, CLAQ - REAL(KIND=8) :: CHI1,CHI2,CHI3,CHI4,CHI5,CHI6,CHI7,CHI8 - REAL(KIND=8) :: PSI1,PSI2,PSI3,PSI4,PSI5,PSI6,PSI7,PSI8 - REAL(KIND=8) :: A1,A2,A3,A4,A5,A6,A7,A8 - COMMON /SOLUT/ CHI1, CHI2, CHI3, CHI4, CHI5, CHI6, CHI7, CHI8, & - & PSI1, PSI2, PSI3, PSI4, PSI5, PSI6, PSI7, PSI8, & - & A1, A2, A3, A4, A5, A6, A7, A8 -! -! *** SETUP PARAMETERS ************************************************ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR2A',0,ZHOOK_HANDLE) - FRST =.TRUE. - CALAIN =.TRUE. - CALAOU =.TRUE. -! - PSCONV1 =.TRUE. - PSCONV2 =.TRUE. - PSCONV3 =.TRUE. - PSCONV4 =.TRUE. -! - PSI1O =-GREAT - PSI2O =-GREAT - PSI3O =-GREAT - PSI4O =-GREAT -! - ROOT1 = ZERO - ROOT2 = ZERO - ROOT3 = ZERO - ROOT4 = ZERO -! -! *** CALCULATE INITIAL SOLUTION *************************************** -! - CALL CALCR1A -! - CHI1 = CNA2SO4 ! SALTS - CHI2 = CNANO3 - CHI3 = CNACL - CHI4 = CNH4CL -! - PSI1 = CNA2SO4 - PSI2 = CNANO3 - PSI3 = CNACL - PSI4 = CNH4CL - PSI5 = CNH4NO3 -! - CALL CALCMR ! WATER -! - NAI = WAER(1) ! LIQUID CONCENTRATIONS - SO4I = WAER(2) - NH4I = WAER(3) - NO3I = WAER(4) - CLI = WAER(5) - HSO4I = ZERO - NH3AQ = ZERO - NO3AQ = ZERO - CLAQ = ZERO -! - MOLAL(1) = ZERO - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! - CALL CALCACT ! CALCULATE ACTIVITY COEFFICIENTS -! -! *** SOLVE EQUATIONS ; WITH ITERATIONS FOR ACTIVITY COEF. ************ -! - DO 10 I=1,NSWEEP - A5 = XK5 *(WATER/GAMA(2))**3. ! Na2SO4 <==> Na+ - A8 = XK8 *(WATER/GAMA(1))**2. ! NaCl <==> Na+ - A9 = XK9 *(WATER/GAMA(3))**2. ! NaNO3 <==> Na+ - A14 = XK14*(WATER/GAMA(6))**2. ! NH4Cl <==> NH4+ - AKW = XKW*RH*WATER*WATER ! H2O <==> H+ -! -! AMMONIUM CHLORIDE -! - IF (NH4I*CLI .GT. A14) THEN - BB =-(WAER(3) + WAER(5) - ROOT3) - CC = NH4I*(WAER(5) - ROOT3) - A14 - DD = MAX(BB*BB - 4.D0*CC, ZERO) - DD = SQRT(DD) - ROOT2A= 0.5D0*(-BB+DD) - ROOT2B= 0.5D0*(-BB-DD) - IF (ZERO.LE.ROOT2A) THEN - ROOT2 = ROOT2A - ELSE - ROOT2 = ROOT2B - ENDIF - ROOT2 = MIN(MAX(ROOT2, ZERO), CHI4) - PSI4 = CHI4 - ROOT2 - ENDIF - PSCONV4 = ABS(PSI4-PSI4O) .LE. EPS*PSI4O - PSI4O = PSI4 -! -! SODIUM SULFATE -! - IF (NAI*NAI*SO4I .GT. A5) THEN - BB =-(WAER(2) + WAER(1) - ROOT3 - ROOT4) - CC = WAER(1)*(2.D0*ROOT3 + 2.D0*ROOT4 - 4.D0*WAER(2) - ONE) & - & -(ROOT3 + ROOT4)**2.0 + 4.D0*WAER(2)*(ROOT3 + ROOT4) - CC =-0.25*CC - DD = WAER(1)*WAER(2)*(ONE - 2.D0*ROOT3 - 2.D0*ROOT4) + & - & WAER(2)*(ROOT3 + ROOT4)**2.0 - A5 - DD =-0.25*DD - CALL POLY3(BB, CC, DD, ROOT1, ISLV) - IF (ISLV.NE.0) ROOT1 = TINY - ROOT1 = MIN (MAX(ROOT1,ZERO), CHI1) - PSI1 = CHI1-ROOT1 - ENDIF - PSCONV1 = ABS(PSI1-PSI1O) .LE. EPS*PSI1O - PSI1O = PSI1 -! -! SODIUM NITRATE -! - IF (NAI*NO3I .GT. A9) THEN - BB =-(WAER(4) + WAER(1) - 2.D0*ROOT1 - ROOT3) - CC = WAER(4)*(WAER(1) - 2.D0*ROOT1 - ROOT3) - A9 - DD = SQRT(MAX(BB*BB - 4.D0*CC, TINY)) - ROOT4A= 0.5D0*(-BB-DD) - ROOT4B= 0.5D0*(-BB+DD) - IF (ZERO.LE.ROOT4A) THEN - ROOT4 = ROOT4A - ELSE - ROOT4 = ROOT4B - ENDIF - ROOT4 = MIN(MAX(ROOT4, ZERO), CHI2) - PSI2 = CHI2-ROOT4 - ENDIF - PSCONV2 = ABS(PSI2-PSI2O) .LE. EPS*PSI2O - PSI2O = PSI2 -! -! ION CONCENTRATIONS -! - NAI = WAER(1) - (2.D0*ROOT1 + ROOT3 + ROOT4) - SO4I= WAER(2) - ROOT1 - NH4I= WAER(3) - ROOT2 - NO3I= WAER(4) - ROOT4 - CLI = WAER(5) - (ROOT3 + ROOT2) -! -! SODIUM CHLORIDE ; To obtain new value for ROOT3 -! - IF (NAI*CLI .GT. A8) THEN - BB =-(WAER(1) - 2.D0*ROOT1 + WAER(5) - ROOT2 - ROOT4) - CC = (WAER(5) + ROOT2)*(WAER(1) - 2.D0*ROOT1 - ROOT4) - A8 - DD = SQRT(MAX(BB*BB - 4.D0*CC, TINY)) - ROOT3A= 0.5D0*(-BB-DD) - ROOT3B= 0.5D0*(-BB+DD) - IF (ZERO.LE.ROOT3A) THEN - ROOT3 = ROOT3A - ELSE - ROOT3 = ROOT3B - ENDIF - ROOT3 = MIN(MAX(ROOT3, ZERO), CHI3) - PSI3 = CHI3-ROOT3 - ENDIF - PSCONV3 = ABS(PSI3-PSI3O) .LE. EPS*PSI3O - PSI3O = PSI3 -! -! SOLUTION ACIDIC OR BASIC? -! - GG = 2.D0*SO4I + NO3I + CLI - NAI - NH4I - IF (GG.GT.TINY) THEN ! H+ in excess - BB =-GG - CC =-AKW - DD = BB*BB - 4.D0*CC - HI = 0.5D0*(-BB + SQRT(DD)) - OHI= AKW/HI - ELSE ! OH- in excess - BB = GG - CC =-AKW - DD = BB*BB - 4.D0*CC - OHI= 0.5D0*(-BB + SQRT(DD)) - HI = AKW/OHI - ENDIF -! -! UNDISSOCIATED SPECIES EQUILIBRIA -! - IF (HI.LT.OHI) THEN - CALL CALCAMAQ2 (-GG, NH4I, OHI, NH3AQ) - HI = AKW/OHI - ELSE - GGNO3 = MAX(2.D0*SO4I + NO3I - NAI - NH4I, ZERO) - GGCL = MAX(GG-GGNO3, ZERO) - IF (GGCL .GT.TINY) CALL CALCCLAQ2 (GGCL, CLI, HI, CLAQ) ! HCl - IF (GGNO3.GT.TINY) THEN - IF (GGCL.LE.TINY) HI = ZERO - CALL CALCNIAQ2 (GGNO3, NO3I, HI, NO3AQ) ! HNO3 - ENDIF -! -! CONCENTRATION ADJUSTMENTS ; HSO4 minor species. -! - CALL CALCHS4 (HI, SO4I, ZERO, DEL) - SO4I = SO4I - DEL - HI = HI - DEL - HSO4I = DEL - OHI = AKW/HI - ENDIF -! -! *** SAVE CONCENTRATIONS IN MOLAL ARRAY ****************************** -! - MOLAL(1) = HI - MOLAL(2) = NAI - MOLAL(3) = NH4I - MOLAL(4) = CLI - MOLAL(5) = SO4I - MOLAL(6) = HSO4I - MOLAL(7) = NO3I -! -! *** CALCULATE WATER ************************************************** -! - CALL CALCMR -! -! *** CALCULATE ACTIVITIES OR TERMINATE INTERNAL LOOP ***************** -! - IF (FRST.AND.CALAOU .OR. .NOT.FRST.AND.CALAIN) THEN - CALL CALCACT - ELSE - IF (PSCONV1.AND.PSCONV2.AND.PSCONV3.AND.PSCONV4) GOTO 20 - ENDIF -10 CONTINUE -!cc CALL PUSHERR (0002, 'CALCR2A') ! WARNING ERROR: NO CONVERGENCE -! -! *** CALCULATE GAS / SOLID SPECIES (LIQUID IN MOLAL ALREADY) ********* -! -20 IF (CLI.LE.TINY .AND. WAER(5).GT.TINY) THEN !No disslv Cl-;solid only - DO 30 I=1,NIONS - MOLAL(I) = ZERO -30 CONTINUE - DO 40 I=1,NGASAQ - GASAQ(I) = ZERO -40 CONTINUE - CALL CALCR1A - ELSE ! OK, aqueous phase present - A2 = (XK2/XKW)*R*TEMP*(GAMA(10)/GAMA(5))**2. ! NH3 <==> NH4+ - A3 = XK4 *R*TEMP*(WATER/GAMA(10))**2. ! HNO3 <==> NO3- - A4 = XK3 *R*TEMP*(WATER/GAMA(11))**2. ! HCL <==> CL- -! - GNH3 = NH4I/HI/A2 - GHNO3 = HI*NO3I/A3 - GHCL = HI*CLI /A4 -! - GASAQ(1)= NH3AQ - GASAQ(2)= CLAQ - GASAQ(3)= NO3AQ -! - CNH42S4 = ZERO - CNH4NO3 = ZERO - CNH4CL = CHI4 - PSI4 - CNACL = CHI3 - PSI3 - CNANO3 = CHI2 - PSI2 - CNA2SO4 = CHI1 - PSI1 - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR2A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR2A ***************************************** -! - ENDSUBROUTINE CALCR2A -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR1 -! *** CASE R1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR1 - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - LOGICAL EXAN, EXAC, EXSN, EXSC - EXTERNAL CALCR1A, CALCR2A, CALCR3A, CALCR4A, CALCR5 -! -! *** SOLVE FOR DRY CASE AND SEE WHICH SOLIDS ARE POSSIBLE ************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR1',0,ZHOOK_HANDLE) - SCASE = 'R1 ; SUBCASE 1' - CALL CALCR1A ! SOLID - SCASE = 'R1 ; SUBCASE 1' -! - EXAN = CNH4NO3.GT.TINY ! NH4NO3 - EXAC = CNH4CL .GT.TINY ! NH4CL - EXSN = CNANO3 .GT.TINY ! NANO3 - EXSC = CNACL .GT.TINY ! NACL -! -! *** REGIME DEPENDS ON RELATIVE HUMIDITY AND POSSIBLE SPECIES ********** -! - IF (EXAN.AND.EXAC.AND.EXSC.AND.EXSN) THEN ! *** ALL EXIST - IF (RH.GE.DRMH1) THEN - SCASE = 'R1 ; SUBCASE 2' ! MDRH - CALL CALCMDRP (RH, DRMH1, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 2' - ENDIF -! - ELSE IF (.NOT.EXAN) THEN ! *** NH4NO3 = 0 - IF ( EXAC .AND. EXSN .AND. EXSC) THEN - IF (RH.GE.DRMH2) THEN - SCASE = 'R1 ; SUBCASE 3' - CALL CALCMDRP (RH, DRMH2, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R1 ; SUBCASE 3' - ENDIF - - ELSE IF (.NOT.EXAC .AND. EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR1) THEN - SCASE = 'R1 ; SUBCASE 4' - CALL CALCMDRP (RH, DRMR1, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R1 ; SUBCASE 4' - ENDIF - - ELSE IF (.NOT.EXAC .AND. .NOT.EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR2) THEN - SCASE = 'R1 ; SUBCASE 5' - CALL CALCMDRP (RH, DRMR2, DRNACL, CALCR1A, CALCR3A) !, CALCR4A) - SCASE = 'R1 ; SUBCASE 5' - ENDIF - - ELSE IF (.NOT.EXAC .AND. EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR3) THEN - SCASE = 'R1 ; SUBCASE 6' - CALL CALCMDRP (RH, DRMR3, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R1 ; SUBCASE 6' - ENDIF - - ELSE IF ( EXAC .AND. .NOT.EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR4) THEN - SCASE = 'R1 ; SUBCASE 7' - CALL CALCMDRP (RH, DRMR4, DRNACL, CALCR1A, CALCR3A) !, CALCR4A) - SCASE = 'R1 ; SUBCASE 7' - ENDIF - - ELSE IF ( EXAC .AND. .NOT.EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR5) THEN - SCASE = 'R1 ; SUBCASE 8' - CALL CALCMDRP (RH, DRMR5, DRNH4CL, CALCR1A, CALCR3A) !, CALCR5) - SCASE = 'R1 ; SUBCASE 8' - ENDIF - - ELSE IF ( EXAC .AND. EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR6) THEN - SCASE = 'R1 ; SUBCASE 9' - CALL CALCMDRP (RH, DRMR6, DRNANO3, CALCR1A, CALCR3A) - SCASE = 'R1 ; SUBCASE 9' - ENDIF - ENDIF -! - ELSE IF (.NOT.EXAC) THEN ! *** NH4CL = 0 - IF ( EXAN .AND. EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR7) THEN - SCASE = 'R1 ; SUBCASE 10' - CALL CALCMDRP (RH, DRMR7, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 10' - ENDIF - - ELSE IF ( EXAN .AND. .NOT.EXSN .AND. EXSC) THEN - IF (RH.GE.DRMR8) THEN - SCASE = 'R1 ; SUBCASE 11' - CALL CALCMDRP (RH, DRMR8, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 11' - ENDIF - - ELSE IF ( EXAN .AND. .NOT.EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR9) THEN - SCASE = 'R1 ; SUBCASE 12' - CALL CALCMDRP (RH, DRMR9, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 12' - ENDIF - - ELSE IF ( EXAN .AND. EXSN .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR10) THEN - SCASE = 'R1 ; SUBCASE 13' - CALL CALCMDRP (RH, DRMR10, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 13' - ENDIF - ENDIF -! - ELSE IF (.NOT.EXSN) THEN ! *** NANO3 = 0 - IF ( EXAN .AND. EXAC .AND. EXSC) THEN - IF (RH.GE.DRMR11) THEN - SCASE = 'R1 ; SUBCASE 14' - CALL CALCMDRP (RH, DRMR11, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 14' - ENDIF - - ELSE IF ( EXAN .AND. EXAC .AND. .NOT.EXSC) THEN - IF (RH.GE.DRMR12) THEN - SCASE = 'R1 ; SUBCASE 15' - CALL CALCMDRP (RH, DRMR12, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 15' - ENDIF - ENDIF -! - ELSE IF (.NOT.EXSC) THEN ! *** NACL = 0 - IF ( EXAN .AND. EXAC .AND. EXSN) THEN - IF (RH.GE.DRMR13) THEN - SCASE = 'R1 ; SUBCASE 16' - CALL CALCMDRP (RH, DRMR13, DRNH4NO3, CALCR1A, CALCR2A) - SCASE = 'R1 ; SUBCASE 16' - ENDIF - ENDIF - ENDIF -! - IF (LHOOK) CALL DR_HOOK('CALCR1',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR1 ****************************************** -! - ENDSUBROUTINE CALCR1 - - -!======================================================================= -! -! *** ISORROPIA CODE -! *** SUBROUTINE CALCR1A -! *** CASE R1 ; SUBCASE 1 -! -! THE MAIN CHARACTERISTICS OF THIS REGIME ARE: -! 1. SULFATE POOR (SULRAT > 2.0) ; SODIUM RICH (SODRAT >= 2.0) -! 2. SOLID AEROSOL ONLY -! 3. SOLIDS POSSIBLE : NH4NO3, NH4CL, NANO3, NA2SO4, NANO3, NACL -! -! *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY -! *** WRITTEN BY ATHANASIOS NENES -! -!======================================================================= -! - SUBROUTINE CALCR1A - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - INCLUDE 'isrpia.inc' - REAL(KIND=8) :: FRCL,FRNA,FRNH3,FRNO3 -! -! *** CALCULATE SOLIDS ************************************************** -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('CALCR1A',0,ZHOOK_HANDLE) - CNA2SO4 = WAER(2) - FRNA = MAX (WAER(1)-2*CNA2SO4, ZERO) -! - CNH42S4 = ZERO -! - CNANO3 = MIN (FRNA, WAER(4)) - FRNO3 = MAX (WAER(4)-CNANO3, ZERO) - FRNA = MAX (FRNA-CNANO3, ZERO) -! - CNACL = MIN (FRNA, WAER(5)) - FRCL = MAX (WAER(5)-CNACL, ZERO) - FRNA = MAX (FRNA-CNACL, ZERO) -! - CNH4NO3 = MIN (FRNO3, WAER(3)) - FRNO3 = MAX (FRNO3-CNH4NO3, ZERO) - FRNH3 = MAX (WAER(3)-CNH4NO3, ZERO) -! - CNH4CL = MIN (FRCL, FRNH3) - FRCL = MAX (FRCL-CNH4CL, ZERO) - FRNH3 = MAX (FRNH3-CNH4CL, ZERO) -! -! *** OTHER PHASES ****************************************************** -! - WATER = ZERO -! - GNH3 = ZERO - GHNO3 = ZERO - GHCL = ZERO -! - IF (LHOOK) CALL DR_HOOK('CALCR1A',1,ZHOOK_HANDLE) -! -! *** END OF SUBROUTINE CALCR1A ***************************************** -! - ENDSUBROUTINE CALCR1A diff --git a/src/arome/chem/internals/jspec1.F b/src/arome/chem/internals/jspec1.F deleted file mode 100644 index 910ae54e2ffef74e3e385f115b512d55674fed09..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/jspec1.F +++ /dev/null @@ -1,2872 +0,0 @@ -! ######spl - SUBROUTINE jspec1(nw,wl,nz,tlev,airlev, & - & j,sq,jlabel) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=16000) - -! input - - INTEGER nw - REAL wl(kw), wc(kw) - - INTEGER nz - - REAL tlev(kz) - REAL airlev(kz) - -! weighting functions - - CHARACTER*40 jlabel(kj) - REAL sq(kj,kz,kw) - -! input/output: - INTEGER j - -! data arrays - - INTEGER n1, n2, n3, n4, n5 - REAL x1(kdata), x2(kdata), x3(kdata), x4(kdata), x5(kdata) - REAL y1(kdata), y2(kdata), y3(kdata), y4(kdata), y5(kdata) - -! local - - REAL yg(kw), yg1(kw), yg2(kw), yg3(kw), yg4(kw), yg5(kw) - REAL xso3(kw),s226(kw),s263(kw),s298(kw) - REAL xsno2(kz,kw) - REAL qy, qy1d, qy3p - REAL p298, p230 - REAL phi1, phi2, phi20 - REAL tau, tau2, tau3 - REAL ak300, akt, temp - REAL a, b, c - REAL a0, a1, a2, a3, a4, a5, a6, a7 - REAL b0, b1, b2, b3, b4 - REAL xl, xl0 - REAL so3 - REAL sigma - REAL xs - REAL t - REAL dum - INTEGER iyld - INTEGER kmich, kjpl87, kjpl92, kshet - INTEGER irow, icol - INTEGER i, irev, iw, n, idum - INTEGER ierr - INTEGER iz, k - REAL slope,lambda, sum - REAL sumA, sumB, chi - CHARACTER*120 inline - - REAL coeff(4,3), TBar, LBar - -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('JSPEC1',0,ZHOOK_HANDLE) - DO 5, iw = 1, nw - 1 - wc(iw) = (wl(iw) + wl(iw+1))/2. - 5 CONTINUE - -!*************************************************************** -!*************** NO2 photodissociation - - j = j + 1 - jlabel(j) = 'NO2 -> NO + O(3P)' - -! cross section -! measurements of Davidson et al. (198x) at 273K -! from 263.8 to 648.8 nm in approximately 0.5 nm intervals - -! OPEN(UNIT=kin,FILE='DATAE1/NO2/NO2_ncar_00.abs',STATUS='old') -! n = 750 -! DO i = 1, n -! READ(kin,*) x1(i), y1(i), dum, dum, idum -! ENDDO -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -! cross section data from JPL 94 recommendation - - OPEN(UNIT=kin,FILE='DATAE1/NO2/NO2_jpl94.abs',STATUS='old') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO -! read in wavelength bins, cross section at T0 and temperature correction -! coefficient a; see input file for details. -! data need to be scaled to total area per bin so that they can be used with -! inter3 - DO i = 1, n - READ(kin,*) x1(i), x3(i), y1(i), dum, y2(i) - y1(i) = (x3(i)-x1(i)) * y1(i)*1E-20 - y2(i) = (x3(i)-x1(i)) * y2(i)*1E-22 - x2(i) = x1(i) - ENDDO - CLOSE(kin) - - x1(n+1) = x3(n) - x2(n+1) = x3(n) - n = n+1 - n1 = n - - CALL inter3(nw,wl,yg1,n,x1,y1,0) - - CALL inter3(nw,wl,yg2,n1,x2,y2,0) - -! yg1, yg2 are per nm, so rescale by bin widths - DO iw = 1, nw-1 - yg1(iw) = yg1(iw)/(wl(iw+1)-wl(iw)) - yg2(iw) = yg2(iw)/(wl(iw+1)-wl(iw)) - ENDDO - - DO iw = 1, nw-1 - DO i = 1, nz - xsno2(i,iw) = yg1(iw) + yg2(iw)*(tlev(i)-273.15) - ENDDO - ENDDO - -! quantum yield -! from Gardiner, Sperry, and Calvert - - OPEN(UNIT=kin,FILE='DATAJ1/YLD/NO2_calvert.yld',STATUS='old') - DO i = 1, 8 - READ(kin,*) - ENDDO - n = 66 - DO i = 1, n - READ(kin,*) x1(i),y1(i) - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax), 0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38, 0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! combine - - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = xsno2(i,iw)*yg1(iw) - ENDDO - ENDDO - - -!************ jlabel(j) = 'O3 -> O2 + O(1D)' -!************ jlabel(j) = 'O3 -> O2 + O(3P)' - - j = j + 1 - jlabel(j) = 'O3 -> O2 + O(1D)' - - j = j + 1 - jlabel(j) = 'O3 -> O2 + O(3P)' - -! cross sections: -! from WMO 1985 Ozone Assessment -! from 175.439 to 847.500 nm -! use value at 273 K - - OPEN(UNIT=kin,FILE='DATAE1/wmo85',STATUS='old') - DO i = 1, 3 - read(kin,*) - ENDDO - n = 158 - DO i = 1, n - READ(kin,*) idum, a1, a2, dum, dum, dum, dum, y1(i) - x1(i) = (a1+a2)/2. - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - DO iw = 1, nw-1 - xso3(iw) = yg(iw) - ENDDO - -! For Hartley and Huggins bands, use temperature-dependent values from -! Molina, L. T., and M. J. Molina, Absolute absorption cross sections -! of ozone in the 185- to 350-nm wavelength range, -! J. Geophys. Res., vol. 91, 14501-14508, 1986. - - OPEN(UNIT=kin,FILE='DATAE1/O3/O3.molina.abs',STATUS='old') - DO i = 1, 5 - READ(kin,*) - ENDDO - n1 = 220 - n2 = 220 - n3 = 220 - DO i = 1, n1 - READ(kin,*) x1(i), y1(i), y2(i), y3(i) - x2(i) = x1(i) - x3(i) = x1(i) - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n1,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - DO iw = 1, nw-1 - s226(iw) = yg(iw)*1.E-20 - ENDDO - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - DO iw = 1, nw-1 - s263(iw) = yg(iw)*1.E-20 - ENDDO - - CALL addpnt(x3,y3,kdata,n3,x3(1)*(1.-deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 0.,0.) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n3,x3,y3,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - DO iw = 1, nw-1 - s298(iw) = yg(iw)*1.E-20 - ENDDO - -! quantum yield: - - kmich = 1 - kjpl87 = 2 - kjpl92 = 3 - kshet = 4 - -! choose quantum yield recommendation: -! kjpl87: JPL recommendation 1987 - JPL 87, 90, 92 do not -! kjpl92: JPL recommendation 1990/92 (identical) - include "tail" region -! kmich : Michelsen et al., 1994 -! kshet : Shetter et al., 1996 - - iyld = kjpl87 - iyld = kjpl92 - iyld = kmich - iyld = kshet - -! read parameters from Michelsen, H. A., R.J. Salawitch, P. O. Wennber, -! and J. G. Anderson, Geophys. Res. Lett., 21, 2227-2230, 1994. - - IF (iyld .EQ. kmich) THEN - OPEN(UNIT=kin,FILE='DATAJ1/YLD/O3.param.yld',STATUS='old') - READ(kin,*) - READ(kin,*) - READ(kin,*) - n1 = 21 - n2 = n1 - DO i = 1, n1 - READ(kin,*) x1(i), y1(i), y2(i) - x2(i) = x1(i) - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n1, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),y1(n1)) - CALL addpnt(x1,y1,kdata,n1, 1.e+38,y1(n1)) - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),y2(1)) - CALL addpnt(x2,y2,kdata,n2, 0.,y2(1)) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),y2(n2)) - CALL addpnt(x2,y2,kdata,n2, 1.e+38,y2(n2)) - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - ENDIF - -! quantum yield data from -! Shetter et al, J.Geophys.Res., v 101 (D9), pg. 14,631-14,641, June 20, 1996 - - IF (iyld .EQ. kshet) THEN - OPEN(UNIT=kin,FILE='DATAJ1/YLD/O3_shetter.yld',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - n = n-2 - DO i = 1, n - READ(kin,*) x1(i),y3(i),y4(i),y1(i),y2(i) - x2(i) = x1(i) - x3(i) = x1(i) - x4(i) = x1(i) - ENDDO - DO i = n+1, n+2 - READ(kin,*) x3(i),y3(i),y4(i) - x4(i) = x3(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - n3 = n+2 - n4 = n+2 - -! coefficients for exponential fit: - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax), y1(1)) - CALL addpnt(x1,y1,kdata,n1, 0., y1(1)) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1, n1,x1,y1, ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),y2(1)) - CALL addpnt(x2,y2,kdata,n2, 0.,y2(1)) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2, n2,x2,y2, ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! phi data at 298 and 230 K - - CALL addpnt(x3,y3,kdata,n3,x3(1)*(1.-deltax),y3(1)) - CALL addpnt(x3,y3,kdata,n3, 0.,y3(1)) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1E38,0.) - - CALL ch_inter2(nw,wl,yg3, n3,x3,y3, ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr,jlabel(j) - STOP - ENDIF - - CALL addpnt(x4,y4,kdata,n4,x4(1)*(1.-deltax),y4(1)) - CALL addpnt(x4,y4,kdata,n4, 0.,y4(1)) - CALL addpnt(x4,y4,kdata,n4,x4(n4)*(1.+deltax),0.) - CALL addpnt(x4,y4,kdata,n4, 1E38,0.) - - CALL ch_inter2(nw,wl,yg4, n4,x4,y4, ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr,jlabel(j) - STOP - ENDIF - ENDIF - -! compute cross sections and yields at different wavelengths, altitudes: - - DO iw = 1, nw-1 - - so3 = xso3(iw) - - DO i = 1, nz - - IF ( wl(iw) .GT. 240.5 .AND. wl(iw+1) .LT. 350. ) THEN - IF (tlev(i) .LT. 263.) THEN - so3 = s226(iw) + (s263(iw)-s226(iw)) / (263.-226.) * & - & (tlev(i)-226.) - ELSE - so3 = s263(iw) + (s298(iw)-s263(iw)) / (298.-263.) * & - & (tlev(i)-263.) - ENDIF - ENDIF - -! quantum yields -! coefficients from jpl 87: - - IF (iyld .EQ. kjpl87) THEN - tau = tlev(i) - 230. - tau2 = tau*tau - tau3 = tau2*tau - xl = wc(iw) - xl0 = 308.2 + 4.4871e-2*tau + 6.938e-5*tau2 - & - & 2.5452e-6*tau3 - a = 0.9*(0.369 + 2.85e-4*tau + 1.28e-5*tau2 + & - & 2.57e-8*tau3) - b = -0.575 + 5.59e-3*tau - 1.439e-5*tau2 - & - & 3.27e-8*tau3 - c = 0.9*(0.518 + 9.87e-4*tau - 3.94e-5*tau2 + & - & 3.91e-7*tau3) - qy1d = a*atan(b*(xl-xl0)) + c - qy1d = max(0.,qy1d) - qy1d = min(0.9,qy1d) - ENDIF - -! from jpl90, jpl92: -! (caution: error in JPL92 for first term of a3) - - IF (iyld .EQ. kjpl92) THEN - tau = 298. - tlev(i) - tau2 = tau*tau - xl0 = wc(iw) - 305. - a0 = .94932 - 1.7039e-4*tau + 1.4072E-6*tau2 - a1 = -2.4052e-2 + 1.0479e-3*tau - 1.0655e-5*tau2 - a2 = 1.8771e-2 - 3.6401e-4*tau - 1.8587e-5*tau2 - a3 = -1.4540e-2 - 4.7787e-5*tau + 8.1277e-6*tau2 - a4 = 2.3287e-3 + 1.9891e-5*tau - 1.1801e-6*tau2 - a5 = -1.4471e-4 - 1.7188e-6*tau + 7.2661e-8*tau2 - a6 = 3.1830e-6 + 4.6209e-8*tau - 1.6266e-9*tau2 - qy1d = a0 + a1*xl0 + a2*(xl0)**2 + a3*(xl0)**3 + & - & a4*(xl0)**4 + a5*(xl0)**5 + a6*(xl0)**6 - IF (wc(iw) .LT. 305.) qy1d = 0.95 - IF (wc(iw) .GT. 320.) qy1d = 0. - IF (qy1d .LT. 0.02) qy1d = 0. - ENDIF - -! from Michelsen, H. A., R.J. Salawitch, P. O. Wennber, and J. G. Anderson -! Geophys. Res. Lett., 21, 2227-2230, 1994. - - IF (iyld .EQ. kmich) THEN - IF (wc(iw) .LT. 271.) THEN - qy1d = 0.87 - ELSE IF (wc(iw) .GE. 271. .AND. wc(iw) .LT. 305.) THEN - qy1d = 1.98 - 301./wc(iw) - ELSE IF (wc(iw) .GE. 305. .AND. wc(iw) .LE. 325.) THEN - qy1d = yg1(iw) * EXP (-yg2(iw) /(0.6951*tlev(i))) - ELSE - qy1d = 0. - ENDIF - ENDIF - -! Shetter et al.: -! phi = A * exp(-B/T), A and B are based on meas. at 298 and 230 K -! do linear interpolation between phi(298) and phi(230) for wavelengths > 321 -! as phi(230)=0. for those wavelengths, so there are no A and B factors - - IF (iyld .EQ. kshet) THEN - IF (wl(iw+1) .LE. 321.) THEN - qy1d = yg1(iw) * EXP(-1. * yg2(iw)/tlev(i)) - ELSE - qy1d = (yg3(iw) - yg4(iw))/(298.-230.) * (tlev(i)-230.) +& - & yg4(iw) - ENDIF - ENDIF - - sq(j-1,i,iw) = qy1d*so3 - qy3p = 1.0 - qy1d - sq(j,i,iw) = qy3p*so3 - - ENDDO - ENDDO - -!*************** jlabel(j) = 'NO3 -> NO2 + O(3P)' -!*************** jlabel(j) = 'NO3 -> NO + O2' - -! cross section -! measurements of Graham and Johnston 1978 - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/NO3_gj78.abs',STATUS='old') - DO i = 1, 9 - READ(kin,*) - ENDDO - n = 305 - DO irow = 1, 30 - READ(kin,*) ( y1(10*(irow-1) + icol), icol = 1, 10 ) - ENDDO - READ(kin,*) ( y1(300 + icol), icol = 1, 5 ) - CLOSE (kin) - DO i = 1, n - y1(i) = y1(i) * 1.E-19 - x1(i) = 400. + 1.*FLOAT(i-1) - ENDDO - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! cross section from JPL94: - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/NO3_jpl94.abs',STATUS='old') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i)*1E-20 - ENDDO - CLOSE (kin) - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! use JPL94 for wavelengths longer than 600 nm - - DO iw = 1, nw-1 - IF(wl(iw) .GT. 600.) yg(iw) = yg1(iw) - ENDDO - -! quantum yield: -! from Madronich (1988) see CEC NO3 book. - -! for NO3 ->NO+O2 - - j = j + 1 - jlabel(j) = 'NO3 -> NO + O2' - DO iw = 1, nw - 1 - IF (wc(iw).LT.584.) THEN - qy = 0. - ELSEIF (wc(iw).GE.640.) THEN - qy = 0. - ELSEIF (wc(iw).GE.595.) THEN - qy = 0.35*(1.-(wc(iw)-595.)/45.) - ELSE - qy = 0.35*(wc(iw)-584.)/11. - ENDIF - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -! for NO3 ->NO2+O - j = j + 1 - jlabel(j) = 'NO3 -> NO2 + O(3P)' - DO iw = 1, nw - 1 - IF (wc(iw).LT.584.) THEN - qy = 1. - ELSEIF (wc(iw).GT.640.) THEN - qy = 0. - ELSEIF (wc(iw).GT.595.) THEN - qy = 0.65*(1-(wc(iw)-595.)/45.) - ELSE - qy = 1.-0.35*(wc(iw)-584.)/11. - ENDIF - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** N2O5 photodissociation - - j = j + 1 - jlabel(j) = 'N2O5 -> NO3 + NO + O(3P)' - - j = j + 1 - jlabel(j) = 'N2O5 -> NO3 + NO2' - -! cross section from jpl94, table up to 280 nm - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/N2O5.abs',STATUS='old') - DO i = 1, 21 - READ(kin,*) - ENDDO - n = 17 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1.E-20 - ENDDO - CLOSE(kin) - -! fill in from 281 nm trough 400 nm with value at 262.5 K: -! this will be overwritten in most cases. - - DO i = 1, 120 - n = n + 1 - x1(n) = 281. + 1.*FLOAT(i-1) - y1(n) = 1.E-20*EXP( 2.735 + (4728.5-17.127*x1(n)) / 262.5 ) - ENDDO - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n,0. ,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield : see DATAJ1/YLD/N2O5.qy for explanation -! correct for T-dependence of cross section - - DO iw = 1, nw - 1 - - qy = MIN( 1., 3.832441 - 0.012809638 * wc(iw) ) - qy = MAX( 0., qy ) - - DO i = 1, nz - IF (wc(iw) .GE. 285. .AND. wc(iw) .LE. 380.) THEN - t = MAX(225.,MIN(tlev(i),300.)) - sq(j-1,i,iw) = qy * & - & 1.E-20*EXP( 2.735 + (4728.5-17.127*wc(iw)) / t ) - sq(j,i,iw) = (1.-qy) * & - & 1.E-20*EXP( 2.735 + (4728.5-17.127*wc(iw)) / t ) - ELSE - sq(j-1,i,iw) = qy * yg(iw) - sq(j,i,iw) = (1.-qy) * yg(iw) - ENDIF - ENDDO - ENDDO - -!*************** HNO2 photodissociation - -! cross section from JPL92 -! (from Bongartz et al., identical to JPL94 recommendation) - - j = j + 1 - jlabel(j) = 'HNO2 -> OH + NO' -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO2_jpl85.abs',STATUS='old') - OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO2_jpl92.abs',STATUS='old') - DO i = 1, 13 - READ(kin,*) - ENDDO -! n = 86 - n = 91 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1.E-20 - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield = 1 - - qy = 1. - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** HNO3 photodissociation - - j = j + 1 - jlabel(j) = 'HNO3 -> OH + NO2' - -!* cross section from JPL85 -! -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO3.abs',STATUS='old') -! DO i = 1, 9 -! READ(kin,*) -! ENDDO -! n = 29 -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1.E-20 -! ENDDO -! CLOSE (kin) -! -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF -! -!* quantum yield = 1 -! -! qy = 1. -! DO iw = 1, nw - 1 -! DO i = 1, nz -! sq(j,i,iw) = yg(iw)*qy -! ENDDO -! ENDDO - - -! HNO3 cross section parameters from Burkholder et al. 1993 - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO3_burk.abs',STATUS='old') - DO i = 1, 6 - READ(kin,*) - END DO - n1 = 83 - n2 = n1 - DO i = 1, n1 - READ(kin,*) y1(i), y2(i) - x1(i) = 184. + i*2. - x2(i) = x1(i) - END DO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),y2(1)) - CALL addpnt(x2,y2,kdata,n2, 0.,y2(1)) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),y2(n2)) - CALL addpnt(x2,y2,kdata,n2, 1.e+38,y2(n2)) - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield = 1 -! correct for temperature dependence - - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg1(iw) * 1.E-20 & - & * exp( yg2(iw)/1.e3*(tlev(i)-298.) ) - END DO - END DO - - -!*************** HNO4 photodissociation - -! cross section from JPL85 (identical to JPL92 and JPL94) - - j = j + 1 - jlabel(j) = 'HNO4 -> HO2 + NO2' -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO4.abs',STATUS='old') - OPEN(UNIT=kin,FILE='DATAJ1/ABS/HNO4_jpl92.abs',STATUS='old') - DO i = 1, 4 - READ(kin,*) - ENDDO - n = 31 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1.E-20 - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield = 1 - - qy = 1. - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** H2O2 photodissociation - -! cross section from Lin et al. 1978 - - j = j + 1 - jlabel(j) = 'H2O2 -> 2 OH' -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/H2O2_lin.abs',STATUS='old') -! DO i = 1, 7 -! READ(kin,*) -! ENDDO -! n = 32 -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1.E-20 -! ENDDO -! CLOSE (kin) -! -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -! cross section from JPL94 -! tabulated data up to 260 nm - OPEN(UNIT=kin,FILE='DATAJ1/ABS/H2O2_jpl94.abs',STATUS='old') - READ(kin,*) idum,n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1.E-20 - ENDDO - CLOSE (kin) - - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - - A0 = 6.4761E+04 - A1 = -9.2170972E+02 - A2 = 4.535649 - A3 = -4.4589016E-03 - A4 = -4.035101E-05 - A5 = 1.6878206E-07 - A6 = -2.652014E-10 - A7 = 1.5534675E-13 - - B0 = 6.8123E+03 - B1 = -5.1351E+01 - B2 = 1.1522E-01 - B3 = -3.0493E-05 - B4 = -1.0924E-07 - -! quantum yield = 1 - qy = 1. - - DO iw = 1, nw - 1 - -! Parameterization (JPL94) -! Range 260-350 nm; 200-400 K - - IF ((wl(iw) .GE. 260.) .AND. (wl(iw) .LT. 350.)) THEN - - lambda = wc(iw) - sumA = ((((((A7*lambda + A6)*lambda + A5)*lambda + & - & A4)*lambda +A3)*lambda + A2)*lambda + & - & A1)*lambda + A0 - sumB = (((B4*lambda + B3)*lambda + B2)*lambda + & - & B1)*lambda + B0 - - DO i = 1, nz - t = MIN(MAX(tlev(i),200.),400.) - chi = 1./(1.+EXP(-1265./t)) - xs = (chi * sumA + (1.-chi)*sumB)*1E-21 - sq(j,i,iw) = xs*qy - ENDDO - ELSE - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDIF - - ENDDO - -!*************** CH2O photodissociatation - - j = j+1 - jlabel(j) = 'CH2O -> H + HCO' - - j = j+1 - jlabel(j) = 'CH2O -> H2 + CO' - -! cross section data from Cantrell et al., as recommended in JPL 94. -! JPL recommended values are averaged over 2.5 nm intervals from 301.25-356.25 -! nm; a temperature dependence is given between -50 and +20 degrees C. - - -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/CH2O_jpl94.abs',STATUS='OLD') -! READ(kin,*) idum, n -! DO i = 1, idum-2 -! READ(kin,*) -! ENDDO -! DO i = 1, n -! READ(kin,*) x1(i),dum,dum,y1(i),y2(i) -! x1(i) = x1(i)-1.25 -! x2(i) = x1(i) -! y1(i) = y1(i)*2.5 -! y2(i) = y2(i)*2.5 -! ENDDO -! x1(n+1) = x1(n)+1.25 -! x2(n+1) = x1(n+1) -! n = n+1 -! n1 = n -! n2 = n -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax), 0.) -! CALL addpnt(x1,y1,kdata,n1, 0., 0.) -! CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n1, 1.e+38, 0.) -! CALL inter3(nw,wl,yg1,n1,x1,y1,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -! CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax), 0.) -! CALL addpnt(x2,y2,kdata,n2, 0., 0.) -! CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) -! CALL addpnt(x2,y2,kdata,n2, 1.e+38,0.) -! CALL inter3(nw,wl,yg2,n2,x2,y2,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -! DO iw = 1, nw-1 -! yg1(iw) = yg1(iw)/(wl(iw+1)-wl(iw)) -! yg2(iw) = yg2(iw)/(wl(iw+1)-wl(iw)) -! ENDDO - - -! cross section (Cantrell et al., 199?, original data set) - - OPEN(kin,FILE='DATAJ1/ABS/CH2O_can.abs',STATUS='old') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i) -! data are on wavenumber grid (cm-1), so convert to wavelength in nm: - x1(i) = 1./x1(i) * 1E7 -! cross section assumed to be zero for wavelengths longer than 360 nm - IF (x1(i) .GT. 360.) THEN - y1(i) = 0. - y2(i) = 0. - ENDIF - ENDDO - CLOSE(kin) - - -! grid was on increasing wavenumbers, so need to reverse to get increasing -! wavelengths - - DO i = 1, n/2 - - irev = n+1-i - - dum = x1(i) - x1(i) = x1(irev) - x1(irev) = dum - - dum = y1(i) - y1(i) = y1(irev) - y1(irev) = dum - - dum = y2(i) - y2(i) = y2(irev) - y2(irev) = dum - - ENDDO - - DO i = 1, n - x2(i) = x1(i) - ENDDO - - n1 = n - n2 = n - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg3,n1,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg4,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - -! quantum yields - - OPEN(UNIT=kin,FILE='DATAJ1/YLD/CH2O_i_mad.yld',STATUS='old') - DO i = 1, 11 - READ(kin,*) - ENDDO - n = 20 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j-1) - STOP - ENDIF - DO iw = 1, nw - 1 - DO i = 1, nz -! sq(j-1,i,iw) = yg(iw)*yg1(iw) - t = Max(223.15,MIN(tlev(i),293.15))-273.15 - xs = Max(yg3(iw)+yg4(iw)*t,0.) - sq(j-1,i,iw) = xs * yg1(iw) - ENDDO - ENDDO - - OPEN(UNIT=kin,FILE='DATAJ1/YLD/CH2O_ii_mad.yld',STATUS='old') - DO i = 1, 9 - READ(kin,*) - ENDDO - n = 33 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg2,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! pressure and temmperature dependent for w > 330. - DO iw = 1, nw - 1 - DO i = 1, nz - IF ( (wc(iw) .GE. 330.) .AND. (yg2(iw) .GT. 0.) ) THEN - phi1 = yg1(iw) - phi2 = yg2(iw) - phi20 = 1. - phi1 - ak300=((1./phi2)-(1./phi20))/2.54E+19 - akt=ak300*(1.+61.69*(1.-tlev(i)/300.)*(wc(iw)/329.-1.)) - qy = 1. / ( (1./phi20) + airlev(i)*akt) - ELSE - qy = yg2(iw) - ENDIF - qy = MAX(0.,qy) - qy = MIN(1.,qy) -! sq(j,i,iw) = yg(iw)*qy - t = Max(223.15,MIN(tlev(i),293.15))-273.15 - xs = Max(yg3(iw)+yg4(iw)*t,0.) - sq(j,i,iw) = xs * qy - ENDDO - ENDDO - -!*************** CH3OOH photodissociation - -! cross section from JPL 94 (identical to JPL92) - - j = j + 1 - jlabel(j) = 'CH3OOH -> CH3O + OH' -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/h011_jpl85.abs',STATUS='old') -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/h011_jpl92.abs',STATUS='old') - OPEN(UNIT=kin,FILE='DATAJ1/ABS/CH3OOH_jpl94.abs',STATUS='old') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1.E-20 - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield = 1 - - qy = 1. - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** CH3ONO2 photodissociation - -! cross section from Calvert and Pitts - - j = j + 1 - jlabel(j) = 'CH3ONO2 -> CH3O+NO2' - OPEN(UNIT=kin,FILE='DATAJ1/ABS/n011_cp.abs',STATUS='old') - DO i = 1, 3 - READ(kin,*) - ENDDO - n = 15 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield = 1 - - qy = 1. - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** CH3CHO photodissociation - -! cross section from Calvert and Pitts - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/d021_cp.abs',STATUS='old') - DO i = 1, 14 - READ(kin,*) - ENDDO - n = 54 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - x1(i) = x1(i)/10. - y1(i) = y1(i) * 3.82E-21 - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield - - j = j + 1 - jlabel(j) = 'CH3CHO -> CH3+CHO' - OPEN(UNIT=kin,FILE='DATAJ1/YLD/d021_i.yld',STATUS='old') - DO i = 1, 18 - READ(kin,*) - ENDDO - n = 10 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - DO iw = 1, nw - 1 - DO i = 1, nz - IF (yg1(iw).NE.0.) THEN - qy = 1./(1.+ (1./yg1(iw) -1.)*airlev(i)/2.465E19) - ELSE - qy = 0. - ENDIF - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - - j = j + 1 - jlabel(j) = 'CH3CHO -> ii' - OPEN(UNIT=kin,FILE='DATAJ1/YLD/d021_ii.yld',STATUS='old') - DO i = 1, 10 - READ(kin,*) - ENDDO - n = 9 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*yg1(iw) - ENDDO - ENDDO - - j = j + 1 - jlabel(j) = 'CH3CHO -> iii' - OPEN(UNIT=kin,FILE='DATAJ1/YLD/d021_iii.yld',STATUS='old') - DO i = 1, 10 - READ(kin,*) - ENDDO - n = 9 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),y1(1)) - CALL addpnt(x1,y1,kdata,n, 0.,y1(1)) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg1,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - DO iw = 1, nw - 1 - DO i = 1, nz - sq(j,i,iw) = yg(iw)*yg1(iw) - ENDDO - ENDDO - -!*************** CH3COCH3 photodissociation - -! cross section from Calvert and Pitts - - j = j + 1 - jlabel(j) = 'CH3COCH3 ' - OPEN(UNIT=kin,FILE='DATAJ1/ABS/k031_cp.abs',STATUS='old') - DO i = 1, 6 - READ(kin,*) - ENDDO - n = 35 - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 3.82E-21 - ENDDO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF -! quantum yield from Gardiner et al. 1984: - - DO iw = 1, nw - 1 - DO i = 1, nz - qy = 0.0766 + 0.09415*EXP(-airlev(i)/3.222e18) - sq(j,i,iw) = yg(iw)*qy - ENDDO - ENDDO - -!*************** PAN photodissociation - - j = j+1 - jlabel(j) = 'PAN + hv -> products' - -! cross section from Senum et al., 1984, J.Phys.Chem. 88/7, 1269-1270 - -! OPEN(UNIT=kin,FILE='DATAJ1/ABS/PAN_senum.abs',STATUS='OLD') -! DO i = 1, 14 -! READ(kin,*) -! ENDDO -! n = 21 -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1.E-20 -! ENDDO -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -! cross section from -! Talukdar et al., 1995, J.Geophys.Res. 100/D7, 14163-14174 - - OPEN(UNIT=kin,FILE='DATAJ1/ABS/PAN_talukdar.abs',STATUS='OLD') - DO i = 1, 14 - READ(kin,*) - ENDDO - n = 78 - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i) - y1(i) = y1(i) * 1.E-20 - y2(i) = y2(i) * 1E-3 - x2(i) = x1(i) - ENDDO - n2 = n - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! quantum yield -! yet unknown, but assumed to be 1.0 (Talukdar et al., 1995) - - qy = 1.0 - - DO iw = 1, nw-1 - DO i = 1, nz - xs = yg(iw) * EXP(yg2(iw)*(tlev(i)-298.)) - sq(j,i,iw) = qy * xs - ENDDO - ENDDO - -!************************************************************* -!************ CCl2O photodissociation - - j = j+1 - jlabel(j) = 'CCl2O + hv -> Products' - -!** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CCl2O_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield unity (Calvert and Pitts) - qy = 1. - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CCl4 photodissociation - - j = j+1 - jlabel(j) = 'CCl4 + hv -> Products' - -!** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CCl4_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield assumed to be unity - qy = 1. - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CClFO photodissociation - - j = j+1 - jlabel(j) = 'CClFO + hv -> Products' - -!** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CClFO_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield unity - qy = 1. - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2O photodissociation - - j = j+1 - jlabel(j) = 'CF2O + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CF2O_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield unity (Nolle et al.) - qy = 1. - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2ClCFCl2 (CFC-113) photodissociation - - j = j+1 - jlabel(j) = 'CF2ClCFCl2 (CFC-113) + hv -> Products' - -!** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CFC-113_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i) - y1(i) = y1(i) * 1E-20 - y2(i) = y2(i) * 1E-20 - x2(i) = x1(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - -!* sigma @ 295 K - - CALL addpnt(x1,y1,kdata,n1, x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! sigma @ 210 K - - CALL addpnt(x2,y2,kdata,n2, x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = MAX(210.,MIN(tlev(iz),295.)) - slope = (t-210.)/(295.-210.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg2(iw) + slope*(yg1(iw)-yg2(iw))) - ENDDO - ENDDO - -!************************************************************* -!************ CF2ClCF2Cl (CFC-114) photodissociation - - j = j+1 - jlabel(j) = 'CF2ClCF2Cl (CFC-114) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CFC-114_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i) - y1(i) = y1(i) * 1E-20 - y2(i) = y2(i) * 1E-20 - x2(i) = x1(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - -!* sigma @ 295 K - - CALL addpnt(x1,y1,kdata,n1, x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -! sigma @ 210 K - - CALL addpnt(x2,y2,kdata,n2, x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = MAX(210.,MIN(tlev(iz),295.)) - slope = (t-210.)/(295.-210.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg2(iw) + slope*(yg1(iw)-yg2(iw))) - ENDDO - ENDDO - -!************************************************************* -!************ CF3CF2Cl (CFC-115) photodissociation - - j = j+1 - jlabel(j) = 'CF3CF2Cl (CFC-115) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CFC-115_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - - -!************************************************************* -!************ CCl3F (CFC-11) photodissociation - - j = j+1 - jlabel(j) = 'CCl3F (CFC-11) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CFC-11_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - -!* sigma @ 298 K - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = 1E-04 * (tlev(iz)-298.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * yg(iw) * EXP((wc(iw)-184.9) * t) - ENDDO - ENDDO - -!************************************************************* -!************ CCl2F2 (CFC-12) photodissociation - - j = j+1 - jlabel(j) = 'CCl2F2 (CFC-12) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CFC-12_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - -!* sigma @ 298 K - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = 1E-04 * (tlev(i)-298.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * yg(iw) * EXP((wc(iw)-184.9) * t) - ENDDO - ENDDO - -!************************************************************* -!************ CH3Br photodissociation - - j = j+1 - jlabel(j) = 'CH3Br + hv -> Products' - OPEN(kin,FILE='DATAJ1/ABS/CH3Br_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CH3CCl3 photodissociation - - j = j+1 - jlabel(j) = 'CH3CCl3 + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CH3CCl3_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i), y3(i) - y1(i) = y1(i) * 1E-20 - y2(i) = y2(i) * 1E-20 - y3(i) = y3(i) * 1E-20 - x2(i) = x1(i) - x3(i) = x1(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - n3 = n - -!* sigma @ 295 K - - CALL addpnt(x1,y1,kdata,n1, x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 250 K - - CALL addpnt(x2,y2,kdata,n2, x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 210 K - - CALL addpnt(x3,y3,kdata,n3, x3(1)*(1.-deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 0.,0.) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1E38,0.) - - CALL ch_inter2(nw,wl,yg3,n3,x3,y3,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = MIN(295.,MAX(tlev(iz),210.)) - IF (t .LE. 250.) THEN - slope = (t-210.)/(250.-210.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg3(iw) + slope*(yg2(iw)-yg3(iw))) - ENDDO - ELSE - slope = (t-250.)/(295.-250.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg2(iw) + slope*(yg1(iw)-yg2(iw))) - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ CH3Cl photodissociation - - j = j+1 - jlabel(j) = 'CH3Cl + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/CH3Cl_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i), y3(i) - y1(i) = y1(i) * 1E-20 - y2(i) = y2(i) * 1E-20 - y3(i) = y3(i) * 1E-20 - x2(i) = x1(i) - x3(i) = x1(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - n3 = n - -!* sigma @ 296 K - - CALL addpnt(x1,y1,kdata,n1, x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 279 K - - CALL addpnt(x2,y2,kdata,n2, x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 255 K - - CALL addpnt(x3,y3,kdata,n3, x3(1)*(1.-deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 0.,0.) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1E38,0.) - - CALL ch_inter2(nw,wl,yg3,n3,x3,y3,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = MAX(255.,MIN(tlev(i),296.)) - IF (t .LE. 279.) THEN - slope = (t-255.)/(279.-255.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg3(iw)+slope*(yg2(iw)-yg3(iw))) - ENDDO - ELSE - slope = (t-279.)/(296.-279.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg2(iw)+slope*(yg1(iw)-yg2(iw))) - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ ClOO photodissociation - - j = j+1 - jlabel(j) = 'ClOO + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/ClOO_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF3CHCl2 (HCFC-123) photodissociation - - j = j+1 - jlabel(j) = 'CF3CHCl2 (HCFC-123) + hv -> Products' - -!*** cross sections from JPL94 recommendation - -! OPEN(kin,FILE='DATAJ1/ABS/HCFC-123_jpl94.abs',STATUS='OLD') -! READ(kin,*) idum, n -! DO i = 1, idum-2 -! READ(kin,*) -! ENDDO -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1E-20 -! ENDDO -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1E38,0.) - -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -!*** quantum yield assumed to be unity -! qy = 1. - -! DO iw = 1, nw-1 -! DO iz = 1, nz -! sq(j,iz,iw) = qy * yg(iw) -! ENDDO -! ENDDO - - -!*** cross section from Orlando et al., 1991 - - OPEN(kin,FILE='DATAJ1/ABS/HCFCs_orl.abs',STATUS='OLD') - READ(kin,*) idum - DO i = 1, idum-2 - READ(kin,*) - ENDDO - READ(kin,('(A)')) inline - READ(inline(6:),*) TBar,i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - CLOSE(kin) - - LBar = 206.214 - -!*** quantum yield assumed to be unity - - qy = 1. - - DO iw = 1, nw-1 - lambda = wc(iw) - IF (lambda .GE. 190. .AND. lambda .LE. 230.) THEN - DO iz = 1, nz - t = MIN(295.,MAX(tlev(i),203.))-TBar - sum = 0. - DO i = 1, 4 - sum = (coeff(i,1)+t*(coeff(i,2)+t*coeff(i,3))) * & - & (lambda-LBar)**(i-1) + sum - ENDDO - sq(j,iz,iw) = qy * EXP(sum) - ENDDO - ELSE - DO iz = 1, nz - sq(j,iz,iw) = 0. - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ CF3CHFCl (HCFC-124) photodissociation - - j = j+1 - jlabel(j) = 'CF3CHFCl (HCFC-124) + hv -> Products' - -!*** cross sections from JPL94 recommendation - -! OPEN(kin,FILE='DATAJ1/ABS/HCFC-124_jpl94.abs',STATUS='OLD') -! READ(kin,*) idum, n -! DO i = 1, idum-2 -! READ(kin,*) -! ENDDO -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1E-20 -! ENDDO -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1E38,0.) - -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -!*** quantum yield assumed to be unity -! qy = 1. - -! DO iw = 1, nw-1 -! DO iz = 1, nz -! sq(j,iz,iw) = qy * yg(iw) -! ENDDO -! ENDDO - -!*** cross section from Orlando et al., 1991 - - OPEN(kin,FILE='DATAJ1/ABS/HCFCs_orl.abs',STATUS='OLD') - READ(kin,*) idum - idum = idum+5 - DO i = 1, idum-2 - READ(kin,*) - ENDDO - READ(kin,('(A)')) inline - READ(inline(6:),*) TBar,i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - CLOSE(kin) - - LBar = 206.214 - -!*** quantum yield assumed to be unity - - qy = 1. - - DO iw = 1, nw-1 - lambda = wc(iw) - IF (lambda .GE. 190. .AND. lambda .LE. 230.) THEN - DO iz = 1, nz - t = MIN(295.,MAX(tlev(i),203.))-TBar - sum = 0. - DO i = 1, 4 - sum = (coeff(i,1)+t*(coeff(i,2)+t*coeff(i,3))) * & - & (lambda-LBar)**(i-1) + sum - ENDDO - sq(j,iz,iw) = qy * EXP(sum) - ENDDO - ELSE - DO iz = 1, nz - sq(j,iz,iw) = 0. - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ CH3CFCl2 (HCFC-141b) photodissociation - - j = j+1 - jlabel(j) = 'CH3CFCl2 (HCFC-141b) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/HCFC-141b_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CH3CF2Cl (HCFC-142b) photodissociation - - j = j+1 - jlabel(j) = 'CH3CF2Cl (HCFC-142b) + hv -> Products' - -!*** cross sections from JPL94 recommendation - -! OPEN(kin,FILE='DATAJ1/ABS/HCFC-142b_jpl94.abs',STATUS='OLD') -! READ(kin,*) idum, n -! DO i = 1, idum-2 -! READ(kin,*) -! ENDDO -! DO i = 1, n -! READ(kin,*) x1(i), y1(i) -! y1(i) = y1(i) * 1E-20 -! ENDDO -! CLOSE(kin) - -! CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 0.,0.) -! CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) -! CALL addpnt(x1,y1,kdata,n, 1E38,0.) - -! CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - -! IF (ierr .NE. 0) THEN -! WRITE(*,*) ierr, jlabel(j) -! STOP -! ENDIF - -!*** quantum yield assumed to be unity -! qy = 1. - -! DO iw = 1, nw-1 -! DO iz = 1, nz -! sq(j,iz,iw) = qy * yg(iw) -! ENDDO -! ENDDO - -!*** cross section from Orlando et al., 1991 - - OPEN(kin,FILE='DATAJ1/ABS/HCFCs_orl.abs',STATUS='OLD') - READ(kin,*) idum - idum = idum+10 - DO i = 1, idum-2 - READ(kin,*) - ENDDO - READ(kin,('(A)')) inline - READ(inline(6:),*) TBar,i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - READ(kin,*) i,(coeff(i,k),k=1,3) - CLOSE(kin) - - LBar = 206.214 - -!*** quantum yield assumed to be unity - - qy = 1. - - DO iw = 1, nw-1 - lambda = wc(iw) - IF (lambda .GE. 190. .AND. lambda .LE. 230.) THEN - DO iz = 1, nz - t = MIN(295.,MAX(tlev(i),203.))-TBar - sum = 0. - DO i = 1, 4 - sum = (coeff(i,1)+t*(coeff(i,2)+t*coeff(i,3))) * & - & (lambda-LBar)**(i-1) + sum - ENDDO - sq(j,iz,iw) = qy * EXP(sum) - ENDDO - ELSE - DO iz = 1, nz - sq(j,iz,iw) = 0. - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ CF3CF2CHCl2 (HCFC-225ca) photodissociation - - j = j+1 - jlabel(j) = 'CF3CF2CHCl2 (HCFC-225ca) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/HCFC-225ca_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2ClCF2CHFCl (HCFC-225cb) photodissociation - - j = j+1 - jlabel(j) = 'CF2ClCF2CHFCl (HCFC-225cb) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/HCFC-225cb_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CHClF2 (HCFC-22) photodissociation - - j = j+1 - jlabel(j) = 'CHClF2 (HCFC-22) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/HCFC-22_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i), y2(i), y3(i), y4(i), y5(i) - y1(i) = y1(i) * 1E-20 - y2(i) = y2(i) * 1E-20 - y3(i) = y3(i) * 1E-20 - y4(i) = y4(i) * 1E-20 - y5(i) = y5(i) * 1E-20 - x2(i) = x1(i) - x3(i) = x1(i) - x4(i) = x1(i) - x5(i) = x1(i) - ENDDO - CLOSE(kin) - - n1 = n - n2 = n - n3 = n - n4 = n - n5 = n - -!* sigma @ 295 K - - CALL addpnt(x1,y1,kdata,n1, x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1E38,0.) - - CALL ch_inter2(nw,wl,yg1,n1,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 270 K - - CALL addpnt(x2,y2,kdata,n2, x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1E38,0.) - - CALL ch_inter2(nw,wl,yg2,n2,x2,y2,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 250 K - - CALL addpnt(x3,y3,kdata,n3, x3(1)*(1.-deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 0.,0.) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1E38,0.) - - CALL ch_inter2(nw,wl,yg3,n3,x3,y3,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 230 K - - CALL addpnt(x4,y4,kdata,n4, x4(1)*(1.-deltax),0.) - CALL addpnt(x4,y4,kdata,n4, 0.,0.) - CALL addpnt(x4,y4,kdata,n4,x4(n4)*(1.+deltax),0.) - CALL addpnt(x4,y4,kdata,n4, 1E38,0.) - - CALL ch_inter2(nw,wl,yg4,n4,x4,y4,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!* sigma @ 210 K - - CALL addpnt(x5,y5,kdata,n5, x5(1)*(1.-deltax),0.) - CALL addpnt(x5,y5,kdata,n5, 0.,0.) - CALL addpnt(x5,y5,kdata,n5,x5(n5)*(1.+deltax),0.) - CALL addpnt(x5,y5,kdata,n5, 1E38,0.) - - CALL ch_inter2(nw,wl,yg5,n5,x5,y5,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iz = 1, nz - t = MIN(295.,MAX(tlev(iz),210.)) - IF (t .LE. 230.) THEN - slope = (t-210.)/(230.-210.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg5(iw)+slope*(yg4(iw)-yg5(iw))) - ENDDO - ELSEIF (t .LE. 250.) THEN - slope = (t-230.)/(250.-230.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg4(iw)+slope*(yg3(iw)-yg4(iw))) - ENDDO - ELSEIF (t .LE. 270.) THEN - slope = (t-250.)/(270.-250.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg3(iw)+slope*(yg2(iw)-yg3(iw))) - ENDDO - ELSE - slope = (t-270.)/(295.-270.) - DO iw = 1, nw-1 - sq(j,iz,iw) = qy * (yg2(iw)+slope*(yg1(iw)-yg2(iw))) - ENDDO - ENDIF - ENDDO - -!************************************************************* -!************ HO2 photodissociation - - j = j+1 - jlabel(j) = 'HO2 + hv -> OH + O' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/HO2_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield: absolute quantum yield has not been reported yet, but -!*** Lee measured a quantum yield for O(1D) production at 248 -!*** nm that was 15 time larger than at 193 nm -!*** here: a quantum yield of unity is assumed at 248 nm and beyond, for -!*** shorter wavelengths a linear decrease with lambda is assumed - - DO iw = 1, nw-1 - IF (wc(iw) .GE. 248.) THEN - qy = 1. - ELSE - qy = 1./15. + (wc(iw)-193.)*(14./15.)/(248.-193.) - qy = MAX(qy,0.) - ENDIF - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2Br2 (Halon-1202) photodissociation - - j = j+1 - jlabel(j) = 'CF2Br2 (Halon-1202) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/Halon-1202_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield unity (Molina and Molina) - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2BrCl (Halon-1211) photodissociation - - j = j+1 - jlabel(j) = 'CF2BrCl (Halon-1211) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/Halon-1211_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF3Br (Halon-1301) photodissociation - - j = j+1 - jlabel(j) = 'CF3Br (Halon-1301) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/Halon-1301_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ CF2BrCF2Br (Halon-2402) photodissociation - - j = j+1 - jlabel(j) = 'CF2BrCF2Br (Halon-2402) + hv -> Products' - -!*** cross sections from JPL94 recommendation - - OPEN(kin,FILE='DATAJ1/ABS/Halon-2402_jpl94.abs',STATUS='OLD') - READ(kin,*) idum, n - DO i = 1, idum-2 - READ(kin,*) - ENDDO - DO i = 1, n - READ(kin,*) x1(i), y1(i) - y1(i) = y1(i) * 1E-20 - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)+deltax,0.) - CALL addpnt(x1,y1,kdata,n, 1E38,0.) - - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, jlabel(j) - STOP - ENDIF - -!*** quantum yield assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - DO iz = 1, nz - sq(j,iz,iw) = qy * yg(iw) - ENDDO - ENDDO - -!************************************************************* -!************ N2O photodissociation - - j = j+1 - jlabel(j) = 'N2O + hv -> N2 + O(1D)' - -!*** cross sections according to JPL94 recommendation -!*** see file DATAJ1/ABS/N2O_jpl94.abs for detail - - A0 = 68.21023 - A1 = -4.071805 - A2 = 4.301146E-02 - A3 = -1.777846E-04 - A4 = 2.520672E-07 - - B0 = 123.4014 - B1 = -2.116255 - B2 = 1.111572E-02 - B3 = -1.881058E-05 - -!*** quantum yield of N(4s) and NO(2Pi) is less than 1% (Greenblatt and -!*** Ravishankara), so quantum yield of O(1D) is assumed to be unity - qy = 1. - - DO iw = 1, nw-1 - lambda = wc(iw) - IF (lambda .GE. 173. .AND. lambda .LE. 240.) THEN - DO iz = 1, nz - t = MAX(194.,MIN(tlev(iz),320.)) - A = (((A4*lambda+A3)*lambda+A2)*lambda+A1)*lambda+A0 - B = (((B3*lambda+B2)*lambda+B1)*lambda+B0) - B = (t-300.)*EXP(B) - sq(j,iz,iw) = qy * EXP(A+B) - ENDDO - ELSE - DO iz = 1, nz - sq(j,iz,iw) = 0. - ENDDO - ENDIF - ENDDO - - - - -!*************************************************************** -!*************************************************************** - - IF (j .GT. kj) STOP '1002' - IF (LHOOK) CALL DR_HOOK('JSPEC1',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE JSPEC1 diff --git a/src/arome/chem/internals/lunsav.F b/src/arome/chem/internals/lunsav.F deleted file mode 100644 index bc24aa9e6d13263d4b29ac1dc76e1aedc6cc8993..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/lunsav.F +++ /dev/null @@ -1,52 +0,0 @@ -! ######spl - FUNCTION LUNSAV (IVALUE, ISET) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - INTEGER LUNSAV - LOGICAL ISET - INTEGER IVALUE -!----------------------------------------------------------------------- -! LUNSAV saves and recalls the parameter LUNIT which is the logical -! unit number to which error messages are printed. -! -! Saved local variable.. -! -! LUNIT = Logical unit number for messages. -! The default is 6 (machine-dependent). -! -! On input.. -! -! IVALUE = The value to be set for the LUNIT parameter, -! if ISET is .TRUE. . -! -! ISET = Logical flag to indicate whether to read or write. -! If ISET=.TRUE., the LUNIT parameter will be given -! the value IVALUE. If ISET=.FALSE., the LUNIT -! parameter will be unchanged, and IVALUE is a dummy -! parameter. -! -! On return.. -! -! The (old) value of the LUNIT parameter will be returned -! in the function value, LUNSAV. -! -! This is a modification of the SLATEC library routine J4SAVE. -! -! Subroutines/functions called by LUNSAV.. None -!----------------------------------------------------------------------- - INTEGER LUNIT -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE LUNIT - DATA LUNIT/6/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('LUNSAV',0,ZHOOK_HANDLE) - LUNSAV = LUNIT - IF (ISET) LUNIT = IVALUE - IF (LHOOK) CALL DR_HOOK('LUNSAV',1,ZHOOK_HANDLE) - RETURN -!----------------------- End of Function LUNSAV ------------------------ - ENDFUNCTION LUNSAV diff --git a/src/arome/chem/internals/mflgsv.F b/src/arome/chem/internals/mflgsv.F deleted file mode 100644 index ef9efd236d4420c01e1775d9a8d376554a40f7c2..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/mflgsv.F +++ /dev/null @@ -1,53 +0,0 @@ -! ######spl - FUNCTION MFLGSV (IVALUE, ISET) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - INTEGER MFLGSV - LOGICAL ISET - INTEGER IVALUE -!----------------------------------------------------------------------- -! MFLGSV saves and recalls the parameter MESFLG which controls the -! printing of the error messages. -! -! Saved local variable.. -! -! MESFLG = Print control flag.. -! 1 means print all messages (the default). -! 0 means no printing. -! -! On input.. -! -! IVALUE = The value to be set for the MESFLG parameter, -! if ISET is .TRUE. . -! -! ISET = Logical flag to indicate whether to read or write. -! If ISET=.TRUE., the MESFLG parameter will be given -! the value IVALUE. If ISET=.FALSE., the MESFLG -! parameter will be unchanged, and IVALUE is a dummy -! parameter. -! -! On return.. -! -! The (old) value of the MESFLG parameter will be returned -! in the function value, MFLGSV. -! -! This is a modification of the SLATEC library routine J4SAVE. -! -! Subroutines/functions called by MFLGSV.. None -!----------------------------------------------------------------------- - INTEGER MESFLG -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE MESFLG - DATA MESFLG/1/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MFLGSV',0,ZHOOK_HANDLE) - MFLGSV = MESFLG - IF (ISET) MESFLG = IVALUE - IF (LHOOK) CALL DR_HOOK('MFLGSV',1,ZHOOK_HANDLE) - RETURN -!----------------------- End of Function MFLGSV ------------------------ - ENDFUNCTION MFLGSV diff --git a/src/arome/chem/internals/nn.F90 b/src/arome/chem/internals/nn.F90 deleted file mode 100644 index c98ae89941a30d5b19caf97f7012b15fadc1526a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/nn.F90 +++ /dev/null @@ -1,56 +0,0 @@ -! ######spl - SUBROUTINE NN( X, Y, PRH, TEMP, A, B, C, KVECTN ) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! .. call the neural net .. -USE MODD_CH_AEROSOL - IMPLICIT NONE - -! .. parameters -INTEGER, INTENT(IN) :: KVECTN -REAL, DIMENSION(KVECTN), INTENT(INOUT) :: X, Y, A, B, C -REAL, DIMENSION(KVECTN), INTENT(IN) :: PRH, TEMP - -REAL, DIMENSION(KVECTN) :: ZRH, ZTEMP -REAL, DIMENSION(KVECTN) :: X1,X2 -REAL, DIMENSION(KVECTN) :: A1,A2,B2,C1,C2 -REAL,DIMENSION(KVECTN,100) :: XIN,YOUT - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('NN',0,ZHOOK_HANDLE) -X(:)=MAX(0.1,X(:)) -X(:)=MIN(3.999,X(:)) -Y(:)=MAX(0.05,Y(:)) -Y(:)=MIN(0.99,Y(:)) -ZRH(:)=MAX(0.5,PRH(:)) -ZRH(:)=MIN(0.9,PRH(:)) -ZTEMP(:)=MAX(275.,TEMP(:)) -ZTEMP(:)=MIN(315.,TEMP(:)) - -X2(:)=REAL(INT(X(:)/2.)) -X1(:)=REAL(INT(2.-X(:)/2.)) - -XIN(:,1) = X(:) -XIN(:,2) = Y(:) -XIN(:,3) = ZRH(:) -XIN(:,4) = ZTEMP(:) - -CALL FCTRESO(I1IA,J1JA,K1KA,W1IJA,W1JKA,X1MAXA,X1MINA,X1MODA,XIN,YOUT,KVECTN) -A1(:) = (YOUT(:,1)) -CALL FCTRESO(I1IC,J1JC,K1KC,W1IJC,W1JKC,X1MAXC,X1MINC,X1MODC,XIN,YOUT,KVECTN) -C1(:) = (YOUT(:,1)) -CALL FCTRESO(I2IA,J2JA,K2KA,W2IJA,W2JKA,X2MAXA,X2MINA,X2MODA,XIN,YOUT,KVECTN) -A2(:) = (YOUT(:,1)) -CALL FCTRESO(I2IB,J2JB,K2KB,W2IJB,W2JKB,X2MAXB,X2MINB,X2MODB,XIN,YOUT,KVECTN) -B2(:) = exp(YOUT(:,1)) -CALL FCTRESO(I2IC,J2JC,K2KC,W2IJC,W2JKC,X2MAXC,X2MINC,X2MODC,XIN,YOUT,KVECTN) -C2(:) = (YOUT(:,1)) - -A(:)=X1(:)*A1(:)+X2(:)*A2(:) -B(:)=X2(:)*B2(:) -C(:)=X1(:)*C1(:)+X2(:)*C2(:) - -IF (LHOOK) CALL DR_HOOK('NN',1,ZHOOK_HANDLE) -RETURN -END SUBROUTINE NN diff --git a/src/arome/chem/internals/o2spec.F b/src/arome/chem/internals/o2spec.F deleted file mode 100644 index 5745b71822a19e57a33b3ff0bf8977f27366e866..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/o2spec.F +++ /dev/null @@ -1,69 +0,0 @@ -! ######spl - SUBROUTINE o2spec(j,jlabel) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! calling parameters - - INTEGER j - CHARACTER*40 jlabel(kj) -!____________________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('O2SPEC',0,ZHOOK_HANDLE) - j = j+1 - jlabel(j) = 'O2 + hv -> Products' -!____________________________________________________________________________ - - IF (j .GT. kj) STOP '1004' - - IF (LHOOK) CALL DR_HOOK('O2SPEC',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE O2SPEC diff --git a/src/arome/chem/internals/ps2str.F b/src/arome/chem/internals/ps2str.F deleted file mode 100644 index d33d3dd88353523b67acb72ee2e275399fc95b53..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/ps2str.F +++ /dev/null @@ -1,461 +0,0 @@ -! ######spl - SUBROUTINE ps2str(nlevel,zen,rsfc,tauu,omu,gu, & - & dsdh, nid, delta, & - & fdr, fup, fdn, edr, eup, edn) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER nrows - PARAMETER(nrows=2*kz) - -!****** -! input: -!****** - INTEGER nlevel - REAL zen, rsfc - REAL tauu(kz), omu(kz), gu(kz) - REAL dsdh(0:kz,kz) - INTEGER nid(0:kz) - LOGICAL delta - -!****** -! output: -!****** - REAL fup(kz),fdn(kz),fdr(kz) - REAL eup(kz),edn(kz),edr(kz) - -!****** -! local: -!****** - REAL tausla(0:kz), tauc(0:kz) - REAL mu2(0:kz), mu, sum - -! internal coefficients and matrix - REAL lam(kz),taun(kz),bgam(kz) - REAL e1(kz),e2(kz),e3(kz),e4(kz) - REAL cup(kz),cdn(kz),cuptn(kz),cdntn(kz) - REAL mu1(kz) - INTEGER row - REAL a(nrows),b(nrows),d(nrows),e(nrows),y(nrows) - -!****** -! other: -!****** - REAL pifs, fdn0 - REAL gi(kz), omi(kz), tempg - REAL f, g, om - REAL gam1, gam2, gam3, gam4 - -! For calculations of Associated Legendre Polynomials for GAMA1,2,3,4 -! in delta-function, modified quadrature, hemispheric constant, -! Hybrid modified Eddington-delta function metods, p633,Table1. -! W.E.Meador and W.R.Weaver, GAS,1980,v37,p.630 -! W.J.Wiscombe and G.W. Grams, GAS,1976,v33,p2440, -! uncomment the following two lines and the appropriate statements further -! down. -! REAL YLM0, YLM2, YLM4, YLM6, YLM8, YLM10, YLM12, YLMS, BETA0, -! > BETA1, BETAn, amu1, subd - - REAL expon, expon0, expon1, divisr, temp, up, dn - REAL ssfc - INTEGER nlayer, mrows, lev - - INTEGER i, j - -! Some additional program constants: - REAL eps, precis - PARAMETER (eps = 1.E-3, precis = 1.E-7) -!_______________________________________________________________________ - -! MU = cosine of solar zenith angle -! RSFC = surface albedo -! TAUU = unscaled optical depth of each layer -! OMU = unscaled single scattering albedo -! GU = unscaled asymmetry factor -! KLEV = max dimension of number of layers in atmosphere -! NLAYER = number of layers in the atmosphere -! NLEVEL = nlayer + 1 = number of levels - -! initial conditions: pi*solar flux = 1; diffuse incidence = 0 - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('PS2STR',0,ZHOOK_HANDLE) - pifs = 1. - fdn0 = 0. - - nlayer = nlevel - 1 - - mu = COS(zen*pi/180.) - -!************* compute coefficients for each layer: -! GAM1 - GAM4 = 2-stream coefficients, different for different approximations -! EXPON0 = calculation of e when TAU is zero -! EXPON1 = calculation of e when TAU is TAUN -! CUP and CDN = calculation when TAU is zero -! CUPTN and CDNTN = calc. when TAU is TAUN -! DIVISR = prevents division by zero - - do j = 0, kz - tauc(j) = 0. - tausla(j) = 0. - mu2(j) = 1./SQRT(largest) - - end do - - IF( .NOT. delta ) THEN - DO i = 1, nlayer - gi(i) = gu(i) - omi(i) = omu(i) - taun(i) = tauu(i) - ENDDO - ELSE -! delta-scaling. Have to be done for delta-Eddington approximation, -! delta discrete ordinate, Practical Improved Flux Method, delta function, -! and Hybrid modified Eddington-delta function methods approximations - DO i = 1, nlayer - f = gu(i)*gu(i) - gi(i) = (gu(i) - f)/(1 - f) - omi(i) = (1 - f)*omu(i)/(1 - omu(i)*f) - taun(i) = (1 - omu(i)*f)*tauu(i) - ENDDO - END IF - -! -! calculate slant optical depth at the top of the atmosphere when zen>90. -! in this case, higher altitude of the top layer is recommended which can -! be easily changed in gridz.f. -! - IF(zen .GT. 90.0) THEN - IF(nid(0) .LT. 0) THEN - tausla(0) = largest - ELSE - sum = 0.0 - DO j = 1, nid(0) - sum = sum + 2.*taun(j)*dsdh(0,j) - END DO - tausla(0) = sum - END IF - END IF - -! - DO 11, i = 1, nlayer - - g = gi(i) - om = omi(i) - tauc(i) = tauc(i-1) + taun(i) - -! stay away from 1 by precision. For g, also stay away from -1 - - tempg = AMIN1(abs(g),1. - precis) - g = SIGN(tempg,g) - om = AMIN1(om,1.-precis) - - -! calculate slant optical depth -! - IF(nid(i) .LT. 0) THEN - tausla(i) = largest - ELSE - sum = 0.0 - DO j = 1, MIN(nid(i),i) - sum = sum + taun(j)*dsdh(i,j) - ENDDO - DO j = MIN(nid(i),i)+1,nid(i) - sum = sum + 2.*taun(j)*dsdh(i,j) - ENDDO - tausla(i) = sum - IF(tausla(i) .EQ. tausla(i-1)) THEN - mu2(i) = SQRT(largest) - ELSE - mu2(i) = (tauc(i)-tauc(i-1))/(tausla(i)-tausla(i-1)) - mu2(i) = SIGN( AMAX1(ABS(mu2(i)),1./SQRT(largest)), & - & mu2(i) ) - END IF - END IF -! -!** the following gamma equations are from pg 16,289, Table 1 -!** save mu1 for each approx. for use in converting irradiance to actinic flux - -! Eddington approximation(Joseph et al., 1976, JAS, 33, 2452): - - gam1 = (7. - om*(4. + 3.*g))/4. - gam2 = -(1. - om*(4. - 3.*g))/4. - gam3 = (2. - 3.*g*mu)/4. - gam4 = 1. - gam3 - mu1(i) = 0.5 - -! quadrature (Liou, 1973, JAS, 30, 1303-1326; 1974, JAS, 31, 1473-1475): - -! gam1 = 1.7320508*(2. - om*(1. + g))/2. -! gam2 = 1.7320508*om*(1. - g)/2. -! gam3 = (1. - 1.7320508*g*mu)/2. -! gam4 = 1. - gam3 -! mu1(i) = 1./sqrt(3.) - -! hemispheric mean (Toon et al., 1089, JGR, 94, 16287): - -! gam1 = 2. - om*(1. + g) -! gam2 = om*(1. - g) -! gam3 = (2. - g*mu)/4. -! gam4 = 1. - gam3 -! mu1(i) = 0.5 - -! PIFM (Zdunkovski et al.,1980, Conrib.Atmos.Phys., 53, 147-166): -! GAM1 = 0.25*(8. - OM*(5. + 3.*G)) -! GAM2 = 0.75*OM*(1.-G) -! GAM3 = 0.25*(2.-3.*G*MU) -! GAM4 = 1. - GAM3 -! mu1(i) = 0.5 - -! delta discrete ordinates (Schaller, 1979, Contrib.Atmos.Phys, 52, 17-26): -! GAM1 = 0.5*1.7320508*(2. - OM*(1. + G)) -! GAM2 = 0.5*1.7320508*OM*(1.-G) -! GAM3 = 0.5*(1.-1.7320508*G*MU) -! GAM4 = 1. - GAM3 -! mu1(i) = 1./sqrt(3.) - -! Calculations of Associated Legendre Polynomials for GAMA1,2,3,4 -! in delta-function, modified quadrature, hemispheric constant, -! Hybrid modified Eddington-delta function metods, p633,Table1. -! W.E.Meador and W.R.Weaver, GAS,1980,v37,p.630 -! W.J.Wiscombe and G.W. Grams, GAS,1976,v33,p2440 -! YLM0 = 2. -! YLM2 = -3.*G*MU -! YLM4 = 0.875*G**3*MU*(5.*MU**2-3.) -! YLM6=-0.171875*G**5*MU*(15.-70.*MU**2+63.*MU**4) -! YLM8=+0.073242*G**7*MU*(-35.+315.*MU**2-693.*MU**4 -! *+429.*MU**6) -! YLM10=-0.008118*G**9*MU*(315.-4620.*MU**2+18018.*MU**4 -! *-25740.*MU**6+12155.*MU**8) -! YLM12=0.003685*G**11*MU*(-693.+15015.*MU**2-90090.*MU**4 -! *+218790.*MU**6-230945.*MU**8+88179.*MU**10) -! YLMS=YLM0+YLM2+YLM4+YLM6+YLM8+YLM10+YLM12 -! YLMS=0.25*YLMS -! BETA0 = YLMS -! -! amu1=1./1.7320508 -! YLM0 = 2. -! YLM2 = -3.*G*amu1 -! YLM4 = 0.875*G**3*amu1*(5.*amu1**2-3.) -! YLM6=-0.171875*G**5*amu1*(15.-70.*amu1**2+63.*amu1**4) -! YLM8=+0.073242*G**7*amu1*(-35.+315.*amu1**2-693.*amu1**4 -! *+429.*amu1**6) -! YLM10=-0.008118*G**9*amu1*(315.-4620.*amu1**2+18018.*amu1**4 -! *-25740.*amu1**6+12155.*amu1**8) -! YLM12=0.003685*G**11*amu1*(-693.+15015.*amu1**2-90090.*amu1**4 -! *+218790.*amu1**6-230945.*amu1**8+88179.*amu1**10) -! YLMS=YLM0+YLM2+YLM4+YLM6+YLM8+YLM10+YLM12 -! YLMS=0.25*YLMS -! BETA1 = YLMS -! -! BETAn = 0.25*(2. - 1.5*G-0.21875*G**3-0.085938*G**5 -! *-0.045776*G**7) - - -! Hybrid modified Eddington-delta function(Meador and Weaver,1980,JAS,37,630): -! subd=4.*(1.-G*G*(1.-MU)) -! GAM1 = (7.-3.*G*G-OM*(4.+3.*G)+OM*G*G*(4.*BETA0+3.*G))/subd -! GAM2 =-(1.-G*G-OM*(4.-3.*G)-OM*G*G*(4.*BETA0+3.*G-4.))/subd -! GAM3 = BETA0 -! GAM4 = 1. - GAM3 -! mu1(i) = (1. - g*g*(1.- mu) )/(2. - g*g) - -!**** -! delta function (Meador, and Weaver, 1980, JAS, 37, 630): -! GAM1 = (1. - OM*(1. - beta0))/MU -! GAM2 = OM*BETA0/MU -! GAM3 = BETA0 -! GAM4 = 1. - GAM3 -! mu1(i) = mu -!**** -! modified quadrature (Meador, and Weaver, 1980, JAS, 37, 630): -! GAM1 = 1.7320508*(1. - OM*(1. - beta1)) -! GAM2 = 1.7320508*OM*beta1 -! GAM3 = BETA0 -! GAM4 = 1. - GAM3 -! mu1(i) = 1./sqrt(3.) - -! hemispheric constant (Toon et al., 1989, JGR, 94, 16287): -! GAM1 = 2.*(1. - OM*(1. - betan)) -! GAM2 = 2.*OM*BETAn -! GAM3 = BETA0 -! GAM4 = 1. - GAM3 -! mu1(i) = 0.5 - -!**** - -! lambda = pg 16,290 equation 21 -! big gamma = pg 16,290 equation 22 - - lam(i) = sqrt(gam1*gam1 - gam2*gam2) - bgam(i) = (gam1 - lam(i))/gam2 - - expon = EXP(-lam(i)*taun(i)) - -! e1 - e4 = pg 16,292 equation 44 - - e1(i) = 1. + bgam(i)*expon - e2(i) = 1. - bgam(i)*expon - e3(i) = bgam(i) + expon - e4(i) = bgam(i) - expon - -! the following sets up for the C equations 23, and 24 -! found on page 16,290 -! prevent division by zero (if LAMBDA=1/MU, shift 1/MU^2 by EPS = 1.E-3 -! which is approx equiv to shifting MU by 0.5*EPS* (MU)**3 - - expon0 = EXP(-tausla(i-1)) - expon1 = EXP(-tausla(i)) - - divisr = lam(i)*lam(i) - 1./(mu2(i)*mu2(i)) - temp = AMAX1(eps,abs(divisr)) - divisr = SIGN(temp,divisr) - - up = om*pifs*((gam1 - 1./mu2(i))*gam3 + gam4*gam2)/divisr - dn = om*pifs*((gam1 + 1./mu2(i))*gam4 + gam2*gam3)/divisr - -! cup and cdn are when tau is equal to zero -! cuptn and cdntn are when tau is equal to taun - - cup(i) = up*expon0 - cdn(i) = dn*expon0 - cuptn(i) = up*expon1 - cdntn(i) = dn*expon1 - - 11 CONTINUE - -!**************** set up matrix ****** -! ssfc = pg 16,292 equation 37 where pi Fs is one (unity). - - ssfc = rsfc*mu*EXP(-tausla(nlayer))*pifs - -! MROWS = the number of rows in the matrix - - mrows = 2*nlayer - -! the following are from pg 16,292 equations 39 - 43. -! set up first row of matrix: - - i = 1 - a(1) = 0. - b(1) = e1(i) - d(1) = -e2(i) - e(1) = fdn0 - cdn(i) - - row=1 - -! set up odd rows 3 thru (MROWS - 1): - - i = 0 - DO 20, row = 3, mrows - 1, 2 - i = i + 1 - a(row) = e2(i)*e3(i) - e4(i)*e1(i) - b(row) = e1(i)*e1(i + 1) - e3(i)*e3(i + 1) - d(row) = e3(i)*e4(i + 1) - e1(i)*e2(i + 1) - e(row) = e3(i)*(cup(i + 1) - cuptn(i)) + & - & e1(i)*(cdntn(i) - cdn(i + 1)) - 20 CONTINUE - -! set up even rows 2 thru (MROWS - 2): - - i = 0 - DO 30, row = 2, mrows - 2, 2 - i = i + 1 - a(row) = e2(i + 1)*e1(i) - e3(i)*e4(i + 1) - b(row) = e2(i)*e2(i + 1) - e4(i)*e4(i + 1) - d(row) = e1(i + 1)*e4(i + 1) - e2(i + 1)*e3(i + 1) - e(row) = (cup(i + 1) - cuptn(i))*e2(i + 1) - & - & (cdn(i + 1) - cdntn(i))*e4(i + 1) - 30 CONTINUE - -! set up last row of matrix at MROWS: - - row = mrows - i = nlayer - - a(row) = e1(i) - rsfc*e3(i) - b(row) = e2(i) - rsfc*e4(i) - d(row) = 0. - e(row) = ssfc - cuptn(i) + rsfc*cdntn(i) - -! solve tri-diagonal matrix: - - CALL tridag(a, b, d, e, y, mrows) - -!*** unfold solution of matrix, compute output fluxes: - - row = 1 - lev = 1 - j = 1 - -! the following equations are from pg 16,291 equations 31 & 32 - - fdr(lev) = EXP( -tausla(0) ) - edr(lev) = mu * fdr(lev) - edn(lev) = fdn0 - eup(lev) = y(row)*e3(j) - y(row + 1)*e4(j) + cup(j) - fdn(lev) = edn(lev)/mu1(lev) - fup(lev) = eup(lev)/mu1(lev) - - DO 60, lev = 2, nlayer + 1 - fdr(lev) = EXP(-tausla(lev-1)) - edr(lev) = mu *fdr(lev) - edn(lev) = y(row)*e3(j) + y(row + 1)*e4(j) + cdntn(j) - eup(lev) = y(row)*e1(j) + y(row + 1)*e2(j) + cuptn(j) - fdn(lev) = edn(lev)/mu1(j) - fup(lev) = eup(lev)/mu1(j) - - row = row + 2 - j = j + 1 - 60 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('PS2STR',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE PS2STR diff --git a/src/arome/chem/internals/qgaus.F90 b/src/arome/chem/internals/qgaus.F90 deleted file mode 100644 index 40374d0079f5d06c96bcf6c54f7612a1a25943fb..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/qgaus.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - subroutine qgaus(func,a,b,ss) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - IMPLICIT NONE - real a, b, ss, func - INTEGER :: J - external func - real dx,xm,xr,w(5),x(5) - data w/.2955242247,.2692667193,.2190863625,.1494513491,.066671344/ - data x/.1488743389,.4333953941,.6794095682,.8650633666,.973906529/ - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('QGAUS',0,ZHOOK_HANDLE) - xm = 0.5*(b+a) - xr = 0.5*(b-a) - ss = 0. - do 11 j = 1, 5 - dx = xr*x(j) - ss = ss + w(j)*(func(xm+dx)+func(xm-dx)) - 11 continue - ss = xr*ss - IF (LHOOK) CALL DR_HOOK('QGAUS',1,ZHOOK_HANDLE) - return - endsubroutine qgaus diff --git a/src/arome/chem/internals/r1mach.F b/src/arome/chem/internals/r1mach.F deleted file mode 100644 index a47cf5123aa914ba0bd8fd20ba7918b8738cd567..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/r1mach.F +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - FUNCTION R1MACH (IDUM) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ########################### - REAL R1MACH - INTEGER IDUM -!----------------------------------------------------------------------- -! This routine computes the unit roundoff of the machine. -! This is defined as the smallest positive machine number -! u such that 1.0 + u .ne. 1.0 -! -! Subroutines/functions called by R1MACH.. None -!----------------------------------------------------------------------- - REAL U, COMP - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('R1MACH',0,ZHOOK_HANDLE) - U = 1.0E0 - 10 U = U*0.5E0 - COMP = 1.0E0 + U - IF (COMP .NE. 1.0E0) GO TO 10 - R1MACH = U*2.0E0 - IF (LHOOK) CALL DR_HOOK('R1MACH',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION R1MACH diff --git a/src/arome/chem/internals/rdetfl.F b/src/arome/chem/internals/rdetfl.F deleted file mode 100644 index 7c7530b8e9f391c04dc22163b8940718e5403bb0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rdetfl.F +++ /dev/null @@ -1,171 +0,0 @@ -! ######spl - SUBROUTINE rdetfl(nw,wl,f) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - integer kdata - parameter(kdata=20000) - -! input: (wavelength grid) - INTEGER nw - REAL wl(kw) - INTEGER iw - -! output: (extra terrestrial solar flux) - REAL f(kw) - -! INTERNAL: - -! work arrays for input data files: - - CHARACTER*40 fil - REAL x1(kdata), x2(kdata) - REAL y1(kdata), y2(kdata) - INTEGER nhead, n, i, ierr - -! data gridded onto wl(kw) grid: - - REAL yg1(kw) - REAL yg2(kw) - - REAL hc - PARAMETER(hc = 6.62E-34 * 2.998E8) - -!_______________________________________________________________________ -! simple files are read and interpolated here in-line. Reading of -! more complex files may be done with longer code in a read#.f subroutine. - -!****** SUSIM irradiance - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RDETFL',0,ZHOOK_HANDLE) - fil = 'DATAE1/SUN/susim_hr.flx' - CALL read1(nw,wl,yg1) - -! fil = 'DATAE1/SUN/wmo85.flx' -! CALL read2(nw,wl,yg1) - -! fil = 'DATAE1/SUN/extsol.flx' -! nhead = 3 -! n =121 - -! fil = 'DATAE1/SUN/lowsun3.flx' -! nhead = 3 -! n = 4327 - -! fil = 'DATAE1/SUN/modtran1.flx' -! nhead = 6 -! n = 14980 - -! fil = 'DATAE1/SUN/nicolarv.flx' -! nhead = 8 -! n = 1260 - -! fil = 'DATAE2/SUN/solstice.flx' -! unofficial - do not use -! nhead = 11 -! n = 2047 - -! fil = 'DATAE2/SUN/suntoms.flx' -! unofficial - do not use -! nhead = 3 -! n = 1200 -!* suntoms.flx: original data is in milli-Watts m-2 nm-1 -!* y1(i) = y1(i) / 1000. - - fil = 'DATAE1/SUN/neckel.flx' - nhead = 11 - n = 496 -! neckel.flx: convert from quanta cm-2 s-1 to watts m-2 nm-1 -! y1(i) = y1(i) * 1.E4 * hc / (x1(i) * 1.E-9) - - write(kout,*) fil - OPEN(UNIT=kin,FILE=fil,STATUS='old') - DO i = 1, nhead - READ(kin,*) - ENDDO - DO 12, i = 1, n - -! do file-specific read, and apply conversions here - - READ(kin,*) x1(i), y1(i) - -! neckel.flx: convert from quanta cm-2 s-1 to watts m-2 nm-1 - y1(i) = y1(i) * 1.E4 * hc / (x1(i) * 1.E-9) - - 12 CONTINUE - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg2,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - -! Adjoin susim and neckel - - DO 10, iw = 1, nw-1 - IF (wl(iw) .GT. 350.) THEN - f(iw) = yg2(iw) - ELSE - f(iw) = yg1(iw) - ENDIF - 10 CONTINUE - - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('RDETFL',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE RDETFL diff --git a/src/arome/chem/internals/rdno2xs.F b/src/arome/chem/internals/rdno2xs.F deleted file mode 100644 index 23892c5d0b38514b08dbbfcf884b722c36f85e30..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rdno2xs.F +++ /dev/null @@ -1,106 +0,0 @@ -! ######spl - SUBROUTINE rdno2xs(nw,wl,xsno2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=1000) - -! input: (altitude working grid) - INTEGER nw - REAL wl(kw) - -! output: - - REAL xsno2(kw) - -! local: - REAL x1(kdata) - REAL y1(kdata),y2(kdata),y3(kdata) - REAL yg(kw) - REAL a1, a2, dum - INTEGER ierr - INTEGER i, l, n, idum - CHARACTER*40 fil -!_______________________________________________________________________ - -!************ absorption cross sections: -! measurements of Davidson et al. (198x) at 273K -! from 263.8 to 648.8 nm in approximately 0.5 nm intervals - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RDNO2XS',0,ZHOOK_HANDLE) - fil = 'DATAE1/NO2/NO2_ncar_00.abs' - OPEN(UNIT=kin,FILE=fil,STATUS='old') - n = 750 - DO i = 1, n - READ(kin,*) x1(i), y1(i), dum, dum, idum - ENDDO - CLOSE(kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO 13, l = 1, nw-1 - xsno2(l) = yg(l) - 13 CONTINUE - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('RDNO2XS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE RDNO2XS diff --git a/src/arome/chem/internals/rdo2xs.F b/src/arome/chem/internals/rdo2xs.F deleted file mode 100644 index 9c7a1f852bfcde817e6fd29b81a06d0bbffd5228..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rdo2xs.F +++ /dev/null @@ -1,128 +0,0 @@ -! ######spl - SUBROUTINE rdo2xs(nw,wl,xso2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=1000) - -! input: (altitude working grid) - INTEGER nw - REAL wl(kw) - -! output: -! O2 absorption cross section. Units are cm2 molecule-1 - - REAL xso2(kw) - -! local: - REAL x1(kdata), x - REAL y1(kdata), y - REAL yg(kw) - INTEGER i, iw, n, ifirst - INTEGER icount - INTEGER ierr - CHARACTER*40 fil - -!_______________________________________________________________________ - -!************ O2 absorption cross sections: -! from 116 nm to 245 nm, including Schumann-Runge continumm -! from Brasseur and Solomon 1986. - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RDO2XS',0,ZHOOK_HANDLE) - fil = 'DATAE1/O2/O2_src.abs' - OPEN(UNIT=kin,FILE='DATAE1/O2/O2_src.abs') - READ(kin,*) ifirst, n - DO i = 1, ifirst-2 - READ(kin,*) - ENDDO - icount = 0 - DO i = 1, n - READ(kin,*) x, y - IF (x .LT. 204.) THEN - icount = icount+1 - x1(icount) = x - y1(icount) = y - ENDIF - ENDDO - CLOSE(kin) - -! overwrite from 204 to 241 nm (Herzberg continuum) - - OPEN(UNIT=kin,FILE='DATAE1/O2/O2_jpl94.abs',STATUS='old') - read(kin,*) - n = 40 - DO i = 1, n - icount = icount+1 - READ(kin,*) y - y1(icount) = y*1E-24 - x1(icount) = 204. + FLOAT(i-1) - END DO - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,icount,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,icount, 0.,0.) - CALL addpnt(x1,y1,kdata,icount,x1(icount)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,icount, 1.e38,0.) - - CALL ch_inter2(nw,wl,yg,icount,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO iw = 1, nw-1 - xso2(iw) = yg(iw) - END DO - - IF (LHOOK) CALL DR_HOOK('RDO2XS',1,ZHOOK_HANDLE) - ENDSUBROUTINE RDO2XS diff --git a/src/arome/chem/internals/rdo3xs.F b/src/arome/chem/internals/rdo3xs.F deleted file mode 100644 index ce21c8b3fbe91c673ecbce46a2b015e4a0e8c26f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rdo3xs.F +++ /dev/null @@ -1,184 +0,0 @@ -! ######spl - SUBROUTINE rdo3xs(nw,wl,xso3,s226,s263,s298) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=1000) - -! input: (altitude working grid) - INTEGER nw - REAL wl(kw) - -! output: -! ozone absorption cross section at three different -! temperatures: 226, 263, 298 Kelvin. Can interpolate -! to different temperatures. Units are cm2 molecule-1 - - REAL xso3(kw), s226(kw),s263(kw),s298(kw) - -! local: - REAL x1(kdata),x2(kdata),x3(kdata) - REAL y1(kdata),y2(kdata),y3(kdata) - REAL yg(kw) - REAL a1, a2, dum - INTEGER ierr - INTEGER i, iw, n, idum, n1, n2, n3 - - character*40 fil - -!_______________________________________________________________________ - - -!*********** from WMO 1985 Ozone Assessment -! from 175.439 to 847.500 nm -! use value at 273 K - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RDO3XS',0,ZHOOK_HANDLE) - fil = 'DATAE1/wmo85' - OPEN(UNIT=kin,FILE='DATAE1/wmo85',STATUS='old') - DO 11, i = 1, 3 - read(kin,*) - 11 CONTINUE - n = 158 - DO 12, i = 1, n - READ(kin,*) idum, a1, a2, dum, dum, dum, dum, y1(i) - x1(i) = (a1+a2)/2. - 12 CONTINUE - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO 13, iw = 1, nw-1 - xso3(iw) = yg(iw) - 13 CONTINUE - -!************ ozone absorption cross sections: -! For Hartley aand Huggins bands, use temperature-dependent values from -! Molina, L. T., and M. J. Molina, Absolute absorption cross sections -! of ozone in the 185- to 350-nm wavelength range, -! J. Geophys. Res., vol. 91, 14501-14508, 1986. - - fil = 'DATAE1/O3/O3.molina.abs' - OPEN(UNIT=kin,FILE='DATAE1/O3/O3.molina.abs',STATUS='old') - DO 14, i = 1, 5 - READ(kin,*) - 14 CONTINUE - - n1 = 220 - n2 = 220 - n3 = 220 - DO 15, i = 1, n1 - READ(kin,*) x1(i), y1(i), y2(i), y3(i) - x2(i) = x1(i) - x3(i) = x1(i) - 15 CONTINUE - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n1,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 0.,0.) - CALL addpnt(x1,y1,kdata,n1,x1(n1)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n1, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n1,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO 16, iw = 1, nw-1 - s226(iw) = yg(iw)*1.E-20 - 16 CONTINUE - - CALL addpnt(x2,y2,kdata,n2,x2(1)*(1.-deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 0.,0.) - CALL addpnt(x2,y2,kdata,n2,x2(n2)*(1.+deltax),0.) - CALL addpnt(x2,y2,kdata,n2, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n2,x2,y2,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - DO 17, iw = 1, nw-1 - s263(iw) = yg(iw)*1.E-20 - 17 CONTINUE - - CALL addpnt(x3,y3,kdata,n3,x3(1)*(1.-deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 0.,0.) - CALL addpnt(x3,y3,kdata,n3,x3(n3)*(1.+deltax),0.) - CALL addpnt(x3,y3,kdata,n3, 1.e+38,0.) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - CALL ch_inter2(nw,wl,yg,n3,x3,y3,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO 18, iw = 1, nw-1 - s298(iw) = yg(iw)*1.E-20 - 18 CONTINUE - - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('RDO3XS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE RDO3XS diff --git a/src/arome/chem/internals/rdso2xs.F b/src/arome/chem/internals/rdso2xs.F deleted file mode 100644 index 9b976b9cd35d65424f878a8ffc1b75787079a3d5..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rdso2xs.F +++ /dev/null @@ -1,112 +0,0 @@ -! ######spl - SUBROUTINE rdso2xs(nw,wl,xsso2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=1000) - -! input: (altitude working grid) - INTEGER nw - REAL wl(kw) - -! output: - - REAL xsso2(kw) - -! local: - REAL x1(kdata) - REAL y1(kdata),y2(kdata),y3(kdata) - REAL yg(kw) - REAL a1, a2, dum - INTEGER ierr - INTEGER i, l, n, idum - CHARACTER*40 fil -!_______________________________________________________________________ - -!************ absorption cross sections: -! SO2 absorption cross sections from J. Quant. Spectrosc. Radiat. Transfer -! 37, 165-182, 1987, T. J. McGee and J. Burris Jr. -! Angstrom vs. cm2/molecule, value at 221 K - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RDSO2XS',0,ZHOOK_HANDLE) - fil = 'DATA/McGee87' - OPEN(UNIT=kin,FILE='DATAE1/SO2/SO2xs.all',STATUS='old') - DO 11, i = 1,3 - read(kin,*) - 11 CONTINUE -! n = 681 - n = 704 - DO 12, i = 1, n - READ(kin,*) x1(i), y1(i) - x1(i) = x1(i)/10. - 12 CONTINUE - CLOSE (kin) - - CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) - CALL addpnt(x1,y1,kdata,n, 0.,0.) - CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) - CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) - CALL ch_inter2(nw,wl,yg,n,x1,y1,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - - DO 13, l = 1, nw-1 - xsso2(l) = yg(l) - 13 CONTINUE - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('RDSO2XS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE RDSO2XS diff --git a/src/arome/chem/internals/read1.F b/src/arome/chem/internals/read1.F deleted file mode 100644 index 62426df8c4814466cd845b15689807193866a0e8..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/read1.F +++ /dev/null @@ -1,127 +0,0 @@ -! ######spl - SUBROUTINE read1(nw,wl,f) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input: (wavelength grid) - INTEGER nw - REAL wl(kw) - INTEGER iw - -! output: (extra terrestrial solar flux) - REAL f(kw) - -! local: - - REAL lambda_hi(10000),irrad_hi(10000) - REAL lambda - INTEGER ierr - INTEGER i, j, n - CHARACTER*40 FIL - -!_______________________________________________________________________ - -!****** SUSIM irradiance -!_______________________________________________________________________ -! VanHoosier, M. E., J.-D. F. Bartoe, G. E. Brueckner, and -! D. K. Prinz, Absolute solar spectral irradiance 120 nm - -! 400 nm (Results from the Solar Ultraviolet Spectral Irradiance -! Monitor - SUSIM- Experiment on board Spacelab 2), -! Astro. Lett. and Communications, 1988, vol. 27, pp. 163-168. -! SUSIM SL2 high resolution (0.15nm) Solar Irridance data. -! Irradiance values are given in milliwatts/m^2/nanomenters -! and are listed at 0.05nm intervals. The wavelength given is -! the center wavelength of the 0.15nm triangular bandpass. -! Normalized to 1 astronomical unit. -! DATA for wavelengths > 350 nm are unreliable -! (Van Hoosier, personal communication, 1994). -!_______________________________________________________________________ - -!* high resolution - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('READ1',0,ZHOOK_HANDLE) - fil = 'DATAE1/SUN/susim_hi.flx' - write(kout,*) fil - OPEN(UNIT=kin,FILE=fil,STATUS='old') - DO 11, i = 1, 7 - READ(kin,*) - 11 CONTINUE - DO 12, i = 1, 559 - READ(kin,*)lambda,(irrad_hi(10*(i-1)+j), j=1, 10) - 12 CONTINUE - CLOSE (kin) - -! compute wavelengths, convert from mW to W - - n = 559*10 - DO 13, i = 1, n - lambda_hi(i)=120.5 + FLOAT(i-1)*.05 - irrad_hi(i) = irrad_hi(i) / 1000. - 13 CONTINUE -!_______________________________________________________________________ - - CALL addpnt(lambda_hi,irrad_hi,10000,n, & - & lambda_hi(1)*(1.-deltax),0.) - CALL addpnt(lambda_hi,irrad_hi,10000,n, 0.,0.) - CALL addpnt(lambda_hi,irrad_hi,10000,n, & - & lambda_hi(n)*(1.+deltax),0.) - CALL addpnt(lambda_hi,irrad_hi,10000,n, 1.e38,0.) - CALL ch_inter2(nw,wl,f,n,lambda_hi,irrad_hi,ierr) - IF (ierr .NE. 0) THEN - WRITE(*,*) ierr, fil - STOP - ENDIF - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('READ1',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE READ1 diff --git a/src/arome/chem/internals/read2.F b/src/arome/chem/internals/read2.F deleted file mode 100644 index 9c4b89ebf48d920a22dda2bb951a910212cc7c7c..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/read2.F +++ /dev/null @@ -1,123 +0,0 @@ -! ######spl - SUBROUTINE read2(nw,wl,f) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input: (wavelength grid) - INTEGER nw - REAL wl(kw) - REAL yg(kw) - -! - INTEGER iw - -! output: (extra terrestrial solar flux) - REAL f(kw) - -! local: - - REAL x1(1000), y1(1000) - REAL x2(1000), y2(1000) - REAL x3(1000), y3(1000) - INTEGER i, n - REAL DUM - INTEGER IDUM - -!_______________________________________________________________________ - -!********WMO 85 irradiance - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('READ2',0,ZHOOK_HANDLE) - WRITE(kout,*) 'DATAE1/SUN/wmo85.flx' - OPEN(UNIT=kin,FILE='DATAE1/SUN/wmo85.flx',STATUS='old') - DO 11, i = 1, 3 - READ(kin,*) - 11 CONTINUE - n = 158 - DO 12, i = 1, n - READ(kin,*) idum, x1(i),x2(i),y1(i), dum, dum, dum - x3(i) = 0.5 * (x1(i) + x2(i)) - -! average value needs to be calculated only if inter2 is -! used to interpolate onto wavelength grid (see below) -! y1(i) = y1(i) / (x2(i) - x1(i)) - - 12 CONTINUE - CLOSE (kin) - - x1(n+1) = x2(n) - -! inter2: INPUT : average value in each bin -! OUTPUT: average value in each bin -! inter3: INPUT : total area in each bin -! OUTPUT: total area in each bin - - CALL inter3(nw,wl,yg, n+1,x1,y1,0) -! CALL ch_inter2(nw,wl,yg,n,x3,y1,ierr) - - DO 10, iw = 1, nw-1 -! from quanta s-1 cm-2 bin-1 to watts m-2 nm-1 -! 1.e4 * ([hc =] 6.62E-34 * 2.998E8)/(wc*1e-9) - -! the scaling by bin width needs to be done only if -! inter3 is used for interpolation - - yg(iw) = yg(iw) / (wl(iw+1)-wl(iw)) - f(iw) = yg(iw) * 1.e4 * (6.62E-34 * 2.998E8) / & - & ( 0.5 * (wl(iw+1)+wl(iw)) * 1.e-9) - - 10 CONTINUE - -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('READ2',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE READ2 diff --git a/src/arome/chem/internals/rtlink.F b/src/arome/chem/internals/rtlink.F deleted file mode 100644 index e37f21a6915f2c13dc63e9934eebac0e6d06e698..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/rtlink.F +++ /dev/null @@ -1,159 +0,0 @@ -! ######spl - SUBROUTINE rtlink(nz,z, & - & iw, ag, zen, & - & dsdh, nid, & - & dtrl, & - & dto3, & - & dto2, & - & dtso2, & - & dtno2, & - & dtcld, omcld, gcld, & - & dtaer,omaer,gaer, & - & edir, edn, eup, fdir, fdn, fup) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!_______________________________________________________________________ - - IMPLICIT NONE - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input: - - INTEGER nz, iw - REAL z(kz) - REAL ag - REAL zen - REAL dtrl(kz,kw) - REAL dto3(kz,kw), dto2(kz,kw), dtso2(kz,kw), dtno2(kz,kw) - REAL dtcld(kz,kw), omcld(kz,kw), gcld(kz,kw) - REAL dtaer(kz,kw), omaer(kz,kw), gaer(kz,kw) - REAL dsdh(0:kz,kz) - INTEGER nid(0:kz) - - -! output - REAL edir(kz), edn(kz), eup(kz) - REAL fdir(kz), fdn(kz), fup(kz) - -! more program constants: - REAL dr - PARAMETER (dr = pi/180.) - -! local: - REAL dt(kz), om(kz), g(kz) - REAL ediri(kz), edni(kz), eupi(kz) - REAL fdiri(kz), fdni(kz), fupi(kz) - REAL daaer, dtsct, dtabs, dsaer, dscld, dacld - INTEGER i, ii - LOGICAL delta - - DATA delta /.true./ -!_______________________________________________________________________ - -! initialize: - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('RTLINK',0,ZHOOK_HANDLE) - DO 5 i = 1, nz - fdir(i) = 0. - fup(i) = 0. - fdn(i) = 0. - edir(i) = 0. - eup(i) = 0. - edn(i) = 0. - 5 CONTINUE - -! set here any coefficients specific to rt scheme, -! ---- - - DO 10, i = 1, nz - 1 - - dscld = dtcld(i,iw)*omcld(i,iw) - dacld = dtcld(i,iw)*(1.-omcld(i,iw)) - - dsaer = dtaer(i,iw)*omaer(i,iw) - daaer = dtaer(i,iw)*(1.-omaer(i,iw)) - - dtsct = dtrl(i,iw) + dscld + dsaer - dtabs = dto3(i,iw) + dto2(i,iw) + dtso2(i,iw) + & - & dtno2(i,iw) + dacld + daaer - - dtabs = MAX(dtabs,1./largest) - dtsct = MAX(dtsct,1./largest) - -! invert z-coordinate: - - ii = nz - i - dt(ii) = dtsct + dtabs - om(ii) = dtsct/(dtsct + dtabs) - IF(dtsct .EQ. 1./largest) om(ii) = 1./largest - g(ii) = (gcld(i,iw)*dscld + gaer(i,iw)*dsaer)/dtsct - - 10 CONTINUE - -! call rt routine: - - CALL ps2str(nz,zen,ag,dt,om,g, & - & dsdh, nid, delta, & - & fdiri, fupi, fdni, ediri, eupi, edni) - -! put on upright z-coordinate - - DO 20, i = 1, nz - ii = nz - i + 1 - fdir(i) = fdiri(ii) - fup(i) = fupi(ii) - fdn(i) = fdni(ii) - edir(i) = ediri(ii) - eup(i) = eupi(ii) - edn(i) = edni(ii) - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('RTLINK',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE RTLINK diff --git a/src/arome/chem/internals/sacopy.F b/src/arome/chem/internals/sacopy.F deleted file mode 100644 index 5f46845a27303ace96b1933a8c2cb540e37aa18f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sacopy.F +++ /dev/null @@ -1,31 +0,0 @@ -! ######spl - SUBROUTINE SACOPY (NROW, NCOL, A, NROWA, B, NROWB) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################################## - REAL A, B - INTEGER NROW, NCOL, NROWA, NROWB - DIMENSION A(NROWA,NCOL), B(NROWB,NCOL) -!----------------------------------------------------------------------- -! Call sequence input -- NROW, NCOL, A, NROWA, NROWB -! Call sequence output -- B -! COMMON block variables accessed -- None -! -! Subroutines called by SACOPY.. CH_SCOPY -! Function routines called by SACOPY.. None -!----------------------------------------------------------------------- -! This routine copies one rectangular array, A, to another, B, -! where A and B may have different row dimensions, NROWA and NROWB. -! The data copied consists of NROW rows and NCOL columns. -!----------------------------------------------------------------------- - INTEGER IC -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SACOPY',0,ZHOOK_HANDLE) - DO 20 IC = 1,NCOL - CALL CH_SCOPY (NROW, A(1,IC), 1, B(1,IC), 1) - 20 CONTINUE -! - IF (LHOOK) CALL DR_HOOK('SACOPY',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SACOPY diff --git a/src/arome/chem/internals/salt_filter.F90 b/src/arome/chem/internals/salt_filter.F90 deleted file mode 100644 index 68f50b40aef7192608f8615e85e304ecaf37ef10..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/salt_filter.F90 +++ /dev/null @@ -1,79 +0,0 @@ -! ######spl - SUBROUTINE SALT_FILTER(PSV, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! Entry variables: -! -! PRSVS(INOUT) -Array of moments included in PRSVS -! -!************************************************************* -! Exit variables: -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -! IMPLICIT ARGUMENTS -! -USE MODD_SALT -USE MODD_CSTS_SALT -! -USE MODE_SALT_PSD -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -!* 0.2 Declarations of local variables : -! -INTEGER :: JN -INTEGER :: IMODEIDX -REAL, DIMENSION(NMODE_SLT*3) :: ZPMIN -REAL, DIMENSION(NMODE_SLT) :: ZINIRADIUS -REAL, DIMENSION(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_SLT*3) :: ZM ! [aerosol units] local array which goes to output later - -REAL :: ZRGMIN, ZSIGMIN -REAL :: ZRHOP, ZMI -INTEGER,DIMENSION(NMODE_SLT) :: NM0, NM3, NM6 -! -!* 0.3 initialize constant -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('SALT_FILTER',0,ZHOOK_HANDLE) -ZRHOP = XDENSITY_SALT -ZMI = XMOLARWEIGHT_SALT ! molecular mass in kg/mol -! -!------------------------------------------------------------------------------- - -! -PSV(:,:,:,:) = MAX(PSV(:,:,:,:), 1.E-80) -! - -IF (LHOOK) CALL DR_HOOK('SALT_FILTER',1,ZHOOK_HANDLE) -END SUBROUTINE SALT_FILTER diff --git a/src/arome/chem/internals/salt_velgrav.F90 b/src/arome/chem/internals/salt_velgrav.F90 deleted file mode 100644 index 399a31319de0460353cfe611063848b177e76ccf..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/salt_velgrav.F90 +++ /dev/null @@ -1,108 +0,0 @@ -! ######spl - SUBROUTINE SALT_VELGRAV(PSIG, PRG, PTHT, PABST, PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! P. Tulet (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -! Entry variables: -! -! PM(IN) -Array of moments -! -!************************************************************* -! Exit variables: -! -! PFSED(IN) -Array of moment variation due to dry deposition -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! PDPK -Polydisperse diffusivity (m2/s) -! PVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!----------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_SALT -USE MODD_CSTS_SALT -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -! -!* 0.2 declaration of local variables -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZTEMP,ZLAMBDA -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZRG,ZLN2S -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3)) :: ZKNG -! -REAL, DIMENSION(SIZE(PSIG,1),SIZE(PSIG,2),SIZE(PSIG,3),NMODE_SLT) :: ZDPG -! -! -REAL, PARAMETER :: gasmw=28.9644d0 -REAL :: ZK -! -INTEGER :: JI,JJ -! -!----------------------------------------------------------------- -!temperature -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('SALT_VELGRAV',0,ZHOOK_HANDLE) -ZTEMP(:,:,:)=PTHT(:,:,:)*(PABST(:,:,:)/XP00)**(XRD/XCPD) -! -! Sutherland's equation for viscosity -PMU(:,:,:)=1.8325d-5*416.16/(ZTEMP(:,:,:)+120)*(ZTEMP(:,:,:)/296.16)*SQRT(ZTEMP(:,:,:)/296.16) -! -! Mean free path (Seinfeld and Pandis p455) -ZLAMBDA(:,:,:)=PMU(:,:,:)/PRHODREF(:,:,:)*SQRT(1.89d-4*gasmw/ZTEMP(:,:,:))*1.e6 -! -! -DO JI=1,NMODE_SLT - ZRG(:,:,:)=PRG(:,:,:,JI) * 1E-6 - ZLN2S(:,:,:)=LOG(PSIG(:,:,:,JI))**2 - ! - ZKNG(:,:,:)=ZLAMBDA(:,:,:) / PRG(:,:,:,JI) - ! - PVGG(:,:,:,JI)= 2.*XG*PRHOP*ZRG(:,:,:)**2 /(9.*PMU(:,:,:)) - ZDPG(:,:,:,JI)=XBOLTZ*ZTEMP(:,:,:)/ (6.*XPI* ZRG(:,:,:)*PMU(:,:,:)) - ! - ! - DO JJ=0,2 - ZK=REAL(3*JJ) - PDPK(:,:,:,3*JI+JJ-2)=ZDPG(:,:,:,JI)*(exp((-2.*ZK+1.)/2.*ZLN2S(:,:,:))+1.246*ZKNG(:,:,:)*& - exp((-4.*ZK+4)/2.*ZLN2S(:,:,:))) - ! - PVGK(:,:,:,3*JI+JJ-2)=PVGG(:,:,:,JI)*& - (exp((4.*ZK+4.)/2.*ZLN2S(:,:,:)) + 1.246*ZKNG(:,:,:)* exp((2.*ZK+1.)/2.*ZLN2S(:,:,:))) - ENDDO - ! -ENDDO -! -! -IF (LHOOK) CALL DR_HOOK('SALT_VELGRAV',1,ZHOOK_HANDLE) -END SUBROUTINE SALT_VELGRAV diff --git a/src/arome/chem/internals/saltlfi_n.F90 b/src/arome/chem/internals/saltlfi_n.F90 deleted file mode 100644 index bcfd2f3a1b64e499ad620c3afc41846a42ecaead..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/saltlfi_n.F90 +++ /dev/null @@ -1,171 +0,0 @@ -! ######spl - SUBROUTINE SALTLFI_n(PSV, PRHODREF) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################ -! -!! PURPOSE -!! ------- -!! Realise l'équilibre des moments à partir du sigma et du diametre moyen -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! none -!! -!! EXTERNAL -!! -------- -!! None -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_SALT -USE MODD_NSV -USE MODD_CSTS_SALT -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -! -! -!* 0.2 declarations local variables -! -REAL :: ZDEN2MOL, ZRHOI, ZMI, ZFAC, ZRGMIN -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZCTOTA -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA -INTEGER,DIMENSION(:), ALLOCATABLE :: IM0, IM3, IM6 -REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN -REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS, ZINISIGMA -INTEGER :: IKU -INTEGER :: JJ, JN, JK ! loop counter -INTEGER :: IMODEIDX ! index mode -REAL, PARAMETER :: ZMMR_SALT=1.d-7 !kg_{sea salt}/kg_{air} -REAL :: ZMMR_SALTN -! -!------------------------------------------------------------------------------- -! -!* 1. TRANSFER FROM GAS TO AEROSOL MODULE -! ----------------------------------- -! -! 1.1 initialisation -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('SALTLFI_N',0,ZHOOK_HANDLE) -IKU=SIZE(PSV,3) -! -ALLOCATE (IM0(NMODE_SLT)) -ALLOCATE (IM3(NMODE_SLT)) -ALLOCATE (IM6(NMODE_SLT)) -ALLOCATE (ZCTOTA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_SLT)) -ALLOCATE (ZM(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3), NMODE_SLT*3)) -ALLOCATE (ZSIGMA(SIZE(PSV,1), SIZE(PSV,2), SIZE(PSV,3))) -ALLOCATE (ZINIRADIUS(NMODE_SLT)) -ALLOCATE (ZINISIGMA(NMODE_SLT)) -ALLOCATE (ZMMIN(NMODE_SLT*3)) -! -! -DO JN = 1, NMODE_SLT - IM0(JN) = 1+(JN-1)*3 - IM3(JN) = 2+(JN-1)*3 - IM6(JN) = 3+(JN-1)*3 - ! - !Get the sea salt mode we are talking about, MODE 2 is treated first, then mode 3, then 1 - !This index is only needed to get the right radius out of the XINIRADIUS_SLT array and the - !right XINISIG_SLT out of the XINISIG_SLT-array - IMODEIDX = JPSALTORDER(JN) - ! - !Convert initial mass median radius to number median radius - IF (CRGUNITS=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) * EXP(-3.*(LOG(XINISIG_SLT(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) - END IF - ZINISIGMA(JN) = XINISIG_SLT(IMODEIDX) - ! - ZMMIN(IM0(JN)) = XN0MIN_SLT(IMODEIDX) -! ZRGMIN = XCOEFRADMIN * ZINIRADIUS(JN) - ZRGMIN = ZINIRADIUS(JN) - ZMMIN(IM3(JN)) = XN0MIN_SLT(IMODEIDX) * (ZRGMIN**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZMMIN(IM6(JN)) = XN0MIN_SLT(IMODEIDX) * (ZRGMIN**6)*EXP(18. * LOG(ZINISIGMA(JN))**2) -ENDDO -! -! -ZRHOI = XDENSITY_SALT !1.8e3 !++changed alfgr -!ZMI = XMOLARWEIGHT_SALT*1.D3 !100. !++changed alfgr -ZMI = XMOLARWEIGHT_SALT -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -ZFAC=(4./3.)*XPI*ZRHOI*1.e-9 - -! conversion into mol.cm-3 -DO JJ=1,SIZE(PSV,4) - PSV(:,:,:,JJ) = PSV(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -END DO -! -DO JN=1,NMODE_SLT - -!* 1.1 calculate moment 0 from XN0MIN_SLT -! -! change initial proportion - IF (JN == 1) ZMMR_SALTN = 0.80 * ZMMR_SALT - IF (JN == 2) ZMMR_SALTN = 0.10 * ZMMR_SALT - IF (JN == 3) ZMMR_SALTN = 0.10 * ZMMR_SALT - DO JK=1,IKU - ZM(:,:,JK,IM0(JN)) = & - ZMMR_SALTN &![kg_{sea salt}/kg_{air} - *PRHODREF(:,:,JK) &![kg_{air}/m3_{air}]==> kg/m3 - /XDENSITY_SALT &![kg__{sea salt}/m3_{sea salt}==>m3_{sea salt}/m3{air} - *(6.d0/XPI) & - /(2.d0*ZINIRADIUS(JN)*1.d-6)**3 &![particle/m_sea salt^{-3}]==> particle/m3 - *EXP(-4.5*(LOG(XINISIG_SLT(JPSALTORDER(JN))))**2) !Take into account distribution - END DO - ZM(:,:,:,IM0(JN)) = MAX(ZMMIN(IM0(JN)), ZM(:,:,:,IM0(JN))) -! -!* 1.2 calculate moment 3 from m0, RG and SIG -! - ZM(:,:,:,IM3(JN)) = ZM(:,:,:,IM0(JN)) * & - (ZINIRADIUS(JN)**3)*EXP(4.5 * LOG(ZINISIGMA(JN))**2) - ZM(:,:,:,IM3(JN)) = MAX(ZMMIN(IM3(JN)), ZM(:,:,:,IM3(JN))) -! -!* 1.3 calculate moment 6 from m0, RG and SIG -! - ZM(:,:,:,IM6(JN))= ZM(:,:,:,IM0(JN)) * ((ZINIRADIUS(JN)**6)*& - EXP(18. * (LOG(ZINISIGMA(JN)))**2)) - ZM(:,:,:,IM6(JN)) = MAX(ZMMIN(IM6(JN)), ZM(:,:,:,IM6(JN))) -! -!* 1.4 output concentration -! - PSV(:,:,:,1+(JN-1)*3) = ZM(:,:,:,IM0(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)) - PSV(:,:,:,2+(JN-1)*3) = ZM(:,:,:,IM3(JN)) * XMD*XPI * 4./3. / & - (ZMI*PRHODREF(:,:,:)*(1.d0/ZRHOI)*XM3TOUM3_SALT) - - PSV(:,:,:,3+(JN-1)*3) = ZM(:,:,:,IM6(JN)) * XMD / (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -! -END DO -! -DEALLOCATE(ZMMIN) -DEALLOCATE(ZINISIGMA) -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZM) -DEALLOCATE(ZCTOTA) -DEALLOCATE(IM6) -DEALLOCATE(IM3) -DEALLOCATE(IM0) -! -! -IF (LHOOK) CALL DR_HOOK('SALTLFI_N',1,ZHOOK_HANDLE) -END SUBROUTINE SALTLFI_n diff --git a/src/arome/chem/internals/schu.F b/src/arome/chem/internals/schu.F deleted file mode 100644 index a4e1dd5d0ceb99958afb506d607f821fc38dec72..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/schu.F +++ /dev/null @@ -1,269 +0,0 @@ -! ######spl - SUBROUTINE schu(nz,o2col,iw,secchi,dto2,xscho2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - REAL o2col(kz),dto2(kz,16), xscho2(kz,16) -! REAL dsdh(kz,kz) - REAL secchi - DOUBLE PRECISION a(16,12),b(16,12),rjm(kz),rjo2(kz) - integer iw, nz, i, j, lev - -! a(16,12) coefficients for Rj(M) (Table 1 in Kockarts 1994) -! b(16,12) Rj(O2)(Table 2 in Kockarts 1994) -! rjm attenuation coefficients Rj(M) -! rjo2 Rj(O2) - - data((a(i,j),j=1,12),i=1,16)/ & -!a 57000-56500.5 cm-1 - & 1.13402D-01,1.00088D-20,3.48747D-01,2.76282D-20,3.47322D-01 & - &,1.01267D-19 & - &,1.67351D-01,5.63588D-19,2.31433D-02,1.68267D-18,0.00000D+00 & - &,0.00000D+00 & -!a 56500-56000.5 cm-1 - &,2.55268D-03,1.64489D-21,1.85483D-01,2.03591D-21,2.60603D-01 & - &,4.62276D-21 & - &,2.50337D-01,1.45106D-20,1.92340D-01,7.57381D-20,1.06363D-01 & - &,7.89634D-19 & -!a 56000-55500.5 cm-1 - &,4.21594D-03,8.46639D-22,8.91886D-02,1.12935D-21,2.21334D-01 & - &,1.67868D-21 & - &,2.84446D-01,3.94782D-21,2.33442D-01,1.91554D-20,1.63433D-01 & - &,2.25346D-19 & -!a 55500-55000.5 cm-1 - &,3.93529D-03,6.79660D-22,4.46906D-02,9.00358D-22,1.33060D-01 & - &,1.55952D-21 & - &,3.25506D-01,3.43763D-21,2.79405D-01,1.62086D-20,2.10316D-01 & - &,1.53883D-19 & -!a 55000-54500.5 cm-1 - &,2.60939D-03,2.33791D-22,2.08101D-02,3.21734D-22,1.67186D-01 & - &,5.77191D-22 & - &,2.80694D-01,1.33362D-21,3.26867D-01,6.10533D-21,1.96539D-01 & - &,7.83142D-20 & -!a 54500-54000.5 cm-1 - &,9.33711D-03,1.32897D-22,3.63980D-02,1.78786D-22,1.46182D-01 & - &,3.38285D-22 & - &,3.81762D-01,8.93773D-22,2.58549D-01,4.28115D-21,1.64773D-01 & - &,4.67537D-20 & -!a 54000-53500.5 cm-1 - &,9.51799D-03,1.00252D-22,3.26320D-02,1.33766D-22,1.45962D-01 & - &,2.64831D-22 & - &,4.49823D-01,6.42879D-22,2.14207D-01,3.19594D-21,1.45616D-01 & - &,2.77182D-20 & -!a 53500-53000.5 cm-1 - &,7.87331D-03,3.38291D-23,6.91451D-02,4.77708D-23,1.29786D-01 & - &,8.30805D-23 & - &,3.05103D-01,2.36167D-22,3.35007D-01,8.59109D-22,1.49766D-01 & - &,9.63516D-21 & -!a 53000-52500.5 cm-1 - &,6.92175D-02,1.56323D-23,1.44403D-01,3.03795D-23,2.94489D-01 & - &,1.13219D-22 & - &,3.34773D-01,3.48121D-22,9.73632D-02,2.10693D-21,5.94308D-02 & - &,1.26195D-20 & -!a 52500-52000.5 cm-1 - &,1.47873D-01,8.62033D-24,3.15881D-01,3.51859D-23,4.08077D-01 & - &,1.90524D-22 & - &,8.08029D-02,9.93062D-22,3.90399D-02,6.38738D-21,8.13330D-03 & - &,9.93644D-22 & -!a 52000-51500.5 cm-1 - &,1.50269D-01,1.02621D-23,2.39823D-01,3.48120D-23,3.56408D-01 & - &,1.69494D-22 & - &,1.61277D-01,6.59294D-22,8.89713D-02,2.94571D-21,3.25063D-03 & - &,1.25548D-20 & -!a 51500-51000.5 cm-1 - &,2.55746D-01,8.49877D-24,2.94733D-01,2.06878D-23,2.86382D-01 & - &,9.30992D-23 & - &,1.21011D-01,3.66239D-22,4.21105D-02,1.75700D-21,0.00000D+00 & - &,0.00000D+00 & -!a 51000-50500.5 cm-1 - &,5.40111D-01,7.36085D-24,2.93263D-01,2.46742D-23,1.63417D-01 & - &,1.37832D-22 & - &,3.23781D-03,2.15052D-21,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00 & -!a 50500-50000.5 cm-1 - &,8.18514D-01,7.17937D-24,1.82262D-01,4.17496D-23,0.00000D+00 & - &,0.00000D+00 & - &,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00 & -!a 50000-49500.5 cm-1 - &,8.73680D-01,7.13444D-24,1.25583D-01,2.77819D-23,0.00000D+00 & - &,0.00000D+00 & - &,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00 & -!a 49500-49000.5 cm-1 - &,3.32476D-04,7.00362D-24,9.89000D-01,6.99600D-24,0.00000D+00 & - &,0.00000D+00 & - &,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00/ - - - data((b(i,j),j=1,12),i=1,16)/ & -! 57000-56500.5 cm-1 - & 1.07382D-21,9.95029D-21,7.19430D-21,2.48960D-20,2.53735D-20 & - &,7.54467D-20 & - &,4.48987D-20,2.79981D-19,9.72535D-20,9.29745D-19,2.30892D-20 & - &,4.08009D-17 & -! 56500-56000.5 cm-1 - &,3.16903D-22,1.98251D-21,5.87326D-22,3.44057D-21,2.53094D-21 & - &,8.81484D-21 & - &,8.82299D-21,4.17179D-20,2.64703D-20,2.43792D-19,8.73831D-20 & - &,1.46371D-18 & -! 56000-55500.5 cm-1 - &,1.64421D-23,9.26011D-22,2.73137D-22,1.33640D-21,9.79188D-22 & - &,2.99706D-21 & - &,3.37768D-21,1.39438D-20,1.47898D-20,1.04322D-19,4.08014D-20 & - &,6.31023D-19 & -! 55500-55000.5 cm-1 - &,8.68729D-24,7.31056D-22,8.78313D-23,1.07173D-21,8.28170D-22 & - &,2.54986D-21 & - &,2.57643D-21,9.42698D-21,9.92377D-21,5.21402D-20,3.34301D-20 & - &,2.91785D-19 & -! 55000-54500.5 cm-1 - &,1.20679D-24,2.44092D-22,2.64326D-23,4.03998D-22,2.53514D-22 & - &,8.53166D-22 & - &,1.29834D-21,3.74482D-21,5.12103D-21,2.65798D-20,2.10948D-20 & - &,2.35315D-19 & -! 54500-54000.5 cm-1 - &,2.79656D-24,1.40820D-22,3.60824D-23,2.69510D-22,4.02850D-22 & - &,8.83735D-22 & - &,1.77198D-21,6.60221D-21,9.60992D-21,8.13558D-20,4.95591D-21 & - &,1.22858D-17 & -! 54000-53500.5 cm-1 - &,2.36959D-24,1.07535D-22,2.83333D-23,2.16789D-22,3.35242D-22 & - &,6.42753D-22 & - &,1.26395D-21,5.43183D-21,4.88083D-21,5.42670D-20,3.27481D-21 & - &,1.58264D-17 & -! 53500-53000.5 cm-1 - &,8.65018D-25,3.70310D-23,1.04351D-23,6.43574D-23,1.17431D-22 & - &,2.70904D-22 & - &,4.88705D-22,1.65505D-21,2.19776D-21,2.71172D-20,2.65257D-21 & - &,2.13945D-17 & -! 53000-52500.5 cm-1 - &,9.63263D-25,1.54249D-23,4.78065D-24,2.97642D-23,6.40637D-23 & - &,1.46464D-22 & - &,1.82634D-22,7.12786D-22,1.64805D-21,2.37376D-17,9.33059D-22 & - &,1.13741D-20 & -! 52500-52000.5 cm-1 - &,1.08414D-24,8.37560D-24,9.15550D-24,2.99295D-23,9.38405D-23 & - &,1.95845D-22 & - &,2.84356D-22,3.39699D-21,1.94524D-22,2.72227D-19,1.18924D-21 & - &,3.20246D-17 & -! 52000-51500.5 cm-1 - &,1.52817D-24,1.01885D-23,1.22946D-23,4.16517D-23,9.01287D-23 & - &,2.34869D-22 & - &,1.93510D-22,1.44956D-21,1.81051D-22,5.17773D-21,9.82059D-22 & - &,6.22768D-17 & -! 51500-51000.5 cm-1 - &,2.12813D-24,8.48035D-24,5.23338D-24,1.93052D-23,1.99464D-23 & - &,7.48997D-23 & - &,4.96642D-22,6.15691D-17,4.47504D-23,2.76004D-22,8.26788D-23 & - &,1.65278D-21 & -! 51000-50500.5 cm-1 - &,3.81336D-24,7.32307D-24,5.60549D-24,2.04651D-23,3.36883D-22 & - &,6.15708D-17 & - &,2.09877D-23,1.07474D-22,9.13562D-24,8.41252D-22,0.00000D+00 & - &,0.00000D+00 & -! 50500-50000.5 cm-1 - &,5.75373D-24,7.15986D-24,5.90031D-24,3.05375D-23,2.97196D-22 & - &,8.92000D-17 & - &,8.55920D-24,1.66709D-17,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00 & -! 50000-49500.5 cm-1 - &,6.21281D-24,7.13108D-24,3.30780D-24,2.61196D-23,1.30783D-22 & - &,9.42550D-17 & - &,2.69241D-24,1.46500D-17,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00 & -! 49500-49000.5 cm-1 - &,6.81118D-24,6.98767D-24,7.55667D-25,2.75124D-23,1.94044D-22 & - &,1.45019D-16 & - &,1.92236D-24,3.73223D-17,0.00000D+00,0.00000D+00,0.00000D+00 & - &,0.00000D+00/ - -! initialize R(M) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SCHU',0,ZHOOK_HANDLE) - do lev = 1, nz - rjm(lev) = 0.D+00 - rjo2(lev) = 0.D+00 - end do - -! calculate sum of exponentials (eqs 7 and 8 of Kockarts 1994) - do j=1,11,2 - do lev = 1, nz-1 - rjm(lev) = rjm(lev) + a(iw,j)*dexp(-a(iw,j+1)* & - & DBLE(o2col(lev))) - rjo2(lev) = rjo2(lev) + b(iw,j)*dexp(-b(iw,j+1)* & - & DBLE(o2col(lev))) - end do -! do the last level seperate, as it is implied that o2col(nz) = 0. - lev = nz - rjm(lev) = rjm(lev) + a(iw,j) - rjo2(lev) = rjo2(lev) + b(iw,j) - end do - - do lev = 1, nz-1 - IF (rjm(lev) .GT. 1.D-100) THEN - xscho2(lev,iw) = rjo2(lev)/rjm(lev) - IF (rjm(lev+1) .GT. 0.) THEN - dto2(lev,iw) = (LOG(rjm(lev+1))-LOG(rjm(lev))) / secchi - ELSE - dto2(lev,iw) = 100. - ENDIF - ELSE - xscho2(lev,iw) = 0. - dto2(lev,iw) = 100. - ENDIF - end do - - dto2(nz,iw) = 0. - xscho2(nz,iw) = rjo2(nz)/rjm(nz) - - IF (LHOOK) CALL DR_HOOK('SCHU',1,ZHOOK_HANDLE) - ENDSUBROUTINE SCHU diff --git a/src/arome/chem/internals/sedim_dust.F90 b/src/arome/chem/internals/sedim_dust.F90 deleted file mode 100644 index 25b0c54ecd9b7dae5a8f44c56f550505ece8d8cb..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sedim_dust.F90 +++ /dev/null @@ -1,268 +0,0 @@ -! ######spl - SUBROUTINE SEDIM_DUST(PTHT,PDTMONITOR,& - PRHODREF,PPABST,PZZ,PSVT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! M. Mokhtari & A. Ambar 09/2016: return to the old version compatible with -!! arome and aladin version -!! -! Entry variables: -! -! PSVTS(INOUT) -Array of moments included in PSVTS -! -!************************************************************* -! Exit variables: -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -! -USE MODD_DUST -USE MODD_CSTS_DUST -USE MODI_DUST_VELGRAV -USE MODE_DUST_PSD -! -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !scalar variable -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST -! -!* 0.2 declarations of local variables -! -INTEGER :: JK, JN, JT -INTEGER :: IMODEIDX -INTEGER :: ISPLITA -REAL :: ZTSPLITR -REAL, DIMENSION(NMODE_DST*3) :: ZPMIN -REAL, DIMENSION(NMODE_DST) :: ZINIRADIUS -REAL :: ZRGMIN, ZSIGMIN -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NMODE_DST) :: ZRG, ZSIG -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),3*NMODE_DST) :: ZPM, ZPMOLD -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)+1,3*NMODE_DST) :: ZFLUXSED, ZFLUXMAX -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZH,ZMU, ZW, ZVSNUMMAX -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),3*NMODE_DST) :: ZVGK, ZDPK -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NMODE_DST) :: ZVG -REAL :: ZVSMAX, ZHMIN, ZRHOI, ZFAC -INTEGER :: ILU ! indice K End in z direction -INTEGER,DIMENSION(NMODE_DST) :: NM0, NM3, NM6 -REAL :: ZDEN2MOL, ZAVOGADRO, ZMD, ZMI -LOGICAL, SAVE :: LSEDFIX = .TRUE. -! -!* 0.3 initialize constant -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('SEDIM_DUST',0,ZHOOK_HANDLE) -ZRHOI = XDENSITY_DUST - -ZMU(:,:,:) = 0. -ZH(:,:,:) = 0. -ZVGK(:,:,:,:) = 0. -ZVG(:,:,:,:) = 0. -ZDPK(:,:,:,:) = 0. -ZW(:,:,:) = 0. -ZFLUXSED(:,:,:,:) = 0. -ILU = SIZE(PSVT,3) -ZFAC = (4./3.)*XPI*ZRHOI*1.e-9 -ZAVOGADRO = 6.0221367E+23 -ZMD = 28.9644E-3 -ZDEN2MOL = 1E-6 * ZAVOGADRO / ZMD -ZMI = XMOLARWEIGHT_DUST ! molecular mass in kg/mol -! -!* 1. compute dimensions of arrays -! -DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - !Get minimum values possible - ZPMIN(NM0(JN)) = XN0MIN(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG) THEN - ZSIGMIN = XSIGMIN - ELSE - ZSIGMIN = XINISIG(IMODEIDX) - ENDIF - ZPMIN(NM3(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZPMIN(NM6(JN)) = XN0MIN(IMODEIDX) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) -END DO -! -!* 2. compute SIG, RG and moments -! -CALL PPP2DUST(PSVT, PRHODREF, PSIG3D=ZSIG, PRG3D=ZRG, PM3D=ZPM) - -ZPMOLD(:,:,:,:)=ZPM(:,:,:,:) -! -!* 3. compute gravitational velocities -! -CALL DUST_VELGRAV(ZSIG(:,:,1:ILU,:), ZRG(:,:,1:ILU,:), & - PTHT(:,:,1:ILU), PPABST(:,:,1:ILU),& - PRHODREF(:,:,1:ILU), ZRHOI, & - ZMU(:,:,1:ILU), ZVGK(:,:,1:ILU,:), & - ZDPK(:,:,1:ILU,:),ZVG(:,:,1:ILU,:)) -! -!* 4. Compute time-splitting condition -! -ZH=9999. -ZVSNUMMAX(:,:,:) = 0. - -DO JK=1,ILU - ZH(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK) - ! Maximum velocity - ZVSNUMMAX(:,:,JK) = MIN(10. *ZH(:,:,JK) / PDTMONITOR,20.) -ENDDO -! -ZHMIN=MINVAL(ZH(:,:,1:ILU)) - -ZFLUXSED(:,:,:,:) = 0. -ZFLUXMAX(:,:,:,:) = 0. - -!Get loss rate [1/s] instead of [m/s] -DO JN=1,NMODE_DST*3 - !ZVGK(:,:,:,JN)=ZVGK(:,:,:,JN)/ZH(:,:,:) - ZVGK(:,:,1:ILU,JN) = MIN(ZVGK(:,:,1:ILU,JN), ZVSNUMMAX(:,:,1:ILU)) - ZVSMAX=MAXVAL(ZVGK(:,:,1:ILU,JN)) - ZVSMAX=MAX(ZVSMAX,5.) - ! - ISPLITA = INT(ZVSMAX*PDTMONITOR/ZHMIN)+1 - ISPLITA = MIN(20, ISPLITA) - ! - ZTSPLITR = PDTMONITOR / FLOAT(ISPLITA) - ! - ZFLUXSED(:,:,ILU+1,JN) = 0. - - DO JT=1,ISPLITA - ZFLUXSED(:,:,1:ILU,JN)= ZVGK(:,:,1:ILU,JN)* ZPM(:,:,1:ILU,JN) - DO JK=1,ILU - ZW(:,:,JK) = ZTSPLITR /(PZZ(:,:,JK+1)-PZZ(:,:,JK)) - END DO - ! - ! -! - DO JK=1,ILU - ZPM(:,:,JK,JN)= ZPM(:,:,JK,JN) + & - ZW(:,:,JK)*(ZFLUXSED(:,:,JK+1,JN)- ZFLUXSED(:,:,JK,JN)) - - END DO - ENDDO - -ENDDO -! -DO JN=1,NMODE_DST -!! Calcul pour maintenir le rayon fixe pour la sedimentation : - IF (LRGFIX_DST) THEN - ZPM(:,:,:,NM3(JN)) = ZPM(:,:,:,NM0(JN)) *& - (ZRG(:,:,:,JN)**3)*EXP(4.5 * LOG(ZSIG(:,:,:,JN))**2) - ENDIF -! Calcul pour maintenir la dispersion fixe pour la sedimentation : -! sinon Rg augmente lors de la reconstruction d'une loi log-normale -! a partir des nouveau Mk (sigma diminue plus vite que Rg) -! calcul de M6 en conservant sigma - ZPM(:,:,:, NM6(JN)) = ZPM(:,:,:,NM0(JN)) & - * ( (ZPM(:,:,:,NM3(JN))/ZPM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*LOG(ZSIG(:,:,:,JN))**2))**6 & - * exp(18.*LOG(ZSIG(:,:,:,JN))**2) - - IF ((LSEDFIX).AND.(LVARSIG)) THEN - ! calcul de M6 en conservant Rg - - ZPM(:,:,:,NM6(JN)) = ZPM(:,:,:,NM3(JN)) ** 4 / & - (ZRG(:,:,:,JN)**6 * ZPM(:,:,:,NM0(JN))**3) - - END IF -ENDDO -! -IF (LSEDFIX) THEN - LSEDFIX = .FALSE. -ELSE - LSEDFIX = .TRUE. -END IF -! -!* 5. Return to concentration in ppp (#/molec_{air}) -! -DO JN=1,NMODE_DST -IF (LVARSIG) THEN -WHERE ((ZPM(:,:,:,NM0(JN)) .GT. 100.*ZPMIN(NM0(JN))).AND.& - (ZPM(:,:,:,NM3(JN)) .GT. 100.*ZPMIN(NM3(JN))).AND.& - (ZPM(:,:,:,NM6(JN)) .GT. 100.*ZPMIN(NM6(JN)))) - PSVT(:,:,:,1+(JN-1)*3) = ZPM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*3) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - PSVT(:,:,:,3+(JN-1)*3) = ZPM(:,:,:,NM6(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -ELSEWHERE - PSVT(:,:,:,1+(JN-1)*3) = ZPMOLD(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*3) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - PSVT(:,:,:,3+(JN-1)*3) = ZPMOLD(:,:,:,NM6(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -ENDWHERE -ELSE IF (LRGFIX_DST) THEN - -WHERE ((ZPM(:,:,:,NM3(JN)) .GT. 100*ZPMIN(NM3(JN)))) - PSVT(:,:,:,JN) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) -ELSEWHERE - PSVT(:,:,:,JN) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) -ENDWHERE - -ELSE - - -WHERE ((ZPM(:,:,:,NM0(JN)) .GT. 100*ZPMIN(NM0(JN))).AND.& - (ZPM(:,:,:,NM3(JN)) .GT. 100*ZPMIN(NM3(JN)))) - PSVT(:,:,:,1+(JN-1)*2) = ZPM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*2) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) -ELSEWHERE - PSVT(:,:,:,1+(JN-1)*2) = ZPMOLD(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*2) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) -ENDWHERE - -END IF -ENDDO - -CALL PPP2DUST(PSVT, PRHODREF, PSIG3D=ZSIG, PRG3D=ZRG, PM3D=ZPM) - -! -IF (LHOOK) CALL DR_HOOK('SEDIM_DUST',1,ZHOOK_HANDLE) -END SUBROUTINE SEDIM_DUST diff --git a/src/arome/chem/internals/sedim_salt.F90 b/src/arome/chem/internals/sedim_salt.F90 deleted file mode 100644 index 969ba102235aa3bfd5875d89fe263cf71da2b310..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sedim_salt.F90 +++ /dev/null @@ -1,265 +0,0 @@ -! ######spl - SUBROUTINE SEDIM_SALT(PTHT,PDTMONITOR,& - PRHODREF,PPABST,PZZ,PSVT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ####################################### -!! -!! PURPOSE -!! ------- -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! Original -!! -! Entry variables: -! -! PSVTS(INOUT) -Array of moments included in PSVTS -! -!************************************************************* -! Exit variables: -! -!************************************************************* -! Variables used during the deposition velocity calculation -! -! ZVGK -Polydisperse settling velocity of the kth moment (m/s) -!************************************************************ -!! -!! IMPLICIT ARGUMENTS -! -USE MODD_SALT -USE MODD_CSTS_SALT -USE MODI_SALT_VELGRAV -USE MODE_SALT_PSD -! -! -IMPLICIT NONE -! -!* 0.1 declarations of arguments -! -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !scalar variable -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST -! -!* 0.2 declarations of local variables -! -INTEGER :: JK, JN, JT -INTEGER :: IMODEIDX -INTEGER :: ISPLITA -REAL :: ZTSPLITR -REAL, DIMENSION(NMODE_SLT*3) :: ZPMIN -REAL, DIMENSION(NMODE_SLT) :: ZINIRADIUS -REAL :: ZRGMIN, ZSIGMIN -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NMODE_SLT) :: ZRG, ZSIG -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),3*NMODE_SLT) :: ZPM, ZPMOLD -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)+1,3*NMODE_SLT) :: ZFLUXSED, ZFLUXMAX -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3)) :: ZH,ZMU, ZW, ZVSNUMMAX -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),3*NMODE_SLT) :: ZVGK, ZDPK -REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NMODE_SLT) :: ZVG -REAL :: ZVSMAX, ZHMIN, ZRHOI, ZFAC -INTEGER :: ILU ! indice K End in z direction -INTEGER,DIMENSION(NMODE_SLT) :: NM0, NM3, NM6 -REAL :: ZDEN2MOL, ZAVOGADRO, ZMD, ZMI -LOGICAL, SAVE :: LSEDFIX = .TRUE. -! -!* 0.3 initialize constant -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('SEDIM_SALT',0,ZHOOK_HANDLE) -ZRHOI = XDENSITY_SALT - -ZMU(:,:,:) = 0. -ZH(:,:,:) = 0. -ZVGK(:,:,:,:) = 0. -ZVG(:,:,:,:) = 0. -ZDPK(:,:,:,:) = 0. -ZW(:,:,:) = 0. -ZFLUXSED(:,:,:,:) = 0. -ILU = SIZE(PSVT,3) -ZFAC = (4./3.)*XPI*ZRHOI*1.e-9 -ZAVOGADRO = 6.0221367E+23 -ZMD = 28.9644E-3 -ZDEN2MOL = 1E-6 * ZAVOGADRO / ZMD -ZMI = XMOLARWEIGHT_SALT ! molecular mass in kg/mol -! -!* 1. compute dimensions of arrays -! -DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITS=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) * EXP(-3.*(LOG(XINISIG_SLT(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - !Get minimum values possible - ZPMIN(NM0(JN)) = XN0MIN_SLT(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG_SLT) THEN - ZSIGMIN = XSIGMIN_SLT - ELSE - ZSIGMIN = XINISIG_SLT(IMODEIDX) - ENDIF - ZPMIN(NM3(JN)) = XN0MIN_SLT(IMODEIDX) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZPMIN(NM6(JN)) = XN0MIN_SLT(IMODEIDX) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) -END DO -! -!* 2. compute SIG, RG and moments -! -CALL PPP2SALT(PSVT, PRHODREF, PSIG3D=ZSIG, PRG3D=ZRG, PM3D=ZPM) - -ZPMOLD(:,:,:,:)=ZPM(:,:,:,:) -! -!* 3. compute gravitational velocities -! -CALL SALT_VELGRAV(ZSIG(:,:,1:ILU,:), ZRG(:,:,1:ILU,:), & - PTHT(:,:,1:ILU), PPABST(:,:,1:ILU),& - PRHODREF(:,:,1:ILU), ZRHOI, & - ZMU(:,:,1:ILU), ZVGK(:,:,1:ILU,:), & - ZDPK(:,:,1:ILU,:),ZVG(:,:,1:ILU,:)) -! -!* 4. Compute time-splitting condition -! -ZH=9999. -ZVSNUMMAX(:,:,:) = 0. - -DO JK=1,ILU - ZH(:,:,JK)=PZZ(:,:,JK+1)-PZZ(:,:,JK) - ! Maximum velocity - ZVSNUMMAX(:,:,JK) = MIN(10. *ZH(:,:,JK) / PDTMONITOR,20.) -ENDDO -! -ZHMIN=MINVAL(ZH(:,:,1:ILU)) - -ZFLUXSED(:,:,:,:) = 0. -ZFLUXMAX(:,:,:,:) = 0. - -!Get loss rate [1/s] instead of [m/s] -DO JN=1,NMODE_SLT*3 - !ZVGK(:,:,:,JN)=ZVGK(:,:,:,JN)/ZH(:,:,:) - ZVGK(:,:,1:ILU,JN) = MIN(ZVGK(:,:,1:ILU,JN), ZVSNUMMAX(:,:,1:ILU)) - ZVSMAX=MAXVAL(ZVGK(:,:,1:ILU,JN)) - ZVSMAX=MAX(ZVSMAX,5.) - ! - ISPLITA = INT(ZVSMAX*PDTMONITOR/ZHMIN)+1 - ISPLITA = MIN(20, ISPLITA) - ! - ZTSPLITR = PDTMONITOR / FLOAT(ISPLITA) - ! - ZFLUXSED(:,:,ILU+1,JN) = 0. - - DO JT=1,ISPLITA - ZFLUXSED(:,:,1:ILU,JN)= ZVGK(:,:,1:ILU,JN)* ZPM(:,:,1:ILU,JN) - DO JK=1,ILU - ZW(:,:,JK) = ZTSPLITR /(PZZ(:,:,JK+1)-PZZ(:,:,JK)) - END DO - ! - ! -! - DO JK=1,ILU - ZPM(:,:,JK,JN)= ZPM(:,:,JK,JN) + & - ZW(:,:,JK)*(ZFLUXSED(:,:,JK+1,JN)- ZFLUXSED(:,:,JK,JN)) - - END DO - ENDDO - -ENDDO -! -DO JN=1,NMODE_SLT -!! Calcul pour maintenir le rayon fixe pour la sedimentation : - IF (LRGFIX_SLT) THEN - ZPM(:,:,:,NM3(JN)) = ZPM(:,:,:,NM0(JN)) *& - (ZRG(:,:,:,JN)**3)*EXP(4.5 * LOG(ZSIG(:,:,:,JN))**2) - ENDIF -! Calcul pour maintenir la dispersion fixe pour la sedimentation : -! sinon Rg augmente lors de la reconstruction d'une loi log-normale -! a partir des nouveau Mk (sigma diminue plus vite que Rg) -! calcul de M6 en conservant sigma - ZPM(:,:,:, NM6(JN)) = ZPM(:,:,:,NM0(JN)) & - * ( (ZPM(:,:,:,NM3(JN))/ZPM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*LOG(ZSIG(:,:,:,JN))**2))**6 & - * exp(18.*LOG(ZSIG(:,:,:,JN))**2) - - IF ((LSEDFIX).AND.(LVARSIG_SLT)) THEN - ! calcul de M6 en conservant Rg - - ZPM(:,:,:,NM6(JN)) = ZPM(:,:,:,NM3(JN)) ** 4 / & - (ZRG(:,:,:,JN)**6 * ZPM(:,:,:,NM0(JN))**3) - - END IF -ENDDO -! -IF (LSEDFIX) THEN - LSEDFIX = .FALSE. -ELSE - LSEDFIX = .TRUE. -END IF -! -!* 5. Return to concentration in ppp (#/molec_{air}) -! -DO JN=1,NMODE_SLT -IF (LVARSIG_SLT) THEN -WHERE ((ZPM(:,:,:,NM0(JN)) .GT. 100.*ZPMIN(NM0(JN))).AND.& - (ZPM(:,:,:,NM3(JN)) .GT. 100.*ZPMIN(NM3(JN))).AND.& - (ZPM(:,:,:,NM6(JN)) .GT. 100.*ZPMIN(NM6(JN)))) - PSVT(:,:,:,1+(JN-1)*3) = ZPM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*3) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - PSVT(:,:,:,3+(JN-1)*3) = ZPM(:,:,:,NM6(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -ELSEWHERE - PSVT(:,:,:,1+(JN-1)*3) = ZPMOLD(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*3) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - PSVT(:,:,:,3+(JN-1)*3) = ZPMOLD(:,:,:,NM6(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)*1.d-6) -ENDWHERE -ELSE IF (LRGFIX_SLT) THEN -WHERE ((ZPM(:,:,:,NM3(JN)) .GT. 100*ZPMIN(NM3(JN)))) - PSVT(:,:,:,JN) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) -ELSEWHERE - PSVT(:,:,:,JN) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) -ENDWHERE - -ELSE - - -WHERE ((ZPM(:,:,:,NM0(JN)) .GT. 100*ZPMIN(NM0(JN))).AND.& - (ZPM(:,:,:,NM3(JN)) .GT. 100*ZPMIN(NM3(JN)))) - PSVT(:,:,:,1+(JN-1)*2) = ZPM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*2) = ZPM(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) -ELSEWHERE - PSVT(:,:,:,1+(JN-1)*2) = ZPMOLD(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - PSVT(:,:,:,2+(JN-1)*2) = ZPMOLD(:,:,:,NM3(JN)) * XMD*XPI * 4./3.*ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) -ENDWHERE - -END IF -ENDDO - -CALL PPP2SALT(PSVT, PRHODREF, PSIG3D=ZSIG, PRG3D=ZRG, PM3D=ZPM) - -! -IF (LHOOK) CALL DR_HOOK('SEDIM_SALT',1,ZHOOK_HANDLE) -END SUBROUTINE SEDIM_SALT diff --git a/src/arome/chem/internals/setaer.F b/src/arome/chem/internals/setaer.F deleted file mode 100644 index 7f7dc00e4acbbffbf63945100677e7f5737bf17d..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setaer.F +++ /dev/null @@ -1,188 +0,0 @@ -! ######spl - SUBROUTINE setaer(nz,z,nw,wl,dtaer,omaer,gaer) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=51) - -! input: (grids) - REAL wl(kw) - REAL z(kz) - INTEGER nz - INTEGER nw - -! output: (on converted grid) - REAL dtaer(kz,kw), omaer(kz,kw), gaer(kz,kw) - -! local: - REAL zd(kdata), aer(kdata) - REAL cd(kdata), omd(kdata), gd(kdata) - REAL womd(kdata), wgd(kdata) - - REAL cz(kz) - REAL omz(kz) - REAL gz(kz) - - REAL wc, wscale - INTEGER i, iw, nd - - LOGICAL aerosl - - REAL fsum - EXTERNAL fsum - -!_______________________________________________________________________ - -! Aerosol data from Elterman (1968) -! These are verical optical depths per km, in 1 km -! intervals from 0 km to 50 km, at 340 nm. -! This is one option. User can specify different data set. - - DATA aer/ & - & 2.40E-01,1.06E-01,4.56E-02,1.91E-02,1.01E-02,7.63E-03, & - & 5.38E-03,5.00E-03,5.15E-03,4.94E-03,4.82E-03,4.51E-03, & - & 4.74E-03,4.37E-03,4.28E-03,4.03E-03,3.83E-03,3.78E-03, & - & 3.88E-03,3.08E-03,2.26E-03,1.64E-03,1.23E-03,9.45E-04, & - & 7.49E-04,6.30E-04,5.50E-04,4.21E-04,3.22E-04,2.48E-04, & - & 1.90E-04,1.45E-04,1.11E-04,8.51E-05,6.52E-05,5.00E-05, & - & 3.83E-05,2.93E-05,2.25E-05,1.72E-05,1.32E-05,1.01E-05, & - & 7.72E-06,5.91E-06,4.53E-06,3.46E-06,2.66E-06,2.04E-06, & - & 1.56E-06,1.19E-06,9.14E-07/ -!_______________________________________________________________________ - -! initialize - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETAER',0,ZHOOK_HANDLE) - DO 15, iw = 1, nw - 1 - DO 10, i = 1, nz - 1 - dtaer(i,iw) = 0. - omaer(i,iw) = 1. - gaer(i,iw) = 0. - 10 CONTINUE - 15 CONTINUE - -! if dont want any aerosols, set AEROSL = .FALSE. - -! aerosl = .FALSE. - aerosl = .TRUE. - IF (.NOT. aerosl) THEN - WRITE(kout,*) 'no aerosols' - IF (LHOOK) CALL DR_HOOK('SETAER',1,ZHOOK_HANDLE) - RETURN - ENDIF - -! Altitudes corresponding to Elterman profile, from bottom to top: - - WRITE(kout,*)'aerosols: Elterman (1968)' - nd = 51 - DO 22, i = 1, nd - zd(i) = FLOAT(i-1) - 22 CONTINUE - -! assume these are point values (at each level), so find column -! increments - - DO 27, i = 1, nd - 1 - cd(i) = (aer(i+1) + aer(i)) / 2. - omd(i) = .99 - gd(i) = .61 - 27 CONTINUE - -!********** end data input. - -! Compute integrals and averages over grid layers: -! for g and omega, use averages weigthed by optical depth - - DO 29, i = 1, nd-1 - womd(i) = omd(i) * cd(i) - wgd(i) = gd(i) * cd(i) - 29 CONTINUE - CALL inter3(nz,z,cz, nd,zd,cd, 1) - CALL inter3(nz,z,omz, nd, zd,womd, 1) - CALL inter3(nz,z,gz , nd, zd,wgd, 1) - DO 30, i = 1, nz-1 - IF (cz(i) .GT. 0.) THEN - omz(i) = omz(i)/cz(i) - gz(i) = gz(i) /cz(i) - ELSE - omz(i) = 1. - gz(i) = 0. - ENDIF - 30 CONTINUE - - WRITE(kout,*) ' Total aerosol od at 340 nm = ', fsum(nz-1,cz) - -! assign at all wavelengths -! (can move wavelength loop outside if want to vary with wavelength) - - DO 50, iw = 1, nw - 1 - wc = (wl(iw)+wl(iw+1))/2. - -! Elterman's data are for 340 nm, so assume optical depth scales -! inversely with first power of wavelength. - - wscale = 340./wc - -! optical depths: - - DO 40, i = 1, nz - 1 - dtaer(i,iw) = cz(i) * wscale - omaer(i,iw) = omz(i) - gaer(i,iw) = gz(i) - 40 CONTINUE - - 50 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETAER',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETAER diff --git a/src/arome/chem/internals/setair.F b/src/arome/chem/internals/setair.F deleted file mode 100644 index 834e416651268c4d1385d3ce25f8a8355d240a09..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setair.F +++ /dev/null @@ -1,208 +0,0 @@ -! ######spl - SUBROUTINE setair(pmbnew, & - & nz,z,nw,wl, & - & airlev,dtrl,cz) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=150) - -! input: (grids) - REAL wl(kw) - REAL z(kz) - INTEGER nw - INTEGER nz - REAL pmbnew - -! output: -! air density (molec cm-3) at each grid level -! Rayleigh optical depths - - REAL airlev(kz) - REAL dtrl(kz,kw) - -! local: - REAL scale - real airnew(kdata) - REAL colold, colnew, pmbold - REAL pconv - PARAMETER(pconv = 980.665 * 1.E-3 * 28.9644 / 6.022169E23) -! specified data: - REAL zd(kdata), air(kdata) - REAL hscale - REAL cd(kdata) - -! other: - REAL cz(kz) - REAL srayl(kw) - REAL deltaz - REAL colz, pressz - REAL wc, wmicrn, xx - INTEGER i, iw, nd - - -! External functions: - REAL fsum - EXTERNAL fsum - -!_______________________________________________________________________ - -! read in air density profile - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETAIR',0,ZHOOK_HANDLE) - WRITE(kout,*) 'air density: USSA, 1976' - - OPEN(kin,FILE='DATAE1/ATM/ussa.dens',STATUS='old') - DO i = 1, 3 - READ(kin,*) - ENDDO - nd = 1 - 4 CONTINUE - READ(kin,*,END=5) zd(nd), air(nd) - nd = nd+1 - GOTO 4 - 5 CONTINUE - CLOSE(kin) - nd = nd-1 - -! compute column increments (logarithmic integrals) - - DO 6, i = 1, nd - 1 - deltaz = 1.E5 * (zd(i+1)-zd(i)) - cd(i) = (air(i+1)-air(i)) /LOG(air(i+1)/air(i)) * deltaz -! cd(i) = (air(i+1)+air(i)) * deltaz / 2. - 6 CONTINUE - -! Include exponential tail integral from infinity to 50 km, -! fold tail integral into top layer -! specify scale height near top of data. - - hscale = 8.05e5 - cd(nd-1) = cd(nd-1) + hscale * air(nd) - -! alternative input air density data could include, e.g., a read file here: - -! If want, can rescale to any total pressure: - - colold = fsum(nd-1,cd) - pmbold = colold * pconv - WRITE(kout,100) colold, pmbold - 100 FORMAT(5x,'old sea level air column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2,' mbar') - -! assign new sea level pressure - - if (pmbnew .lt. 0.) then - scale = 1. - else - scale = pmbnew/pmbold - endif - - DO i = 1, nd-1 - cd(i) = cd(i) * scale - airnew(i) = air(i) * scale - ENDDO - airnew(nd) = air(nd) * scale - - colnew = fsum(nd-1,cd) - WRITE(kout,105) colnew, colnew * pconv - 105 FORMAT(5x,'new sea level air column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2,' mbar') - -!********************* end data input. - -! Compute air density at each level - - CALL ch_inter1(nz,z,airlev,nd,zd,airnew) - -! Compute column increments on standard z-grid. - - CALL inter3(nz,z,cz, nd,zd,cd, 1) - - colz = fsum(nz-1,cz) - pressz = colz * pconv - write(kout,110) colz, pressz - 110 FORMAT(5x,'surface air column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2,' mbar') - - -! compute Rayleigh cross sections and depths: - - DO 30, iw = 1, nw - 1 - wc = (wl(iw) + wl(iw+1))/2. - -! Rayleigh scattering cross section -! from WMO 1985 (originally from Nicolet) - - wmicrn = wc/1.E3 - IF( wmicrn .LE. 0.55) THEN - xx = 3.677 + 0.389*wmicrn + 0.09426/wmicrn - ELSE - xx = 4. + 0.04 - ENDIF - srayl(iw) = 4.02e-28/(wmicrn)**xx - -! alternate (older) expression from -! Frohlich and Shaw, Appl.Opt. v.11, p.1773 (1980). -! xx = 3.916 + 0.074*wmicrn + 0.050/wmicrn -! srayl(iw) = 3.90e-28/(wmicrn)**xx - - DO 40, i = 1, nz - 1 - dtrl(i,iw) = cz(i)*srayl(iw) - 40 CONTINUE - - 30 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETAIR',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETAIR diff --git a/src/arome/chem/internals/setalb.F b/src/arome/chem/internals/setalb.F deleted file mode 100644 index e587e251ec4cf3ff983a00a6552a6e772be18a85..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setalb.F +++ /dev/null @@ -1,80 +0,0 @@ -! ######spl - SUBROUTINE setalb(nw,wl,albedo) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input: (wavelength working grid data) - INTEGER nw - REAL wl(kw) - -! output: - REAL albedo(kw) - -! local: - INTEGER iw - REAL alb -!_______________________________________________________________________ - -! set - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETALB',0,ZHOOK_HANDLE) - alb = 0.10 - WRITE(kout,*)'wavelength-independent albedo = ', alb - DO 10, iw = 1, nw - 1 - - albedo(iw) = alb - - 10 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETALB',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETALB diff --git a/src/arome/chem/internals/setcld.F b/src/arome/chem/internals/setcld.F deleted file mode 100644 index 8a7a5f8365d308cc8f90cc4dd68102021f90361f..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setcld.F +++ /dev/null @@ -1,193 +0,0 @@ -! ######spl - SUBROUTINE setcld(nz,z,nw,wl, & - & lwc, nlevel, & - & dtcld,omcld,gcld) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!XXX SUBROUTINE setcld(nz,z,nw,wl,dtcld,omcld,gcld) -!KS:11=================================================================== - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata -!KS:12=================================================================== -!XXX PARAMETER(kdata=51) - PARAMETER(kdata=151) -!KS:12=================================================================== - - -! input: (grids) - REAL wl(kw) - REAL z(kz) - INTEGER nz - INTEGER nw -!KS:13=================================================================== -! LWC is the liquid water content (!! kg/m3 !!) on the calling model -! grid (which has NLEVEL points: Z(1:NLEVEL) = AZ(*) - REAL lwc(*) - INTEGER nlevel -!KS:13=================================================================== - - -! Output: - REAL dtcld(kz,kw), omcld(kz,kw), gcld(kz,kw) - -! local: - -! specified data: - REAL zd(kdata), cd(kdata), omd(kdata), gd(kdata) - REAL womd(kdata), wgd(kdata) - -! other: - REAL cz(kz) - REAL omz(kz) - REAL gz(kz) - INTEGER i, iw, n - -! External functions: - REAL fsum - EXTERNAL fsum -!_______________________________________________________________________ - - -! cloud properties are set for each layer (not each level) - -! Set as many clouds as want here: -! First choose a cloud grid, zd(n), in km above sea level -! Can allow altitude variation of omega, g: - -!KS:14=================================================================== -!XXX n = 4 -!XXX -!XXX zd(1) = 5. -!XXX cd(1) = 0. -!XXX omd(1) = .9999 -!XXX gd(1) = .85 -!XXX -!XXX zd(2) = 7. -!XXX cd(2) = 0. -!XXX omd(2) = .5 -!XXX gd(2) = .5 -!XXX -!XXX zd(3) = 9. -!XXX cd(3) = 0. -!XXX omd(3) = .9999 -!XXX gd(3) = .85 -!XXX -!XXX zd(4) = 11. -!XXX - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETCLD',0,ZHOOK_HANDLE) - n = nlevel + 1 - if (n .gt. kdata) stop "SETCLD: not enough memory: KDATA" - zd(1) = 0 - do 110, i = 2, n - zd(i) = 0.5*( z(i-1) + z(i) ) -110 continue -! -! calculate cloud optical properties - do 120, i = 1, nlevel -! -! reference: Fouquart et al., Rev. Geophys., 1990 -! TAU = 3/2 LWC*DZ / (RHOWATER * Reff) -! RHOWATER = 1E3 kg/m3 -! Reff = (11 w + 4) 1E-6 -! w = LWC * 1E+3 (in g/cm3, since LWC is given in kg/m3) -! - cd(i) = 1.5 * ( lwc(i) * 1E3*(zd(i+1) - zd(i)) ) & - & / ( 1E3 * (11.*lwc(i)*1E+3+4.) * 1E-6) - omd(i) = .9999 - gd(i) = .85 -! print '(A,I5,99E12.5)', "I,TAU,LWC,REFF(um)" -! + , i, cd(i), lwc(i) -! + , ((11.*lwc(i)*1E+3+4.)) -120 continue -!KS:14=================================================================== - -!***************** - -! compute integrals and averages over grid layers: -! for g and omega, use averages weigthed by optical depth - -! DO 11, i = 1, n !***** CHANGED!!See header!!***** - DO 11, i = 1, n-1 - womd(i) = omd(i) * cd(i) - wgd(i) = gd(i) * cd(i) - 11 CONTINUE - CALL inter3(nz,z,cz, n, zd,cd, 0) - CALL inter3(nz,z,omz, n, zd,womd, 0) - CALL inter3(nz,z,gz , n, zd,wgd, 0) - - DO 15, i = 1, nz-1 - IF (cz(i) .GT. 0.) THEN - omz(i) = omz(i)/cz(i) - gz(i) = gz(i) /cz(i) - ELSE - omz(i) = 1. - gz(i) = 0. - ENDIF - 15 CONTINUE - -! WRITE(kout,*) 'Cloud: ', n, 'levels, tot opt. dep. = ', -! $ fsum(nz-1,cz) - -! assign at all wavelengths -! (can move wavelength loop outside if want to vary with wavelength) - - DO 17, iw = 1, nw-1 - DO 16, i = 1, nz-1 - dtcld(i,iw) = cz(i) - omcld(i,iw) = omz(i) - gcld (i,iw) = gz(i) - 16 CONTINUE - 17 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETCLD',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETCLD diff --git a/src/arome/chem/internals/setno2.F b/src/arome/chem/internals/setno2.F deleted file mode 100644 index 4f97a1860a793600d40af2d8e5bfaf32b63eee25..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setno2.F +++ /dev/null @@ -1,187 +0,0 @@ -! ######spl - SUBROUTINE setno2(no2new, & - & nz,z,nw,wl, & - & xsno2, tlay, & - & dtno2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=51) - -!******* -! input: -!******* - -! grids: - - REAL wl(kw) - REAL z(kz) - INTEGER nw - INTEGER nz - REAL no2new - -! mid-layer temperature: - - REAL tlay(kz) - -!******* -! output: -!******* - - REAL dtno2(kz,kw) - -!******* -! local: -!******* - -! absorption cross sections - - REAL xsno2(kw) - REAL cz(kz) - -! nitrogen dioxide profile data: - - REAL zd(kdata), no2(kdata) - REAL cd(kdata) - REAL hscale - REAL colold, colnew - REAL scale - REAL sno2 - -! other: - - INTEGER i, l, nd - -!******* -! External functions: -!******* - REAL fsum - EXTERNAL fsum - -!_______________________________________________________________________ -! Data input: - -! Example: set to 1 ppb in lowest 1 km, set to zero above that. -! - do by specifying concentration at 3 altitudes. - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETNO2',0,ZHOOK_HANDLE) - write(kout,*) 'NO2: 1 ppb in lowest 1 km, 0 above' - - nd = 3 - zd(1) = 0. - no2(1) = 1. * 2.69e10 - - zd(2) = 1. - no2(2) = 1. * 2.69e10 - - zd(3) = zd(2)* 1.000001 - no2(3) = 0. - -! zd(4) = zd(3)*1.1 -! no2(4) = 0. - -! compute column increments (alternatively, can specify these directly) - - DO 11, i = 1, nd - 1 - cd(i) = (no2(i+1)+no2(i)) * 1.E5 * (zd(i+1)-zd(i)) / 2. - 11 CONTINUE - -! Include exponential tail integral from top level to infinity. -! fold tail integral into top layer -! specify scale height near top of data (use ozone value) - - hscale = 4.50e5 - cd(nd-1) = cd(nd-1) + hscale * no2(nd) - -!********** -!********** end data input. - -! Compute column increments on standard z-grid. - - CALL inter3(nz,z,cz, nd,zd,cd, 1) - -! scale values of cz(i) - - colold = fsum(nz-1,cz) - WRITE(kout,100) colold, colold/2.687E16 - 100 FORMAT(5x,'old NO2 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - - if ( (no2new .lt. 0.) .or. (colold .le. 0.) ) then - scale = 1. - else - scale = no2new/colold - endif - - do i = 1, nz-1 - cz(i) = cz(i) * scale - enddo - colnew = fsum(nz-1,cz) - WRITE(kout,105) colnew, colnew/2.687E16 - 105 format(5x,'new NO2 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - -!*********************************** -! calculate optical depth for each layer, with temperature -! correction. Output, dtno2(kz,kw) - - DO 20, l = 1, nw-1 - sno2 = xsno2(l) - DO 10, i = 1, nz-1 - dtno2(i,l) = cz(i)*sno2 - 10 CONTINUE - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETNO2',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETNO2 diff --git a/src/arome/chem/internals/seto2.F b/src/arome/chem/internals/seto2.F deleted file mode 100644 index 8b6e3e2c95a875c94b63d2d92ec26618da4ded7b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/seto2.F +++ /dev/null @@ -1,272 +0,0 @@ -! ######spl - SUBROUTINE seto2(nz,z,nw,wl,cz,zen,dto2,xso2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - REAL wl(kw) - REAL z(kz), cz(kz) - INTEGER nz, nw - REAL zen - REAL dto2(kz,kw), xso2(kz,kw) - -! grid on which Kockarts' parameterization is defined - INTEGER ngast - PARAMETER (ngast = 17) - REAL wlgast(ngast) - SAVE wlgast - - -! O2 optical depth and equivalent cross section on Kockarts' grid - REAL dto2k(kz,ngast-1), xso2k(kz,ngast-1) - - -! internal grid and O2 cross section on internal grid - INTEGER kdata - PARAMETER (kdata = 200) - REAL wlint(kdata), xso2int(kdata) - SAVE wlint, xso2int - INTEGER nwint - SAVE nwint - -! temporary one-dimensional storage for optical depth and cross section values -! XXtmp - on internal grid -! XXuser - on user defined grid - REAL dttmp(2*kw), xstmp(2*kw) - REAL dtuser(kw), xsuser(kw) - - REAL o2col(kz) - - REAL secchi - REAL fchap - EXTERNAL fchap - -! cross section data for use outside the SR-Bands (combined from -! Brasseur and Solomon and the JPL 1994 recommendation) - INTEGER nosr - PARAMETER (nosr = 105) - REAL x1(nosr), y1(nosr) - -! auxiliaries - REAL x, y - REAL dr - PARAMETER (dr = pi/180.) - INTEGER i, iw, igast, ierr, icount - INTEGER iz - INTEGER ifirst, n - - LOGICAL call1 - SAVE call1, icount - DATA call1/.TRUE./ - - - -! check, whether user grid is in the O2 absorption band at all... -! if not, set cross section and optical depth values to zero and return - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETO2',0,ZHOOK_HANDLE) - IF (wl(1) .GT. 243.) THEN - DO iw = 1, nw-1 - DO i = 1, nz - dto2(i,iw) = 0. - xso2(i,iw) = 0. - ENDDO - ENDDO - IF (LHOOK) CALL DR_HOOK('SETO2',1,ZHOOK_HANDLE) - RETURN - ENDIF - -! sec Xhi or Chapman calculation - IF (zen .LE. 75.) THEN - secchi = 1./COS(zen*dr) - ELSEIF (zen .LE. 95. ) THEN - secchi = fchap(zen) - ELSE - IF (LHOOK) CALL DR_HOOK('SETO2',1,ZHOOK_HANDLE) - RETURN - ENDIF - -! O2 overhead columns calculation - o2col(nz-1) = 0.2095 * cz(nz-1) * secchi - DO i = nz-2, 1, -1 - o2col(i) = o2col(i+1) + 0.2095*cz(i)*secchi - END DO - -! read O2 cross section data outside SR-bands only in the very first call - IF (call1) THEN -!************ O2 absorption cross sections: -! from 116 nm to 245 nm, including Schumann-Runge continumm -! from Brasseur and Solomon 1986. - - OPEN(UNIT=kin,FILE='DATAE1/O2/O2_src.abs') - READ(kin,*) ifirst, n - DO i = 1, ifirst-2 - READ(kin,*) - ENDDO - icount = 0 - DO i = 1, n - READ(kin,*) x, y - IF (x .LT. 204.) THEN - icount = icount+1 - x1(icount) = x - y1(icount) = y - ENDIF - ENDDO - CLOSE(kin) - -! overwrite from 204 to 241 nm (Herzberg continuum) - - OPEN(UNIT=kin,FILE='DATAE1/O2/O2_jpl94.abs',STATUS='old') - read(kin,*) - n = 40 - DO i = 1, n - icount = icount+1 - READ(kin,*) y - y1(icount) = y*1E-24 - x1(icount) = 204. + FLOAT(i-1) - END DO - CLOSE (kin) - -! set values to zero outside the wavelength range defined by the data files - - CALL addpnt(x1,y1,nosr,icount, x1(1)-deltax,0.) - CALL addpnt(x1,y1,nosr,icount, 0.,0.) - CALL addpnt(x1,y1,nosr,icount,x1(icount)+deltax,0.) - CALL addpnt(x1,y1,nosr,icount, 1.e38,0.) - - -! set up the internal grid, use full resolution of the cross section data -! outside the SR bands, use Kockarts' grid inside the SR bands - -! define Kockarts' grid points - DO iw = 1, ngast - wlgast(iw) = 1E7/(57000.-(iw-1)*500.) - ENDDO - - nwint = 0 - DO iw = 1, 47 - nwint = nwint + 1 - wlint(nwint) = x1(iw) - ENDDO - DO iw = 1, ngast - nwint = nwint+1 - wlint(nwint) = wlgast(iw) - ENDDO - DO iw = 65, 105 - nwint = nwint+1 - wlint(nwint) = x1(iw) - ENDDO - -! interpolate Brasseur/Solomon and JPL data onto internal grid - CALL ch_inter2(nwint,wlint,xso2int, icount,x1,y1, ierr) - - IF (call1) call1 = .FALSE. - - ENDIF - -! if necessary: -! do Kockarts' parameterization of the SR bands, output values of O2 -! optical depth and O2 equivalent cross section are on his grid - IF ((wl(1) .LT. wlgast(ngast)) .AND. & - & (wl(nw) .GT. wlgast(1))) THEN - DO iw = 1, ngast-1 - CALL schu(nz,o2col,iw,secchi,dto2k,xso2k) - ENDDO - ENDIF - - -! loop through the altitude levels - DO iz = 1, nz - - igast = 0 - -! loop through the internal wavelength grid - DO iw = 1, nwint-1 - -! if outside Kockarts' grid, use the JPL/Brasseur+Solomon data, if inside -! Kockarts' grid, use the parameterized values from the call to SCHU - IF ((wlint(iw) .LT. wlgast(1)) .OR. & - & (wlint(iw) .GT. wlgast(ngast-1))) THEN - IF (iz .EQ. nz) THEN - dttmp(iw) = 0. - ELSE - dttmp(iw) = xso2int(iw) * 0.2095*cz(iz) - ENDIF - xstmp(iw) = xso2int(iw) - ELSE - igast = igast+1 - dttmp(iw) = dto2k(iz,igast) - xstmp(iw) = xso2k(iz,igast) - ENDIF - -! compute the area in each bin (for correct interpolation purposes only!) - dttmp(iw) = dttmp(iw) * (wlint(iw+1)-wlint(iw)) - xstmp(iw) = xstmp(iw) * (wlint(iw+1)-wlint(iw)) - - ENDDO - -! interpolate O2 optical depth from the internal grid onto the user grid - CALL inter3(nw,wl,dtuser, nwint,wlint,dttmp, 0) - DO iw = 1, nw-1 - dto2(iz,iw) = dtuser(iw)/(wl(iw+1)-wl(iw)) - ENDDO - -! interpolate O2 cross section from the internal grid onto the user grid - CALL inter3(nw,wl,xsuser, nwint,wlint,xstmp, 0) - - DO iw = 1, nw-1 - xso2(iz,iw) = xsuser(iw)/(wl(iw+1)-wl(iw)) - ENDDO - - ENDDO - - IF (LHOOK) CALL DR_HOOK('SETO2',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETO2 diff --git a/src/arome/chem/internals/setozo.F b/src/arome/chem/internals/setozo.F deleted file mode 100644 index 14ee5c62a6f64de535a0323fe70009843eb0d313..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setozo.F +++ /dev/null @@ -1,196 +0,0 @@ -! ######spl - SUBROUTINE setozo(dobnew, & - & nz,z,nw,wl, & - & xso3,s226,s263,s298,tlay, & - & dto3) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=150) - -!******* -! input: -!******* - -! grids: - REAL wl(kw) - REAL z(kz) - INTEGER nw - INTEGER nz -! ozone absorption cross sections at 226, 263, and 298 K: - REAL xso3(kw), s226(kw),s263(kw),s298(kw) - REAL dobnew -! mid-layer temperature: - REAL tlay(kz) - -!******* -! output: -!******* - REAL dto3(kz,kw) - - -!******* -! local: -!******* - - REAL cz(kz) - -! ozone profile data: - - REAL zd(kdata), o3(kdata) - REAL cd(kdata) - REAL hscale - REAL dobold, scale - REAL colold, colnew - REAL so3 - -! other: - INTEGER i, iw, nd - -!******* -! External functions: -!******* - REAL fsum - EXTERNAL fsum -!_______________________________________________________________________ - - -! read in ozone profile - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETOZO',0,ZHOOK_HANDLE) - WRITE(kout,*) 'ozone profile: USSA, 1976' - - OPEN(kin,FILE='DATAE1/ATM/ussa.ozone',STATUS='old') - DO i = 1, 7 - READ(kin,*) - ENDDO - nd = 1 - 4 CONTINUE - READ(kin,*,END=5) zd(nd), o3(nd) - nd = nd+1 - GOTO 4 - 5 CONTINUE - CLOSE(kin) - nd = nd-1 - -! compute column increments - - DO 11, i = 1, nd - 1 - cd(i) = (o3(i+1)+o3(i)) * 1.E5 * (zd(i+1)-zd(i)) / 2. - 11 CONTINUE - -! Include exponential tail integral from infinity to 50 km, -! fold tail integral into top layer -! specify scale height near top of data. - - hscale = 4.50e5 - cd(nd-1) = cd(nd-1) + hscale * o3(nd) - -! alternative input ozone concentration data could include, e.g., -! a read file here: - -!********** -!********** end data input. - -! Compute column increments on standard z-grid. - - CALL inter3(nz,z,cz, nd,zd,cd, 1) - -! scale values of cz(i) by any dobson unit - - colold = fsum(nz-1,cz) - dobold = colold/2.687e16 - WRITE(kout,100) colold, dobold - 100 FORMAT(5x,'old O3 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - - if (dobnew .lt. 0.) then - scale = 1. - else - scale = dobnew/dobold - endif - - do i = 1, nz-1 - cz(i) = cz(i) * scale - enddo - colnew = fsum(nz-1,cz) - WRITE(kout,105) colnew, colnew/2.687E16 - 105 format(5x,'new O3 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - -!*********************************** -! calculate ozone optical depth for each layer, with temperature -! correction. Output, dto3(kz,kw) - - DO 20, iw = 1, nw-1 - so3 = xso3(iw) - DO 10, i = 1, nz - 1 - - IF ( wl(iw) .GT. 240.5 .AND. wl(iw+1) .LT. 350. ) THEN - IF (tlay(i) .LT. 263.) THEN - so3 = s226(iw) + (s263(iw)-s226(iw)) / (263.-226.) * & - & (tlay(i)-226.) - ELSE - so3 = s263(iw) + (s298(iw)-s263(iw)) / (298.-263.) * & - & (tlay(i)-263.) - ENDIF - ENDIF - - dto3(i,iw) = cz(i)*so3 - - 10 CONTINUE - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETOZO',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE setozo diff --git a/src/arome/chem/internals/setso2.F b/src/arome/chem/internals/setso2.F deleted file mode 100644 index ec749a3260234e597d1958f76ad9b80faaf64ab6..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/setso2.F +++ /dev/null @@ -1,202 +0,0 @@ -! ######spl - SUBROUTINE setso2(so2new, & - & nz,z,nw,wl, & - & xsso2, tlay, & - & dtso2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=51) - -!******* -! input: -!******* - -! grids: - - REAL wl(kw) - REAL z(kz) - INTEGER nw - INTEGER nz - REAL so2new - -! mid-layer temperature: - - REAL tlay(kz) - -!******* -! output: -!******* - - REAL dtso2(kz,kw) - -!******* -! local: -!******* - -! absorption cross sections - - REAL xsso2(kw) - REAL cz(kz) - -! sulfur dioxide profile data: - - REAL zd(kdata), so2(kdata) - REAL cd(kdata) - REAL hscale - REAL colold, colnew - REAL scale - REAL sso2 - -! other: - - INTEGER i, l, nd - -!******* -! External functions: -!******* - REAL fsum - EXTERNAL fsum - -!_______________________________________________________________________ -! Data input: - -! Example: set to 1 ppb in lowest 1 km, set to zero above that. -! - do by specifying concentration at 3 altitudes. - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETSO2',0,ZHOOK_HANDLE) - write(kout,*) 'SO2: 1 ppb in lowest 1 km, 0 above' - - nd = 3 - zd(1) = 0. - so2(1) = 1. * 2.69e10 - - zd(2) = 1. - so2(2) = 1. * 2.69e10 - - zd(3) = zd(2)* 1.000001 - so2(3) = 0. - -! zd(4) = zd(3)*1.1 -! so2(4) = 0. - -! compute column increments (alternatively, can specify these directly) - - DO 11, i = 1, nd - 1 - cd(i) = (so2(i+1)+so2(i)) * 1.E5 * (zd(i+1)-zd(i)) / 2. - 11 CONTINUE - -! Include exponential tail integral from top level to infinity. -! fold tail integral into top layer -! specify scale height near top of data (use ozone value) - - hscale = 4.50e5 - cd(nd-1) = cd(nd-1) + hscale * so2(nd) - -!********** -!********** end data input. - -! Compute column increments on standard z-grid. - - CALL inter3(nz,z,cz, nd,zd,cd, 1) - -! scale values of cz(i) - - colold = fsum(nz-1,cz) - WRITE(kout,100) colold, colold/2.687E16 - 100 FORMAT(5x,'old SO2 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - - if ( (so2new .lt. 0.) .or. (colold .le. 0.) ) then - scale = 1. - else - scale = so2new/colold - endif - - do i = 1, nz-1 - cz(i) = cz(i) * scale - enddo - colnew = fsum(nz-1,cz) - WRITE(kout,105) colnew, colnew/2.687E16 - 105 format(5x,'new SO2 Column = ', 1pe11.4,1x,'# cm-2 = ', & - & 0pf8.2, ' Dobson Units ') - -!*********************************** -! calculate sulfur optical depth for each layer, with temperature -! correction. Output, dtso2(kz,kw) - - DO 20, l = 1, nw-1 - sso2 = xsso2(l) - DO 10, i = 1, nz - 1 - -! Leaving this part in in case i want to interpolate between -! the 221K and 298K data. -! -! IF ( wl(l) .GT. 240.5 .AND. wl(l+1) .LT. 350. ) THEN -! IF (tlay(i) .LT. 263.) THEN -! sso2 = s221(l) + (s263(l)-s226(l)) / (263.-226.) * -! $ (tlay(i)-226.) -! ELSE -! sso2 = s263(l) + (s298(l)-s263(l)) / (298.-263.) * -! $ (tlay(i)-263.) -! ENDIF -! ENDIF - - dtso2(i,l) = cz(i)*sso2 - - 10 CONTINUE - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETSO2',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETSO2 diff --git a/src/arome/chem/internals/settmp.F b/src/arome/chem/internals/settmp.F deleted file mode 100644 index 01222e3542eac2566e9ad1d6ff2919eec3935f5e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/settmp.F +++ /dev/null @@ -1,110 +0,0 @@ -! ######spl - SUBROUTINE settmp(nz,z,tlev,tlay) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - - INTEGER kdata - PARAMETER(kdata=150) - -! input: (altitude working grid) - REAL z(kz) - INTEGER nz - -! output: - REAL tlev(kz), tlay(kz) - -! local: - REAL zd(kdata), td(kdata) - INTEGER i, nd -!_______________________________________________________________________ - - -! read in temperature profile - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SETTMP',0,ZHOOK_HANDLE) - WRITE(kout,*) 'air temperature: USSA, 1976' - - OPEN(kin,FILE='DATAE1/ATM/ussa.temp',STATUS='old') - DO i = 1, 3 - READ(kin,*) - ENDDO - nd = 1 - 4 CONTINUE - READ(kin,*,END=5) zd(nd), td(nd) - nd = nd+1 - GOTO 4 - 5 CONTINUE - CLOSE(kin) - nd = nd-1 - -! use constant temperature to infinity: - - zd(nd) = 1.E10 - -! alternative input temperature data could include, e.g., a read file here: - -!********** -!********** end data input. - -! interpolate onto z-grid - - CALL ch_inter1(nz,z,tlev,nd,zd,td) - -! compute layer-averages - - DO 20, i = 1, nz - 1 - tlay(i) = (tlev(i+1) + tlev(i))/2. - 20 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SETTMP',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SETTMP diff --git a/src/arome/chem/internals/sewset.F b/src/arome/chem/internals/sewset.F deleted file mode 100644 index 47a9280c49ec7e32cfd9cfa0cd69cb4eb1180c3a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sewset.F +++ /dev/null @@ -1,46 +0,0 @@ -! ######spl - SUBROUTINE SEWSET (N, ITOL, RTOL, ATOL, YCUR, EWT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################################## - REAL RTOL, ATOL, YCUR, EWT - INTEGER N, ITOL - DIMENSION RTOL(*), ATOL(*), YCUR(N), EWT(N) -!----------------------------------------------------------------------- -! Call sequence input -- N, ITOL, RTOL, ATOL, YCUR -! Call sequence output -- EWT -! COMMON block variables accessed -- None -! -! Subroutines/functions called by SEWSET.. None -!----------------------------------------------------------------------- -! This subroutine sets the error weight vector EWT according to -! EWT(i) = RTOL(i)*abs(YCUR(i)) + ATOL(i), i = 1,...,N, -! with the subscript on RTOL and/or ATOL possibly replaced by 1 above, -! depending on the value of ITOL. -!----------------------------------------------------------------------- - INTEGER I - REAL(KIND=JPRB) :: ZHOOK_HANDLE -! - IF (LHOOK) CALL DR_HOOK('SEWSET',0,ZHOOK_HANDLE) - GO TO (10, 20, 30, 40), ITOL - 10 CONTINUE - DO 15 I = 1, N - 15 EWT(I) = RTOL(1)*ABS(YCUR(I)) + ATOL(1) - IF (LHOOK) CALL DR_HOOK('SEWSET',1,ZHOOK_HANDLE) - RETURN - 20 CONTINUE - DO 25 I = 1, N - 25 EWT(I) = RTOL(1)*ABS(YCUR(I)) + ATOL(I) - IF (LHOOK) CALL DR_HOOK('SEWSET',1,ZHOOK_HANDLE) - RETURN - 30 CONTINUE - DO 35 I = 1, N - 35 EWT(I) = RTOL(I)*ABS(YCUR(I)) + ATOL(1) - IF (LHOOK) CALL DR_HOOK('SEWSET',1,ZHOOK_HANDLE) - RETURN - 40 CONTINUE - DO 45 I = 1, N - 45 EWT(I) = RTOL(I)*ABS(YCUR(I)) + ATOL(I) - IF (LHOOK) CALL DR_HOOK('SEWSET',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SEWSET diff --git a/src/arome/chem/internals/sgbfa.F b/src/arome/chem/internals/sgbfa.F deleted file mode 100644 index e14d6d2487b717ae2d368ad697f9d1ac02fdb0a7..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sgbfa.F +++ /dev/null @@ -1,180 +0,0 @@ -! ######spl - subroutine sgbfa(abd,lda,n,ml,mu,ipvt,info) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - integer lda,n,ml,mu,ipvt(1),info - real abd(lda,1) -! -! sgbfa factors a real band matrix by elimination. -! -! sgbfa is usually called by sgbco, but it can be called -! directly with a saving in time if rcond is not needed. -! -! on entry -! -! abd real(lda, n) -! contains the matrix in band storage. the columns -! of the matrix are stored in the columns of abd and -! the diagonals of the matrix are stored in rows -! ml+1 through 2*ml+mu+1 of abd . -! see the comments below for details. -! -! lda integer -! the leading dimension of the array abd . -! lda must be .ge. 2*ml + mu + 1 . -! -! n integer -! the order of the original matrix. -! -! ml integer -! number of diagonals below the main diagonal. -! 0 .le. ml .lt. n . -! -! mu integer -! number of diagonals above the main diagonal. -! 0 .le. mu .lt. n . -! more efficient if ml .le. mu . -! on return -! -! abd an upper triangular matrix in band storage and -! the multipliers which were used to obtain it. -! the factorization can be written a = l*u where -! l is a product of permutation and unit lower -! triangular matrices and u is upper triangular. -! -! ipvt integer(n) -! an integer vector of pivot indices. -! -! info integer -! = 0 normal value. -! = k if u(k,k) .eq. 0.0 . this is not an error -! condition for this subroutine, but it does -! indicate that sgbsl will divide by zero if -! called. use rcond in sgbco for a reliable -! indication of singularity. -! -! band storage -! -! if a is a band matrix, the following program segment -! will set up the input. -! -! ml = (band width below the diagonal) -! mu = (band width above the diagonal) -! m = ml + mu + 1 -! do 20 j = 1, n -! i1 = max0(1, j-mu) -! i2 = min0(n, j+ml) -! do 10 i = i1, i2 -! k = i - j + m -! abd(k,j) = a(i,j) -! 10 continue -! 20 continue -! -! this uses rows ml+1 through 2*ml+mu+1 of abd . -! in addition, the first ml rows in abd are used for -! elements generated during the triangularization. -! the total number of rows needed in abd is 2*ml+mu+1 . -! the ml+mu by ml+mu upper left triangle and the -! ml by ml lower right triangle are not referenced. -! -! linpack. this version dated 08/14/78 . -! cleve moler, university of new mexico, argonne national lab. -! -! subroutines and functions -! -! blas saxpy,sscal,ichsamax -! fortran max0,min0 -! -! internal variables -! - real t - integer i,ichsamax,i0,j,ju,jz,j0,j1,k,kp1,l,lm,m,mm,nm1 -! -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SGBFA',0,ZHOOK_HANDLE) - m = ml + mu + 1 - info = 0 -! -! zero initial fill-in columns -! - j0 = mu + 2 - j1 = min0(n,m) - 1 - if (j1 .lt. j0) go to 30 - do 20 jz = j0, j1 - i0 = m + 1 - jz - do 10 i = i0, ml - abd(i,jz) = 0.0e0 - 10 continue - 20 continue - 30 continue - jz = j1 - ju = 0 -! -! gaussian elimination with partial pivoting -! - nm1 = n - 1 - if (nm1 .lt. 1) go to 130 - do 120 k = 1, nm1 - kp1 = k + 1 -! -! zero next fill-in column -! - jz = jz + 1 - if (jz .gt. n) go to 50 - if (ml .lt. 1) go to 50 - do 40 i = 1, ml - abd(i,jz) = 0.0e0 - 40 continue - 50 continue -! -! find l = pivot index -! - lm = min0(ml,n-k) - l = ichsamax(lm+1,abd(m,k),1) + m - 1 - ipvt(k) = l + k - m -! -! zero pivot implies this column already triangularized -! - if (abd(l,k) .eq. 0.0e0) go to 100 -! -! interchange if necessary -! - if (l .eq. m) go to 60 - t = abd(l,k) - abd(l,k) = abd(m,k) - abd(m,k) = t - 60 continue -! -! compute multipliers -! - t = -1.0e0/abd(m,k) - call sscal(lm,t,abd(m+1,k),1) -! -! row elimination with column indexing -! - ju = min0(max0(ju,mu+ipvt(k)),n) - mm = m - if (ju .lt. kp1) go to 90 - do 80 j = kp1, ju - l = l - 1 - mm = mm - 1 - t = abd(l,j) - if (l .eq. mm) go to 70 - abd(l,j) = abd(mm,j) - abd(mm,j) = t - 70 continue - call saxpy(lm,t,abd(m+1,k),1,abd(mm+1,j),1) - 80 continue - 90 continue - go to 110 - 100 continue - info = k - 110 continue - 120 continue - 130 continue - ipvt(n) = n - if (abd(m,n) .eq. 0.0e0) info = n - IF (LHOOK) CALL DR_HOOK('SGBFA',1,ZHOOK_HANDLE) - return - endsubroutine sgbfa diff --git a/src/arome/chem/internals/sgbsl.F b/src/arome/chem/internals/sgbsl.F deleted file mode 100644 index 808df0b43373dab718a867ee537267ce944fdf01..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sgbsl.F +++ /dev/null @@ -1,141 +0,0 @@ -! ######spl - subroutine sgbsl(abd,lda,n,ml,mu,ipvt,b,job) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - integer lda,n,ml,mu,ipvt(1),job - real abd(lda,1),b(1) -! -! sgbsl solves the real band system -! a * x = b or trans(a) * x = b -! using the factors computed by sgbco or sgbfa. -! -! on entry -! -! abd real(lda, n) -! the output from sgbco or sgbfa. -! -! lda integer -! the leading dimension of the array abd . -! -! n integer -! the order of the original matrix. -! -! ml integer -! number of diagonals below the main diagonal. -! -! mu integer -! number of diagonals above the main diagonal. -! -! ipvt integer(n) -! the pivot vector from sgbco or sgbfa. -! -! b real(n) -! the right hand side vector. -! -! job integer -! = 0 to solve a*x = b , -! = nonzero to solve trans(a)*x = b , where -! trans(a) is the transpose. -! -! on return -! -! b the solution vector x . -! -! error condition -! -! a division by zero will occur if the input factor contains a -! zero on the diagonal. technically this indicates singularity -! but it is often caused by improper arguments or improper -! setting of lda . it will not occur if the subroutines are -! called correctly and if sgbco has set rcond .gt. 0.0 -! or sgbfa has set info .eq. 0 . -! -! to compute inverse(a) * c where c is a matrix -! with p columns -! call sgbco(abd,lda,n,ml,mu,ipvt,rcond,z) -! if (rcond is too small) go to ... -! do 10 j = 1, p -! call sgbsl(abd,lda,n,ml,mu,ipvt,c(1,j),0) -! 10 continue -! -! linpack. this version dated 08/14/78 . -! cleve moler, university of new mexico, argonne national lab. -! -! subroutines and functions -! -! blas saxpy,sdot -! fortran min0 -! -! internal variables -! - real sdot,t - integer k,kb,l,la,lb,lm,m,nm1 -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SGBSL',0,ZHOOK_HANDLE) - m = mu + ml + 1 - nm1 = n - 1 - if (job .ne. 0) go to 50 -! -! job = 0 , solve a * x = b -! first solve l*y = b -! - if (ml .eq. 0) go to 30 - if (nm1 .lt. 1) go to 30 - do 20 k = 1, nm1 - lm = min0(ml,n-k) - l = ipvt(k) - t = b(l) - if (l .eq. k) go to 10 - b(l) = b(k) - b(k) = t - 10 continue - call saxpy(lm,t,abd(m+1,k),1,b(k+1),1) - 20 continue - 30 continue -! -! now solve u*x = y -! - do 40 kb = 1, n - k = n + 1 - kb - b(k) = b(k)/abd(m,k) - lm = min0(k,m) - 1 - la = m - lm - lb = k - lm - t = -b(k) - call saxpy(lm,t,abd(la,k),1,b(lb),1) - 40 continue - go to 100 - 50 continue -! -! job = nonzero, solve trans(a) * x = b -! first solve trans(u)*y = b -! - do 60 k = 1, n - lm = min0(k,m) - 1 - la = m - lm - lb = k - lm - t = sdot(lm,abd(la,k),1,b(lb),1) - b(k) = (b(k) - t)/abd(m,k) - 60 continue -! -! now solve trans(l)*x = y -! - if (ml .eq. 0) go to 90 - if (nm1 .lt. 1) go to 90 - do 80 kb = 1, nm1 - k = n - kb - lm = min0(ml,n-k) - b(k) = b(k) + sdot(lm,abd(m+1,k),1,b(k+1),1) - l = ipvt(k) - if (l .eq. k) go to 70 - t = b(l) - b(l) = b(k) - b(k) = t - 70 continue - 80 continue - 90 continue - 100 continue - IF (LHOOK) CALL DR_HOOK('SGBSL',1,ZHOOK_HANDLE) - return - endsubroutine sgbsl diff --git a/src/arome/chem/internals/sgefa.F b/src/arome/chem/internals/sgefa.F deleted file mode 100644 index f359027529129f49249979d4172e8dbca5e5ddb3..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sgefa.F +++ /dev/null @@ -1,109 +0,0 @@ -! ######spl - subroutine sgefa(a,lda,n,ipvt,info) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - integer lda,n,ipvt(1),info - real a(lda,1) -! -! sgefa factors a real matrix by gaussian elimination. -! -! sgefa is usually called by sgeco, but it can be called -! directly with a saving in time if rcond is not needed. -! (time for sgeco) = (1 + 9/n)*(time for sgefa) . -! -! on entry -! -! a real(lda, n) -! the matrix to be factored. -! -! lda integer -! the leading dimension of the array a . -! -! n integer -! the order of the matrix a . -! -! on return -! -! a an upper triangular matrix and the multipliers -! which were used to obtain it. -! the factorization can be written a = l*u where -! l is a product of permutation and unit lower -! triangular matrices and u is upper triangular. -! -! ipvt integer(n) -! an integer vector of pivot indices. -! -! info integer -! = 0 normal value. -! = k if u(k,k) .eq. 0.0 . this is not an error -! condition for this subroutine, but it does -! indicate that sgesl or sgedi will divide by zero -! if called. use rcond in sgeco for a reliable -! indication of singularity. -! -! linpack. this version dated 08/14/78 . -! cleve moler, university of new mexico, argonne national lab. -! -! subroutines and functions -! -! blas saxpy,sscal,ichsamx -! -! internal variables -! - real t - integer ichsamx,j,k,kp1,l,nm1 -! -! -! gaussian elimination with partial pivoting -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SGEFA',0,ZHOOK_HANDLE) - info = 0 - nm1 = n - 1 - if (nm1 .lt. 1) go to 70 - do 60 k = 1, nm1 - kp1 = k + 1 -! -! find l = pivot index -! - l = ichsamx(n-k+1,a(k,k),1) + k - 1 - ipvt(k) = l -! -! zero pivot implies this column already triangularized -! - if (a(l,k) .eq. 0.0e0) go to 40 -! -! interchange if necessary -! - if (l .eq. k) go to 10 - t = a(l,k) - a(l,k) = a(k,k) - a(k,k) = t - 10 continue -! -! compute multipliers -! - t = -1.0e0/a(k,k) - call sscal(n-k,t,a(k+1,k),1) -! -! row elimination with column indexing -! - do 30 j = kp1, n - t = a(l,j) - if (l .eq. k) go to 20 - a(l,j) = a(k,j) - a(k,j) = t - 20 continue - call saxpy(n-k,t,a(k+1,k),1,a(k+1,j),1) - 30 continue - go to 50 - 40 continue - info = k - 50 continue - 60 continue - 70 continue - ipvt(n) = n - if (a(n,n) .eq. 0.0e0) info = n - IF (LHOOK) CALL DR_HOOK('SGEFA',1,ZHOOK_HANDLE) - return - endsubroutine sgefa diff --git a/src/arome/chem/internals/sgesl.F b/src/arome/chem/internals/sgesl.F deleted file mode 100644 index 2acfd9d6cf8b155753f771e457ceca1601c99bf6..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sgesl.F +++ /dev/null @@ -1,123 +0,0 @@ -! ######spl - subroutine sgesl(a,lda,n,ipvt,b,job) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - integer lda,n,ipvt(1),job - real a(lda,1),b(1) -! -! sgesl solves the real system -! a * x = b or trans(a) * x = b -! using the factors computed by sgeco or sgefa. -! -! on entry -! -! a real(lda, n) -! the output from sgeco or sgefa. -! -! lda integer -! the leading dimension of the array a . -! -! n integer -! the order of the matrix a . -! -! ipvt integer(n) -! the pivot vector from sgeco or sgefa. -! -! b real(n) -! the right hand side vector. -! -! job integer -! = 0 to solve a*x = b , -! = nonzero to solve trans(a)*x = b where -! trans(a) is the transpose. -! -! on return -! -! b the solution vector x . -! -! error condition -! -! a division by zero will occur if the input factor contains a -! zero on the diagonal. technically this indicates singularity -! but it is often caused by improper arguments or improper -! setting of lda . it will not occur if the subroutines are -! called correctly and if sgeco has set rcond .gt. 0.0 -! or sgefa has set info .eq. 0 . -! -! to compute inverse(a) * c where c is a matrix -! with p columns -! call sgeco(a,lda,n,ipvt,rcond,z) -! if (rcond is too small) go to ... -! do 10 j = 1, p -! call sgesl(a,lda,n,ipvt,c(1,j),0) -! 10 continue -! -! linpack. this version dated 08/14/78 . -! cleve moler, university of new mexico, argonne national lab. -! -! subroutines and functions -! -! blas saxpy,sdot -! -! internal variables -! - real sdot,t - integer k,kb,l,nm1 -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SGESL',0,ZHOOK_HANDLE) - nm1 = n - 1 - if (job .ne. 0) go to 50 -! -! job = 0 , solve a * x = b -! first solve l*y = b -! - if (nm1 .lt. 1) go to 30 - do 20 k = 1, nm1 - l = ipvt(k) - t = b(l) - if (l .eq. k) go to 10 - b(l) = b(k) - b(k) = t - 10 continue - call saxpy(n-k,t,a(k+1,k),1,b(k+1),1) - 20 continue - 30 continue -! -! now solve u*x = y -! - do 40 kb = 1, n - k = n + 1 - kb - b(k) = b(k)/a(k,k) - t = -b(k) - call saxpy(k-1,t,a(1,k),1,b(1),1) - 40 continue - go to 100 - 50 continue -! -! job = nonzero, solve trans(a) * x = b -! first solve trans(u)*y = b -! - do 60 k = 1, n - t = sdot(k-1,a(1,k),1,b(1),1) - b(k) = (b(k) - t)/a(k,k) - 60 continue -! -! now solve trans(l)*x = y -! - if (nm1 .lt. 1) go to 90 - do 80 kb = 1, nm1 - k = n - kb - b(k) = b(k) + sdot(n-k,a(k+1,k),1,b(k+1),1) - l = ipvt(k) - if (l .eq. k) go to 70 - t = b(l) - b(l) = b(k) - b(k) = t - 70 continue - 80 continue - 90 continue - 100 continue - IF (LHOOK) CALL DR_HOOK('SGESL',1,ZHOOK_HANDLE) - return - endsubroutine sgesl diff --git a/src/arome/chem/internals/sphers.F b/src/arome/chem/internals/sphers.F deleted file mode 100644 index fba7cbeb6478364fcac6d30534a54f50d503edd6..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sphers.F +++ /dev/null @@ -1,158 +0,0 @@ -! ######spl - SUBROUTINE sphers(nz, z, zen, dsdh, nid) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! input - INTEGER nz - REAL zen, z(kz) - -! output - INTEGER nid(0:kz) - REAL dsdh(0:kz,kz) - -! more program constants - REAL re, ze(kz) - REAL dr - PARAMETER ( dr = pi/180.) - -! local - - REAL zenrad, rpsinz, rj, rjp1, dsj, dhj, ga, gb, sm - INTEGER i, j, k - INTEGER id - - INTEGER nlayer - REAL zd(0:kz-1) - - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SPHERS',0,ZHOOK_HANDLE) - zenrad = zen*dr - -! number of layers: - nlayer = nz - 1 - -! include the elevation above sea level to the radius of the earth: - re = radius + z(1) -! correspondingly z changed to the elevation above earth surface: - DO k = 1, nz - ze(k) = z(k) - z(1) - END DO - -! inverse coordinate of z - zd(0) = ze(nz) - DO k = 1, nlayer - zd(k) = ze(nz - k) - END DO - -! initialize dsdh(i,j), nid(i) - DO i = 0, kz - nid(i) = 0 - DO j = 1, kz - dsdh(i,j) = 0. - END DO - END DO - -! calculate ds/dh of every layer - DO 100 i = 0, nlayer - - rpsinz = (re + zd(i)) * SIN(zenrad) - - IF ( (zen .GT. 90.0) .AND. (rpsinz .LT. re) ) THEN - nid(i) = -1 - ELSE - -! -! Find index of layer in which the screening height lies -! - id = i - IF( zen .GT. 90.0 ) THEN - DO 10 j = 1, nlayer - IF( (rpsinz .LT. ( zd(j-1) + re ) ) .AND. & - & (rpsinz .GE. ( zd(j) + re )) ) id = j - 10 CONTINUE - END IF - - DO 20 j = 1, id - - sm = 1.0 - IF(j .EQ. id .AND. id .EQ. i .AND. zen .GT. 90.0) & - & sm = -1.0 - - rj = re + zd(j-1) - rjp1 = re + zd(j) - - dhj = zd(j-1) - zd(j) - - ga = rj*rj - rpsinz*rpsinz - gb = rjp1*rjp1 - rpsinz*rpsinz - IF (ga .LT. 0.0) ga = 0.0 - IF (gb .LT. 0.0) gb = 0.0 - - IF(id.GT.i .AND. j.EQ.id) THEN - dsj = SQRT( ga ) - ELSE - dsj = SQRT( ga ) - sm*SQRT( gb ) - END IF - dsdh(i,j) = dsj / dhj - - 20 CONTINUE - - nid(i) = id - - END IF - - 100 CONTINUE - - - IF (LHOOK) CALL DR_HOOK('SPHERS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SPHERS diff --git a/src/arome/chem/internals/sto2xs.F b/src/arome/chem/internals/sto2xs.F deleted file mode 100644 index 48761a85a0e87ae185c8e5d56f9f16df2a49eef5..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sto2xs.F +++ /dev/null @@ -1,81 +0,0 @@ -! ######spl - SUBROUTINE sto2xs(nz,nw,xso2,nj,sq) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! calling parameters - - INTEGER nz, nw - REAL xso2(kz,kw) - INTEGER nj - REAL sq(kj,kz,kw) - -! local - - REAL qy - INTEGER iw, iz -!______________________________________________________________________________ - -! quantum yield assumed to be unity - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('STO2XS',0,ZHOOK_HANDLE) - qy = 1. - -! assign cross section values at all wavelengths and at all altitudes - DO iw = 1, nw-1 - DO iz = 1, nz - sq(nj,iz,iw) = qy * xso2(iz,iw) - ENDDO - ENDDO -!______________________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('STO2XS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE STO2XS diff --git a/src/arome/chem/internals/sundis.F b/src/arome/chem/internals/sundis.F deleted file mode 100644 index 64ea230d177baf4f74103dbe98c44a7887ffcc36..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/sundis.F +++ /dev/null @@ -1,69 +0,0 @@ -! ######spl - SUBROUTINE sundis(idate,esrm2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - INTEGER idate - -! output: - REAL esrm2 - -! internal: - INTEGER iyear, imonth, iday, mday, month, jday - REAL dayn, thet0 - REAL sinth, costh, sin2th, cos2th - INTEGER imn(12) - - REAL pi - PARAMETER(pi=3.1415926535898) -!_______________________________________________________________________ - - DATA imn/31,28,31,30,31,30,31,31,30,31,30,31/ -!_______________________________________________________________________ - -! parse date to find day number (Julian day) - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SUNDIS',0,ZHOOK_HANDLE) - iyear = int(idate/10000) - imonth = int( (idate-10000*iyear)/100 ) - iday = idate - (10000*iyear + 100*imonth) - IF ( MOD(iyear,4) .EQ. 0) THEN - imn(2) = 29 - ELSE - imn(2) = 28 - ENDIF - - mday = 0 - DO 12, month = 1, imonth-1 - mday = mday + imn(month) - 12 CONTINUE - jday = mday + iday - dayn = FLOAT(jday - 1) + 0.5 - -! define angular day number and compute esrm2: - - thet0 = 2.*pi*dayn/365. - -! calculate SIN(2*thet0), COS(2*thet0) from -! addition theoremes for trig functions for better -! performance; the computation of sin2th, cos2th -! is about 5-6 times faster than the evaluation -! of the intrinsic functions SIN and COS -! - sinth = SIN(thet0) - costh = COS(thet0) - sin2th = 2.*sinth*costh - cos2th = costh*costh - sinth*sinth - esrm2 = 1.000110 + & - & 0.034221*costh + 0.001280*sinth + & - & 0.000719*cos2th + 0.000077*sin2th -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('SUNDIS',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SUNDIS diff --git a/src/arome/chem/internals/svhin.F b/src/arome/chem/internals/svhin.F deleted file mode 100644 index 645b994f0b3410e2d498dd3078294ad97fa4b5dc..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svhin.F +++ /dev/null @@ -1,150 +0,0 @@ -! ######spl - SUBROUTINE SVHIN (N, T0, Y0, YDOT, F, RPAR, IPAR, TOUT, UROUND, & - & EWT, ITOL, ATOL, Y, TEMP, H0, NITER, IER, KMI, KINDEX) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################### - EXTERNAL F - REAL T0, Y0, YDOT, RPAR, TOUT, UROUND, EWT, ATOL, Y, & - & TEMP, H0 - INTEGER N, IPAR, ITOL, NITER, IER - DIMENSION Y0(*), YDOT(*), EWT(*), ATOL(*), Y(*), & - & TEMP(*), RPAR(*), IPAR(*) - INTEGER KMI, KINDEX -!----------------------------------------------------------------------- -! Call sequence input -- N, T0, Y0, YDOT, F, RPAR, IPAR, TOUT, UROUND, -! EWT, ITOL, ATOL, Y, TEMP -! Call sequence output -- H0, NITER, IER -! COMMON block variables accessed -- None -! -! Subroutines called by SVHIN.. F -! Function routines called by SVHIN.. SVNORM -!----------------------------------------------------------------------- -! This routine computes the step size, H0, to be attempted on the -! first step, when the user has not supplied a value for this. -! -! First we check that TOUT - T0 differs significantly from zero. Then -! an iteration is done to approximate the initial second derivative -! and this is used to define h from w.r.m.s.norm(h**2 * yddot / 2) = 1. -! A bias factor of 1/2 is applied to the resulting h. -! The sign of H0 is inferred from the initial values of TOUT and T0. -! -! Communication with SVHIN is done with the following variables.. -! -! N = Size of ODE system, input. -! T0 = Initial value of independent variable, input. -! Y0 = Vector of initial conditions, input. -! YDOT = Vector of initial first derivatives, input. -! F = Name of subroutine for right-hand side f(t,y), input. -! RPAR, IPAR = Dummy names for user's real and integer work arrays. -! TOUT = First output value of independent variable -! UROUND = Machine unit roundoff -! EWT, ITOL, ATOL = Error weights and tolerance parameters -! as described in the driver routine, input. -! Y, TEMP = Work arrays of length N. -! H0 = Step size to be attempted, output. -! NITER = Number of iterations (and of f evaluations) to compute H0, -! output. -! IER = The error flag, returned with the value -! IER = 0 if no trouble occurred, or -! IER = -1 if TOUT and T0 are considered too close to proceed. -!----------------------------------------------------------------------- -! -! Type declarations for local variables -------------------------------- -! - REAL AFI, ATOLI, DELYI, HALF, HG, HLB, HNEW, HRAT, & - & HUB, HUN, PT1, T1, TDIST, TROUND, TWO, YDDNRM - INTEGER I, ITER -! -! Type declaration for function subroutines called --------------------- -! - REAL SVNORM -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE HALF, HUN, PT1, TWO - DATA HALF /0.5E0/, HUN /100.0E0/, PT1 /0.1E0/, TWO /2.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVHIN',0,ZHOOK_HANDLE) - NITER = 0 - TDIST = ABS(TOUT - T0) - TROUND = UROUND*MAX(ABS(T0),ABS(TOUT)) - IF (TDIST .LT. TWO*TROUND) GO TO 100 -! -! Set a lower bound on h based on the roundoff level in T0 and TOUT. --- - HLB = HUN*TROUND -! Set an upper bound on h based on TOUT-T0 and the initial Y and YDOT. - - HUB = PT1*TDIST - ATOLI = ATOL(1) - DO 10 I = 1, N - IF (ITOL .EQ. 2 .OR. ITOL .EQ. 4) ATOLI = ATOL(I) - DELYI = PT1*ABS(Y0(I)) + ATOLI - AFI = ABS(YDOT(I)) - IF (AFI*HUB .GT. DELYI) HUB = DELYI/AFI - 10 CONTINUE -! -! Set initial guess for h as geometric mean of upper and lower bounds. - - ITER = 0 - HG = SQRT(HLB*HUB) -! If the bounds have crossed, exit with the mean value. ---------------- - IF (HUB .LT. HLB) THEN - H0 = HG - GO TO 90 - ENDIF -! -! Looping point for iteration. ----------------------------------------- - 50 CONTINUE -! Estimate the second derivative as a difference quotient in f. -------- - T1 = T0 + HG - DO 60 I = 1, N - 60 Y(I) = Y0(I) + HG*YDOT(I) -! -!*UPG*MNH -! - CALL F (N, T1, Y, TEMP, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - DO 70 I = 1, N - 70 TEMP(I) = (TEMP(I) - YDOT(I))/HG - YDDNRM = SVNORM (N, TEMP, EWT) -! Get the corresponding new value of h. -------------------------------- - IF (YDDNRM*HUB*HUB .GT. TWO) THEN - HNEW = SQRT(TWO/YDDNRM) - ELSE - HNEW = SQRT(HG*HUB) - ENDIF - ITER = ITER + 1 -!----------------------------------------------------------------------- -! Test the stopping conditions. -! Stop if the new and previous h values differ by a factor of .lt. 2. -! Stop if four iterations have been done. Also, stop with previous h -! if HNEW/HG .gt. 2 after first iteration, as this probably means that -! the second derivative value is bad because of cancellation error. -!----------------------------------------------------------------------- - IF (ITER .GE. 4) GO TO 80 - HRAT = HNEW/HG - IF ( (HRAT .GT. HALF) .AND. (HRAT .LT. TWO) ) GO TO 80 - IF ( (ITER .GE. 2) .AND. (HNEW .GT. TWO*HG) ) THEN - HNEW = HG - GO TO 80 - ENDIF - HG = HNEW - GO TO 50 -! -! Iteration done. Apply bounds, bias factor, and sign. Then exit. ---- - 80 H0 = HNEW*HALF - IF (H0 .LT. HLB) H0 = HLB - IF (H0 .GT. HUB) H0 = HUB - 90 H0 = SIGN(H0, TOUT - T0) - NITER = ITER - IER = 0 - IF (LHOOK) CALL DR_HOOK('SVHIN',1,ZHOOK_HANDLE) - RETURN -! Error return for TOUT - T0 too small. -------------------------------- - 100 IER = -1 - IF (LHOOK) CALL DR_HOOK('SVHIN',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVHIN diff --git a/src/arome/chem/internals/svindy.F b/src/arome/chem/internals/svindy.F deleted file mode 100644 index e354c105d1b6cb8dba830c779e4969050f3c07bf..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svindy.F +++ /dev/null @@ -1,133 +0,0 @@ -! ######spl - SUBROUTINE SVINDY (T, K, YH, LDYH, DKY, IFLAG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################## - REAL T, YH, DKY - INTEGER K, LDYH, IFLAG - DIMENSION YH(LDYH,*), DKY(*) -!----------------------------------------------------------------------- -! Call sequence input -- T, K, YH, LDYH -! Call sequence output -- DKY, IFLAG -! COMMON block variables accessed.. -! /SVOD01/ -- H, TN, UROUND, L, N, NQ -! /SVOD02/ -- HU -! -! Subroutines called by SVINDY.. SSCAL, XERRWV -! Function routines called by SVINDY.. None -!----------------------------------------------------------------------- -! SVINDY computes interpolated values of the K-th derivative of the -! dependent variable vector y, and stores it in DKY. This routine -! is called within the package with K = 0 and T = TOUT, but may -! also be called by the user for any K up to the current order. -! (See detailed instructions in the usage documentation.) -!----------------------------------------------------------------------- -! The computed values in DKY are gotten by interpolation using the -! Nordsieck history array YH. This array corresponds uniquely to a -! vector-valued polynomial of degree NQCUR or less, and DKY is set -! to the K-th derivative of this polynomial at T. -! The formula for DKY is.. -! q -! DKY(i) = sum c(j,K) * (T - TN)**(j-K) * H**(-j) * YH(i,j+1) -! j=K -! where c(j,K) = j*(j-1)*...*(j-K+1), q = NQCUR, TN = TCUR, H = HCUR. -! The quantities NQ = NQCUR, L = NQ+1, N, TN, and H are -! communicated by COMMON. The above sum is done in reverse order. -! IFLAG is returned negative if either K or T is out of bounds. -! -! Discussion above and comments in driver explain all variables. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for labeled COMMON block SVOD02 -------------------- -! - REAL HU - INTEGER NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Type declarations for local variables -------------------------------- -! - REAL C, HUN, R, S, TFUZZ, TN1, TP, ZERO - INTEGER I, IC, J, JB, JB2, JJ, JJ1, JP1 - CHARACTER*80 MSG -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE HUN, ZERO -! - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH - COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! - DATA HUN /100.0E0/, ZERO /0.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVINDY',0,ZHOOK_HANDLE) - IFLAG = 0 - IF (K .LT. 0 .OR. K .GT. NQ) GO TO 80 - TFUZZ = HUN*UROUND*(TN + HU) - TP = TN - HU - TFUZZ - TN1 = TN + TFUZZ - IF ((T-TP)*(T-TN1) .GT. ZERO) GO TO 90 -! - S = (T - TN)/H - IC = 1 - IF (K .EQ. 0) GO TO 15 - JJ1 = L - K - DO 10 JJ = JJ1, NQ - 10 IC = IC*JJ - 15 C = REAL(IC) - DO 20 I = 1, N - 20 DKY(I) = C*YH(I,L) - IF (K .EQ. NQ) GO TO 55 - JB2 = NQ - K - DO 50 JB = 1, JB2 - J = NQ - JB - JP1 = J + 1 - IC = 1 - IF (K .EQ. 0) GO TO 35 - JJ1 = JP1 - K - DO 30 JJ = JJ1, J - 30 IC = IC*JJ - 35 C = REAL(IC) - DO 40 I = 1, N - 40 DKY(I) = C*YH(I,JP1) + S*DKY(I) - 50 CONTINUE - IF (K .EQ. 0) THEN - IF (LHOOK) CALL DR_HOOK('SVINDY',1,ZHOOK_HANDLE) - RETURN - ENDIF - 55 R = H**(-K) - CALL SSCAL (N, R, DKY, 1) - IF (LHOOK) CALL DR_HOOK('SVINDY',1,ZHOOK_HANDLE) - RETURN -! - 80 MSG = 'SVINDY-- K (=I1) illegal ' - CALL XERRWV (MSG, 30, 51, 1, 1, K, 0, 0, ZERO, ZERO) - IFLAG = -1 - IF (LHOOK) CALL DR_HOOK('SVINDY',1,ZHOOK_HANDLE) - RETURN - 90 MSG = 'SVINDY-- T (=R1) illegal ' - CALL XERRWV (MSG, 30, 52, 1, 0, 0, 0, 1, T, ZERO) - MSG=' T not in interval TCUR - HU (= R1) to TCUR (=R2) ' - CALL XERRWV (MSG, 60, 52, 1, 0, 0, 0, 2, TP, TN) - IFLAG = -2 - IF (LHOOK) CALL DR_HOOK('SVINDY',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVINDY diff --git a/src/arome/chem/internals/svjac.F b/src/arome/chem/internals/svjac.F deleted file mode 100644 index 40397a940fe6af2323891c309e6e2a7a809d45b0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svjac.F +++ /dev/null @@ -1,318 +0,0 @@ -! ######spl - SUBROUTINE SVJAC (Y, YH, LDYH, EWT, FTEM, SAVF, WM, IWM, F, JAC, & - & IERPJ, RPAR, IPAR, KMI, KINDEX) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################################################ - EXTERNAL F, JAC - REAL Y, YH, EWT, FTEM, SAVF, WM, RPAR - INTEGER LDYH, IWM, IERPJ, IPAR - DIMENSION Y(*), YH(LDYH,*), EWT(*), FTEM(*), SAVF(*), & - & WM(*), IWM(*), RPAR(*), IPAR(*) - INTEGER KMI, KINDEX -!----------------------------------------------------------------------- -! Call sequence input -- Y, YH, LDYH, EWT, FTEM, SAVF, WM, IWM, -! F, JAC, RPAR, IPAR -! Call sequence output -- WM, IWM, IERPJ -! COMMON block variables accessed.. -! /SVOD01/ CCMXJ, DRC, H, RL1, TN, UROUND, ICF, JCUR, LOCJS, -! MSBJ, NSLJ -! /SVOD02/ NFE, NST, NJE, NLU -! -! Subroutines called by SVJAC.. F, JAC, SACOPY, CH_SCOPY, SGBFA, SGEFA, -! SSCAL -! Function routines called by SVJAC.. SVNORM -!----------------------------------------------------------------------- -! SVJAC is called by SVSTEP to compute and process the matrix -! P = I - h*rl1*J , where J is an approximation to the Jacobian. -! Here J is computed by the user-supplied routine JAC if -! MITER = 1 or 4, or by finite differencing if MITER = 2, 3, or 5. -! If MITER = 3, a diagonal approximation to J is used. -! If JSV = -1, J is computed from scratch in all cases. -! If JSV = 1 and MITER = 1, 2, 4, or 5, and if the saved value of J is -! considered acceptable, then P is constructed from the saved J. -! J is stored in wm and replaced by P. If MITER .ne. 3, P is then -! subjected to LU decomposition in preparation for later solution -! of linear systems with P as coefficient matrix. This is done -! by SGEFA if MITER = 1 or 2, and by SGBFA if MITER = 4 or 5. -! -! Communication with SVJAC is done with the following variables. (For -! more details, please see the comments in the driver subroutine.) -! Y = Vector containing predicted values on entry. -! YH = The Nordsieck array, an LDYH by LMAX array, input. -! LDYH = A constant .ge. N, the first dimension of YH, input. -! EWT = An error weight vector of length N. -! SAVF = Array containing f evaluated at predicted y, input. -! WM = Real work space for matrices. In the output, it containS -! the inverse diagonal matrix if MITER = 3 and the LU -! decomposition of P if MITER is 1, 2 , 4, or 5. -! Storage of matrix elements starts at WM(3). -! Storage of the saved Jacobian starts at WM(LOCJS). -! WM also contains the following matrix-related data.. -! WM(1) = SQRT(UROUND), used in numerical Jacobian step. -! WM(2) = H*RL1, saved for later use if MITER = 3. -! IWM = Integer work space containing pivot information, -! starting at IWM(31), if MITER is 1, 2, 4, or 5. -! IWM also contains band parameters ML = IWM(1) and -! MU = IWM(2) if MITER is 4 or 5. -! F = Dummy name for the user supplied subroutine for f. -! JAC = Dummy name for the user supplied Jacobian subroutine. -! RPAR, IPAR = Dummy names for user's real and integer work arrays. -! RL1 = 1/EL(2) (input). -! IERPJ = Output error flag, = 0 if no trouble, 1 if the P -! matrix is found to be singular. -! JCUR = Output flag to indicate whether the Jacobian matrix -! (or approximation) is now current. -! JCUR = 0 means J is not current. -! JCUR = 1 means J is current. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for labeled COMMON block SVOD02 -------------------- -! - REAL HU - INTEGER NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Type declarations for local variables -------------------------------- -! - REAL CON, DI, FAC, HRL1, ONE, PT1, R, R0, SRUR, THOU, & - & YI, YJ, YJJ, ZERO - INTEGER I, I1, I2, IER, II, J, J1, JJ, JOK, LENP, MBA, MBAND, & - & MEB1, MEBAND, ML, ML3, MU, NP1 -! -! Type declaration for function subroutines called --------------------- -! - REAL SVNORM -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this subroutine. -!----------------------------------------------------------------------- - SAVE ONE, PT1, THOU, ZERO -!----------------------------------------------------------------------- - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH - COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! - DATA ONE /1.0E0/, THOU /1000.0E0/, ZERO /0.0E0/, PT1 /0.1E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVJAC',0,ZHOOK_HANDLE) - IERPJ = 0 - HRL1 = H*RL1 -! See whether J should be evaluated (JOK = -1) or not (JOK = 1). ------- - JOK = JSV - IF (JSV .EQ. 1) THEN - IF (NST .EQ. 0 .OR. NST .GT. NSLJ+MSBJ) JOK = -1 - IF (ICF .EQ. 1 .AND. DRC .LT. CCMXJ) JOK = -1 - IF (ICF .EQ. 2) JOK = -1 - ENDIF -! End of setting JOK. -------------------------------------------------- -! - IF (JOK .EQ. -1 .AND. MITER .EQ. 1) THEN -! If JOK = -1 and MITER = 1, call JAC to evaluate Jacobian. ------------ - NJE = NJE + 1 - NSLJ = NST - JCUR = 1 - LENP = N*N - DO 110 I = 1,LENP - 110 WM(I+2) = ZERO -! -!*UPG*MNH -! - CALL JAC (N, TN, Y, 0, 0, WM(3), N, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - IF (JSV .EQ. 1) CALL CH_SCOPY (LENP, WM(3), 1, WM(LOCJS), 1) - ENDIF -! - IF (JOK .EQ. -1 .AND. MITER .EQ. 2) THEN -! If MITER = 2, make N calls to F to approximate the Jacobian. --------- - NJE = NJE + 1 - NSLJ = NST - JCUR = 1 - FAC = SVNORM (N, SAVF, EWT) - R0 = THOU*ABS(H)*UROUND*REAL(N)*FAC - IF (R0 .EQ. ZERO) R0 = ONE - SRUR = WM(1) - J1 = 2 - DO 230 J = 1,N - YJ = Y(J) - R = MAX(SRUR*ABS(YJ),R0/EWT(J)) - Y(J) = Y(J) + R - FAC = ONE/R -! -!*UPG*MNH -! - CALL F (N, TN, Y, FTEM, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - DO 220 I = 1,N - 220 WM(I+J1) = (FTEM(I) - SAVF(I))*FAC - Y(J) = YJ - J1 = J1 + N - 230 CONTINUE - NFE = NFE + N - LENP = N*N - IF (JSV .EQ. 1) CALL CH_SCOPY (LENP, WM(3), 1, WM(LOCJS), 1) - ENDIF -! - IF (JOK .EQ. 1 .AND. (MITER .EQ. 1 .OR. MITER .EQ. 2)) THEN - JCUR = 0 - LENP = N*N - CALL CH_SCOPY (LENP, WM(LOCJS), 1, WM(3), 1) - ENDIF -! - IF (MITER .EQ. 1 .OR. MITER .EQ. 2) THEN -! Multiply Jacobian by scalar, add identity, and do LU decomposition. -- - CON = -HRL1 - CALL SSCAL (LENP, CON, WM(3), 1) - J = 3 - NP1 = N + 1 - DO 250 I = 1,N - WM(J) = WM(J) + ONE - 250 J = J + NP1 - NLU = NLU + 1 - CALL SGEFA (WM(3), N, N, IWM(31), IER) - IF (IER .NE. 0) IERPJ = 1 - IF (LHOOK) CALL DR_HOOK('SVJAC',1,ZHOOK_HANDLE) - RETURN - ENDIF -! End of code block for MITER = 1 or 2. -------------------------------- -! - IF (MITER .EQ. 3) THEN -! If MITER = 3, construct a diagonal approximation to J and P. --------- - NJE = NJE + 1 - JCUR = 1 - WM(2) = HRL1 - R = RL1*PT1 - DO 310 I = 1,N - 310 Y(I) = Y(I) + R*(H*SAVF(I) - YH(I,2)) -! -!*UPG*MNH -! - CALL F (N, TN, Y, WM(3), RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - NFE = NFE + 1 - DO 320 I = 1,N - R0 = H*SAVF(I) - YH(I,2) - DI = PT1*R0 - H*(WM(I+2) - SAVF(I)) - WM(I+2) = ONE - IF (ABS(R0) .LT. UROUND/EWT(I)) GO TO 320 - IF (ABS(DI) .EQ. ZERO) GO TO 330 - WM(I+2) = PT1*R0/DI - 320 CONTINUE - IF (LHOOK) CALL DR_HOOK('SVJAC',1,ZHOOK_HANDLE) - RETURN - 330 IERPJ = 1 - IF (LHOOK) CALL DR_HOOK('SVJAC',1,ZHOOK_HANDLE) - RETURN - ENDIF -! End of code block for MITER = 3. ------------------------------------- -! -! Set constants for MITER = 4 or 5. ------------------------------------ - ML = IWM(1) - MU = IWM(2) - ML3 = ML + 3 - MBAND = ML + MU + 1 - MEBAND = MBAND + ML - LENP = MEBAND*N -! - IF (JOK .EQ. -1 .AND. MITER .EQ. 4) THEN -! If JOK = -1 and MITER = 4, call JAC to evaluate Jacobian. ------------ - NJE = NJE + 1 - NSLJ = NST - JCUR = 1 - DO 410 I = 1,LENP - 410 WM(I+2) = ZERO -! -!*UPG*MNH -! - CALL JAC (N, TN, Y, ML, MU, WM(ML3), MEBAND, RPAR, IPAR, & - & KMI, KINDEX) -! -!*UPG*MNH -! - IF (JSV .EQ. 1) & - & CALL SACOPY (MBAND, N, WM(ML3), MEBAND, WM(LOCJS), MBAND) - ENDIF -! - IF (JOK .EQ. -1 .AND. MITER .EQ. 5) THEN -! If MITER = 5, make N calls to F to approximate the Jacobian. --------- - NJE = NJE + 1 - NSLJ = NST - JCUR = 1 - MBA = MIN(MBAND,N) - MEB1 = MEBAND - 1 - SRUR = WM(1) - FAC = SVNORM (N, SAVF, EWT) - R0 = THOU*ABS(H)*UROUND*REAL(N)*FAC - IF (R0 .EQ. ZERO) R0 = ONE - DO 560 J = 1,MBA - DO 530 I = J,N,MBAND - YI = Y(I) - R = MAX(SRUR*ABS(YI),R0/EWT(I)) - 530 Y(I) = Y(I) + R -! -!*UPG*MNH -! - CALL F (N, TN, Y, FTEM, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - DO 550 JJ = J,N,MBAND - Y(JJ) = YH(JJ,1) - YJJ = Y(JJ) - R = MAX(SRUR*ABS(YJJ),R0/EWT(JJ)) - FAC = ONE/R - I1 = MAX(JJ-MU,1) - I2 = MIN(JJ+ML,N) - II = JJ*MEB1 - ML + 2 - DO 540 I = I1,I2 - 540 WM(II+I) = (FTEM(I) - SAVF(I))*FAC - 550 CONTINUE - 560 CONTINUE - NFE = NFE + MBA - IF (JSV .EQ. 1) & - & CALL SACOPY (MBAND, N, WM(ML3), MEBAND, WM(LOCJS), MBAND) - ENDIF -! - IF (JOK .EQ. 1) THEN - JCUR = 0 - CALL SACOPY (MBAND, N, WM(LOCJS), MBAND, WM(ML3), MEBAND) - ENDIF -! -! Multiply Jacobian by scalar, add identity, and do LU decomposition. - CON = -HRL1 - CALL SSCAL (LENP, CON, WM(3), 1 ) - II = MBAND + 2 - DO 580 I = 1,N - WM(II) = WM(II) + ONE - 580 II = II + MEBAND - NLU = NLU + 1 - CALL SGBFA (WM(3), MEBAND, N, ML, MU, IWM(31), IER) - IF (IER .NE. 0) IERPJ = 1 - IF (LHOOK) CALL DR_HOOK('SVJAC',1,ZHOOK_HANDLE) - RETURN -! End of code block for MITER = 4 or 5. -------------------------------- -! - END SUBROUTINE SVJAC diff --git a/src/arome/chem/internals/svjust.F b/src/arome/chem/internals/svjust.F deleted file mode 100644 index b67ca222e492dccd3234fb9ba4404ad1bdb92e26..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svjust.F +++ /dev/null @@ -1,171 +0,0 @@ -! ######spl - SUBROUTINE SVJUST (YH, LDYH, IORD) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################## - REAL YH - INTEGER LDYH, IORD - DIMENSION YH(LDYH,*) -!----------------------------------------------------------------------- -! Call sequence input -- YH, LDYH, IORD -! Call sequence output -- YH -! COMMON block input -- NQ, METH, LMAX, HSCAL, TAU(13), N -! COMMON block variables accessed.. -! /SVOD01/ -- HSCAL, TAU(13), LMAX, METH, N, NQ, -! -! Subroutines called by SVJUST.. SAXPY -! Function routines called by SVJUST.. None -!----------------------------------------------------------------------- -! This subroutine adjusts the YH array on reduction of order, -! and also when the order is increased for the stiff option (METH = 2). -! Communication with SVJUST uses the following.. -! IORD = An integer flag used when METH = 2 to indicate an order -! increase (IORD = +1) or an order decrease (IORD = -1). -! HSCAL = Step size H used in scaling of Nordsieck array YH. -! (If IORD = +1, SVJUST assumes that HSCAL = TAU(1).) -! See References 1 and 2 for details. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for local variables -------------------------------- -! - REAL ALPH0, ALPH1, HSUM, ONE, PROD, T1, XI,XIOLD, ZERO - INTEGER I, IBACK, J, JP1, LP1, NQM1, NQM2, NQP1 -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE ONE, ZERO -! - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! - DATA ONE /1.0E0/, ZERO /0.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVJUST',0,ZHOOK_HANDLE) - IF ((NQ .EQ. 2) .AND. (IORD .NE. 1)) THEN - IF (LHOOK) CALL DR_HOOK('SVJUST',1,ZHOOK_HANDLE) - RETURN - ENDIF - NQM1 = NQ - 1 - NQM2 = NQ - 2 - GO TO (100, 200), METH -!----------------------------------------------------------------------- -! Nonstiff option... -! Check to see if the order is being increased or decreased. -!----------------------------------------------------------------------- - 100 CONTINUE - IF (IORD .EQ. 1) GO TO 180 -! Order decrease. ------------------------------------------------------ - DO 110 J = 1, LMAX - 110 EL(J) = ZERO - EL(2) = ONE - HSUM = ZERO - DO 130 J = 1, NQM2 -! Construct coefficients of x*(x+xi(1))*...*(x+xi(j)). ----------------- - HSUM = HSUM + TAU(J) - XI = HSUM/HSCAL - JP1 = J + 1 - DO 120 IBACK = 1, JP1 - I = (J + 3) - IBACK - 120 EL(I) = EL(I)*XI + EL(I-1) - 130 CONTINUE -! Construct coefficients of integrated polynomial. --------------------- - DO 140 J = 2, NQM1 - 140 EL(J+1) = REAL(NQ)*EL(J)/REAL(J) -! Subtract correction terms from YH array. ----------------------------- - DO 170 J = 3, NQ - DO 160 I = 1, N - 160 YH(I,J) = YH(I,J) - YH(I,L)*EL(J) - 170 CONTINUE - IF (LHOOK) CALL DR_HOOK('SVJUST',1,ZHOOK_HANDLE) - RETURN -! Order increase. ------------------------------------------------------ -! Zero out next column in YH array. ------------------------------------ - 180 CONTINUE - LP1 = L + 1 - DO 190 I = 1, N - 190 YH(I,LP1) = ZERO - IF (LHOOK) CALL DR_HOOK('SVJUST',1,ZHOOK_HANDLE) - RETURN -!----------------------------------------------------------------------- -! Stiff option... -! Check to see if the order is being increased or decreased. -!----------------------------------------------------------------------- - 200 CONTINUE - IF (IORD .EQ. 1) GO TO 300 -! Order decrease. ------------------------------------------------------ - DO 210 J = 1, LMAX - 210 EL(J) = ZERO - EL(3) = ONE - HSUM = ZERO - DO 230 J = 1,NQM2 -! Construct coefficients of x*x*(x+xi(1))*...*(x+xi(j)). --------------- - HSUM = HSUM + TAU(J) - XI = HSUM/HSCAL - JP1 = J + 1 - DO 220 IBACK = 1, JP1 - I = (J + 4) - IBACK - 220 EL(I) = EL(I)*XI + EL(I-1) - 230 CONTINUE -! Subtract correction terms from YH array. ----------------------------- - DO 250 J = 3,NQ - DO 240 I = 1, N - 240 YH(I,J) = YH(I,J) - YH(I,L)*EL(J) - 250 CONTINUE - IF (LHOOK) CALL DR_HOOK('SVJUST',1,ZHOOK_HANDLE) - RETURN -! Order increase. ------------------------------------------------------ - 300 DO 310 J = 1, LMAX - 310 EL(J) = ZERO - EL(3) = ONE - ALPH0 = -ONE - ALPH1 = ONE - PROD = ONE - XIOLD = ONE - HSUM = HSCAL - IF (NQ .EQ. 1) GO TO 340 - DO 330 J = 1, NQM1 -! Construct coefficients of x*x*(x+xi(1))*...*(x+xi(j)). --------------- - JP1 = J + 1 - HSUM = HSUM + TAU(JP1) - XI = HSUM/HSCAL - PROD = PROD*XI - ALPH0 = ALPH0 - ONE/REAL(JP1) - ALPH1 = ALPH1 + ONE/XI - DO 320 IBACK = 1, JP1 - I = (J + 4) - IBACK - 320 EL(I) = EL(I)*XIOLD + EL(I-1) - XIOLD = XI - 330 CONTINUE - 340 CONTINUE - T1 = (-ALPH0 - ALPH1)/PROD -! Load column L + 1 in YH array. --------------------------------------- - LP1 = L + 1 - DO 350 I = 1, N - 350 YH(I,LP1) = T1*YH(I,LMAX) -! Add correction terms to YH array. ------------------------------------ - NQP1 = NQ + 1 - DO 370 J = 3, NQP1 - CALL SAXPY (N, EL(J), YH(1,LP1), 1, YH(1,J), 1 ) - 370 CONTINUE - IF (LHOOK) CALL DR_HOOK('SVJUST',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVJUST diff --git a/src/arome/chem/internals/svnlsd.F b/src/arome/chem/internals/svnlsd.F deleted file mode 100644 index 842301806ab9bff60877e471c0d49ad1a32637c3..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svnlsd.F +++ /dev/null @@ -1,248 +0,0 @@ -! ######spl - SUBROUTINE SVNLSD (Y, YH, LDYH, VSAV, SAVF, EWT, ACOR, IWM, WM, & - & F, JAC, PDUM, NFLAG, RPAR, IPAR, KMI, KINDEX) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################################################### - EXTERNAL F, JAC, PDUM - REAL Y, YH, VSAV, SAVF, EWT, ACOR, WM, RPAR - INTEGER LDYH, IWM, NFLAG, IPAR - DIMENSION Y(*), YH(LDYH,*), VSAV(*), SAVF(*), EWT(*), ACOR(*), & - & IWM(*), WM(*), RPAR(*), IPAR(*) - INTEGER KMI,KINDEX -!----------------------------------------------------------------------- -! Call sequence input -- Y, YH, LDYH, SAVF, EWT, ACOR, IWM, WM, -! F, JAC, NFLAG, RPAR, IPAR -! Call sequence output -- YH, ACOR, WM, IWM, NFLAG -! COMMON block variables accessed.. -! /SVOD01/ ACNRM, CRATE, DRC, H, RC, RL1, TQ(5), TN, ICF, -! JCUR, METH, MITER, N, NSLP -! /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Subroutines called by SVNLSD.. F, SAXPY, CH_SCOPY, SSCAL, SVJAC, SVSOL -! Function routines called by SVNLSD.. SVNORM -!----------------------------------------------------------------------- -! Subroutine SVNLSD is a nonlinear system solver, which uses functional -! iteration or a chord (modified Newton) method. For the chord method -! direct linear algebraic system solvers are used. Subroutine SVNLSD -! then handles the corrector phase of this integration package. -! -! Communication with SVNLSD is done with the following variables. (For -! more details, please see the comments in the driver subroutine.) -! -! Y = The dependent variable, a vector of length N, input. -! YH = The Nordsieck (Taylor) array, LDYH by LMAX, input -! and output. On input, it contains predicted values. -! LDYH = A constant .ge. N, the first dimension of YH, input. -! VSAV = Unused work array. -! SAVF = A work array of length N. -! EWT = An error weight vector of length N, input. -! ACOR = A work array of length N, used for the accumulated -! corrections to the predicted y vector. -! WM,IWM = Real and integer work arrays associated with matrix -! operations in chord iteration (MITER .ne. 0). -! F = Dummy name for user supplied routine for f. -! JAC = Dummy name for user supplied Jacobian routine. -! PDUM = Unused dummy subroutine name. Included for uniformity -! over collection of integrators. -! NFLAG = Input/output flag, with values and meanings as follows.. -! INPUT -! 0 first call for this time step. -! -1 convergence failure in previous call to SVNLSD. -! -2 error test failure in SVSTEP. -! OUTPUT -! 0 successful completion of nonlinear solver. -! -1 convergence failure or singular matrix. -! -2 unrecoverable error in matrix preprocessing -! (cannot occur here). -! -3 unrecoverable error in solution (cannot occur -! here). -! RPAR, IPAR = Dummy names for user's real and integer work arrays. -! -! IPUP = Own variable flag with values and meanings as follows.. -! 0, do not update the Newton matrix. -! MITER .ne. 0, update Newton matrix, because it is the -! initial step, order was changed, the error -! test failed, or an update is indicated by -! the scalar RC or step counter NST. -! -! For more details, see comments in driver subroutine. -!----------------------------------------------------------------------- -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for labeled COMMON block SVOD02 -------------------- -! - REAL HU - INTEGER NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Type declarations for local variables -------------------------------- -! - REAL CCMAX, CRDOWN, CSCALE, DCON, DEL, DELP, ONE, & - & RDIV, TWO, ZERO - INTEGER I, IERPJ, IERSL, M, MAXCOR, MSBP -! -! Type declaration for function subroutines called --------------------- -! - REAL SVNORM -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE CCMAX, CRDOWN, MAXCOR, MSBP, RDIV, ONE, TWO, ZERO -! - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH - COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! - DATA CCMAX /0.3E0/, CRDOWN /0.3E0/, MAXCOR /3/, MSBP /20/, & - & RDIV /2.0E0/ - DATA ONE /1.0E0/, TWO /2.0E0/, ZERO /0.0E0/ -!----------------------------------------------------------------------- -! On the first step, on a change of method order, or after a -! nonlinear convergence failure with NFLAG = -2, set IPUP = MITER -! to force a Jacobian update when MITER .ne. 0. -!----------------------------------------------------------------------- - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVNLSD',0,ZHOOK_HANDLE) - IF (JSTART .EQ. 0) NSLP = 0 - IF (NFLAG .EQ. 0) ICF = 0 - IF (NFLAG .EQ. -2) IPUP = MITER - IF ( (JSTART .EQ. 0) .OR. (JSTART .EQ. -1) ) IPUP = MITER -! If this is functional iteration, set CRATE .eq. 1 and drop to 220 - IF (MITER .EQ. 0) THEN - CRATE = ONE - GO TO 220 - ENDIF -!----------------------------------------------------------------------- -! RC is the ratio of new to old values of the coefficient H/EL(2)=h/l1. -! When RC differs from 1 by more than CCMAX, IPUP is set to MITER -! to force SVJAC to be called, if a Jacobian is involved. -! In any case, SVJAC is called at least every MSBP steps. -!----------------------------------------------------------------------- - DRC = ABS(RC-ONE) - IF (DRC .GT. CCMAX .OR. NST .GE. NSLP+MSBP) IPUP = MITER -!----------------------------------------------------------------------- -! Up to MAXCOR corrector iterations are taken. A convergence test is -! made on the r.m.s. norm of each correction, weighted by the error -! weight vector EWT. The sum of the corrections is accumulated in the -! vector ACOR(i). The YH array is not altered in the corrector loop. -!----------------------------------------------------------------------- - 220 M = 0 - DELP = ZERO - CALL CH_SCOPY (N, YH(1,1), 1, Y, 1 ) -! -!*UPG*MNH -! - CALL F (N, TN, Y, SAVF, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - NFE = NFE + 1 - IF (IPUP .LE. 0) GO TO 250 -!----------------------------------------------------------------------- -! If indicated, the matrix P = I - h*rl1*J is reevaluated and -! preprocessed before starting the corrector iteration. IPUP is set -! to 0 as an indicator that this has been done. -!----------------------------------------------------------------------- - CALL SVJAC (Y, YH, LDYH, EWT, ACOR, SAVF, WM, IWM, F, JAC, IERPJ, & - & RPAR, IPAR, KMI, KINDEX) - IPUP = 0 - RC = ONE - DRC = ZERO - CRATE = ONE - NSLP = NST -! If matrix is singular, take error return to force cut in step size. -- - IF (IERPJ .NE. 0) GO TO 430 - 250 DO 260 I = 1,N - 260 ACOR(I) = ZERO -! This is a looping point for the corrector iteration. ----------------- - 270 IF (MITER .NE. 0) GO TO 350 -!----------------------------------------------------------------------- -! In the case of functional iteration, update Y directly from -! the result of the last function evaluation. -!----------------------------------------------------------------------- - DO 280 I = 1,N - 280 SAVF(I) = RL1*(H*SAVF(I) - YH(I,2)) - DO 290 I = 1,N - 290 Y(I) = SAVF(I) - ACOR(I) - DEL = SVNORM (N, Y, EWT) - DO 300 I = 1,N - 300 Y(I) = YH(I,1) + SAVF(I) - CALL CH_SCOPY (N, SAVF, 1, ACOR, 1) - GO TO 400 -!----------------------------------------------------------------------- -! In the case of the chord method, compute the corrector error, -! and solve the linear system with that as right-hand side and -! P as coefficient matrix. The correction is scaled by the factor -! 2/(1+RC) to account for changes in h*rl1 since the last SVJAC call. -!----------------------------------------------------------------------- - 350 DO 360 I = 1,N - 360 Y(I) = (RL1*H)*SAVF(I) - (RL1*YH(I,2) + ACOR(I)) - CALL SVSOL (WM, IWM, Y, IERSL) - NNI = NNI + 1 - IF (IERSL .GT. 0) GO TO 410 - IF (METH .EQ. 2 .AND. RC .NE. ONE) THEN - CSCALE = TWO/(ONE + RC) - CALL SSCAL (N, CSCALE, Y, 1) - ENDIF - DEL = SVNORM (N, Y, EWT) - CALL SAXPY (N, ONE, Y, 1, ACOR, 1) - DO 380 I = 1,N - 380 Y(I) = YH(I,1) + ACOR(I) -!----------------------------------------------------------------------- -! Test for convergence. If M .gt. 0, an estimate of the convergence -! rate constant is stored in CRATE, and this is used in the test. -!----------------------------------------------------------------------- - 400 IF (M .NE. 0) CRATE = MAX(CRDOWN*CRATE,DEL/DELP) - DCON = DEL*MIN(ONE,CRATE)/TQ(4) - IF (DCON .LE. ONE) GO TO 450 - M = M + 1 - IF (M .EQ. MAXCOR) GO TO 410 - IF (M .GE. 2 .AND. DEL .GT. RDIV*DELP) GO TO 410 - DELP = DEL -! -!*UPG*MNH -! - CALL F (N, TN, Y, SAVF, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - NFE = NFE + 1 - GO TO 270 -! - 410 IF (MITER .EQ. 0 .OR. JCUR .EQ. 1) GO TO 430 - ICF = 1 - IPUP = MITER - GO TO 220 -! - 430 CONTINUE - NFLAG = -1 - ICF = 2 - IPUP = MITER - IF (LHOOK) CALL DR_HOOK('SVNLSD',1,ZHOOK_HANDLE) - RETURN -! -! Return for successful step. ------------------------------------------ - 450 NFLAG = 0 - JCUR = 0 - ICF = 0 - IF (M .EQ. 0) ACNRM = DEL - IF (M .GT. 0) ACNRM = SVNORM (N, ACOR, EWT) - IF (LHOOK) CALL DR_HOOK('SVNLSD',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVNLSD diff --git a/src/arome/chem/internals/svnorm.F b/src/arome/chem/internals/svnorm.F deleted file mode 100644 index cc8c46a643755aed18f0e2fd27a3687ed57a7661..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svnorm.F +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - FUNCTION SVNORM (N, V, W) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ############################## - REAL SVNORM - REAL V, W - INTEGER N - DIMENSION V(N), W(N) -!----------------------------------------------------------------------- -! Call sequence input -- N, V, W -! Call sequence output -- None -! COMMON block variables accessed -- None -! -! Subroutines/functions called by SVNORM.. None -!----------------------------------------------------------------------- -! This function routine computes the weighted root-mean-square norm -! of the vector of length N contained in the array V, with weights -! contained in the array W of length N.. -! SVNORM = sqrt( (1/N) * sum( V(i)*W(i) )**2 ) -!----------------------------------------------------------------------- - REAL SUM - INTEGER I -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVNORM',0,ZHOOK_HANDLE) - SUM = 0.0E0 - DO 10 I = 1, N - 10 SUM = SUM + (V(I)*W(I))**2 - SVNORM = SQRT(SUM/REAL(N)) - IF (LHOOK) CALL DR_HOOK('SVNORM',1,ZHOOK_HANDLE) - RETURN - ENDFUNCTION SVNORM diff --git a/src/arome/chem/internals/svode.F b/src/arome/chem/internals/svode.F deleted file mode 100644 index 80a50d6043ddde6956f95c60aaded560ed88b084..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svode.F +++ /dev/null @@ -1,1704 +0,0 @@ -! ######spl - SUBROUTINE SVODE (F, NEQ, Y, T, TOUT, ITOL, RTOL, ATOL, ITASK, & - & ISTATE, IOPT, RWORK, LRW, IWORK, LIW, JAC, MF, & - & RPAR, IPAR, KMI, KINDEX) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! -! - EXTERNAL F, JAC - ! -! -!*UPG*MNH -! - INTEGER KMI, KINDEX -! -!*UPG*MNH -! - REAL Y, T, TOUT, RTOL, ATOL, RWORK, RPAR - INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, & - & MF, IPAR - DIMENSION Y(*), RTOL(*), ATOL(*), RWORK(LRW), IWORK(LIW), & - & RPAR(*), IPAR(*) -!----------------------------------------------------------------------- -! SVODE.. Variable-coefficient Ordinary Differential Equation solver, -! with fixed-leading coefficient implementation. -! This version is in single precision. -! -! SVODE solves the initial value problem for stiff or nonstiff -! systems of first order ODEs, -! dy/dt = f(t,y) , or, in component form, -! dy(i)/dt = f(i) = f(i,t,y(1),y(2),...,y(NEQ)) (i = 1,...,NEQ). -! SVODE is a package based on the EPISODE and EPISODEB packages, and -! on the ODEPACK user interface standard, with minor modifications. -!----------------------------------------------------------------------- -! Revision History (YYMMDD) -! 890615 Date Written -! 890922 Added interrupt/restart ability, minor changes throughout. -! 910228 Minor revisions in line format, prologue, etc. -! 920227 Modifications by D. Pang: -! (1) Applied subgennam to get generic intrinsic names. -! (2) Changed intrinsic names to generic in comments. -! (3) Added *DECK lines before each routine. -! 920721 Names of routines and labeled Common blocks changed, so as -! to be unique in combined single/double precision code (ACH). -! 920722 Minor revisions to prologue (ACH). -!----------------------------------------------------------------------- -! References.. -! -! 1. P. N. Brown, G. D. Byrne, and A. C. Hindmarsh, "VODE: A Variable -! Coefficient ODE Solver," SIAM J. Sci. Stat. Comput., 10 (1989), -! pp. 1038-1051. Also, LLNL Report UCRL-98412, June 1988. -! 2. G. D. Byrne and A. C. Hindmarsh, "A Polyalgorithm for the -! Numerical Solution of Ordinary Differential Equations," -! ACM Trans. Math. Software, 1 (1975), pp. 71-96. -! 3. A. C. Hindmarsh and G. D. Byrne, "EPISODE: An Effective Package -! for the Integration of Systems of Ordinary Differential -! Equations," LLNL Report UCID-30112, Rev. 1, April 1977. -! 4. G. D. Byrne and A. C. Hindmarsh, "EPISODEB: An Experimental -! Package for the Integration of Systems of Ordinary Differential -! Equations with Banded Jacobians," LLNL Report UCID-30132, April -! 1976. -! 5. A. C. Hindmarsh, "ODEPACK, a Systematized Collection of ODE -! Solvers," in Scientific Computing, R. S. Stepleman et al., eds., -! North-Holland, Amsterdam, 1983, pp. 55-64. -! 6. K. R. Jackson and R. Sacks-Davis, "An Alternative Implementation -! of Variable Step-Size Multistep Formulas for Stiff ODEs," ACM -! Trans. Math. Software, 6 (1980), pp. 295-318. -!----------------------------------------------------------------------- -! Authors.. -! -! Peter N. Brown and Alan C. Hindmarsh -! Computing and Mathematics Research Division, L-316 -! Lawrence Livermore National Laboratory -! Livermore, CA 94550 -! and -! George D. Byrne -! Exxon Research and Engineering Co. -! Clinton Township -! Route 22 East -! Annandale, NJ 08801 -!----------------------------------------------------------------------- -! Summary of usage. -! -! Communication between the user and the SVODE package, for normal -! situations, is summarized here. This summary describes only a subset -! of the full set of options available. See the full description for -! details, including optional communication, nonstandard options, -! and instructions for special situations. See also the example -! problem (with program and output) following this summary. -! -! A. First provide a subroutine of the form.. -! -! SUBROUTINE F (NEQ, T, Y, YDOT, RPAR, IPAR) -! REAL T, Y, YDOT, RPAR -! DIMENSION Y(NEQ), YDOT(NEQ) -! -! which supplies the vector function f by loading YDOT(i) with f(i). -! -! B. Next determine (or guess) whether or not the problem is stiff. -! Stiffness occurs when the Jacobian matrix df/dy has an eigenvalue -! whose real part is negative and large in magnitude, compared to the -! reciprocal of the t span of interest. If the problem is nonstiff, -! use a method flag MF = 10. If it is stiff, there are four standard -! choices for MF (21, 22, 24, 25), and SVODE requires the Jacobian -! matrix in some form. In these cases (MF .gt. 0), SVODE will use a -! saved copy of the Jacobian matrix. If this is undesirable because of -! storage limitations, set MF to the corresponding negative value -! (-21, -22, -24, -25). (See full description of MF below.) -! The Jacobian matrix is regarded either as full (MF = 21 or 22), -! or banded (MF = 24 or 25). In the banded case, SVODE requires two -! half-bandwidth parameters ML and MU. These are, respectively, the -! widths of the lower and upper parts of the band, excluding the main -! diagonal. Thus the band consists of the locations (i,j) with -! i-ML .le. j .le. i+MU, and the full bandwidth is ML+MU+1. -! -! C. If the problem is stiff, you are encouraged to supply the Jacobian -! directly (MF = 21 or 24), but if this is not feasible, SVODE will -! compute it internally by difference quotients (MF = 22 or 25). -! If you are supplying the Jacobian, provide a subroutine of the form.. -! -! SUBROUTINE JAC (NEQ, T, Y, ML, MU, PD, NROWPD, RPAR, IPAR) -! REAL T, Y, PD, RPAR -! DIMENSION Y(NEQ), PD(NROWPD,NEQ) -! -! which supplies df/dy by loading PD as follows.. -! For a full Jacobian (MF = 21), load PD(i,j) with df(i)/dy(j), -! the partial derivative of f(i) with respect to y(j). (Ignore the -! ML and MU arguments in this case.) -! For a banded Jacobian (MF = 24), load PD(i-j+MU+1,j) with -! df(i)/dy(j), i.e. load the diagonal lines of df/dy into the rows of -! PD from the top down. -! In either case, only nonzero elements need be loaded. -! -! D. Write a main program which calls subroutine SVODE once for -! each point at which answers are desired. This should also provide -! for possible use of logical unit 6 for output of error messages -! by SVODE. On the first call to SVODE, supply arguments as follows.. -! F = Name of subroutine for right-hand side vector f. -! This name must be declared external in calling program. -! NEQ = Number of first order ODE-s. -! Y = Array of initial values, of length NEQ. -! T = The initial value of the independent variable. -! TOUT = First point where output is desired (.ne. T). -! ITOL = 1 or 2 according as ATOL (below) is a scalar or array. -! RTOL = Relative tolerance parameter (scalar). -! ATOL = Absolute tolerance parameter (scalar or array). -! The estimated local error in Y(i) will be controlled so as -! to be roughly less (in magnitude) than -! EWT(i) = RTOL*abs(Y(i)) + ATOL if ITOL = 1, or -! EWT(i) = RTOL*abs(Y(i)) + ATOL(i) if ITOL = 2. -! Thus the local error test passes if, in each component, -! either the absolute error is less than ATOL (or ATOL(i)), -! or the relative error is less than RTOL. -! Use RTOL = 0.0 for pure absolute error control, and -! use ATOL = 0.0 (or ATOL(i) = 0.0) for pure relative error -! control. Caution.. Actual (global) errors may exceed these -! local tolerances, so choose them conservatively. -! ITASK = 1 for normal computation of output values of Y at t = TOUT. -! ISTATE = Integer flag (input and output). Set ISTATE = 1. -! IOPT = 0 to indicate no optional input used. -! RWORK = Real work array of length at least.. -! 20 + 16*NEQ for MF = 10, -! 22 + 9*NEQ + 2*NEQ**2 for MF = 21 or 22, -! 22 + 11*NEQ + (3*ML + 2*MU)*NEQ for MF = 24 or 25. -! LRW = Declared length of RWORK (in user's DIMENSION statement). -! IWORK = Integer work array of length at least.. -! 30 for MF = 10, -! 30 + NEQ for MF = 21, 22, 24, or 25. -! If MF = 24 or 25, input in IWORK(1),IWORK(2) the lower -! and upper half-bandwidths ML,MU. -! LIW = Declared length of IWORK (in user's DIMENSION). -! JAC = Name of subroutine for Jacobian matrix (MF = 21 or 24). -! If used, this name must be declared external in calling -! program. If not used, pass a dummy name. -! MF = Method flag. Standard values are.. -! 10 for nonstiff (Adams) method, no Jacobian used. -! 21 for stiff (BDF) method, user-supplied full Jacobian. -! 22 for stiff method, internally generated full Jacobian. -! 24 for stiff method, user-supplied banded Jacobian. -! 25 for stiff method, internally generated banded Jacobian. -! RPAR,IPAR = user-defined real and integer arrays passed to F and JAC. -! Note that the main program must declare arrays Y, RWORK, IWORK, -! and possibly ATOL, RPAR, and IPAR. -! -! E. The output from the first call (or any call) is.. -! Y = Array of computed values of y(t) vector. -! T = Corresponding value of independent variable (normally TOUT). -! ISTATE = 2 if SVODE was successful, negative otherwise. -! -1 means excess work done on this call. (Perhaps wrong MF.) -! -2 means excess accuracy requested. (Tolerances too small.) -! -3 means illegal input detected. (See printed message.) -! -4 means repeated error test failures. (Check all input.) -! -5 means repeated convergence failures. (Perhaps bad -! Jacobian supplied or wrong choice of MF or tolerances.) -! -6 means error weight became zero during problem. (Solution -! component i vanished, and ATOL or ATOL(i) = 0.) -! -! F. To continue the integration after a successful return, simply -! reset TOUT and call SVODE again. No other parameters need be reset. -! -!----------------------------------------------------------------------- -! EXAMPLE PROBLEM -! -! The following is a simple example problem, with the coding -! needed for its solution by SVODE. The problem is from chemical -! kinetics, and consists of the following three rate equations.. -! dy1/dt = -.04*y1 + 1.e4*y2*y3 -! dy2/dt = .04*y1 - 1.e4*y2*y3 - 3.e7*y2**2 -! dy3/dt = 3.e7*y2**2 -! on the interval from t = 0.0 to t = 4.e10, with initial conditions -! y1 = 1.0, y2 = y3 = 0. The problem is stiff. -! -! The following coding solves this problem with SVODE, using MF = 21 -! and printing results at t = .4, 4., ..., 4.e10. It uses -! ITOL = 2 and ATOL much smaller for y2 than y1 or y3 because -! y2 has much smaller values. -! At the end of the run, statistical quantities of interest are -! printed. (See optional output in the full description below.) -! To generate Fortran source code, replace C in column 1 with a blank -! in the coding below. -! -! EXTERNAL FEX, JEX -! REAL ATOL, RPAR, RTOL, RWORK, T, TOUT, Y -! DIMENSION Y(3), ATOL(3), RWORK(67), IWORK(33) -! NEQ = 3 -! Y(1) = 1.0E0 -! Y(2) = 0.0E0 -! Y(3) = 0.0E0 -! T = 0.0E0 -! TOUT = 0.4E0 -! ITOL = 2 -! RTOL = 1.E-4 -! ATOL(1) = 1.E-8 -! ATOL(2) = 1.E-14 -! ATOL(3) = 1.E-6 -! ITASK = 1 -! ISTATE = 1 -! IOPT = 0 -! LRW = 67 -! LIW = 33 -! MF = 21 -! DO 40 IOUT = 1,12 -! CALL SVODE(FEX,NEQ,Y,T,TOUT,ITOL,RTOL,ATOL,ITASK,ISTATE, -! 1 IOPT,RWORK,LRW,IWORK,LIW,JEX,MF,RPAR,IPAR) -! WRITE(6,20)T,Y(1),Y(2),Y(3) -! 20 FORMAT(' At t =',E12.4,' y =',3E14.6) -! IF (ISTATE .LT. 0) GO TO 80 -! 40 TOUT = TOUT*10. -! WRITE(6,60) IWORK(11),IWORK(12),IWORK(13),IWORK(19), -! 1 IWORK(20),IWORK(21),IWORK(22) -! 60 FORMAT(/' No. steps =',I4,' No. f-s =',I4, -! 1 ' No. J-s =',I4,' No. LU-s =',I4/ -! 2 ' No. nonlinear iterations =',I4/ -! 3 ' No. nonlinear convergence failures =',I4/ -! 4 ' No. error test failures =',I4/) -! STOP -! 80 WRITE(6,90)ISTATE -! 90 FORMAT(///' Error halt.. ISTATE =',I3) -! STOP -! END -! -! SUBROUTINE FEX (NEQ, T, Y, YDOT, RPAR, IPAR) -! REAL RPAR, T, Y, YDOT -! DIMENSION Y(NEQ), YDOT(NEQ) -! YDOT(1) = -.04E0*Y(1) + 1.E4*Y(2)*Y(3) -! YDOT(3) = 3.E7*Y(2)*Y(2) -! YDOT(2) = -YDOT(1) - YDOT(3) -! RETURN -! END -! -! SUBROUTINE JEX (NEQ, T, Y, ML, MU, PD, NRPD, RPAR, IPAR) -! REAL PD, RPAR, T, Y -! DIMENSION Y(NEQ), PD(NRPD,NEQ) -! PD(1,1) = -.04E0 -! PD(1,2) = 1.E4*Y(3) -! PD(1,3) = 1.E4*Y(2) -! PD(2,1) = .04E0 -! PD(2,3) = -PD(1,3) -! PD(3,2) = 6.E7*Y(2) -! PD(2,2) = -PD(1,2) - PD(3,2) -! RETURN -! END -! -! The following output was obtained from the above program on a -! Cray-1 computer with the CFT compiler. -! -! At t = 4.0000e-01 y = 9.851680e-01 3.386314e-05 1.479817e-02 -! At t = 4.0000e+00 y = 9.055255e-01 2.240539e-05 9.445214e-02 -! At t = 4.0000e+01 y = 7.158108e-01 9.184883e-06 2.841800e-01 -! At t = 4.0000e+02 y = 4.505032e-01 3.222940e-06 5.494936e-01 -! At t = 4.0000e+03 y = 1.832053e-01 8.942690e-07 8.167938e-01 -! At t = 4.0000e+04 y = 3.898560e-02 1.621875e-07 9.610142e-01 -! At t = 4.0000e+05 y = 4.935882e-03 1.984013e-08 9.950641e-01 -! At t = 4.0000e+06 y = 5.166183e-04 2.067528e-09 9.994834e-01 -! At t = 4.0000e+07 y = 5.201214e-05 2.080593e-10 9.999480e-01 -! At t = 4.0000e+08 y = 5.213149e-06 2.085271e-11 9.999948e-01 -! At t = 4.0000e+09 y = 5.183495e-07 2.073399e-12 9.999995e-01 -! At t = 4.0000e+10 y = 5.450996e-08 2.180399e-13 9.999999e-01 -! -! No. steps = 595 No. f-s = 832 No. J-s = 13 No. LU-s = 112 -! No. nonlinear iterations = 831 -! No. nonlinear convergence failures = 0 -! No. error test failures = 22 -!----------------------------------------------------------------------- -! Full description of user interface to SVODE. -! -! The user interface to SVODE consists of the following parts. -! -! i. The call sequence to subroutine SVODE, which is a driver -! routine for the solver. This includes descriptions of both -! the call sequence arguments and of user-supplied routines. -! Following these descriptions is -! * a description of optional input available through the -! call sequence, -! * a description of optional output (in the work arrays), and -! * instructions for interrupting and restarting a solution. -! -! ii. Descriptions of other routines in the SVODE package that may be -! (optionally) called by the user. These provide the ability to -! alter error message handling, save and restore the internal -! COMMON, and obtain specified derivatives of the solution y(t). -! -! iii. Descriptions of COMMON blocks to be declared in overlay -! or similar environments. -! -! iv. Description of two routines in the SVODE package, either of -! which the user may replace with his own version, if desired. -! these relate to the measurement of errors. -! -!----------------------------------------------------------------------- -! Part i. Call Sequence. -! -! The call sequence parameters used for input only are -! F, NEQ, TOUT, ITOL, RTOL, ATOL, ITASK, IOPT, LRW, LIW, JAC, MF, -! and those used for both input and output are -! Y, T, ISTATE. -! The work arrays RWORK and IWORK are also used for conditional and -! optional input and optional output. (The term output here refers -! to the return from subroutine SVODE to the user's calling program.) -! -! The legality of input parameters will be thoroughly checked on the -! initial call for the problem, but not checked thereafter unless a -! change in input parameters is flagged by ISTATE = 3 in the input. -! -! The descriptions of the call arguments are as follows. -! -! F = The name of the user-supplied subroutine defining the -! ODE system. The system must be put in the first-order -! form dy/dt = f(t,y), where f is a vector-valued function -! of the scalar t and the vector y. Subroutine F is to -! compute the function f. It is to have the form -! SUBROUTINE F (NEQ, T, Y, YDOT, RPAR, IPAR) -! REAL T, Y, YDOT, RPAR -! DIMENSION Y(NEQ), YDOT(NEQ) -! where NEQ, T, and Y are input, and the array YDOT = f(t,y) -! is output. Y and YDOT are arrays of length NEQ. -! (In the DIMENSION statement above, NEQ can be replaced by -! * to make Y and YDOT assumed size arrays.) -! Subroutine F should not alter Y(1),...,Y(NEQ). -! F must be declared EXTERNAL in the calling program. -! -! Subroutine F may access user-defined real and integer -! work arrays RPAR and IPAR, which are to be dimensioned -! in the main program. -! -! If quantities computed in the F routine are needed -! externally to SVODE, an extra call to F should be made -! for this purpose, for consistent and accurate results. -! If only the derivative dy/dt is needed, use SVINDY instead. -! -! NEQ = The size of the ODE system (number of first order -! ordinary differential equations). Used only for input. -! NEQ may not be increased during the problem, but -! can be decreased (with ISTATE = 3 in the input). -! -! Y = A real array for the vector of dependent variables, of -! length NEQ or more. Used for both input and output on the -! first call (ISTATE = 1), and only for output on other calls. -! On the first call, Y must contain the vector of initial -! values. In the output, Y contains the computed solution -! evaluated at T. If desired, the Y array may be used -! for other purposes between calls to the solver. -! -! This array is passed as the Y argument in all calls to -! F and JAC. -! -! T = The independent variable. In the input, T is used only on -! the first call, as the initial point of the integration. -! In the output, after each call, T is the value at which a -! computed solution Y is evaluated (usually the same as TOUT). -! On an error return, T is the farthest point reached. -! -! TOUT = The next value of t at which a computed solution is desired. -! Used only for input. -! -! When starting the problem (ISTATE = 1), TOUT may be equal -! to T for one call, then should .ne. T for the next call. -! For the initial T, an input value of TOUT .ne. T is used -! in order to determine the direction of the integration -! (i.e. the algebraic sign of the step sizes) and the rough -! scale of the problem. Integration in either direction -! (forward or backward in t) is permitted. -! -! If ITASK = 2 or 5 (one-step modes), TOUT is ignored after -! the first call (i.e. the first call with TOUT .ne. T). -! Otherwise, TOUT is required on every call. -! -! If ITASK = 1, 3, or 4, the values of TOUT need not be -! monotone, but a value of TOUT which backs up is limited -! to the current internal t interval, whose endpoints are -! TCUR - HU and TCUR. (See optional output, below, for -! TCUR and HU.) -! -! ITOL = An indicator for the type of error control. See -! description below under ATOL. Used only for input. -! -! RTOL = A relative error tolerance parameter, either a scalar or -! an array of length NEQ. See description below under ATOL. -! Input only. -! -! ATOL = An absolute error tolerance parameter, either a scalar or -! an array of length NEQ. Input only. -! -! The input parameters ITOL, RTOL, and ATOL determine -! the error control performed by the solver. The solver will -! control the vector e = (e(i)) of estimated local errors -! in Y, according to an inequality of the form -! rms-norm of ( e(i)/EWT(i) ) .le. 1, -! where EWT(i) = RTOL(i)*abs(Y(i)) + ATOL(i), -! and the rms-norm (root-mean-square norm) here is -! rms-norm(v) = sqrt(sum v(i)**2 / NEQ). Here EWT = (EWT(i)) -! is a vector of weights which must always be positive, and -! the values of RTOL and ATOL should all be non-negative. -! The following table gives the types (scalar/array) of -! RTOL and ATOL, and the corresponding form of EWT(i). -! -! ITOL RTOL ATOL EWT(i) -! 1 scalar scalar RTOL*ABS(Y(i)) + ATOL -! 2 scalar array RTOL*ABS(Y(i)) + ATOL(i) -! 3 array scalar RTOL(i)*ABS(Y(i)) + ATOL -! 4 array array RTOL(i)*ABS(Y(i)) + ATOL(i) -! -! When either of these parameters is a scalar, it need not -! be dimensioned in the user's calling program. -! -! If none of the above choices (with ITOL, RTOL, and ATOL -! fixed throughout the problem) is suitable, more general -! error controls can be obtained by substituting -! user-supplied routines for the setting of EWT and/or for -! the norm calculation. See Part iv below. -! -! If global errors are to be estimated by making a repeated -! run on the same problem with smaller tolerances, then all -! components of RTOL and ATOL (i.e. of EWT) should be scaled -! down uniformly. -! -! ITASK = An index specifying the task to be performed. -! Input only. ITASK has the following values and meanings. -! 1 means normal computation of output values of y(t) at -! t = TOUT (by overshooting and interpolating). -! 2 means take one step only and return. -! 3 means stop at the first internal mesh point at or -! beyond t = TOUT and return. -! 4 means normal computation of output values of y(t) at -! t = TOUT but without overshooting t = TCRIT. -! TCRIT must be input as RWORK(1). TCRIT may be equal to -! or beyond TOUT, but not behind it in the direction of -! integration. This option is useful if the problem -! has a singularity at or beyond t = TCRIT. -! 5 means take one step, without passing TCRIT, and return. -! TCRIT must be input as RWORK(1). -! -! Note.. If ITASK = 4 or 5 and the solver reaches TCRIT -! (within roundoff), it will return T = TCRIT (exactly) to -! indicate this (unless ITASK = 4 and TOUT comes before TCRIT, -! in which case answers at T = TOUT are returned first). -! -! ISTATE = an index used for input and output to specify the -! the state of the calculation. -! -! In the input, the values of ISTATE are as follows. -! 1 means this is the first call for the problem -! (initializations will be done). See note below. -! 2 means this is not the first call, and the calculation -! is to continue normally, with no change in any input -! parameters except possibly TOUT and ITASK. -! (If ITOL, RTOL, and/or ATOL are changed between calls -! with ISTATE = 2, the new values will be used but not -! tested for legality.) -! 3 means this is not the first call, and the -! calculation is to continue normally, but with -! a change in input parameters other than -! TOUT and ITASK. Changes are allowed in -! NEQ, ITOL, RTOL, ATOL, IOPT, LRW, LIW, MF, ML, MU, -! and any of the optional input except H0. -! (See IWORK description for ML and MU.) -! Note.. A preliminary call with TOUT = T is not counted -! as a first call here, as no initialization or checking of -! input is done. (Such a call is sometimes useful to include -! the initial conditions in the output.) -! Thus the first call for which TOUT .ne. T requires -! ISTATE = 1 in the input. -! -! In the output, ISTATE has the following values and meanings. -! 1 means nothing was done, as TOUT was equal to T with -! ISTATE = 1 in the input. -! 2 means the integration was performed successfully. -! -1 means an excessive amount of work (more than MXSTEP -! steps) was done on this call, before completing the -! requested task, but the integration was otherwise -! successful as far as T. (MXSTEP is an optional input -! and is normally 500.) To continue, the user may -! simply reset ISTATE to a value .gt. 1 and call again. -! (The excess work step counter will be reset to 0.) -! In addition, the user may increase MXSTEP to avoid -! this error return. (See optional input below.) -! -2 means too much accuracy was requested for the precision -! of the machine being used. This was detected before -! completing the requested task, but the integration -! was successful as far as T. To continue, the tolerance -! parameters must be reset, and ISTATE must be set -! to 3. The optional output TOLSF may be used for this -! purpose. (Note.. If this condition is detected before -! taking any steps, then an illegal input return -! (ISTATE = -3) occurs instead.) -! -3 means illegal input was detected, before taking any -! integration steps. See written message for details. -! Note.. If the solver detects an infinite loop of calls -! to the solver with illegal input, it will cause -! the run to stop. -! -4 means there were repeated error test failures on -! one attempted step, before completing the requested -! task, but the integration was successful as far as T. -! The problem may have a singularity, or the input -! may be inappropriate. -! -5 means there were repeated convergence test failures on -! one attempted step, before completing the requested -! task, but the integration was successful as far as T. -! This may be caused by an inaccurate Jacobian matrix, -! if one is being used. -! -6 means EWT(i) became zero for some i during the -! integration. Pure relative error control (ATOL(i)=0.0) -! was requested on a variable which has now vanished. -! The integration was successful as far as T. -! -! Note.. Since the normal output value of ISTATE is 2, -! it does not need to be reset for normal continuation. -! Also, since a negative input value of ISTATE will be -! regarded as illegal, a negative output value requires the -! user to change it, and possibly other input, before -! calling the solver again. -! -! IOPT = An integer flag to specify whether or not any optional -! input is being used on this call. Input only. -! The optional input is listed separately below. -! IOPT = 0 means no optional input is being used. -! Default values will be used in all cases. -! IOPT = 1 means optional input is being used. -! -! RWORK = A real working array (single precision). -! The length of RWORK must be at least -! 20 + NYH*(MAXORD + 1) + 3*NEQ + LWM where -! NYH = the initial value of NEQ, -! MAXORD = 12 (if METH = 1) or 5 (if METH = 2) (unless a -! smaller value is given as an optional input), -! LWM = length of work space for matrix-related data.. -! LWM = 0 if MITER = 0, -! LWM = 2*NEQ**2 + 2 if MITER = 1 or 2, and MF.gt.0, -! LWM = NEQ**2 + 2 if MITER = 1 or 2, and MF.lt.0, -! LWM = NEQ + 2 if MITER = 3, -! LWM = (3*ML+2*MU+2)*NEQ + 2 if MITER = 4 or 5, and MF.gt.0, -! LWM = (2*ML+MU+1)*NEQ + 2 if MITER = 4 or 5, and MF.lt.0. -! (See the MF description for METH and MITER.) -! Thus if MAXORD has its default value and NEQ is constant, -! this length is.. -! 20 + 16*NEQ for MF = 10, -! 22 + 16*NEQ + 2*NEQ**2 for MF = 11 or 12, -! 22 + 16*NEQ + NEQ**2 for MF = -11 or -12, -! 22 + 17*NEQ for MF = 13, -! 22 + 18*NEQ + (3*ML+2*MU)*NEQ for MF = 14 or 15, -! 22 + 17*NEQ + (2*ML+MU)*NEQ for MF = -14 or -15, -! 20 + 9*NEQ for MF = 20, -! 22 + 9*NEQ + 2*NEQ**2 for MF = 21 or 22, -! 22 + 9*NEQ + NEQ**2 for MF = -21 or -22, -! 22 + 10*NEQ for MF = 23, -! 22 + 11*NEQ + (3*ML+2*MU)*NEQ for MF = 24 or 25. -! 22 + 10*NEQ + (2*ML+MU)*NEQ for MF = -24 or -25. -! The first 20 words of RWORK are reserved for conditional -! and optional output. -! -! The following word in RWORK is a conditional input.. -! RWORK(1) = TCRIT = critical value of t which the solver -! is not to overshoot. Required if ITASK is -! 4 or 5, and ignored otherwise. (See ITASK.) -! -! LRW = The length of the array RWORK, as declared by the user. -! (This will be checked by the solver.) -! -! IWORK = An integer work array. The length of IWORK must be at least -! 30 if MITER = 0 or 3 (MF = 10, 13, 20, 23), or -! 30 + NEQ otherwise (abs(MF) = 11,12,14,15,21,22,24,25). -! The first 30 words of IWORK are reserved for conditional and -! optional input and optional output. -! -! The following 2 words in IWORK are conditional input.. -! IWORK(1) = ML These are the lower and upper -! IWORK(2) = MU half-bandwidths, respectively, of the -! banded Jacobian, excluding the main diagonal. -! The band is defined by the matrix locations -! (i,j) with i-ML .le. j .le. i+MU. ML and MU -! must satisfy 0 .le. ML,MU .le. NEQ-1. -! These are required if MITER is 4 or 5, and -! ignored otherwise. ML and MU may in fact be -! the band parameters for a matrix to which -! df/dy is only approximately equal. -! -! LIW = the length of the array IWORK, as declared by the user. -! (This will be checked by the solver.) -! -! Note.. The work arrays must not be altered between calls to SVODE -! for the same problem, except possibly for the conditional and -! optional input, and except for the last 3*NEQ words of RWORK. -! The latter space is used for internal scratch space, and so is -! available for use by the user outside SVODE between calls, if -! desired (but not for use by F or JAC). -! -! JAC = The name of the user-supplied routine (MITER = 1 or 4) to -! compute the Jacobian matrix, df/dy, as a function of -! the scalar t and the vector y. It is to have the form -! SUBROUTINE JAC (NEQ, T, Y, ML, MU, PD, NROWPD, -! RPAR, IPAR) -! REAL T, Y, PD, RPAR -! DIMENSION Y(NEQ), PD(NROWPD, NEQ) -! where NEQ, T, Y, ML, MU, and NROWPD are input and the array -! PD is to be loaded with partial derivatives (elements of the -! Jacobian matrix) in the output. PD must be given a first -! dimension of NROWPD. T and Y have the same meaning as in -! Subroutine F. (In the DIMENSION statement above, NEQ can -! be replaced by * to make Y and PD assumed size arrays.) -! In the full matrix case (MITER = 1), ML and MU are -! ignored, and the Jacobian is to be loaded into PD in -! columnwise manner, with df(i)/dy(j) loaded into PD(i,j). -! In the band matrix case (MITER = 4), the elements -! within the band are to be loaded into PD in columnwise -! manner, with diagonal lines of df/dy loaded into the rows -! of PD. Thus df(i)/dy(j) is to be loaded into PD(i-j+MU+1,j). -! ML and MU are the half-bandwidth parameters. (See IWORK). -! The locations in PD in the two triangular areas which -! correspond to nonexistent matrix elements can be ignored -! or loaded arbitrarily, as they are overwritten by SVODE. -! JAC need not provide df/dy exactly. A crude -! approximation (possibly with a smaller bandwidth) will do. -! In either case, PD is preset to zero by the solver, -! so that only the nonzero elements need be loaded by JAC. -! Each call to JAC is preceded by a call to F with the same -! arguments NEQ, T, and Y. Thus to gain some efficiency, -! intermediate quantities shared by both calculations may be -! saved in a user COMMON block by F and not recomputed by JAC, -! if desired. Also, JAC may alter the Y array, if desired. -! JAC must be declared external in the calling program. -! Subroutine JAC may access user-defined real and integer -! work arrays, RPAR and IPAR, whose dimensions are set by the -! user in the main program. -! -! MF = The method flag. Used only for input. The legal values of -! MF are 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, -! -11, -12, -14, -15, -21, -22, -24, -25. -! MF is a signed two-digit integer, MF = JSV*(10*METH + MITER). -! JSV = SIGN(MF) indicates the Jacobian-saving strategy.. -! JSV = 1 means a copy of the Jacobian is saved for reuse -! in the corrector iteration algorithm. -! JSV = -1 means a copy of the Jacobian is not saved -! (valid only for MITER = 1, 2, 4, or 5). -! METH indicates the basic linear multistep method.. -! METH = 1 means the implicit Adams method. -! METH = 2 means the method based on backward -! differentiation formulas (BDF-s). -! MITER indicates the corrector iteration method.. -! MITER = 0 means functional iteration (no Jacobian matrix -! is involved). -! MITER = 1 means chord iteration with a user-supplied -! full (NEQ by NEQ) Jacobian. -! MITER = 2 means chord iteration with an internally -! generated (difference quotient) full Jacobian -! (using NEQ extra calls to F per df/dy value). -! MITER = 3 means chord iteration with an internally -! generated diagonal Jacobian approximation -! (using 1 extra call to F per df/dy evaluation). -! MITER = 4 means chord iteration with a user-supplied -! banded Jacobian. -! MITER = 5 means chord iteration with an internally -! generated banded Jacobian (using ML+MU+1 extra -! calls to F per df/dy evaluation). -! If MITER = 1 or 4, the user must supply a subroutine JAC -! (the name is arbitrary) as described above under JAC. -! For other values of MITER, a dummy argument can be used. -! -! RPAR User-specified array used to communicate real parameters -! to user-supplied subroutines. If RPAR is a vector, then -! it must be dimensioned in the user's main program. If it -! is unused or it is a scalar, then it need not be -! dimensioned. -! -! IPAR User-specified array used to communicate integer parameter -! to user-supplied subroutines. The comments on dimensioning -! RPAR apply to IPAR. -!----------------------------------------------------------------------- -! Optional Input. -! -! The following is a list of the optional input provided for in the -! call sequence. (See also Part ii.) For each such input variable, -! this table lists its name as used in this documentation, its -! location in the call sequence, its meaning, and the default value. -! The use of any of this input requires IOPT = 1, and in that -! case all of this input is examined. A value of zero for any -! of these optional input variables will cause the default value to be -! used. Thus to use a subset of the optional input, simply preload -! locations 5 to 10 in RWORK and IWORK to 0.0 and 0 respectively, and -! then set those of interest to nonzero values. -! -! NAME LOCATION MEANING AND DEFAULT VALUE -! -! H0 RWORK(5) The step size to be attempted on the first step. -! The default value is determined by the solver. -! -! HMAX RWORK(6) The maximum absolute step size allowed. -! The default value is infinite. -! -! HMIN RWORK(7) The minimum absolute step size allowed. -! The default value is 0. (This lower bound is not -! enforced on the final step before reaching TCRIT -! when ITASK = 4 or 5.) -! -! MAXORD IWORK(5) The maximum order to be allowed. The default -! value is 12 if METH = 1, and 5 if METH = 2. -! If MAXORD exceeds the default value, it will -! be reduced to the default value. -! If MAXORD is changed during the problem, it may -! cause the current order to be reduced. -! -! MXSTEP IWORK(6) Maximum number of (internally defined) steps -! allowed during one call to the solver. -! The default value is 500. -! -! MXHNIL IWORK(7) Maximum number of messages printed (per problem) -! warning that T + H = T on a step (H = step size). -! This must be positive to result in a non-default -! value. The default value is 10. -! -!----------------------------------------------------------------------- -! Optional Output. -! -! As optional additional output from SVODE, the variables listed -! below are quantities related to the performance of SVODE -! which are available to the user. These are communicated by way of -! the work arrays, but also have internal mnemonic names as shown. -! Except where stated otherwise, all of this output is defined -! on any successful return from SVODE, and on any return with -! ISTATE = -1, -2, -4, -5, or -6. On an illegal input return -! (ISTATE = -3), they will be unchanged from their existing values -! (if any), except possibly for TOLSF, LENRW, and LENIW. -! On any error return, output relevant to the error will be defined, -! as noted below. -! -! NAME LOCATION MEANING -! -! HU RWORK(11) The step size in t last used (successfully). -! -! HCUR RWORK(12) The step size to be attempted on the next step. -! -! TCUR RWORK(13) The current value of the independent variable -! which the solver has actually reached, i.e. the -! current internal mesh point in t. In the output, -! TCUR will always be at least as far from the -! initial value of t as the current argument T, -! but may be farther (if interpolation was done). -! -! TOLSF RWORK(14) A tolerance scale factor, greater than 1.0, -! computed when a request for too much accuracy was -! detected (ISTATE = -3 if detected at the start of -! the problem, ISTATE = -2 otherwise). If ITOL is -! left unaltered but RTOL and ATOL are uniformly -! scaled up by a factor of TOLSF for the next call, -! then the solver is deemed likely to succeed. -! (The user may also ignore TOLSF and alter the -! tolerance parameters in any other way appropriate.) -! -! NST IWORK(11) The number of steps taken for the problem so far. -! -! NFE IWORK(12) The number of f evaluations for the problem so far. -! -! NJE IWORK(13) The number of Jacobian evaluations so far. -! -! NQU IWORK(14) The method order last used (successfully). -! -! NQCUR IWORK(15) The order to be attempted on the next step. -! -! IMXER IWORK(16) The index of the component of largest magnitude in -! the weighted local error vector ( e(i)/EWT(i) ), -! on an error return with ISTATE = -4 or -5. -! -! LENRW IWORK(17) The length of RWORK actually required. -! This is defined on normal returns and on an illegal -! input return for insufficient storage. -! -! LENIW IWORK(18) The length of IWORK actually required. -! This is defined on normal returns and on an illegal -! input return for insufficient storage. -! -! NLU IWORK(19) The number of matrix LU decompositions so far. -! -! NNI IWORK(20) The number of nonlinear (Newton) iterations so far. -! -! NCFN IWORK(21) The number of convergence failures of the nonlinear -! solver so far. -! -! NETF IWORK(22) The number of error test failures of the integrator -! so far. -! -! The following two arrays are segments of the RWORK array which -! may also be of interest to the user as optional output. -! For each array, the table below gives its internal name, -! its base address in RWORK, and its description. -! -! NAME BASE ADDRESS DESCRIPTION -! -! YH 21 The Nordsieck history array, of size NYH by -! (NQCUR + 1), where NYH is the initial value -! of NEQ. For j = 0,1,...,NQCUR, column j+1 -! of YH contains HCUR**j/factorial(j) times -! the j-th derivative of the interpolating -! polynomial currently representing the -! solution, evaluated at t = TCUR. -! -! ACOR LENRW-NEQ+1 Array of size NEQ used for the accumulated -! corrections on each step, scaled in the output -! to represent the estimated local error in Y -! on the last step. This is the vector e in -! the description of the error control. It is -! defined only on a successful return from SVODE. -! -!----------------------------------------------------------------------- -! Interrupting and Restarting -! -! If the integration of a given problem by SVODE is to be -! interrrupted and then later continued, such as when restarting -! an interrupted run or alternating between two or more ODE problems, -! the user should save, following the return from the last SVODE call -! prior to the interruption, the contents of the call sequence -! variables and internal COMMON blocks, and later restore these -! values before the next SVODE call for that problem. To save -! and restore the COMMON blocks, use subroutine SVSRCO, as -! described below in part ii. -! -! In addition, if non-default values for either LUN or MFLAG are -! desired, an extra call to XSETUN and/or XSETF should be made just -! before continuing the integration. See Part ii below for details. -! -!----------------------------------------------------------------------- -! Part ii. Other Routines Callable. -! -! The following are optional calls which the user may make to -! gain additional capabilities in conjunction with SVODE. -! (The routines XSETUN and XSETF are designed to conform to the -! SLATEC error handling package.) -! -! FORM OF CALL FUNCTION -! CALL XSETUN(LUN) Set the logical unit number, LUN, for -! output of messages from SVODE, if -! the default is not desired. -! The default value of LUN is 6. -! -! CALL XSETF(MFLAG) Set a flag to control the printing of -! messages by SVODE. -! MFLAG = 0 means do not print. (Danger.. -! This risks losing valuable information.) -! MFLAG = 1 means print (the default). -! -! Either of the above calls may be made at -! any time and will take effect immediately. -! -! CALL SVSRCO(RSAV,ISAV,JOB) Saves and restores the contents of -! the internal COMMON blocks used by -! SVODE. (See Part iii below.) -! RSAV must be a real array of length 49 -! or more, and ISAV must be an integer -! array of length 40 or more. -! JOB=1 means save COMMON into RSAV/ISAV. -! JOB=2 means restore COMMON from RSAV/ISAV. -! SVSRCO is useful if one is -! interrupting a run and restarting -! later, or alternating between two or -! more problems solved with SVODE. -! -! CALL SVINDY(,,,,,) Provide derivatives of y, of various -! (See below.) orders, at a specified point T, if -! desired. It may be called only after -! a successful return from SVODE. -! -! The detailed instructions for using SVINDY are as follows. -! The form of the call is.. -! -! CALL SVINDY (T, K, RWORK(21), NYH, DKY, IFLAG) -! -! The input parameters are.. -! -! T = Value of independent variable where answers are desired -! (normally the same as the T last returned by SVODE). -! For valid results, T must lie between TCUR - HU and TCUR. -! (See optional output for TCUR and HU.) -! K = Integer order of the derivative desired. K must satisfy -! 0 .le. K .le. NQCUR, where NQCUR is the current order -! (see optional output). The capability corresponding -! to K = 0, i.e. computing y(T), is already provided -! by SVODE directly. Since NQCUR .ge. 1, the first -! derivative dy/dt is always available with SVINDY. -! RWORK(21) = The base address of the history array YH. -! NYH = Column length of YH, equal to the initial value of NEQ. -! -! The output parameters are.. -! -! DKY = A real array of length NEQ containing the computed value -! of the K-th derivative of y(t). -! IFLAG = Integer flag, returned as 0 if K and T were legal, -! -1 if K was illegal, and -2 if T was illegal. -! On an error return, a message is also written. -!----------------------------------------------------------------------- -! Part iii. COMMON Blocks. -! If SVODE is to be used in an overlay situation, the user -! must declare, in the primary overlay, the variables in.. -! (1) the call sequence to SVODE, -! (2) the two internal COMMON blocks -! /SVOD01/ of length 81 (48 single precision words -! followed by 33 integer words), -! /SVOD02/ of length 9 (1 single precision word -! followed by 8 integer words), -! -! If SVODE is used on a system in which the contents of internal -! COMMON blocks are not preserved between calls, the user should -! declare the above two COMMON blocks in his main program to insure -! that their contents are preserved. -! -!----------------------------------------------------------------------- -! Part iv. Optionally Replaceable Solver Routines. -! -! Below are descriptions of two routines in the SVODE package which -! relate to the measurement of errors. Either routine can be -! replaced by a user-supplied version, if desired. However, since such -! a replacement may have a major impact on performance, it should be -! done only when absolutely necessary, and only with great caution. -! (Note.. The means by which the package version of a routine is -! superseded by the user's version may be system-dependent.) -! -! (a) SEWSET. -! The following subroutine is called just before each internal -! integration step, and sets the array of error weights, EWT, as -! described under ITOL/RTOL/ATOL above.. -! SUBROUTINE SEWSET (NEQ, ITOL, RTOL, ATOL, YCUR, EWT) -! where NEQ, ITOL, RTOL, and ATOL are as in the SVODE call sequence, -! YCUR contains the current dependent variable vector, and -! EWT is the array of weights set by SEWSET. -! -! If the user supplies this subroutine, it must return in EWT(i) -! (i = 1,...,NEQ) a positive quantity suitable for comparison with -! errors in Y(i). The EWT array returned by SEWSET is passed to the -! SVNORM routine (See below.), and also used by SVODE in the computation -! of the optional output IMXER, the diagonal Jacobian approximation, -! and the increments for difference quotient Jacobians. -! -! In the user-supplied version of SEWSET, it may be desirable to use -! the current values of derivatives of y. Derivatives up to order NQ -! are available from the history array YH, described above under -! Optional Output. In SEWSET, YH is identical to the YCUR array, -! extended to NQ + 1 columns with a column length of NYH and scale -! factors of h**j/factorial(j). On the first call for the problem, -! given by NST = 0, NQ is 1 and H is temporarily set to 1.0. -! NYH is the initial value of NEQ. The quantities NQ, H, and NST -! can be obtained by including in SEWSET the statements.. -! REAL RVOD, H, HU -! COMMON /SVOD01/ RVOD(48), IVOD(33) -! COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! NQ = IVOD(28) -! H = RVOD(21) -! Thus, for example, the current value of dy/dt can be obtained as -! YCUR(NYH+i)/H (i=1,...,NEQ) (and the division by H is -! unnecessary when NST = 0). -! -! (b) SVNORM. -! The following is a real function routine which computes the weighted -! root-mean-square norm of a vector v.. -! D = SVNORM (N, V, W) -! where.. -! N = the length of the vector, -! V = real array of length N containing the vector, -! W = real array of length N containing weights, -! D = sqrt( (1/N) * sum(V(i)*W(i))**2 ). -! SVNORM is called with N = NEQ and with W(i) = 1.0/EWT(i), where -! EWT is as set by subroutine SEWSET. -! -! If the user supplies this function, it should return a non-negative -! value of SVNORM suitable for use in the error control in SVODE. -! None of the arguments should be altered by SVNORM. -! For example, a user-supplied SVNORM routine might.. -! -substitute a max-norm of (V(i)*W(i)) for the rms-norm, or -! -ignore some components of V in the norm, with the effect of -! suppressing the error control on those components of Y. -!----------------------------------------------------------------------- -! Other Routines in the SVODE Package. -! -! In addition to subroutine SVODE, the SVODE package includes the -! following subroutines and function routines.. -! SVHIN computes an approximate step size for the initial step. -! SVINDY computes an interpolated value of the y vector at t = TOUT. -! SVSTEP is the core integrator, which does one step of the -! integration and the associated error control. -! SVSET sets all method coefficients and test constants. -! SVNLSD solves the underlying nonlinear system -- the corrector. -! SVJAC computes and preprocesses the Jacobian matrix J = df/dy -! and the Newton iteration matrix P = I - (h/l1)*J. -! SVSOL manages solution of linear system in chord iteration. -! SVJUST adjusts the history array on a change of order. -! SEWSET sets the error weight vector EWT before each step. -! SVNORM computes the weighted r.m.s. norm of a vector. -! SVSRCO is a user-callable routines to save and restore -! the contents of the internal COMMON blocks. -! SACOPY is a routine to copy one two-dimensional array to another. -! SGEFA and SGESL are routines from LINPACK for solving full -! systems of linear algebraic equations. -! SGBFA and SGBSL are routines from LINPACK for solving banded -! linear systems. -! SAXPY, SSCAL, and CH_SCOPY are basic linear algebra modules (BLAS). -! R1MACH sets the unit roundoff of the machine. -! XERRWV, XSETUN, XSETF, LUNSAV, and MFLGSV handle the printing of all -! error messages and warnings. XERRWV is machine-dependent. -! Note.. SVNORM, R1MACH, LUNSAV, and MFLGSV are function routines. -! All the others are subroutines. -! -! The intrinsic and external routines used by the SVODE package are.. -! ABS, MAX, MIN, REAL, SIGN, SQRT, and WRITE. -! -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for labeled COMMON block SVOD02 -------------------- -! - REAL HU - INTEGER NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Type declarations for local variables -------------------------------- -! - EXTERNAL SVNLSD - LOGICAL IHIT - REAL ATOLI, BIG, EWTI, FOUR, H0, HMAX, HMX, HUN, ONE, & - & PT2, RH, RTOLI, SIZE, TCRIT, TNEXT, TOLSF, TP, TWO, ZERO - INTEGER I, IER, IFLAG, IMXER, JCO, KGO, LENIW, LENJ, LENP, LENRW, & - & LENWM, LF0, MBAND, ML, MORD, MU, MXHNL0, MXSTP0, NITER, NSLAST - CHARACTER*80 MSG -! -! Type declaration for function subroutines called --------------------- -! - REAL R1MACH, SVNORM -! - DIMENSION MORD(2) -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to SVODE. -!----------------------------------------------------------------------- - SAVE MORD, MXHNL0, MXSTP0 - SAVE ZERO, ONE, TWO, FOUR, PT2, HUN -!----------------------------------------------------------------------- -! The following internal COMMON blocks contain variables which are -! communicated between subroutines in the SVODE package, or which are -! to be saved between calls to SVODE. -! In each block, real variables precede integers. -! The block /SVOD01/ appears in subroutines SVODE, SVINDY, SVSTEP, -! SVSET, SVNLSD, SVJAC, SVSOL, SVJUST and SVSRCO. -! The block /SVOD02/ appears in subroutines SVODE, SVINDY, SVSTEP, -! SVNLSD, SVJAC, and SVSRCO. -! -! The variables stored in the internal COMMON blocks are as follows.. -! -! ACNRM = Weighted r.m.s. norm of accumulated correction vectors. -! CCMXJ = Threshhold on DRC for updating the Jacobian. (See DRC.) -! CONP = The saved value of TQ(5). -! CRATE = Estimated corrector convergence rate constant. -! DRC = Relative change in H*RL1 since last SVJAC call. -! EL = Real array of integration coefficients. See SVSET. -! ETA = Saved tentative ratio of new to old H. -! ETAMAX = Saved maximum value of ETA to be allowed. -! H = The step size. -! HMIN = The minimum absolute value of the step size H to be used. -! HMXI = Inverse of the maximum absolute value of H to be used. -! HMXI = 0.0 is allowed and corresponds to an infinite HMAX. -! HNEW = The step size to be attempted on the next step. -! HSCAL = Stepsize in scaling of YH array. -! PRL1 = The saved value of RL1. -! RC = Ratio of current H*RL1 to value on last SVJAC call. -! RL1 = The reciprocal of the coefficient EL(1). -! TAU = Real vector of past NQ step sizes, length 13. -! TQ = A real vector of length 5 in which SVSET stores constants -! used for the convergence test, the error test, and the -! selection of H at a new order. -! TN = The independent variable, updated on each step taken. -! UROUND = The machine unit roundoff. The smallest positive real number -! such that 1.0 + UROUND .ne. 1.0 -! ICF = Integer flag for convergence failure in SVNLSD.. -! 0 means no failures. -! 1 means convergence failure with out of date Jacobian -! (recoverable error). -! 2 means convergence failure with current Jacobian or -! singular matrix (unrecoverable error). -! INIT = Saved integer flag indicating whether initialization of the -! problem has been done (INIT = 1) or not. -! IPUP = Saved flag to signal updating of Newton matrix. -! JCUR = Output flag from SVJAC showing Jacobian status.. -! JCUR = 0 means J is not current. -! JCUR = 1 means J is current. -! JSTART = Integer flag used as input to SVSTEP.. -! 0 means perform the first step. -! 1 means take a new step continuing from the last. -! -1 means take the next step with a new value of MAXORD, -! HMIN, HMXI, N, METH, MITER, and/or matrix parameters. -! On return, SVSTEP sets JSTART = 1. -! JSV = Integer flag for Jacobian saving, = sign(MF). -! KFLAG = A completion code from SVSTEP with the following meanings.. -! 0 the step was succesful. -! -1 the requested error could not be achieved. -! -2 corrector convergence could not be achieved. -! -3, -4 fatal error in VNLS (can not occur here). -! KUTH = Input flag to SVSTEP showing whether H was reduced by the -! driver. KUTH = 1 if H was reduced, = 0 otherwise. -! L = Integer variable, NQ + 1, current order plus one. -! LMAX = MAXORD + 1 (used for dimensioning). -! LOCJS = A pointer to the saved Jacobian, whose storage starts at -! WM(LOCJS), if JSV = 1. -! LYH, LEWT, LACOR, LSAVF, LWM, LIWM = Saved integer pointers -! to segments of RWORK and IWORK. -! MAXORD = The maximum order of integration method to be allowed. -! METH/MITER = The method flags. See MF. -! MSBJ = The maximum number of steps between J evaluations, = 50. -! MXHNIL = Saved value of optional input MXHNIL. -! MXSTEP = Saved value of optional input MXSTEP. -! N = The number of first-order ODEs, = NEQ. -! NEWH = Saved integer to flag change of H. -! NEWQ = The method order to be used on the next step. -! NHNIL = Saved counter for occurrences of T + H = T. -! NQ = Integer variable, the current integration method order. -! NQNYH = Saved value of NQ*NYH. -! NQWAIT = A counter controlling the frequency of order changes. -! An order change is about to be considered if NQWAIT = 1. -! NSLJ = The number of steps taken as of the last Jacobian update. -! NSLP = Saved value of NST as of last Newton matrix update. -! NYH = Saved value of the initial value of NEQ. -! HU = The step size in t last used. -! NCFN = Number of nonlinear convergence failures so far. -! NETF = The number of error test failures of the integrator so far. -! NFE = The number of f evaluations for the problem so far. -! NJE = The number of Jacobian evaluations so far. -! NLU = The number of matrix LU decompositions so far. -! NNI = Number of nonlinear iterations so far. -! NQU = The method order last used. -! NST = The number of steps taken for the problem so far. -!----------------------------------------------------------------------- - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH - COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! - DATA MORD(1) /12/, MORD(2) /5/, MXSTP0 /500/, MXHNL0 /10/ - DATA ZERO /0.0E0/, ONE /1.0E0/, TWO /2.0E0/, FOUR /4.0E0/, & - & PT2 /0.2E0/, HUN /100.0E0/ -!----------------------------------------------------------------------- -! Block A. -! This code block is executed on every call. -! It tests ISTATE and ITASK for legality and branches appropriately. -! If ISTATE .gt. 1 but the flag INIT shows that initialization has -! not yet been done, an error return occurs. -! If ISTATE = 1 and TOUT = T, return immediately. -!----------------------------------------------------------------------- - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVODE',0,ZHOOK_HANDLE) - IF (ISTATE .LT. 1 .OR. ISTATE .GT. 3) GO TO 601 - IF (ITASK .LT. 1 .OR. ITASK .GT. 5) GO TO 602 - IF (ISTATE .EQ. 1) GO TO 10 - IF (INIT .NE. 1) GO TO 603 - IF (ISTATE .EQ. 2) GO TO 200 - GO TO 20 - 10 INIT = 0 - IF (TOUT .EQ. T) THEN - IF (LHOOK) CALL DR_HOOK('SVODE',1,ZHOOK_HANDLE) - RETURN - ENDIF -!----------------------------------------------------------------------- -! Block B. -! The next code block is executed for the initial call (ISTATE = 1), -! or for a continuation call with parameter changes (ISTATE = 3). -! It contains checking of all input and various initializations. -! -! First check legality of the non-optional input NEQ, ITOL, IOPT, -! MF, ML, and MU. -!----------------------------------------------------------------------- - 20 IF (NEQ .LE. 0) GO TO 604 - IF (ISTATE .EQ. 1) GO TO 25 - IF (NEQ .GT. N) GO TO 605 - 25 N = NEQ - IF (ITOL .LT. 1 .OR. ITOL .GT. 4) GO TO 606 - IF (IOPT .LT. 0 .OR. IOPT .GT. 1) GO TO 607 - JSV = SIGN(1,MF) - MF = ABS(MF) - METH = MF/10 - MITER = MF - 10*METH - IF (METH .LT. 1 .OR. METH .GT. 2) GO TO 608 - IF (MITER .LT. 0 .OR. MITER .GT. 5) GO TO 608 - IF (MITER .LE. 3) GO TO 30 - ML = IWORK(1) - MU = IWORK(2) - IF (ML .LT. 0 .OR. ML .GE. N) GO TO 609 - IF (MU .LT. 0 .OR. MU .GE. N) GO TO 610 - 30 CONTINUE -! Next process and check the optional input. --------------------------- - IF (IOPT .EQ. 1) GO TO 40 - MAXORD = MORD(METH) - MXSTEP = MXSTP0 - MXHNIL = MXHNL0 - IF (ISTATE .EQ. 1) H0 = ZERO - HMXI = ZERO - HMIN = ZERO - GO TO 60 - 40 MAXORD = IWORK(5) - IF (MAXORD .LT. 0) GO TO 611 - IF (MAXORD .EQ. 0) MAXORD = 100 - MAXORD = MIN(MAXORD,MORD(METH)) - MXSTEP = IWORK(6) - IF (MXSTEP .LT. 0) GO TO 612 - IF (MXSTEP .EQ. 0) MXSTEP = MXSTP0 - MXHNIL = IWORK(7) - IF (MXHNIL .LT. 0) GO TO 613 - IF (MXHNIL .EQ. 0) MXHNIL = MXHNL0 - IF (ISTATE .NE. 1) GO TO 50 - H0 = RWORK(5) - IF ((TOUT - T)*H0 .LT. ZERO) GO TO 614 - 50 HMAX = RWORK(6) - IF (HMAX .LT. ZERO) GO TO 615 - HMXI = ZERO - IF (HMAX .GT. ZERO) HMXI = ONE/HMAX - HMIN = RWORK(7) - IF (HMIN .LT. ZERO) GO TO 616 -!----------------------------------------------------------------------- -! Set work array pointers and check lengths LRW and LIW. -! Pointers to segments of RWORK and IWORK are named by prefixing L to -! the name of the segment. E.g., the segment YH starts at RWORK(LYH). -! Segments of RWORK (in order) are denoted YH, WM, EWT, SAVF, ACOR. -! Within WM, LOCJS is the location of the saved Jacobian (JSV .gt. 0). -!----------------------------------------------------------------------- - 60 LYH = 21 - IF (ISTATE .EQ. 1) NYH = N - LWM = LYH + (MAXORD + 1)*NYH - JCO = MAX(0,JSV) - IF (MITER .EQ. 0) LENWM = 0 - IF (MITER .EQ. 1 .OR. MITER .EQ. 2) THEN - LENWM = 2 + (1 + JCO)*N*N - LOCJS = N*N + 3 - ENDIF - IF (MITER .EQ. 3) LENWM = 2 + N - IF (MITER .EQ. 4 .OR. MITER .EQ. 5) THEN - MBAND = ML + MU + 1 - LENP = (MBAND + ML)*N - LENJ = MBAND*N - LENWM = 2 + LENP + JCO*LENJ - LOCJS = LENP + 3 - ENDIF - LEWT = LWM + LENWM - LSAVF = LEWT + N - LACOR = LSAVF + N - LENRW = LACOR + N - 1 - IWORK(17) = LENRW - LIWM = 1 - LENIW = 30 + N - IF (MITER .EQ. 0 .OR. MITER .EQ. 3) LENIW = 30 - IWORK(18) = LENIW - IF (LENRW .GT. LRW) GO TO 617 - IF (LENIW .GT. LIW) GO TO 618 -! Check RTOL and ATOL for legality. ------------------------------------ - RTOLI = RTOL(1) - ATOLI = ATOL(1) - DO 70 I = 1,N - IF (ITOL .GE. 3) RTOLI = RTOL(I) - IF (ITOL .EQ. 2 .OR. ITOL .EQ. 4) ATOLI = ATOL(I) - IF (RTOLI .LT. ZERO) GO TO 619 - IF (ATOLI .LT. ZERO) GO TO 620 - 70 CONTINUE - IF (ISTATE .EQ. 1) GO TO 100 -! If ISTATE = 3, set flag to signal parameter changes to SVSTEP. ------- - JSTART = -1 - IF (NQ .LE. MAXORD) GO TO 90 -! MAXORD was reduced below NQ. Copy YH(*,MAXORD+2) into SAVF. --------- - CALL CH_SCOPY (N, RWORK(LWM), 1, RWORK(LSAVF), 1) -! Reload WM(1) = RWORK(LWM), since LWM may have changed. --------------- - 90 IF (MITER .GT. 0) RWORK(LWM) = SQRT(UROUND) -!----------------------------------------------------------------------- -! Block C. -! The next block is for the initial call only (ISTATE = 1). -! It contains all remaining initializations, the initial call to F, -! and the calculation of the initial step size. -! The error weights in EWT are inverted after being loaded. -!----------------------------------------------------------------------- - 100 UROUND = R1MACH(4) - TN = T - IF (ITASK .NE. 4 .AND. ITASK .NE. 5) GO TO 110 - TCRIT = RWORK(1) - IF ((TCRIT - TOUT)*(TOUT - T) .LT. ZERO) GO TO 625 - IF (H0 .NE. ZERO .AND. (T + H0 - TCRIT)*H0 .GT. ZERO) & - & H0 = TCRIT - T - 110 JSTART = 0 - IF (MITER .GT. 0) RWORK(LWM) = SQRT(UROUND) - CCMXJ = PT2 - MSBJ = 50 - NHNIL = 0 - NST = 0 - NJE = 0 - NNI = 0 - NCFN = 0 - NETF = 0 - NLU = 0 - NSLJ = 0 - NSLAST = 0 - HU = ZERO - NQU = 0 -! Initial call to F. (LF0 points to YH(*,2).) ------------------------- - LF0 = LYH + NYH -! -!*UPG*MNH -! - CALL F (N, T, Y, RWORK(LF0), RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - NFE = 1 -! Load the initial value vector in YH. --------------------------------- - CALL CH_SCOPY (N, Y, 1, RWORK(LYH), 1) -! Load and invert the EWT array. (H is temporarily set to 1.0.) ------- - NQ = 1 - H = ONE - CALL SEWSET (N, ITOL, RTOL, ATOL, RWORK(LYH), RWORK(LEWT)) - DO 120 I = 1,N - IF (RWORK(I+LEWT-1) .LE. ZERO) GO TO 621 - 120 RWORK(I+LEWT-1) = ONE/RWORK(I+LEWT-1) - IF (H0 .NE. ZERO) GO TO 180 -! Call SVHIN to set initial step size H0 to be attempted. -------------- - CALL SVHIN (N, T, RWORK(LYH), RWORK(LF0), F, RPAR, IPAR, TOUT, & - & UROUND, RWORK(LEWT), ITOL, ATOL, Y, RWORK(LACOR), H0, & - & NITER, IER, KMI, KINDEX) - NFE = NFE + NITER - IF (IER .NE. 0) GO TO 622 -! Adjust H0 if necessary to meet HMAX bound. --------------------------- - 180 RH = ABS(H0)*HMXI - IF (RH .GT. ONE) H0 = H0/RH -! Load H with H0 and scale YH(*,2) by H0. ------------------------------ - H = H0 - CALL SSCAL (N, H0, RWORK(LF0), 1) - GO TO 270 -!----------------------------------------------------------------------- -! Block D. -! The next code block is for continuation calls only (ISTATE = 2 or 3) -! and is to check stop conditions before taking a step. -!----------------------------------------------------------------------- - 200 NSLAST = NST - KUTH = 0 - GO TO (210, 250, 220, 230, 240), ITASK - 210 IF ((TN - TOUT)*H .LT. ZERO) GO TO 250 - CALL SVINDY (TOUT, 0, RWORK(LYH), NYH, Y, IFLAG) - IF (IFLAG .NE. 0) GO TO 627 - T = TOUT - GO TO 420 - 220 TP = TN - HU*(ONE + HUN*UROUND) - IF ((TP - TOUT)*H .GT. ZERO) GO TO 623 - IF ((TN - TOUT)*H .LT. ZERO) GO TO 250 - GO TO 400 - 230 TCRIT = RWORK(1) - IF ((TN - TCRIT)*H .GT. ZERO) GO TO 624 - IF ((TCRIT - TOUT)*H .LT. ZERO) GO TO 625 - IF ((TN - TOUT)*H .LT. ZERO) GO TO 245 - CALL SVINDY (TOUT, 0, RWORK(LYH), NYH, Y, IFLAG) - IF (IFLAG .NE. 0) GO TO 627 - T = TOUT - GO TO 420 - 240 TCRIT = RWORK(1) - IF ((TN - TCRIT)*H .GT. ZERO) GO TO 624 - 245 HMX = ABS(TN) + ABS(H) - IHIT = ABS(TN - TCRIT) .LE. HUN*UROUND*HMX - IF (IHIT) GO TO 400 - TNEXT = TN + HNEW*(ONE + FOUR*UROUND) - IF ((TNEXT - TCRIT)*H .LE. ZERO) GO TO 250 - H = (TCRIT - TN)*(ONE - FOUR*UROUND) - KUTH = 1 -!----------------------------------------------------------------------- -! Block E. -! The next block is normally executed for all calls and contains -! the call to the one-step core integrator SVSTEP. -! -! This is a looping point for the integration steps. -! -! First check for too many steps being taken, update EWT (if not at -! start of problem), check for too much accuracy being requested, and -! check for H below the roundoff level in T. -!----------------------------------------------------------------------- - 250 CONTINUE - IF ((NST-NSLAST) .GE. MXSTEP) GO TO 500 - CALL SEWSET (N, ITOL, RTOL, ATOL, RWORK(LYH), RWORK(LEWT)) - DO 260 I = 1,N - IF (RWORK(I+LEWT-1) .LE. ZERO) GO TO 510 - 260 RWORK(I+LEWT-1) = ONE/RWORK(I+LEWT-1) - 270 TOLSF = UROUND*SVNORM (N, RWORK(LYH), RWORK(LEWT)) - IF (TOLSF .LE. ONE) GO TO 280 - TOLSF = TOLSF*TWO - IF (NST .EQ. 0) GO TO 626 - GO TO 520 - 280 IF ((TN + H) .NE. TN) GO TO 290 -!KS: strange things happen on HP f90 (this error message is -!KS: often printed but results are the same than on Linux) -!KS: let's jump over these prints - GOTO 290 - NHNIL = NHNIL + 1 - IF (NHNIL .GT. MXHNIL) GO TO 290 - MSG = 'SVODE-- Warning..internal T (=R1) and H (=R2) are' - CALL XERRWV (MSG, 50, 101, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG=' such that in the machine, T + H = T on the next step ' - CALL XERRWV (MSG, 60, 101, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' (H = step size). solver will continue anyway' - CALL XERRWV (MSG, 50, 101, 1, 0, 0, 0, 2, TN, H) - IF (NHNIL .LT. MXHNIL) GO TO 290 - MSG = 'SVODE-- Above warning has been issued I1 times. ' - CALL XERRWV (MSG, 50, 102, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' it will not be issued again for this problem' - CALL XERRWV (MSG, 50, 102, 1, 1, MXHNIL, 0, 0, ZERO, ZERO) - 290 CONTINUE -!----------------------------------------------------------------------- -! CALL SVSTEP (Y, YH, NYH, YH, EWT, SAVF, VSAV, ACOR, -! WM, IWM, F, JAC, F, SVNLSD, RPAR, IPAR) -!----------------------------------------------------------------------- - CALL SVSTEP (Y, RWORK(LYH), NYH, RWORK(LYH), RWORK(LEWT), & - & RWORK(LSAVF), Y, RWORK(LACOR), RWORK(LWM), IWORK(LIWM), & - & F, JAC, F, SVNLSD, RPAR, IPAR, KMI, KINDEX) - KGO = 1 - KFLAG -! Branch on KFLAG. Note..In this version, KFLAG can not be set to -3. -! KFLAG .eq. 0, -1, -2 - GO TO (300, 530, 540), KGO -!----------------------------------------------------------------------- -! Block F. -! The following block handles the case of a successful return from the -! core integrator (KFLAG = 0). Test for stop conditions. -!----------------------------------------------------------------------- - 300 INIT = 1 - KUTH = 0 - GO TO (310, 400, 330, 340, 350), ITASK -! ITASK = 1. If TOUT has been reached, interpolate. ------------------- - 310 IF ((TN - TOUT)*H .LT. ZERO) GO TO 250 - CALL SVINDY (TOUT, 0, RWORK(LYH), NYH, Y, IFLAG) - T = TOUT - GO TO 420 -! ITASK = 3. Jump to exit if TOUT was reached. ------------------------ - 330 IF ((TN - TOUT)*H .GE. ZERO) GO TO 400 - GO TO 250 -! ITASK = 4. See if TOUT or TCRIT was reached. Adjust H if necessary. - 340 IF ((TN - TOUT)*H .LT. ZERO) GO TO 345 - CALL SVINDY (TOUT, 0, RWORK(LYH), NYH, Y, IFLAG) - T = TOUT - GO TO 420 - 345 HMX = ABS(TN) + ABS(H) - IHIT = ABS(TN - TCRIT) .LE. HUN*UROUND*HMX - IF (IHIT) GO TO 400 - TNEXT = TN + HNEW*(ONE + FOUR*UROUND) - IF ((TNEXT - TCRIT)*H .LE. ZERO) GO TO 250 - H = (TCRIT - TN)*(ONE - FOUR*UROUND) - KUTH = 1 - GO TO 250 -! ITASK = 5. See if TCRIT was reached and jump to exit. --------------- - 350 HMX = ABS(TN) + ABS(H) - IHIT = ABS(TN - TCRIT) .LE. HUN*UROUND*HMX -!----------------------------------------------------------------------- -! Block G. -! The following block handles all successful returns from SVODE. -! If ITASK .ne. 1, Y is loaded from YH and T is set accordingly. -! ISTATE is set to 2, and the optional output is loaded into the work -! arrays before returning. -!----------------------------------------------------------------------- - 400 CONTINUE - CALL CH_SCOPY (N, RWORK(LYH), 1, Y, 1) - T = TN - IF (ITASK .NE. 4 .AND. ITASK .NE. 5) GO TO 420 - IF (IHIT) T = TCRIT - 420 ISTATE = 2 - RWORK(11) = HU - RWORK(12) = HNEW - RWORK(13) = TN - IWORK(11) = NST - IWORK(12) = NFE - IWORK(13) = NJE - IWORK(14) = NQU - IWORK(15) = NEWQ - IWORK(19) = NLU - IWORK(20) = NNI - IWORK(21) = NCFN - IWORK(22) = NETF - IF (LHOOK) CALL DR_HOOK('SVODE',1,ZHOOK_HANDLE) - RETURN -!----------------------------------------------------------------------- -! Block H. -! The following block handles all unsuccessful returns other than -! those for illegal input. First the error message routine is called. -! if there was an error test or convergence test failure, IMXER is set. -! Then Y is loaded from YH, T is set to TN, and the illegal input -! The optional output is loaded into the work arrays before returning. -!----------------------------------------------------------------------- -! The maximum number of steps was taken before reaching TOUT. ---------- - 500 MSG = 'SVODE-- At current T (=R1), MXSTEP (=I1) steps ' - CALL XERRWV (MSG, 50, 201, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' taken on this call before reaching TOUT ' - CALL XERRWV (MSG, 50, 201, 1, 1, MXSTEP, 0, 1, TN, ZERO) - ISTATE = -1 - GO TO 580 -! EWT(i) .le. 0.0 for some i (not at start of problem). ---------------- - 510 EWTI = RWORK(LEWT+I-1) - MSG = 'SVODE-- At T (=R1), EWT(I1) has become R2 .le. 0.' - CALL XERRWV (MSG, 50, 202, 1, 1, I, 0, 2, TN, EWTI) - ISTATE = -6 - GO TO 580 -! Too much accuracy requested for machine precision. ------------------- - 520 MSG = 'SVODE-- At T (=R1), too much accuracy requested ' - CALL XERRWV (MSG, 50, 203, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' for precision of machine.. see TOLSF (=R2) ' - CALL XERRWV (MSG, 50, 203, 1, 0, 0, 0, 2, TN, TOLSF) - RWORK(14) = TOLSF - ISTATE = -2 - GO TO 580 -! KFLAG = -1. Error test failed repeatedly or with ABS(H) = HMIN. ----- - 530 MSG = 'SVODE-- At T(=R1) and step size H(=R2), the error' - CALL XERRWV (MSG, 50, 204, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' test failed repeatedly or with abs(H) = HMIN' - CALL XERRWV (MSG, 50, 204, 1, 0, 0, 0, 2, TN, H) - ISTATE = -4 - GO TO 560 -! KFLAG = -2. Convergence failed repeatedly or with abs(H) = HMIN. ---- - 540 MSG = 'SVODE-- At T (=R1) and step size H (=R2), the ' - CALL XERRWV (MSG, 50, 205, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' corrector convergence failed repeatedly ' - CALL XERRWV (MSG, 50, 205, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG = ' or with abs(H) = HMIN ' - CALL XERRWV (MSG, 30, 205, 1, 0, 0, 0, 2, TN, H) - ISTATE = -5 -! Compute IMXER if relevant. ------------------------------------------- - 560 BIG = ZERO - IMXER = 1 - DO 570 I = 1,N - SIZE = ABS(RWORK(I+LACOR-1)*RWORK(I+LEWT-1)) - IF (BIG .GE. SIZE) GO TO 570 - BIG = SIZE - IMXER = I - 570 CONTINUE - IWORK(16) = IMXER -! Set Y vector, T, and optional output. -------------------------------- - 580 CONTINUE - CALL CH_SCOPY (N, RWORK(LYH), 1, Y, 1) - T = TN - RWORK(11) = HU - RWORK(12) = H - RWORK(13) = TN - IWORK(11) = NST - IWORK(12) = NFE - IWORK(13) = NJE - IWORK(14) = NQU - IWORK(15) = NQ - IWORK(19) = NLU - IWORK(20) = NNI - IWORK(21) = NCFN - IWORK(22) = NETF - IF (LHOOK) CALL DR_HOOK('SVODE',1,ZHOOK_HANDLE) - RETURN -!----------------------------------------------------------------------- -! Block I. -! The following block handles all error returns due to illegal input -! (ISTATE = -3), as detected before calling the core integrator. -! First the error message routine is called. If the illegal input -! is a negative ISTATE, the run is aborted (apparent infinite loop). -!----------------------------------------------------------------------- - 601 MSG = 'SVODE-- ISTATE (=I1) illegal ' - CALL XERRWV (MSG, 30, 1, 1, 1, ISTATE, 0, 0, ZERO, ZERO) - IF (ISTATE .LT. 0) GO TO 800 - GO TO 700 - 602 MSG = 'SVODE-- ITASK (=I1) illegal ' - CALL XERRWV (MSG, 30, 2, 1, 1, ITASK, 0, 0, ZERO, ZERO) - GO TO 700 - 603 MSG='SVODE-- ISTATE (=I1) .gt. 1 but SVODE not initialized ' - CALL XERRWV (MSG, 60, 3, 1, 1, ISTATE, 0, 0, ZERO, ZERO) - GO TO 700 - 604 MSG = 'SVODE-- NEQ (=I1) .lt. 1 ' - CALL XERRWV (MSG, 30, 4, 1, 1, NEQ, 0, 0, ZERO, ZERO) - GO TO 700 - 605 MSG = 'SVODE-- ISTATE = 3 and NEQ increased (I1 to I2) ' - CALL XERRWV (MSG, 50, 5, 1, 2, N, NEQ, 0, ZERO, ZERO) - GO TO 700 - 606 MSG = 'SVODE-- ITOL (=I1) illegal ' - CALL XERRWV (MSG, 30, 6, 1, 1, ITOL, 0, 0, ZERO, ZERO) - GO TO 700 - 607 MSG = 'SVODE-- IOPT (=I1) illegal ' - CALL XERRWV (MSG, 30, 7, 1, 1, IOPT, 0, 0, ZERO, ZERO) - GO TO 700 - 608 MSG = 'SVODE-- MF (=I1) illegal ' - CALL XERRWV (MSG, 30, 8, 1, 1, MF, 0, 0, ZERO, ZERO) - GO TO 700 - 609 MSG = 'SVODE-- ML (=I1) illegal.. .lt.0 or .ge.NEQ (=I2)' - CALL XERRWV (MSG, 50, 9, 1, 2, ML, NEQ, 0, ZERO, ZERO) - GO TO 700 - 610 MSG = 'SVODE-- MU (=I1) illegal.. .lt.0 or .ge.NEQ (=I2)' - CALL XERRWV (MSG, 50, 10, 1, 2, MU, NEQ, 0, ZERO, ZERO) - GO TO 700 - 611 MSG = 'SVODE-- MAXORD (=I1) .lt. 0 ' - CALL XERRWV (MSG, 30, 11, 1, 1, MAXORD, 0, 0, ZERO, ZERO) - GO TO 700 - 612 MSG = 'SVODE-- MXSTEP (=I1) .lt. 0 ' - CALL XERRWV (MSG, 30, 12, 1, 1, MXSTEP, 0, 0, ZERO, ZERO) - GO TO 700 - 613 MSG = 'SVODE-- MXHNIL (=I1) .lt. 0 ' - CALL XERRWV (MSG, 30, 13, 1, 1, MXHNIL, 0, 0, ZERO, ZERO) - GO TO 700 - 614 MSG = 'SVODE-- TOUT (=R1) behind T (=R2) ' - CALL XERRWV (MSG, 40, 14, 1, 0, 0, 0, 2, TOUT, T) - MSG = ' integration direction is given by H0 (=R1) ' - CALL XERRWV (MSG, 50, 14, 1, 0, 0, 0, 1, H0, ZERO) - GO TO 700 - 615 MSG = 'SVODE-- HMAX (=R1) .lt. 0.0 ' - CALL XERRWV (MSG, 30, 15, 1, 0, 0, 0, 1, HMAX, ZERO) - GO TO 700 - 616 MSG = 'SVODE-- HMIN (=R1) .lt. 0.0 ' - CALL XERRWV (MSG, 30, 16, 1, 0, 0, 0, 1, HMIN, ZERO) - GO TO 700 - 617 CONTINUE - MSG='SVODE-- RWORK length needed, LENRW (=I1), exceeds LRW (=I2)' - CALL XERRWV (MSG, 60, 17, 1, 2, LENRW, LRW, 0, ZERO, ZERO) - GO TO 700 - 618 CONTINUE - MSG='SVODE-- IWORK length needed, LENIW (=I1), exceeds LIW (=I2)' - CALL XERRWV (MSG, 60, 18, 1, 2, LENIW, LIW, 0, ZERO, ZERO) - GO TO 700 - 619 MSG = 'SVODE-- RTOL(I1) is R1 .lt. 0.0 ' - CALL XERRWV (MSG, 40, 19, 1, 1, I, 0, 1, RTOLI, ZERO) - GO TO 700 - 620 MSG = 'SVODE-- ATOL(I1) is R1 .lt. 0.0 ' - CALL XERRWV (MSG, 40, 20, 1, 1, I, 0, 1, ATOLI, ZERO) - GO TO 700 - 621 EWTI = RWORK(LEWT+I-1) - MSG = 'SVODE-- EWT(I1) is R1 .le. 0.0 ' - CALL XERRWV (MSG, 40, 21, 1, 1, I, 0, 1, EWTI, ZERO) - GO TO 700 - 622 CONTINUE - MSG='SVODE-- TOUT (=R1) too close to T(=R2) to start integration' - CALL XERRWV (MSG, 60, 22, 1, 0, 0, 0, 2, TOUT, T) - GO TO 700 - 623 CONTINUE - MSG='SVODE-- ITASK = I1 and TOUT (=R1) behind TCUR - HU (= R2) ' - CALL XERRWV (MSG, 60, 23, 1, 1, ITASK, 0, 2, TOUT, TP) - GO TO 700 - 624 CONTINUE - MSG='SVODE-- ITASK = 4 or 5 and TCRIT (=R1) behind TCUR (=R2) ' - CALL XERRWV (MSG, 60, 24, 1, 0, 0, 0, 2, TCRIT, TN) - GO TO 700 - 625 CONTINUE - MSG='SVODE-- ITASK = 4 or 5 and TCRIT (=R1) behind TOUT (=R2) ' - CALL XERRWV (MSG, 60, 25, 1, 0, 0, 0, 2, TCRIT, TOUT) - GO TO 700 - 626 MSG = 'SVODE-- At start of problem, too much accuracy ' - CALL XERRWV (MSG, 50, 26, 1, 0, 0, 0, 0, ZERO, ZERO) - MSG=' requested for precision of machine.. see TOLSF (=R1) ' - CALL XERRWV (MSG, 60, 26, 1, 0, 0, 0, 1, TOLSF, ZERO) - RWORK(14) = TOLSF - GO TO 700 - 627 MSG='SVODE-- Trouble from SVINDY. ITASK = I1, TOUT = R1. ' - CALL XERRWV (MSG, 60, 27, 1, 1, ITASK, 0, 1, TOUT, ZERO) -! - 700 CONTINUE - ISTATE = -3 - IF (LHOOK) CALL DR_HOOK('SVODE',1,ZHOOK_HANDLE) - RETURN -! - 800 MSG = 'SVODE-- Run aborted.. apparent infinite loop ' - CALL XERRWV (MSG, 50, 303, 2, 0, 0, 0, 0, ZERO, ZERO) - IF (LHOOK) CALL DR_HOOK('SVODE',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVODE diff --git a/src/arome/chem/internals/svset.F b/src/arome/chem/internals/svset.F deleted file mode 100644 index 82f7c72ca178c963acf7b3022f5f28e04f988c24..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svset.F +++ /dev/null @@ -1,204 +0,0 @@ -! ######spl - SUBROUTINE SVSET - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################ -!----------------------------------------------------------------------- -! Call sequence communication.. None -! COMMON block variables accessed.. -! /SVOD01/ -- EL(13), H, TAU(13), TQ(5), L(= NQ + 1), -! METH, NQ, NQWAIT -! -! Subroutines called by SVSET.. None -! Function routines called by SVSET.. None -!----------------------------------------------------------------------- -! SVSET is called by SVSTEP and sets coefficients for use there. -! -! For each order NQ, the coefficients in EL are calculated by use of -! the generating polynomial lambda(x), with coefficients EL(i). -! lambda(x) = EL(1) + EL(2)*x + ... + EL(NQ+1)*(x**NQ). -! For the backward differentiation formulas, -! NQ-1 -! lambda(x) = (1 + x/xi*(NQ)) * product (1 + x/xi(i) ) . -! i = 1 -! For the Adams formulas, -! NQ-1 -! (d/dx) lambda(x) = c * product (1 + x/xi(i) ) , -! i = 1 -! lambda(-1) = 0, lambda(0) = 1, -! where c is a normalization constant. -! In both cases, xi(i) is defined by -! H*xi(i) = t sub n - t sub (n-i) -! = H + TAU(1) + TAU(2) + ... TAU(i-1). -! -! -! In addition to variables described previously, communication -! with SVSET uses the following.. -! TAU = A vector of length 13 containing the past NQ values -! of H. -! EL = A vector of length 13 in which vset stores the -! coefficients for the corrector formula. -! TQ = A vector of length 5 in which vset stores constants -! used for the convergence test, the error test, and the -! selection of H at a new order. -! METH = The basic method indicator. -! NQ = The current order. -! L = NQ + 1, the length of the vector stored in EL, and -! the number of columns of the YH array being used. -! NQWAIT = A counter controlling the frequency of order changes. -! An order change is about to be considered if NQWAIT = 1. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for local variables -------------------------------- -! - REAL AHATN0, ALPH0, CNQM1, CORTES, CSUM, ELP, EM, & - & EM0, FLOTI, FLOTL, FLOTNQ, HSUM, ONE, RXI, RXIS, S, SIX, & - & T1, T2, T3, T4, T5, T6, TWO, XI, ZERO - INTEGER I, IBACK, J, JP1, NQM1, NQM2 -! - DIMENSION EM(13) -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE CORTES, ONE, SIX, TWO, ZERO -! - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! - DATA CORTES /0.1E0/ - DATA ONE /1.0E0/, SIX /6.0E0/, TWO /2.0E0/, ZERO /0.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVSET',0,ZHOOK_HANDLE) - FLOTL = REAL(L) - NQM1 = NQ - 1 - NQM2 = NQ - 2 - GO TO (100, 200), METH -! -! Set coefficients for Adams methods. ---------------------------------- - 100 IF (NQ .NE. 1) GO TO 110 - EL(1) = ONE - EL(2) = ONE - TQ(1) = ONE - TQ(2) = TWO - TQ(3) = SIX*TQ(2) - TQ(5) = ONE - GO TO 300 - 110 HSUM = H - EM(1) = ONE - FLOTNQ = FLOTL - ONE - DO 115 I = 2, L - 115 EM(I) = ZERO - DO 150 J = 1, NQM1 - IF ((J .NE. NQM1) .OR. (NQWAIT .NE. 1)) GO TO 130 - S = ONE - CSUM = ZERO - DO 120 I = 1, NQM1 - CSUM = CSUM + S*EM(I)/REAL(I+1) - 120 S = -S - TQ(1) = EM(NQM1)/(FLOTNQ*CSUM) - 130 RXI = H/HSUM - DO 140 IBACK = 1, J - I = (J + 2) - IBACK - 140 EM(I) = EM(I) + EM(I-1)*RXI - HSUM = HSUM + TAU(J) - 150 CONTINUE -! Compute integral from -1 to 0 of polynomial and of x times it. ------- - S = ONE - EM0 = ZERO - CSUM = ZERO - DO 160 I = 1, NQ - FLOTI = REAL(I) - EM0 = EM0 + S*EM(I)/FLOTI - CSUM = CSUM + S*EM(I)/(FLOTI+ONE) - 160 S = -S -! In EL, form coefficients of normalized integrated polynomial. -------- - S = ONE/EM0 - EL(1) = ONE - DO 170 I = 1, NQ - 170 EL(I+1) = S*EM(I)/REAL(I) - XI = HSUM/H - TQ(2) = XI*EM0/CSUM - TQ(5) = XI/EL(L) - IF (NQWAIT .NE. 1) GO TO 300 -! For higher order control constant, multiply polynomial by 1+x/xi(q). - - RXI = ONE/XI - DO 180 IBACK = 1, NQ - I = (L + 1) - IBACK - 180 EM(I) = EM(I) + EM(I-1)*RXI -! Compute integral of polynomial. -------------------------------------- - S = ONE - CSUM = ZERO - DO 190 I = 1, L - CSUM = CSUM + S*EM(I)/REAL(I+1) - 190 S = -S - TQ(3) = FLOTL*EM0/CSUM - GO TO 300 -! -! Set coefficients for BDF methods. ------------------------------------ - 200 DO 210 I = 3, L - 210 EL(I) = ZERO - EL(1) = ONE - EL(2) = ONE - ALPH0 = -ONE - AHATN0 = -ONE - HSUM = H - RXI = ONE - RXIS = ONE - IF (NQ .EQ. 1) GO TO 240 - DO 230 J = 1, NQM2 -! In EL, construct coefficients of (1+x/xi(1))*...*(1+x/xi(j+1)). ------ - HSUM = HSUM + TAU(J) - RXI = H/HSUM - JP1 = J + 1 - ALPH0 = ALPH0 - ONE/REAL(JP1) - DO 220 IBACK = 1, JP1 - I = (J + 3) - IBACK - 220 EL(I) = EL(I) + EL(I-1)*RXI - 230 CONTINUE - ALPH0 = ALPH0 - ONE/REAL(NQ) - RXIS = -EL(2) - ALPH0 - HSUM = HSUM + TAU(NQM1) - RXI = H/HSUM - AHATN0 = -EL(2) - RXI - DO 235 IBACK = 1, NQ - I = (NQ + 2) - IBACK - 235 EL(I) = EL(I) + EL(I-1)*RXIS - 240 T1 = ONE - AHATN0 + ALPH0 - T2 = ONE + REAL(NQ)*T1 - TQ(2) = ABS(ALPH0*T2/T1) - TQ(5) = ABS(T2/(EL(L)*RXI/RXIS)) - IF (NQWAIT .NE. 1) GO TO 300 - CNQM1 = RXIS/EL(L) - T3 = ALPH0 + ONE/REAL(NQ) - T4 = AHATN0 + RXI - ELP = T3/(ONE - T4 + T3) - TQ(1) = ABS(ELP/CNQM1) - HSUM = HSUM + TAU(NQ) - RXI = H/HSUM - T5 = ALPH0 - ONE/REAL(NQ+1) - T6 = AHATN0 - RXI - ELP = T2/(ONE - T6 + T5) - TQ(3) = ABS(ELP*RXI*(FLOTL + ONE)*T5) - 300 TQ(4) = CORTES*TQ(2) - IF (LHOOK) CALL DR_HOOK('SVSET',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE SVSET diff --git a/src/arome/chem/internals/svsol.F b/src/arome/chem/internals/svsol.F deleted file mode 100644 index ef1882a68a95de1ca00333205608df2f93febe87..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svsol.F +++ /dev/null @@ -1,104 +0,0 @@ -! ######spl - SUBROUTINE SVSOL (WM, IWM, X, IERSL) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! #################################### - REAL WM, X - INTEGER IWM, IERSL - DIMENSION WM(*), IWM(*), X(*) -!----------------------------------------------------------------------- -! Call sequence input -- WM, IWM, X -! Call sequence output -- X, IERSL -! COMMON block variables accessed.. -! /SVOD01/ -- H, RL1, MITER, N -! -! Subroutines called by SVSOL.. SGESL, SGBSL -! Function routines called by SVSOL.. None -!----------------------------------------------------------------------- -! This routine manages the solution of the linear system arising from -! a chord iteration. It is called if MITER .ne. 0. -! If MITER is 1 or 2, it calls SGESL to accomplish this. -! If MITER = 3 it updates the coefficient H*RL1 in the diagonal -! matrix, and then computes the solution. -! If MITER is 4 or 5, it calls SGBSL. -! Communication with SVSOL uses the following variables.. -! WM = Real work space containing the inverse diagonal matrix if -! MITER = 3 and the LU decomposition of the matrix otherwise. -! Storage of matrix elements starts at WM(3). -! WM also contains the following matrix-related data.. -! WM(1) = SQRT(UROUND) (not used here), -! WM(2) = HRL1, the previous value of H*RL1, used if MITER = 3. -! IWM = Integer work space containing pivot information, starting at -! IWM(31), if MITER is 1, 2, 4, or 5. IWM also contains band -! parameters ML = IWM(1) and MU = IWM(2) if MITER is 4 or 5. -! X = The right-hand side vector on input, and the solution vector -! on output, of length N. -! IERSL = Output flag. IERSL = 0 if no trouble occurred. -! IERSL = 1 if a singular matrix arose with MITER = 3. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for local variables -------------------------------- -! - INTEGER I, MEBAND, ML, MU - REAL DI, HRL1, ONE, PHRL1, R, ZERO -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE ONE, ZERO -! - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! - DATA ONE /1.0E0/, ZERO /0.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVSOL',0,ZHOOK_HANDLE) - IERSL = 0 - GO TO (100, 100, 300, 400, 400), MITER - 100 CALL SGESL (WM(3), N, N, IWM(31), X, 0) - IF (LHOOK) CALL DR_HOOK('SVSOL',1,ZHOOK_HANDLE) - RETURN -! - 300 PHRL1 = WM(2) - HRL1 = H*RL1 - WM(2) = HRL1 - IF (HRL1 .EQ. PHRL1) GO TO 330 - R = HRL1/PHRL1 - DO 320 I = 1,N - DI = ONE - R*(ONE - ONE/WM(I+2)) - IF (ABS(DI) .EQ. ZERO) GO TO 390 - 320 WM(I+2) = ONE/DI -! - 330 DO 340 I = 1,N - 340 X(I) = WM(I+2)*X(I) - IF (LHOOK) CALL DR_HOOK('SVSOL',1,ZHOOK_HANDLE) - RETURN - 390 IERSL = 1 - IF (LHOOK) CALL DR_HOOK('SVSOL',1,ZHOOK_HANDLE) - RETURN -! - 400 ML = IWM(1) - MU = IWM(2) - MEBAND = 2*ML + MU + 1 - CALL SGBSL (WM(3), MEBAND, N, ML, MU, IWM(31), X, 0) - IF (LHOOK) CALL DR_HOOK('SVSOL',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVSOL diff --git a/src/arome/chem/internals/svsrco.F b/src/arome/chem/internals/svsrco.F deleted file mode 100644 index 3ecbda4995f8f8526f7d277b4714543cf6bd6f17..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svsrco.F +++ /dev/null @@ -1,68 +0,0 @@ -! ######spl - SUBROUTINE SVSRCO (RSAV, ISAV, JOB) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################### - REAL RSAV - INTEGER ISAV, JOB - DIMENSION RSAV(*), ISAV(*) -!----------------------------------------------------------------------- -! Call sequence input -- RSAV, ISAV, JOB -! Call sequence output -- RSAV, ISAV -! COMMON block variables accessed -- All of /SVOD01/ and /SVOD02/ -! -! Subroutines/functions called by SVSRCO.. None -!----------------------------------------------------------------------- -! This routine saves or restores (depending on JOB) the contents of the -! COMMON blocks SVOD01 and SVOD02, which are used internally by SVODE. -! -! RSAV = real array of length 49 or more. -! ISAV = integer array of length 41 or more. -! JOB = flag indicating to save or restore the COMMON blocks.. -! JOB = 1 if COMMON is to be saved (written to RSAV/ISAV). -! JOB = 2 if COMMON is to be restored (read from RSAV/ISAV). -! A call with JOB = 2 presumes a prior call with JOB = 1. -!----------------------------------------------------------------------- - REAL RVOD1, RVOD2 - INTEGER IVOD1, IVOD2 - INTEGER I, LENIV1, LENIV2, LENRV1, LENRV2 -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE LENRV1, LENIV1, LENRV2, LENIV2 -! - COMMON /SVOD01/ RVOD1(48), IVOD1(33) - COMMON /SVOD02/ RVOD2(1), IVOD2(8) - DATA LENRV1/48/, LENIV1/33/, LENRV2/1/, LENIV2/8/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVSRCO',0,ZHOOK_HANDLE) - IF (JOB .EQ. 2) GO TO 100 - DO 10 I = 1,LENRV1 - 10 RSAV(I) = RVOD1(I) - DO 15 I = 1,LENRV2 - 15 RSAV(LENRV1+I) = RVOD2(I) -! - DO 20 I = 1,LENIV1 - 20 ISAV(I) = IVOD1(I) - DO 25 I = 1,LENIV2 - 25 ISAV(LENIV1+I) = IVOD2(I) -! - IF (LHOOK) CALL DR_HOOK('SVSRCO',1,ZHOOK_HANDLE) - RETURN -! - 100 CONTINUE - DO 110 I = 1,LENRV1 - 110 RVOD1(I) = RSAV(I) - DO 115 I = 1,LENRV2 - 115 RVOD2(I) = RSAV(LENRV1+I) -! - DO 120 I = 1,LENIV1 - 120 IVOD1(I) = ISAV(I) - DO 125 I = 1,LENIV2 - 125 IVOD2(I) = ISAV(LENIV1+I) -! - IF (LHOOK) CALL DR_HOOK('SVSRCO',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVSRCO diff --git a/src/arome/chem/internals/svstep.F b/src/arome/chem/internals/svstep.F deleted file mode 100644 index ecc6e4f5f34cc6c69a653a53a238deb21087cdb0..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/svstep.F +++ /dev/null @@ -1,448 +0,0 @@ -! ######spl - SUBROUTINE SVSTEP (Y, YH, LDYH, YH1, EWT, SAVF, VSAV, ACOR, & - & WM, IWM, F, JAC, PSOL, VNLS, RPAR, IPAR, KMI, KINDEX) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ########################################################### -! - EXTERNAL F, JAC, PSOL, VNLS - REAL Y, YH, YH1, EWT, SAVF, VSAV, ACOR, WM, RPAR - INTEGER LDYH, IWM, IPAR - DIMENSION Y(*), YH(LDYH,*), YH1(*), EWT(*), SAVF(*), VSAV(*), & - & ACOR(*), WM(*), IWM(*), RPAR(*), IPAR(*) - INTEGER KMI, KINDEX -!----------------------------------------------------------------------- -! Call sequence input -- Y, YH, LDYH, YH1, EWT, SAVF, VSAV, -! ACOR, WM, IWM, F, JAC, PSOL, VNLS, RPAR, IPAR -! Call sequence output -- YH, ACOR, WM, IWM -! COMMON block variables accessed.. -! /SVOD01/ ACNRM, EL(13), H, HMIN, HMXI, HNEW, HSCAL, RC, TAU(13), -! TQ(5), TN, JCUR, JSTART, KFLAG, KUTH, -! L, LMAX, MAXORD, MITER, N, NEWQ, NQ, NQWAIT -! /SVOD02/ HU, NCFN, NETF, NFE, NQU, NST -! -! Subroutines called by SVSTEP.. F, SAXPY, CH_SCOPY, SSCAL, -! SVJUST, VNLS, SVSET -! Function routines called by SVSTEP.. SVNORM -!----------------------------------------------------------------------- -! SVSTEP performs one step of the integration of an initial value -! problem for a system of ordinary differential equations. -! SVSTEP calls subroutine VNLS for the solution of the nonlinear system -! arising in the time step. Thus it is independent of the problem -! Jacobian structure and the type of nonlinear system solution method. -! SVSTEP returns a completion flag KFLAG (in COMMON). -! A return with KFLAG = -1 or -2 means either ABS(H) = HMIN or 10 -! consecutive failures occurred. On a return with KFLAG negative, -! the values of TN and the YH array are as of the beginning of the last -! step, and H is the last step size attempted. -! -! Communication with SVSTEP is done with the following variables.. -! -! Y = An array of length N used for the dependent variable vector. -! YH = An LDYH by LMAX array containing the dependent variables -! and their approximate scaled derivatives, where -! LMAX = MAXORD + 1. YH(i,j+1) contains the approximate -! j-th derivative of y(i), scaled by H**j/factorial(j) -! (j = 0,1,...,NQ). On entry for the first step, the first -! two columns of YH must be set from the initial values. -! LDYH = A constant integer .ge. N, the first dimension of YH. -! N is the number of ODEs in the system. -! YH1 = A one-dimensional array occupying the same space as YH. -! EWT = An array of length N containing multiplicative weights -! for local error measurements. Local errors in y(i) are -! compared to 1.0/EWT(i) in various error tests. -! SAVF = An array of working storage, of length N. -! also used for input of YH(*,MAXORD+2) when JSTART = -1 -! and MAXORD .lt. the current order NQ. -! VSAV = A work array of length N passed to subroutine VNLS. -! ACOR = A work array of length N, used for the accumulated -! corrections. On a successful return, ACOR(i) contains -! the estimated one-step local error in y(i). -! WM,IWM = Real and integer work arrays associated with matrix -! operations in VNLS. -! F = Dummy name for the user supplied subroutine for f. -! JAC = Dummy name for the user supplied Jacobian subroutine. -! PSOL = Dummy name for the subroutine passed to VNLS, for -! possible use there. -! VNLS = Dummy name for the nonlinear system solving subroutine, -! whose real name is dependent on the method used. -! RPAR, IPAR = Dummy names for user's real and integer work arrays. -!----------------------------------------------------------------------- -! -! Type declarations for labeled COMMON block SVOD01 -------------------- -! - REAL ACNRM, CCMXJ, CONP, CRATE, DRC, EL, & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU, TQ, TN, UROUND - INTEGER ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH -! -! Type declarations for labeled COMMON block SVOD02 -------------------- -! - REAL HU - INTEGER NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! -! Type declarations for local variables -------------------------------- -! - REAL ADDON, BIAS1,BIAS2,BIAS3, CNQUOT, DDN, DSM, DUP, & - & ETACF, ETAMIN, ETAMX1, ETAMX2, ETAMX3, ETAMXF, & - & ETAQ, ETAQM1, ETAQP1, FLOTL, ONE, ONEPSM, & - & R, THRESH, TOLD, ZERO - INTEGER I, I1, I2, IBACK, J, JB, KFC, KFH, MXNCF, NCF, NFLAG -! -! Type declaration for function subroutines called --------------------- -! - REAL SVNORM -!----------------------------------------------------------------------- -! The following Fortran-77 declaration is to cause the values of the -! listed (local) variables to be saved between calls to this integrator. -!----------------------------------------------------------------------- - SAVE ADDON, BIAS1, BIAS2, BIAS3, & - & ETACF, ETAMIN, ETAMX1, ETAMX2, ETAMX3, ETAMXF, & - & KFC, KFH, MXNCF, ONEPSM, THRESH, ONE, ZERO -!----------------------------------------------------------------------- - COMMON /SVOD01/ ACNRM, CCMXJ, CONP, CRATE, DRC, EL(13), & - & ETA, ETAMAX, H, HMIN, HMXI, HNEW, HSCAL, PRL1, & - & RC, RL1, TAU(13), TQ(5), TN, UROUND, & - & ICF, INIT, IPUP, JCUR, JSTART, JSV, KFLAG, KUTH, & - & L, LMAX, LYH, LEWT, LACOR, LSAVF, LWM, LIWM, & - & LOCJS, MAXORD, METH, MITER, MSBJ, MXHNIL, MXSTEP, & - & N, NEWH, NEWQ, NHNIL, NQ, NQNYH, NQWAIT, NSLJ, & - & NSLP, NYH - COMMON /SVOD02/ HU, NCFN, NETF, NFE, NJE, NLU, NNI, NQU, NST -! - DATA KFC/-3/, KFH/-7/, MXNCF/10/ - DATA ADDON /1.0E-6/, BIAS1 /6.0E0/, BIAS2 /6.0E0/, & - & BIAS3 /10.0E0/, ETACF /0.25E0/, ETAMIN /0.1E0/, & - & ETAMXF /0.2E0/, ETAMX1 /1.0E4/, ETAMX2 /10.0E0/, & - & ETAMX3 /10.0E0/, ONEPSM /1.00001E0/, THRESH /1.5E0/ - DATA ONE/1.0E0/, ZERO/0.0E0/ -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('SVSTEP',0,ZHOOK_HANDLE) - KFLAG = 0 - TOLD = TN - NCF = 0 - JCUR = 0 - NFLAG = 0 - IF (JSTART .GT. 0) GO TO 20 - IF (JSTART .EQ. -1) GO TO 100 -!----------------------------------------------------------------------- -! On the first call, the order is set to 1, and other variables are -! initialized. ETAMAX is the maximum ratio by which H can be increased -! in a single step. It is normally 1.5, but is larger during the -! first 10 steps to compensate for the small initial H. If a failure -! occurs (in corrector convergence or error test), ETAMAX is set to 1 -! for the next increase. -!----------------------------------------------------------------------- - LMAX = MAXORD + 1 - NQ = 1 - L = 2 - NQNYH = NQ*LDYH - TAU(1) = H - PRL1 = ONE - RC = ZERO - ETAMAX = ETAMX1 - NQWAIT = 2 - HSCAL = H - GO TO 200 -!----------------------------------------------------------------------- -! Take preliminary actions on a normal continuation step (JSTART.GT.0). -! If the driver changed H, then ETA must be reset and NEWH set to 1. -! If a change of order was dictated on the previous step, then -! it is done here and appropriate adjustments in the history are made. -! On an order decrease, the history array is adjusted by SVJUST. -! On an order increase, the history array is augmented by a column. -! On a change of step size H, the history array YH is rescaled. -!----------------------------------------------------------------------- - 20 CONTINUE - IF (KUTH .EQ. 1) THEN - ETA = MIN(ETA,H/HSCAL) - NEWH = 1 - ENDIF - 50 IF (NEWH .EQ. 0) GO TO 200 - IF (NEWQ .EQ. NQ) GO TO 150 - IF (NEWQ .LT. NQ) THEN - CALL SVJUST (YH, LDYH, -1) - NQ = NEWQ - L = NQ + 1 - NQWAIT = L - GO TO 150 - ENDIF - IF (NEWQ .GT. NQ) THEN - CALL SVJUST (YH, LDYH, 1) - NQ = NEWQ - L = NQ + 1 - NQWAIT = L - GO TO 150 - ENDIF -!----------------------------------------------------------------------- -! The following block handles preliminaries needed when JSTART = -1. -! If N was reduced, zero out part of YH to avoid undefined references. -! If MAXORD was reduced to a value less than the tentative order NEWQ, -! then NQ is set to MAXORD, and a new H ratio ETA is chosen. -! Otherwise, we take the same preliminary actions as for JSTART .gt. 0. -! In any case, NQWAIT is reset to L = NQ + 1 to prevent further -! changes in order for that many steps. -! The new H ratio ETA is limited by the input H if KUTH = 1, -! by HMIN if KUTH = 0, and by HMXI in any case. -! Finally, the history array YH is rescaled. -!----------------------------------------------------------------------- - 100 CONTINUE - LMAX = MAXORD + 1 - IF (N .EQ. LDYH) GO TO 120 - I1 = 1 + (NEWQ + 1)*LDYH - I2 = (MAXORD + 1)*LDYH - IF (I1 .GT. I2) GO TO 120 - DO 110 I = I1, I2 - 110 YH1(I) = ZERO - 120 IF (NEWQ .LE. MAXORD) GO TO 140 - FLOTL = REAL(LMAX) - IF (MAXORD .LT. NQ-1) THEN - DDN = SVNORM (N, SAVF, EWT)/TQ(1) - ETA = ONE/((BIAS1*DDN)**(ONE/FLOTL) + ADDON) - ENDIF - IF (MAXORD .EQ. NQ .AND. NEWQ .EQ. NQ+1) ETA = ETAQ - IF (MAXORD .EQ. NQ-1 .AND. NEWQ .EQ. NQ+1) THEN - ETA = ETAQM1 - CALL SVJUST (YH, LDYH, -1) - ENDIF - IF (MAXORD .EQ. NQ-1 .AND. NEWQ .EQ. NQ) THEN - DDN = SVNORM (N, SAVF, EWT)/TQ(1) - ETA = ONE/((BIAS1*DDN)**(ONE/FLOTL) + ADDON) - CALL SVJUST (YH, LDYH, -1) - ENDIF - ETA = MIN(ETA,ONE) - NQ = MAXORD - L = LMAX - 140 IF (KUTH .EQ. 1) ETA = MIN(ETA,ABS(H/HSCAL)) - IF (KUTH .EQ. 0) ETA = MAX(ETA,HMIN/ABS(HSCAL)) - ETA = ETA/MAX(ONE,ABS(HSCAL)*HMXI*ETA) - NEWH = 1 - NQWAIT = L - IF (NEWQ .LE. MAXORD) GO TO 50 -! Rescale the history array for a change in H by a factor of ETA. ------ - 150 R = ONE - DO 180 J = 2, L - R = R*ETA - CALL SSCAL (N, R, YH(1,J), 1 ) - 180 CONTINUE - H = HSCAL*ETA - HSCAL = H - RC = RC*ETA - NQNYH = NQ*LDYH -!----------------------------------------------------------------------- -! This section computes the predicted values by effectively -! multiplying the YH array by the Pascal triangle matrix. -! SVSET is called to calculate all integration coefficients. -! RC is the ratio of new to old values of the coefficient H/EL(2)=h/l1. -!----------------------------------------------------------------------- - 200 TN = TN + H - I1 = NQNYH + 1 - DO 220 JB = 1, NQ - I1 = I1 - LDYH - DO 210 I = I1, NQNYH - 210 YH1(I) = YH1(I) + YH1(I+LDYH) - 220 CONTINUE - CALL SVSET - RL1 = ONE/EL(2) - RC = RC*(RL1/PRL1) - PRL1 = RL1 -! -! Call the nonlinear system solver. ------------------------------------ -! - CALL VNLS (Y, YH, LDYH, VSAV, SAVF, EWT, ACOR, IWM, WM, & - & F, JAC, PSOL, NFLAG, RPAR, IPAR, KMI, KINDEX) -! - IF (NFLAG .EQ. 0) GO TO 450 -!----------------------------------------------------------------------- -! The VNLS routine failed to achieve convergence (NFLAG .NE. 0). -! The YH array is retracted to its values before prediction. -! The step size H is reduced and the step is retried, if possible. -! Otherwise, an error exit is taken. -!----------------------------------------------------------------------- - NCF = NCF + 1 - NCFN = NCFN + 1 - ETAMAX = ONE - TN = TOLD - I1 = NQNYH + 1 - DO 430 JB = 1, NQ - I1 = I1 - LDYH - DO 420 I = I1, NQNYH - 420 YH1(I) = YH1(I) - YH1(I+LDYH) - 430 CONTINUE - IF (NFLAG .LT. -1) GO TO 680 - IF (ABS(H) .LE. HMIN*ONEPSM) GO TO 670 - IF (NCF .EQ. MXNCF) GO TO 670 - ETA = ETACF - ETA = MAX(ETA,HMIN/ABS(H)) - NFLAG = -1 - GO TO 150 -!----------------------------------------------------------------------- -! The corrector has converged (NFLAG = 0). The local error test is -! made and control passes to statement 500 if it fails. -!----------------------------------------------------------------------- - 450 CONTINUE - DSM = ACNRM/TQ(2) - IF (DSM .GT. ONE) GO TO 500 -!----------------------------------------------------------------------- -! After a successful step, update the YH and TAU arrays and decrement -! NQWAIT. If NQWAIT is then 1 and NQ .lt. MAXORD, then ACOR is saved -! for use in a possible order increase on the next step. -! If ETAMAX = 1 (a failure occurred this step), keep NQWAIT .ge. 2. -!----------------------------------------------------------------------- - KFLAG = 0 - NST = NST + 1 - HU = H - NQU = NQ - DO 470 IBACK = 1, NQ - I = L - IBACK - 470 TAU(I+1) = TAU(I) - TAU(1) = H - DO 480 J = 1, L - CALL SAXPY (N, EL(J), ACOR, 1, YH(1,J), 1 ) - 480 CONTINUE - NQWAIT = NQWAIT - 1 - IF ((L .EQ. LMAX) .OR. (NQWAIT .NE. 1)) GO TO 490 - CALL CH_SCOPY (N, ACOR, 1, YH(1,LMAX), 1 ) - CONP = TQ(5) - 490 IF (ETAMAX .NE. ONE) GO TO 560 - IF (NQWAIT .LT. 2) NQWAIT = 2 - NEWQ = NQ - NEWH = 0 - ETA = ONE - HNEW = H - GO TO 690 -!----------------------------------------------------------------------- -! The error test failed. KFLAG keeps track of multiple failures. -! Restore TN and the YH array to their previous values, and prepare -! to try the step again. Compute the optimum step size for the -! same order. After repeated failures, H is forced to decrease -! more rapidly. -!----------------------------------------------------------------------- - 500 KFLAG = KFLAG - 1 - NETF = NETF + 1 - NFLAG = -2 - TN = TOLD - I1 = NQNYH + 1 - DO 520 JB = 1, NQ - I1 = I1 - LDYH - DO 510 I = I1, NQNYH - 510 YH1(I) = YH1(I) - YH1(I+LDYH) - 520 CONTINUE - IF (ABS(H) .LE. HMIN*ONEPSM) GO TO 660 - ETAMAX = ONE - IF (KFLAG .LE. KFC) GO TO 530 -! Compute ratio of new H to current H at the current order. ------------ - FLOTL = REAL(L) - ETA = ONE/((BIAS2*DSM)**(ONE/FLOTL) + ADDON) - ETA = MAX(ETA,HMIN/ABS(H),ETAMIN) - IF ((KFLAG .LE. -2) .AND. (ETA .GT. ETAMXF)) ETA = ETAMXF - GO TO 150 -!----------------------------------------------------------------------- -! Control reaches this section if 3 or more consecutive failures -! have occurred. It is assumed that the elements of the YH array -! have accumulated errors of the wrong order. The order is reduced -! by one, if possible. Then H is reduced by a factor of 0.1 and -! the step is retried. After a total of 7 consecutive failures, -! an exit is taken with KFLAG = -1. -!----------------------------------------------------------------------- - 530 IF (KFLAG .EQ. KFH) GO TO 660 - IF (NQ .EQ. 1) GO TO 540 - ETA = MAX(ETAMIN,HMIN/ABS(H)) - CALL SVJUST (YH, LDYH, -1) - L = NQ - NQ = NQ - 1 - NQWAIT = L - GO TO 150 - 540 ETA = MAX(ETAMIN,HMIN/ABS(H)) - H = H*ETA - HSCAL = H - TAU(1) = H -! -!*UPG*MNH -! - CALL F (N, TN, Y, SAVF, RPAR, IPAR, KMI, KINDEX) -! -!*UPG*MNH -! - NFE = NFE + 1 - DO 550 I = 1, N - 550 YH(I,2) = H*SAVF(I) - NQWAIT = 10 - GO TO 200 -!----------------------------------------------------------------------- -! If NQWAIT = 0, an increase or decrease in order by one is considered. -! Factors ETAQ, ETAQM1, ETAQP1 are computed by which H could -! be multiplied at order q, q-1, or q+1, respectively. -! The largest of these is determined, and the new order and -! step size set accordingly. -! A change of H or NQ is made only if H increases by at least a -! factor of THRESH. If an order change is considered and rejected, -! then NQWAIT is set to 2 (reconsider it after 2 steps). -!----------------------------------------------------------------------- -! Compute ratio of new H to current H at the current order. ------------ - 560 FLOTL = REAL(L) - ETAQ = ONE/((BIAS2*DSM)**(ONE/FLOTL) + ADDON) - IF (NQWAIT .NE. 0) GO TO 600 - NQWAIT = 2 - ETAQM1 = ZERO - IF (NQ .EQ. 1) GO TO 570 -! Compute ratio of new H to current H at the current order less one. --- - DDN = SVNORM (N, YH(1,L), EWT)/TQ(1) - ETAQM1 = ONE/((BIAS1*DDN)**(ONE/(FLOTL - ONE)) + ADDON) - 570 ETAQP1 = ZERO - IF (L .EQ. LMAX) GO TO 580 -! Compute ratio of new H to current H at current order plus one. ------- - CNQUOT = (TQ(5)/CONP)*(H/TAU(2))**L - DO 575 I = 1, N - 575 SAVF(I) = ACOR(I) - CNQUOT*YH(I,LMAX) - DUP = SVNORM (N, SAVF, EWT)/TQ(3) - ETAQP1 = ONE/((BIAS3*DUP)**(ONE/(FLOTL + ONE)) + ADDON) - 580 IF (ETAQ .GE. ETAQP1) GO TO 590 - IF (ETAQP1 .GT. ETAQM1) GO TO 620 - GO TO 610 - 590 IF (ETAQ .LT. ETAQM1) GO TO 610 - 600 ETA = ETAQ - NEWQ = NQ - GO TO 630 - 610 ETA = ETAQM1 - NEWQ = NQ - 1 - GO TO 630 - 620 ETA = ETAQP1 - NEWQ = NQ + 1 - CALL CH_SCOPY (N, ACOR, 1, YH(1,LMAX), 1) -! Test tentative new H against THRESH, ETAMAX, and HMXI, then exit. ---- - 630 IF (ETA .LT. THRESH .OR. ETAMAX .EQ. ONE) GO TO 640 - ETA = MIN(ETA,ETAMAX) - ETA = ETA/MAX(ONE,ABS(H)*HMXI*ETA) - NEWH = 1 - HNEW = H*ETA - GO TO 690 - 640 NEWQ = NQ - NEWH = 0 - ETA = ONE - HNEW = H - GO TO 690 -!----------------------------------------------------------------------- -! All returns are made through this section. -! On a successful return, ETAMAX is reset and ACOR is scaled. -!----------------------------------------------------------------------- - 660 KFLAG = -1 - GO TO 720 - 670 KFLAG = -2 - GO TO 720 - 680 IF (NFLAG .EQ. -2) KFLAG = -3 - IF (NFLAG .EQ. -3) KFLAG = -4 - GO TO 720 - 690 ETAMAX = ETAMX3 - IF (NST .LE. 10) ETAMAX = ETAMX2 - 700 R = ONE/TQ(2) - CALL SSCAL (N, R, ACOR, 1) - 720 JSTART = 1 - IF (LHOOK) CALL DR_HOOK('SVSTEP',1,ZHOOK_HANDLE) - RETURN - END SUBROUTINE SVSTEP diff --git a/src/arome/chem/internals/tridag.F b/src/arome/chem/internals/tridag.F deleted file mode 100644 index 1c391b426b70459ac8512f7b1bbfd71770543b45..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/tridag.F +++ /dev/null @@ -1,89 +0,0 @@ -! ######spl - SUBROUTINE tridag(a,b,c,r,u,n) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!_______________________________________________________________________ -! solves tridiagonal system. From Numerical Recipies, p. 40 -!_______________________________________________________________________ - - IMPLICIT NONE - -! input: - INTEGER n - REAL a, b, c, r - DIMENSION a(n),b(n),c(n),r(n) - -! output: - REAL u - DIMENSION u(n) - -! local: - INTEGER j - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - REAL bet, gam - DIMENSION gam(2*kz) -!_______________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('TRIDAG',0,ZHOOK_HANDLE) - IF (b(1) .EQ. 0.) STOP 1001 - bet = b(1) - u(1) = r(1)/bet - DO 11, j = 2, n - gam(j) = c(j - 1)/bet - bet = b(j) - a(j)*gam(j) - IF (bet .EQ. 0.) STOP 2002 - u(j) = (r(j) - a(j)*u(j - 1))/bet - 11 CONTINUE - DO 12, j = n - 1, 1, -1 - u(j) = u(j) - gam(j + 1)*u(j + 1) - 12 CONTINUE -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('TRIDAG',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE tridag diff --git a/src/arome/chem/internals/troe.F90 b/src/arome/chem/internals/troe.F90 deleted file mode 100644 index 5bd56a0d737cd8f0c7c5a869c1661498cd2f6613..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/troe.F90 +++ /dev/null @@ -1,63 +0,0 @@ -! ######spl - FUNCTION TROE(PCOEF,PKO, PNEXP, PKINF, PMEXP, PM, PT,KVECNPT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - !! ############################################################# - !! - !!*** *TROE* - !! - !! PURPOSE - !! ------- - ! this function implements the TROE reaction rate for RACM - !! - !! REFERENCE - !! --------- - !! Stockwell et al., JGR, 1997 - !! - !! AUTHOR - !! ------ - !! Karsten Suhre (LA) - !! - !! MODIFICATIONS - !! ------------- - !! Original 27/01/98 - !! - !!------------------------------------------------------------------------------ - !! - !! EXTERNAL - !! -------- - !! none - !! - !! IMPLICIT ARGUMENTS - !! ------------------ - !! none - !! - !! EXPLICIT ARGUMENTS - !! ------------------ - IMPLICIT NONE - INTEGER, INTENT(IN) :: KVECNPT ! no. of points in vector mask - REAL, DIMENSION(KVECNPT) :: TROE - REAL, INTENT(IN) :: PCOEF,PKO, PNEXP, PKINF, PMEXP - REAL, DIMENSION(KVECNPT), INTENT(IN) :: PM, PT - !! - !! LOCAL VARIABLES - !! --------------- - REAL, DIMENSION(KVECNPT) :: ZKOTM, ZKINFT, ZFACT - !! - !------------------------------------------------------------------------------ - !! - !! EXECUTABLE STATEMENTS - !! --------------------- - ! - !* 1. THE EXPRESSION - ! ----------------- - ! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('TROE',0,ZHOOK_HANDLE) - ZKOTM(:) = PM(:) * PKO * ( (PT(:)/300.)**(-PNEXP) ) - ZKINFT(:) = PKINF * ( (PT(:)/300.)**(-PMEXP) ) - ZFACT(:) = 0.6**(1./(1.+ALOG10(ZKOTM(:)/ZKINFT(:))**2 )) - TROE(:) = PCOEF*(ZKOTM(:)/(1.+ZKOTM(:)/ZKINFT(:)))*ZFACT(:) - ! - IF (LHOOK) CALL DR_HOOK('TROE',1,ZHOOK_HANDLE) - END FUNCTION TROE diff --git a/src/arome/chem/internals/troe_equil.F90 b/src/arome/chem/internals/troe_equil.F90 deleted file mode 100644 index b3bb9707dc50e4896a2334b72d40d8e788f79e6c..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/troe_equil.F90 +++ /dev/null @@ -1,63 +0,0 @@ -! ######spl - FUNCTION TROE_EQUIL(PKO, PNEXP, PKINF, PMEXP, PAFACT, PB, PM, PT,KVECNPT) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - !! ######################################################################### - !! - !!*** *TROE_EQUIL* - !! - !! PURPOSE - !! ------- - ! this function implements the TROE_EQUIL reaction rate for RACM - !! - !! REFERENCE - !! --------- - !! Stockwell et al., JGR, 1997 - !! - !! AUTHOR - !! ------ - !! Karsten Suhre (LA) - !! - !! MODIFICATIONS - !! ------------- - !! Original 27/01/98 - !! - !!------------------------------------------------------------------------------ - !! - !! EXTERNAL - !! -------- - !! none - !! - !! IMPLICIT ARGUMENTS - !! ------------------ - !! none - !! - !! EXPLICIT ARGUMENTS - !! ------------------ - IMPLICIT NONE - INTEGER, INTENT(IN) :: KVECNPT ! no. of points in vector mask - REAL,DIMENSION(KVECNPT) :: TROE_EQUIL - REAL, INTENT(IN) :: PKO, PNEXP, PKINF, PMEXP, PAFACT, PB - REAL, DIMENSION(KVECNPT), INTENT(IN) :: PM, PT - !! - !! LOCAL VARIABLES - !! --------------- - REAL, DIMENSION(KVECNPT) :: ZKOTM, ZKINFT, ZFACT - !! - !------------------------------------------------------------------------------ - !! - !! EXECUTABLE STATEMENTS - !! --------------------- - ! - !* 1. THE EXPRESSION - ! ----------------- - ! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('TROE_EQUIL',0,ZHOOK_HANDLE) - ZKOTM(:) = PM(:) * PKO * ( (PT(:)/300.)**(-PNEXP) ) - ZKINFT(:) = PKINF * ( (PT(:)/300.)**(-PMEXP) ) - ZFACT(:) = 0.6**(1./(1.+ALOG10(ZKOTM(:)/ZKINFT(:))**2 )) - TROE_EQUIL(:) = PAFACT*exp(-PB/PT)*(ZKOTM/(1.+ZKOTM(:)/ZKINFT(:)))*ZFACT(:) - ! - IF (LHOOK) CALL DR_HOOK('TROE_EQUIL',1,ZHOOK_HANDLE) - END FUNCTION TROE_EQUIL diff --git a/src/arome/chem/internals/tuvmain.F b/src/arome/chem/internals/tuvmain.F deleted file mode 100644 index 4ebbac8cdd37a899af53018d32ae6e92357bcda7..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/tuvmain.F +++ /dev/null @@ -1,443 +0,0 @@ -! ######spl - subroutine tuvmain (asza, idate, & - & albnew, dobnew, & - & nlevel, az, lwc, & - & njout, jout, jlabelout) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!_______________________________________________________________________ -! PROGRAM tuv -! Tropospheric Ultraviolet-Visible radiation model -! version 3.9 -! Feb. 97 by Madronich et al. -!_______________________________________________________________________ -! DATE: Mon Mar 15 09:50:41 MET 1999 -! FILE: tuv39.f -! MODIFIED BY: Karsten Suhre as follows -! - all modifications are indicated by *KS: or *ks: -! - concatenate all sources in one file -! - insert all include 'params' directly into the code -! and change the following parameters: iout=6, kin=78, kz=151, kw=150 -! - modify tuv.f to become a subroutine called tuvmain.f -! - save ALL variables (on HP) and only concerned variables (on LINUX pgf90) -! -!_______________________________________________________________________ -!-----------------------------------------------------------------------------* -!= 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 2 of the license, or (at your =* -!= option) any later version. =* -!= The TUV package is distributed in the hope that it will be useful, but =* -!= WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTIBI- =* -!= LITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public =* -!= License for more details. =* -!= To obtain a copy of the GNU General Public License, write to: =* -!= Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. =* -!-----------------------------------------------------------------------------* -!= To contact the authors, please mail to: =* -!= Sasha Madronich, NCAR/ACD, P.O.Box 3000, Boulder, CO, 80307-3000, USA or =* -!= send email to: sasha@ucar.edu =* -!-----------------------------------------------------------------------------* -!= Copyright (C) 1994,95,96 University Corporation for Atmospheric Research =* -!-----------------------------------------------------------------------------* - - IMPLICIT NONE - SAVE - -! include parameter file - -!_________________________________________________ -!ks: INCLUDE 'params' has been inserted here -!_________________________________________________ -! BROADLY USED PARAMETERS: -!_________________________________________________ -! i/o file unit numbers - INTEGER kout, kin -! output - PARAMETER(kout=6) -! input - PARAMETER(kin=78) -!_________________________________________________ -! altitude, wavelength grids - INTEGER kz, kw -! altitude - PARAMETER(kz=151) -! wavelength - PARAMETER(kw=150) -!_________________________________________________ -! number of weighting functions - INTEGER ks, kj -! wavelength dependent - PARAMETER(ks=40) -! wavelength and altitude dependent - PARAMETER(kj=50) - -! delta for adding points at beginning or end of data grids - REAL deltax - PARAMETER (deltax = 1.E-4) - -! some constants... - -! pi: - REAL pi - PARAMETER(pi=3.1415926535898) - -! radius of the earth: - REAL radius - PARAMETER(radius=6.371E+3) - -! largest number of the machine: - REAL largest - PARAMETER(largest=1.E+36) -!_________________________________________________ - -! ___ SECTION 1: VARIABLES AND PARAMETERS ______________________________ -! -! interface variables: -! -! INPUT: -! ALAT - latitude in decimal degrees -! ALONG - longitude in decimal degrees -! IDATE - Date at Greenwich - specify year (yy), month (mm), day (dd) -! format is six-digit integer: yymmdd -! (only a test if yy is a factor of 4 will be perfomed, -! so there is no year 2000 problem!) -! UT - Greenwich mean time - decimal military eg. -! 22.75 = 45 min after ten pm UT -! ALBNEW- surface albedo, if negative the default value will be used -! DOBNEW- scale the O3 profile to the given Dobson unit -! (no scaling is done if this variable is negative) -! NLEVEL- number of points in AZ -! AZ - vector of altitudes (in m) where J-values are calculated -! (supposed to be ordered in increasing order!), mass level, -! dimension = NLEVEL -! LWC - liquid water content (kg/m3), -! dimension = NLEVEL -! -! OUTPUT: -! NJOUT - number of J-values to be returned (actually 21) -! JOUT - array of J-values (dimension must be at least 21) -! 1st dimension = NLEVEL, 2nd dimension >= NJOUT -! JLABELOUT - array of labels for J-values (dimension must be at least 21) -! dimension >= NJOUT -! -! method: -! -! on first call, all necessary data will be read from the files -! in directories DATA0, DATA4, and DATAX; -! all variables are saved for future calls to TUV -! - REAL, INTENT(IN) :: asza -! REAL, INTENT(IN) :: ut - INTEGER, INTENT(IN) :: idate - INTEGER, INTENT(IN) :: nlevel - REAL, INTENT(IN) :: dobnew, albnew - REAL, INTENT(IN) :: az(nlevel) - REAL, INTENT(IN) :: lwc(nlevel) - INTEGER, INTENT(IN) :: njout - REAL, INTENT(OUT) :: jout(nlevel,njout) - CHARACTER*40, INTENT(OUT) :: jlabelout(njout) -! - LOGICAL LFIRSTCALL - DATA LFIRSTCALL /.TRUE./ -! -! -! geometry - - REAL zen - -! altitude grid: - - INTEGER nz, iz - REAL z(kz) - -! slant path lengths in spherical geometry - - INTEGER nid(0:kz) - REAL dsdh(0:kz,kz) - -! wavelength grid: - - INTEGER nw, iw - REAL wl(kw), wc(kw), wu(kw) - -! extra terrestrial solar flux and earth-Sun distance ^-2 - - REAL f(kw) - REAL esrm2 - -! ozone absorption cross section and ozone optical depth: - - REAL xso3(kw), s226(kw), s263(kw), s298(kw) - -! O2 absorption cross section - - REAL xso2(kz,kw) - -! SO2 absorption cross section - - REAL xsso2(kw) - -! NO2 absorption cross section - - REAL xsno2(kw) - -! atmospheric optical parameters: - - REAL tlev(kz), tlay(kz) - REAL airlev(kz), colinc(kz) - REAL dtrl(kz,kw) - REAL dto3(kz,kw), dto2(kz,kw), dtso2(kz,kw), dtno2(kz,kw) - REAL dtcld(kz,kw), omcld(kz,kw), gcld(kz,kw) - REAL dtaer(kz,kw), omaer(kz,kw), gaer(kz,kw) - REAL albedo(kw) - -! spectral irradiance and actinic flux (scalar irradiance): - - REAL edir(kz), edn(kz), eup(kz) - REAL fdir(kz), fdn(kz), fup(kz) - -!! j-values: - - INTEGER nj, ij - REAL sj(kj,kz,kw), valj(kj,kz) - REAL saflux, deltaj - CHARACTER*40 jlabel(kj) - -! User-defined -! new sea level pressure, surface dobson, etc. - - REAL azim - - REAL pmbnew, so2new, no2new - - integer i, j - -!________________________________________________________________________ -! BEGIN OF INITIALIZATION (only executed on firstcall of tuvmain) -!________________________________________________________________________ - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('TUVMAIN',0,ZHOOK_HANDLE) - IF (LFIRSTCALL) THEN - - WRITE(kout,*) 'running TUVMAIN, version 3.9' - -! ___ SECTION 2: SET GRIDS _________________________________________________ - -! wavelengths - - CALL gridw(nw,wl,wc,wu) - -! altitudes - - CALL gridz(nz,z,az,nlevel) - -! ___ SECTION 3: SPECTRAL DATA ____________________________ - -! read (and grid) extra terrestrial flux data: - - CALL rdetfl(nw,wl,f) - -! read cross section data for -! ozone (temperature-dependent) -! SO2 -! NO2 - - CALL rdo3xs(nw,wl,xso3,s226,s263,s298) - CALL rdso2xs(nw,wl,xsso2) - CALL rdno2xs(nw,wl,xsno2) - -! ___ SECTION 4: SET MODEL ATMOSPHERE __________________________________ - -! temperature profile - - CALL settmp(nz,z, & - & tlev,tlay) - -! air profile and rayleigh optical depths - - pmbnew = -999. - CALL setair(pmbnew, & - & nz,z,nw,wl, & - & airlev,dtrl,colinc) - - -!! now can select (altitude-dependent) photolysis reaction spectra -! (cross section)x(quantum yield) -! (must know airlev, tlev from setair, settmp) -! reserve last slot for O2 photolysis (extra because of Schuman-Runge band -! parameterization -> zenith angle dependence of effective cross section) - - ij = 0 - CALL jspec1(nw,wl,nz,tlev,airlev, & - & ij,sj,jlabel) - CALL o2spec(ij,jlabel) - nj = ij - -! ozone optical depths (must give temperature) - - CALL setozo(dobnew, & - & nz,z,nw,wl, & - & xso3,s226,s263,s298,tlay, & - & dto3) - -! SO2 optical depth (also has temperature correction) -! so2new = new column SO2, in Dobson Units - - so2new = 0. - CALL setso2(so2new, & - & nz,z,nw,wl, & - & xsso2, tlay, & - & dtso2) - -! NO2 optical depth (also has temperature correction) -! no2new = new column NO2, in Dobson Units - - no2new = 0. - CALL setno2(no2new, & - & nz,z,nw,wl, & - & xsno2, tlay, & - & dtno2) - -! aerosol optical depths: - - CALL setaer(nz,z,nw,wl, & - & dtaer,omaer,gaer) - - LFIRSTCALL = .FALSE. - ENDIF - -!________________________________________________________________________ -! END OF INITIALIZATION (only executed on firstcall of tuvmain) -!________________________________________________________________________ - -! UPG:CM 08/06/01 surface albedo calculation taken out of firstcall loop -! surface albedo: - - if (albnew .ge. 0.) then -! WRITE(kout,*)'wavelength-independent albedo = ', albnew - DO iw = 1, nw - 1 - albedo(iw) = albnew - enddo - else - CALL setalb(nw,wl,albedo) - endif - -! cloud optical depth (may be modified at each call, so it has ben moved -! outside the if(firstcall) section: - - CALL setcld(nz,z,nw,wl, & - & lwc,nlevel, & - & dtcld,omcld,gcld) - -! ___ SECTION 5: TIME AND LOCATION _____________________________________ - -! date, earth-sun distance - - CALL sundis(idate,esrm2) -! WRITE(kout,*) 'idate = ', idate,' esrm2 = ', esrm2 - -! solar zenith angle calculation: - -! WRITE(kout,*)'lat = ',alat,' long = ',along -! -! CALL zenith(alat,along,idate,ut,azim,zen) - zen = asza -! WRITE(kout,*) 'ut = ', ut, 'azimuth = ', azim, ' zen = ', zen -! WRITE(kout,*) ' zen = ', zen - -! ____ SECTION 6: CALCULATE ZENITH-ANGLE DEPENDENT QUANTITIES __________ - -! slant path lengths for spherical geometry - - CALL sphers(nz, z, zen, dsdh, nid) - -!! effective O2 optical depth (SR bands, must know zenith angle!) -! reassign O2 cross section to sj(nj,*,*) - - CALL zero2(dto2,kz,kw) - CALL zero2(xso2,kz,kw) - CALL seto2(nz,z,nw,wl,colinc,zen,dto2,xso2) - CALL sto2xs(nz,nw,xso2,nj,sj) - -! ____ SECTION 7: WAVELENGTH LOOP ______________________________________ - -! initialize for wavelength integration - - call zero2(valj,kj,kz) - - DO 10, iw = 1, nw-1 - -! monochromatic radiative transfer: - - CALL rtlink(nz,z, & - & iw, albedo(iw), zen, & - & dsdh,nid, & - & dtrl, & - & dto3, & - & dto2, & - & dtso2, & - & dtno2, & - & dtcld, omcld, gcld, & - & dtaer,omaer,gaer, & - & edir, edn, eup, fdir, fdn, fup) - -!**** spherical irradiance (actinic flux) -! as a function of altitude -! convert to quanta s-1 nm-1 cm-2 -! ( 1.e-4 * (wc*1e-9) / (hc = 6.62E-34 * 2.998E8) ) - - DO 17 iz = 1, nz - saflux = f(iw) * esrm2 * 5.039e11 * wc(iw) * & - & (fdir(iz) + fdn(iz) + fup(iz)) - DO 16, ij = 1, nj - deltaj = saflux * sj(ij,iz,iw) - valj(ij,iz) = valj(ij,iz) + deltaj * (wu(iw) - wl(iw)) - 16 CONTINUE - 17 CONTINUE - - 10 CONTINUE - -!^^^^^^^^^^^^^^^^ end wavelength loop - -! ____ SECTION 8: OUTPUT _______________________________________________ -! -! iz = 1 -! DO 36, ij = 1, nj -! WRITE(kout,99) ij, jlabel(ij), valj(ij,iz) -!36 CONTINUE -! -! copy labels into output array -! (to be compatible with TUV39, photolysis raction 1-20 will be transfered -! as 2-21, and the first will be set to zero (former user-added CH3I)) - - if (njout .ne. 21) then - WRITE(kout,*) 'There should be 21 J-Values to be updated!' - WRITE(kout,*) 'We better stop here ... in tuvmain.f' - STOP 1 - endif - - jlabelout(1) = 'not used' - DO ij = 2, njout - jlabelout(ij) = jlabel(ij-1) - ENDDO -! -! return J values on AZ grid -! -! for each individual J value do.. - DO iz = 1, nlevel - jout(iz,1) = 0.0 - ENDDO - DO ij = 2, njout - DO iz = 1, nlevel - jout(iz,ij) = valj(ij-1,iz) - ENDDO - ENDDO -! -!_______________________________________________________________________ - 99 FORMAT(I4,1X,A40,1X,1PE10.3) -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('TUVMAIN',1,ZHOOK_HANDLE) - ENDSUBROUTINE TUVMAIN diff --git a/src/arome/chem/internals/unifac.F b/src/arome/chem/internals/unifac.F deleted file mode 100644 index 279fedc09c54a20b30a6d15eb5a6e7c374a71b97..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/unifac.F +++ /dev/null @@ -1,439 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /home/tulet/MESONH/prepsource/test/unifac.f,v $ $Revision: 1.1 $ $Date: 2005/06/02 10:27:34 $ -!----------------------------------------------------------------- - - SUBROUTINE UNIFAC (NMOL,NFUNC,NU,X,A,RG,QG,Z,TEMP, & - & GAMA) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - -!******************************************************** -! Function: unifac -! SUBROUTINE TO ESTIMATE ACTIVITY COEFFICIENTS & -! AW OF MULTICOMPONENT MIXTURES FROM UNIFAC -! -! Preconditions required: called by unidriver, the C -! driver that replaces the Fortran -! codes above -! -! Return values: GAMA(I): ACTIVITY COEFFICIENT OF COMPONENT I ON -! MOLE FRACTION SCALE -! -! -! Notes: 1. FOR DIMENSIONAL PURPOSES, WE HAVE ASSUMED THAT -! MAXIMUM NUMBER OF FUNCTIONAL GROUPS =50 AND -! MAXIMUM NUMBER OF MOLECULAR ENTITIES =50. -! -! 2. INPUT SUMMARY: 1) GROUP VOLUME (RG), GROUP SURFACE -! AREA (QG) OF EACH FUNCTIONAL GROUP IN EACH -! COMPONENT; 2) MOLE FRACTION OF ALL COMPONENTS -! 3) INTER-FUNCTIONAL GROUP INTERACTION PARAMETERS -! A(J1,J2) FOR ALL FUNCTIONAL GROUP COMBOS. -! "COMPONENT" MEANS A MOLECULAR LEVEL ENTITY -! -! 3. AVOID SENDING ZERO MOLE FRACTIONS IN ARRAY X(I). THE -! PROGRAM CAN HANDLE X(I) = 0 (IT SETS ACTIVITY COEFF TO 1) -! BUT BETTER TO AVOID IT. (note from P.Saxena.) -! (BKP NOTE: activity coefficient is not set to 1 at x = 0) -! -! 4. 3-17-98 CHANGED ALOG FUNCTION CALLS TO DLOG FOR TYPE -! COMPATABILITY -! -! Revision History: Developed by Pradeep Saxena, EPRI, 95 -! Revised by Betty Pun, AER, Nov 99 Under EPRI/CARB -! funding to comply with models-3 standards -! ***************************************************************** - - IMPLICIT NONE -! IMPLICIT REAL*8 (A-H,O-Z) - -!........Arguments and their description - -! INTEGER*4 NMOL [VALUE] -! INTEGER*4 NFUNC [VALUE] - - INTEGER*4 NMOL ! TOTAL NO. OF MOLECULAR ENTITIES IN THE MIXTURE - INTEGER*4 NFUNC ! TOTAL NO. OF FUNCTIONAL GROUPS IN THE MIXTURE - -! INTEGER*4 NU [REFERENCE] (50, 50) -! REAL*8 X [REFERENCE] (50) -! REAL*8 A [REFERENCE] (50, 50) -! REAL*8 RG [REFERENCE] (50) -! REAL*8 QG [REFERENCE] (50) -! REAL*8 Z [VALUE] -! REAL*8 TEMP [VALUE] -! REAL*8 GAMA [REFERENCE] (50) - - INTEGER*4 NU(NMOL,NFUNC) ! NU(I,J): VECTOR OF NO. OF A PARTICULAR - ! FUNCTIONAL GROUP J IN MOLECULE I - ! (FROM STOICHIOMETRY) - REAL*8 X(NMOl) ! MOLE FRACTION (or amount) OF MOLECULE I - REAL*8 A(NFUNC,NFUNC) ! INTERACTION PARAMETER FOR GROUPS J1 & J2 - REAL*8 RG(NFUNC) ! VAN DER VAAL VOLUME FOR GROUP J - REAL*8 QG(NFUNC) ! VAN DER VAAL SURFACE AREA FOR GROUP J - REAL*8 GAMA(NMOL) ! calculated activity coefficients - - - REAL*8 Z ! COORDINATION NUMBER FOR THE SOLVENT = 10 - REAL*8 TEMP ! TEMPERATURE IN DEGREES KELVIN - -! .... Parameters and their descriptions -! DIMENSION R(50),Q(50),RL(50),RX(50),QX(50),XL(50),PHI(50) -! DIMENSION THETA(50),XGM(50),XGP(50,50),THTAGP(50,50), -! $ THTAGM(50),TTSIM(50),TTSIP(50),SI(50,50),GAMMLN(50), -! $ GAMPLN(50,50),YCLN(50),YRLN(50) - - REAL*8 R(50) ! total volume (R) for each molecule - REAL*8 Q(50) ! total surface area (Q) for each molecule - REAL*8 RL(50) - REAL*8 RX(50) ! R(I) * X(I) - REAL*8 QX(50) ! Q(I) * X(I) - REAL*8 XL(50) ! RL(I) * X(I) - REAL*8 PHI(50) - REAL*8 THETA(50) - REAL*8 XGM(50) - REAL*8 XGP(50,50) - REAL*8 THTAGP(50,50) - REAL*8 THTAGM(50) - REAL*8 TTSIM(50) - REAL*8 TTSIP(50) - REAL*8 SI(50,50) - REAL*8 GAMMLN(50) - REAL*8 GAMPLN(50,50) - REAL*8 YCLN(50) - REAL*8 YRLN(50) - - REAL*8 ZHALF ! 0.5 * Z - REAL*8 ZOT1 - REAL*8 ZOT2 - REAL*8 ZOT4 - REAL*8 ZOT5 - REAL*8 ZOT6 - REAL*8 ZOT7 - REAL*8 ZOT8 - REAL*8 ZOT9 - REAL*8 ZOT10 - REAL*8 ZOT11 - REAL*8 SUMXGP - REAL*8 SUMXGM - REAL*8 SUMXL ! SUM(RL(I) * X(I)) - REAL*8 SUMJX - REAL*8 CTEMP - REAL*8 SUMTGM - REAL*8 SUMTGP - REAL*8 SUMQX ! SUM (Q(I) * X(I)) - REAL*8 SUMRX ! SUM (R(I) * X(I)) - - INTEGER I, J, J1, J2 ! loop counters - - -! Subroutine writes to error file, need to open -!swu OPEN(7,FILE='unifac.err') - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('UNIFAC',0,ZHOOK_HANDLE) - ZHALF = 0.5 * Z - -! ************************************************************** -! COMBINATORIAL PART--THIS IS FOR ORIGINAL UNIFAC -! NEED TO REVISE IT FOR MODIFIED UNIFAC -! ************************************************************** -! COMPUTE R AND Q FOR EACH MOLECULE - DO 20 I = 1,NMOL - R(I) = 0.0 - Q(I) = 0.0 -! - DO 10 J = 1, NFUNC - R(I) = R(I) + FLOAT(NU(I,J)) * RG(J) - Q(I) = Q(I) + FLOAT(NU(I,J)) * QG(J) -10 CONTINUE -! -20 CONTINUE -! WRITE(6,9900)Q,R -9900 FORMAT('Q AND R',4F12.5) -! -! - DO 30 I = 1,NMOL - RL(I) = ZHALF * (R(I) - Q(I)) - R(I) + 1. - RX(I) = R(I) * X(I) - QX(I) = Q(I) * X(I) - XL(I) = X(I) * RL(I) -30 CONTINUE -! - SUMRX = 0. - SUMQX = 0. - SUMXL = 0. - DO 50 I = 1,NMOL - SUMRX = SUMRX + RX(I) - SUMQX = SUMQX + QX(I) - SUMXL = SUMXL + XL(I) -50 CONTINUE -! - ZOT1 = 0.0 - IF (SUMRX .NE. 0.) THEN - ZOT1 = 1./SUMRX - ELSE - WRITE (7,5000) -5000 FORMAT('ZERO DIVISION IN COMBINATORIAL--SUMRX=0.') - STOP - END IF - ZOT2 = 0.0 - IF (SUMQX .NE. 0.) THEN - ZOT2 = 1./ SUMQX - ELSE - WRITE(7,5010) -5010 FORMAT('ZERO DIVISION IN COMBINATORIAL-SUMQX=0.') - STOP - END IF -! - DO 60 I = 1,NMOL - PHI(I) = RX(I) * ZOT1 - THETA(I) = QX(I) * ZOT2 -60 CONTINUE -! -! SOLVE FOR THE COMBINATORIAL LN(GAMAC) - DO 70 I = 1,NMOL - YCLN(I) = 0.0 - IF (X(I) .EQ. 0.0) THEN - GO TO 70 - ELSE - END IF - IF((PHI(I)) .NE. 0. .AND. (THETA(I)) .NE. 0.) THEN - ZOT4 = PHI(I)/X(I) - ZOT5 = THETA(I)/PHI(I) - YCLN(I) = LOG(ZOT4) + ZHALF * Q(I) * LOG(ZOT5) + RL(I) - & - & ZOT4 * SUMXL - ELSE - WRITE(7,5015) -5015 FORMAT('THETA(I) ,OR. PHI(I) .EQ. 0.0') - STOP - END IF -70 CONTINUE -! WRITE(6,9991)YCLN(1),YCLN(2) -9991 FORMAT('YCLN',2E12.5) -! -! ***************************************************************** -! NOW COMPUTE THE RESIDUAL PART--THIS IS FOR ORIGINAL -! UNIFAC. NEED TO REVISE IT FOR MODIFIED UNIFAC -! ***************************************************************** -! -! COMPUTE GROUP MOLE FRACTIONS -! -! COMPUTE TOTAL GROUP MOLES AND GROUP MOLE FRACTIONS -! IN PURE COMPOUNDS AND MIXTURE -! - SUMXGM = 0.0 - DO 150 I = 1, NMOL -! - SUMXGP = 0.0 - DO 110 J = 1, NFUNC - SUMXGM = SUMXGM + FLOAT(NU(I,J)) * X(I) - SUMXGP =SUMXGP + FLOAT(NU(I,J)) -110 CONTINUE -! -! NOW LOOP THRU TO GET MOLE FRACTIONS FOR PURE C COMPOUNDS - IF (SUMXGP .NE. 0.) THEN - ZOT6 = 1./ SUMXGP - ELSE - WRITE(7,5020) -5020 FORMAT('ZERO DIVISION IN RESIDUAL PART-SUMXGP=0.') - STOP - END IF - DO 120 J = 1, NFUNC - XGP(I,J) = FLOAT(NU(I,J)) * ZOT6 -! WRITE(6,7770)I,J,XGP(I,J) -7770 FORMAT('XGP',2I10,2E12.5) -120 CONTINUE -! -! -150 CONTINUE -! -! -! NOW WE HAVE TOTAL MOLES OF ALL GROUPS IN THE MIX -! LOOP ONCE THRU TO COMPUTE GROUP MOLE FRACTION -! IN THE MIXTURE - IF (SUMXGM .LE. 0.) THEN - WRITE(7,5030) -5030 FORMAT('ZERO DIVISION IN RESIDUAL PART-SUMXGM=0.') - STOP - ELSE - ZOT7 = 1./SUMXGM - END IF - DO 180 J = 1,NFUNC - SUMJX = 0.0 - DO 170 I=1,NMOL - SUMJX = FLOAT(NU(I,J)) * X(I) + SUMJX -170 CONTINUE - XGM(J) = SUMJX * ZOT7 -! WRITE(6,7771)J,XGM(J) -7771 FORMAT('XGM',I10,E12.5) -180 CONTINUE -! -! COMPUTE TOTAL GROUP AREA & GROUP AREA FRACTIONS -! IN PURE COMPOUNDS -! - DO 250 I = 1, NMOL - SUMTGP = 0.0 -! - DO 210 J = 1, NFUNC - SUMTGP =SUMTGP + XGP(I,J) * QG(J) -210 CONTINUE -! -! NOW LOOP THRU TO GET AREA FRACTIONS FOR PURE -! COMPOUNDS - IF (SUMTGP .NE. 0.) THEN - ZOT8 = 1./ SUMTGP - ELSE - WRITE(7,5040) -5040 FORMAT('ZERO DIVISION IN RESIDUAL PART-SUMTGP=0.') - STOP - END IF -! - DO 220 J = 1, NFUNC - THTAGP(I,J) = QG(J) * XGP(I,J)* ZOT8 -! WRITE(6,7772)I,J,THTAGP(I,J) -7772 FORMAT('THTAGP',2I10,E12.5) -220 CONTINUE -! -! -250 CONTINUE -! -! COMPUTE TOTAL GROUP AREA IN MIXTURE - SUMTGM = 0.0 - DO 260 J = 1, NFUNC - SUMTGM = SUMTGM + XGM(J) * QG(J) -260 CONTINUE -! -! NOW WE HAVE TOTAL AREA OF ALL GROUPS IN THE MIX -! LOOP ONCE THRU TO COMPUTE GROUP AREA FRACTION -! IN THE MIXTURE - IF (SUMTGM .LE. 0.) THEN - WRITE(7,5050) -5050 FORMAT('ZERO DIVISION IN RESIDUAL PART-SUMTGM=0.') - STOP - ELSE - ZOT9 = 1./SUMTGM - END IF - DO 280 J = 1,NFUNC - THTAGM(J) = QG(J) * XGM(J) * ZOT9 -! WRITE(6,7773)J,THTAGM(J) -7773 FORMAT('THTAGM',I10,E12.5) -280 CONTINUE -! -! -! -! COMPUTE SI VALUES FROM A(J1,J2) AND TEMPERATURE - IF (TEMP .NE. 0.)THEN - CTEMP = 1./TEMP - ELSE - WRITE(7,5060) -5060 FORMAT('ZERO DIVIDE IN RESIDUAL-TEMP=0.0') - STOP - END IF - DO 300 J1 = 1,NFUNC - DO 300 J2 = 1,NFUNC - SI(J1,J2) = EXP (-A(J1,J2)*CTEMP) -! WRITE(6,7774)J1,J2,SI(J1,J2) -7774 FORMAT('SI',2I10,E12.5) -300 CONTINUE -! -! -! -! NOW COMPUTE CAPITAL GAMMAS FOR PURE COMPOUNDS -! AND MIXTURES -! -! CAPITAL GAMAS FOR FUNCTIONAL GROUPS IN MIXTURES -! ARE INDEPENDENT OF MOLECULAR ENTITIES -! - DO 500 J1 = 1, NFUNC - TTSIM(J1) = 0.0 - DO 400 J2 = 1,NFUNC - TTSIM(J1) = TTSIM(J1) + THTAGM(J2) * SI(J2,J1) -400 CONTINUE -500 CONTINUE -! -! - DO 550 J1 = 1,NFUNC - ZOT10 = 0.0 - DO 520 J2 = 1,NFUNC - IF (TTSIM(J2) .NE. 0.0) THEN - ZOT10 = ZOT10 + THTAGM(J2) * SI(J1,J2)/TTSIM(J2) - ELSE - WRITE(7,5070) -5070 FORMAT('ZERO DIVIDE IN RESIDUAL TTSIM = 0.0') - STOP - END IF -520 CONTINUE - IF (TTSIM(J1) .NE. 0.0) THEN - GAMMLN(J1) = QG(J1) * (1. - LOG(TTSIM(J1)) - ZOT10) - -! WRITE(6,7775)J1,GAMMLN(J1) -7775 FORMAT('GAMMLN',I10,E12.5) - ELSE - WRITE(7,5080) -5080 FORMAT('ZERO ARGUMENT OF LOG IN RES TTSIM') - STOP - END IF -550 CONTINUE -! -! -! CAPITAL GAMAS FOR FUNCTIONAL GROUP IN PURE -! COMPOUNDS ARE DEPENDENT ON MOLECULE--SO -! WE LOOP THRU EACH MOLECULE-FUNCTIONAL GROUP -! PAIR -! - DO 900 I = 1, NMOL -! -! - DO 700 J1 = 1, NFUNC - TTSIP(J1) = 0.0 - DO 600 J2 = 1,NFUNC - TTSIP(J1) = TTSIP(J1) + THTAGP(I,J2) * SI(J2,J1) -600 CONTINUE -700 CONTINUE -! -! - DO 750 J1 = 1,NFUNC - ZOT11 = 0.0 - DO 720 J2 = 1,NFUNC - IF (TTSIP(J2) .NE. 0.0) THEN - ZOT11 = ZOT11 + THTAGP(I,J2) * SI(J1,J2)/TTSIP(J2) - ELSE - WRITE(7,5090) -5090 FORMAT('ZERO DIVIDE IN RESIDUAL TTSIP = 0.0') - STOP - END IF -720 CONTINUE - IF (TTSIP(J1) .NE. 0.0) THEN - GAMPLN(I,J1) = QG(J1) * (1. - LOG(TTSIP(J1)) - ZOT11) -! WRITE(6,7776)I,J1,GAMPLN(I,J1) -7776 FORMAT('GAMPLN',2I10,E12.5) - ELSE - WRITE(7,6000) -6000 FORMAT('ZERO ARGUMENT OF LOG IN RES TTSIP') - STOP - END IF -750 CONTINUE -! -! -900 CONTINUE -! -! COMPUTE RESIDUAL PART AND ADD TO -! COMBINATORIAL PART -! - DO 1100 I = 1, NMOL -! - YRLN(I) = 0.0 - DO 1000 J = 1,NFUNC - YRLN(I) = YRLN(I) + FLOAT(NU(I,J)) * (GAMMLN(J) - GAMPLN(I,J)) -1000 CONTINUE -! - GAMA(I) = EXP ( YCLN(I) + YRLN(I)) -! -1100 CONTINUE -! - IF (LHOOK) CALL DR_HOOK('UNIFAC',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE UNIFAC diff --git a/src/arome/chem/internals/xerrwv.F b/src/arome/chem/internals/xerrwv.F deleted file mode 100644 index 7d37eb5b538a2603853e8f8ae8546d9856f8740a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/xerrwv.F +++ /dev/null @@ -1,82 +0,0 @@ -! ######spl - SUBROUTINE XERRWV (MSG, NMES, NERR, LEVEL, NI, I1, I2, NR, R1, R2) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################################################################## - REAL R1, R2 - INTEGER NMES, NERR, LEVEL, NI, I1, I2, NR -! -!KS: changed to adapt to Fortran90 -! CHARACTER*1 MSG(NMES) - CHARACTER*(*) MSG -!----------------------------------------------------------------------- -! Subroutines XERRWV, XSETF, XSETUN, and the two function routines -! MFLGSV and LUNSAV, as given here, constitute a simplified version of -! the SLATEC error handling package. -! Written by A. C. Hindmarsh and P. N. Brown at LLNL. -! Version of 13 April, 1989. -! This version is in single precision. -! -! All arguments are input arguments. -! -! MSG = The message (character array). -! NMES = The length of MSG (number of characters). -! NERR = The error number (not used). -! LEVEL = The error level.. -! 0 or 1 means recoverable (control returns to caller). -! 2 means fatal (run is aborted--see note below). -! NI = Number of integers (0, 1, or 2) to be printed with message. -! I1,I2 = Integers to be printed, depending on NI. -! NR = Number of reals (0, 1, or 2) to be printed with message. -! R1,R2 = Reals to be printed, depending on NR. -! -! Note.. this routine is machine-dependent and specialized for use -! in limited context, in the following ways.. -! 1. The argument MSG is assumed to be of type CHARACTER, and -! the message is printed with a format of (1X,80A1). -! 2. The message is assumed to take only one line. -! Multi-line messages are generated by repeated calls. -! 3. If LEVEL = 2, control passes to the statement STOP -! to abort the run. This statement may be machine-dependent. -! 4. R1 and R2 are assumed to be in single precision and are printed -! in E21.13 format. -! -! For a different default logical unit number, change the data -! statement in function routine LUNSAV. -! For a different run-abort command, change the statement following -! statement 100 at the end. -!----------------------------------------------------------------------- -! Subroutines called by XERRWV.. None -! Function routines called by XERRWV.. MFLGSV, LUNSAV -!----------------------------------------------------------------------- -! - INTEGER I, LUNIT, LUNSAV, MESFLG, MFLGSV -! -! Get message print flag and logical unit number. ---------------------- - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('XERRWV',0,ZHOOK_HANDLE) - MESFLG = MFLGSV (0,.FALSE.) - LUNIT = LUNSAV (0,.FALSE.) - IF (MESFLG .EQ. 0) GO TO 100 -! Write the message. --------------------------------------------------- -!KS: changed to adapt to Fortran90 -! WRITE (LUNIT,10) (MSG(I),I=1,NMES) -!10 FORMAT(1X,80A1) - WRITE (LUNIT,'(A)') MSG - IF (NI .EQ. 1) WRITE (LUNIT, 20) I1 - 20 FORMAT(6X,'In above message, I1 =',I10) - IF (NI .EQ. 2) WRITE (LUNIT, 30) I1,I2 - 30 FORMAT(6X,'In above message, I1 =',I10,3X,'I2 =',I10) - IF (NR .EQ. 1) WRITE (LUNIT, 40) R1 - 40 FORMAT(6X,'In above message, R1 =',E21.13) - IF (NR .EQ. 2) WRITE (LUNIT, 50) R1,R2 - 50 FORMAT(6X,'In above, R1 =',E21.13,3X,'R2 =',E21.13) -! Abort the run if LEVEL = 2. ------------------------------------------ - 100 CONTINUE - IF (LEVEL .NE. 2) THEN - IF (LHOOK) CALL DR_HOOK('XERRWV',1,ZHOOK_HANDLE) - RETURN - ENDIF - STOP - IF (LHOOK) CALL DR_HOOK('XERRWV',1,ZHOOK_HANDLE) - ENDSUBROUTINE XERRWV diff --git a/src/arome/chem/internals/xsetf.F b/src/arome/chem/internals/xsetf.F deleted file mode 100644 index 65ae7909646681a4371c6628f4a109a3578e017b..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/xsetf.F +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - SUBROUTINE XSETF (MFLAG) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ######################## -!----------------------------------------------------------------------- -! This routine resets the print control flag MFLAG. -! -! Subroutines called by XSETF.. None -! Function routines called by XSETF.. MFLGSV -!----------------------------------------------------------------------- - INTEGER MFLAG, JUNK, MFLGSV -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('XSETF',0,ZHOOK_HANDLE) - IF (MFLAG .EQ. 0 .OR. MFLAG .EQ. 1) JUNK = MFLGSV (MFLAG,.TRUE.) - IF (LHOOK) CALL DR_HOOK('XSETF',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE XSETF diff --git a/src/arome/chem/internals/xsetun.F b/src/arome/chem/internals/xsetun.F deleted file mode 100644 index 07eda8ae2d0fcbaf8ccbcb734441d8f11db0a80a..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/xsetun.F +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - SUBROUTINE XSETUN (LUN) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ####################### -!----------------------------------------------------------------------- -! This routine resets the logical unit number for messages. -! -! Subroutines called by XSETUN.. None -! Function routines called by XSETUN.. LUNSAV -!----------------------------------------------------------------------- - INTEGER LUN, JUNK, LUNSAV -! - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('XSETUN',0,ZHOOK_HANDLE) - IF (LUN .GT. 0) JUNK = LUNSAV (LUN,.TRUE.) - IF (LHOOK) CALL DR_HOOK('XSETUN',1,ZHOOK_HANDLE) - RETURN -!----------------------- End of Subroutine XSETUN ---------------------- - ENDSUBROUTINE XSETUN diff --git a/src/arome/chem/internals/zenith.F b/src/arome/chem/internals/zenith.F deleted file mode 100644 index 3cc7dcba72b2d31efe0eff4b258703e86ee38f7e..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/zenith.F +++ /dev/null @@ -1,133 +0,0 @@ -! ######spl - SUBROUTINE zenith(lat,long,idate,ut,azim,zen) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - IMPLICIT NONE - -! input: - REAL lat,long - REAL ut - INTEGER idate - -! output: - REAL azim, zen - -! local: - REAL lbut,lzut - REAL rlt - REAL d, tz, rdecl, eqr, eqh, zpt - REAL csz, zr, caz, raz - REAL sintz, costz, sin2tz, cos2tz, sin3tz, cos3tz - - INTEGER iiyear, imth, iday, ijd - INTEGER imn(12) - - INTEGER i - -! program constants: - - REAL pi, dr - PARAMETER(pi=3.1415926535898) - PARAMETER (dr=pi/180.D0) -!_______________________________________________________________________ - - DATA imn/31,28,31,30,31,30,31,31,30,31,30,31/ -!_______________________________________________________________________ - -! convert to radians - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ZENITH',0,ZHOOK_HANDLE) - rlt = lat*dr - -! parse date - - iiyear = idate/10000 - imth = (idate - iiyear*10000)/100 - iday = idate - iiyear*10000 - imth*100 - -! identify and correct leap years - - IF (MOD(iiyear,4) .EQ. 0) THEN - imn(2) = 29 - ELSE - imn(2) = 28 - ENDIF - -! compute current (Julian) day of year IJD = 1 to 365 - - ijd = 0 - DO 30, i = 1, imth - 1 - ijd = ijd + imn(i) - 30 CONTINUE - ijd = ijd + iday - -! calculate decimal Julian day from start of year: - - d = FLOAT(ijd-1) + ut/24. - -! Equation 3.8 for "day-angle" - - tz = 2.*pi*d/365. - -! Calculate sine and cosine from addition theoremes for -! better performance; the computation of sin2tz, -! sin3tz, cos2tz and cos3tz is about 5-6 times faster -! than the evaluation of the intrinsic functions -! -! It is SIN(x+y) = SIN(x)*COS(y)+COS(x)*SIN(y) -! and COS(x+y) = COS(x)*COS(y)-SIN(x)*SIN(y) -! -! sintz = SIN(tz) costz = COS(tz) -! sin2tz = SIN(2.*tz) cos2tz = SIN(2.*tz) -! sin3tz = SIN(3.*tz) cos3tz = COS(3.*tz) -! - sintz = SIN(tz) - costz = COS(tz) - sin2tz = 2.*sintz*costz - cos2tz = costz*costz-sintz*sintz - sin3tz = sintz*cos2tz + costz*sin2tz - cos3tz = costz*cos2tz - sintz*sin2tz - -! Equation 3.7 for declination in radians - - rdecl = 0.006918 - 0.399912*costz + 0.070257*sintz & - & - 0.006758*cos2tz + 0.000907*sin2tz & - & - 0.002697*cos3tz + 0.001480*sin3tz - -! Equation 3.11 for Equation of time in radians - - eqr = 0.000075 + 0.001868*costz - 0.032077*sintz & - & - 0.014615*cos2tz - 0.040849*sin2tz - -! convert equation of time to hours: - - eqh = eqr*24./(2.*pi) - -! calculate local hour angle (hours): - - lbut = 12. - eqh - long*24./360 - -! convert to angle from UT - - lzut = 15.*(ut - lbut) - zpt = lzut*dr - -! Equation 2.4 for cosine of zenith angle - - csz = SIN(rlt)*SIN(rdecl) + COS(rlt)*COS(rdecl)*COS(zpt) - zr = ACOS(csz) - zen = zr/dr - -! calc local solar azimuth - - caz = (SIN(rdecl) - SIN(rlt)*COS(zr))/(COS(rlt)*SIN(zr)) - raz = ACOS(caz) - azim = raz/dr -!_______________________________________________________________________ - - IF (LHOOK) CALL DR_HOOK('ZENITH',1,ZHOOK_HANDLE) - RETURN - ENDSUBROUTINE zenith diff --git a/src/arome/chem/internals/zero1.F b/src/arome/chem/internals/zero1.F deleted file mode 100644 index b2b5413cb7781963432a8547b32e3c8268b2f7a5..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/zero1.F +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - subroutine zero1(x,m) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - implicit none - integer i, m - real x(m) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ZERO1',0,ZHOOK_HANDLE) - do 1 i = 1, m - x(i) = 0. - 1 continue - IF (LHOOK) CALL DR_HOOK('ZERO1',1,ZHOOK_HANDLE) - return - endsubroutine zero1 diff --git a/src/arome/chem/internals/zero2.F b/src/arome/chem/internals/zero2.F deleted file mode 100644 index 5ebc61c97a090db1e157a80ce73b09ebecf887b7..0000000000000000000000000000000000000000 --- a/src/arome/chem/internals/zero2.F +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - subroutine zero2(x,m,n) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - - implicit none -! m,n : dimensions of x, exactly as specified in the calling program - integer i, j, m, n - real x(m,n) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('ZERO2',0,ZHOOK_HANDLE) - do 1 j = 1, n - do 2 i = 1, m - x(i,j) = 0. - 2 continue - 1 continue - IF (LHOOK) CALL DR_HOOK('ZERO2',1,ZHOOK_HANDLE) - return - endsubroutine zero2 diff --git a/src/arome/chem/module/inv_levels.F90 b/src/arome/chem/module/inv_levels.F90 deleted file mode 100644 index 9eb3dd1b8b2b6f0406afe7946caa72313e3a8557..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/inv_levels.F90 +++ /dev/null @@ -1,104 +0,0 @@ -! ######spl - SUBROUTINE INV_LEVELS(KIDIA,KFDIA,KLEV,KINCR,PARRAYALD,PARRAYMNH) - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ########################################################################## -! -!!**** * - transforms from MNH (KLEV+2) arrays to -!! Aladin (KLEV) arrays and reversely -!! -!! PURPOSE -!! ------- -!! The purpose of this routine is to reshuffle Aladin (MNH) arrays to -!! MNH (Aladin) ones -!! -!!** METHOD -!! ------ -!! To go from MNH to ALADIN (KINCR=1): -!! Suppress first and last level. levels -!! To go from ALADIN to MNH (KINCR=-1): -!! Add a vertical level at top and bottom and then reverse orders -!! -!! -!! -!! EXTERNAL -!! -------- -!! None -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! -!! "derived from mpa/micro/externals/invert_vlev.f90" -!! -!! AUTHOR -!! ------ -!! Y.Seity -!! -!! MODIFICATIONS -!! ------------- -!! Original 18/09/12 -!! M. Mokhtari & A. Ambar 09/2016: adptation for dust in both version aladin and arome -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -! - -! -INTEGER, INTENT(IN) :: KINCR ! =1 if ALD->MNH and -1 if MNH->ALD -INTEGER, INTENT(IN) :: KIDIA,KFDIA -INTEGER, INTENT(IN) :: KLEV !Number of vertical levels -REAL, DIMENSION(KFDIA,KLEV), INTENT(INOUT) :: PARRAYALD ! Aladin type arry -REAL, DIMENSION(KFDIA,1,KLEV+2), INTENT(INOUT) :: PARRAYMNH ! MNH type array - -!* 0.2 Local variables: -INTEGER:: JLEV -INTEGER:: JLON -!--------------------------------------------------------------- - -!write(*,*) 'debut inv lev' - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('INV_LEVELS',0,ZHOOK_HANDLE) -IF (KINCR==1) THEN - - DO JLEV = 2 , KLEV+1 - DO JLON = KIDIA,KFDIA - PARRAYMNH(JLON,1,JLEV)= PARRAYALD(JLON,KLEV+2-JLEV) - ENDDO - ENDDO - DO JLON = KIDIA,KFDIA - PARRAYMNH(JLON,1,1)= PARRAYMNH(JLON,1,2) - PARRAYMNH(JLON,1,KLEV+2)= PARRAYMNH(JLON,1,KLEV+1) - ENDDO - - - -ElSE IF (KINCR==-1) THEN - DO JLEV = 1 ,KLEV - DO JLON = KIDIA,KFDIA - PARRAYALD(JLON,JLEV)=PARRAYMNH(JLON,1,KLEV+2-JLEV) - ENDDO - ENDDO - -ELSE - WRITE(*,*) 'VALUE FOR KINCR NE TO 1 OR -1 !!!' - STOP -ENDIF - - - -IF (LHOOK) CALL DR_HOOK('INV_LEVELS',1,ZHOOK_HANDLE) -END SUBROUTINE INV_LEVELS diff --git a/src/arome/chem/module/modd_aunifacparam.F90 b/src/arome/chem/module/modd_aunifacparam.F90 deleted file mode 100644 index 85a680484451a483a06e65016b75e741ce109871..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_aunifacparam.F90 +++ /dev/null @@ -1,60 +0,0 @@ -! ######spl -module modd_aunifacparam - - use modd_glo - - implicit none - -!/************************************************************************* - -!Include file : unifacparma.h - -!Purpose: Unifac parameters (replace file read) - -!Include dependencies: Included in Unidriver.c - -!Notes: 10 Type AQ SOA + H2O at 25 C -! (Data of Lyman, Reehl, Rosenblatt, 1990) -! -! NMOL and NFUNC need to match DIMMOL and DIMFUN in unidriver.c -! -! Parameters inputted as in the original fortran input file, therefore -! a transpose is needed in the unidriver C program for matrices A and NU -! in order to pass them properly into the Fortran unifac routine. -! -!revision History: 1. Developed by Betty Pun, AER, December, 1999 -! under CARB funding -! -!**************************************************************************/ - -!/* no. of molecules */ -integer, parameter :: NMOL_AQ = NBSP + 1 - -!/* no. of functional groups */ -integer, parameter :: NFUNC_AQ = 17 - -!/* Z = 10 is a fixed parameter in Unifac */ -real, parameter :: Z = 10.0 - -!/* group volume parameters */ -!/* dimension of RG is the same as NFUNC */ -REAL, dimension(NFUNC_AQ) :: RG_AQ - -!/* group surface area parameters */ -!/* dimension of QG is the same as NFUNC */ -REAL, DIMENSION(NFUNC_AQ) :: QG_AQ - -!/* no. of groups in each molecule*/ -INTEGER, DIMENSION(NMOL_AQ, NFUNC_AQ) :: NU_AQ - -!Interaction parameters between different groups -REAL, DIMENSION(NFUNC_AQ,NFUNC_AQ) :: A_AQ - -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_AQ,NFUNC_AQ) :: THTAGP_AQ !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_AQ) :: Q_AQ !surface parameters for molecules -REAL, DIMENSION(NMOL_AQ) :: R_AQ !volume parameter for molecules -REAL, DIMENSION(NMOL_AQ) :: L_AQ !unifac parameter for molecules - -end module modd_aunifacparam diff --git a/src/arome/chem/module/modd_binsolu.F90 b/src/arome/chem/module/modd_binsolu.F90 deleted file mode 100644 index ab45834b3ee85e63b41c164554c88530f00c4947..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_binsolu.F90 +++ /dev/null @@ -1,36 +0,0 @@ -MODULE MODD_BINSOLU - - USE MODD_GLO, only: NBSP, NBSPA, NBSPB - - IMPLICIT NONE - PUBLIC - - !************************************************************************** - !Include file: binsolu.h - ! - !Purpose: concentration of solute (micromol solute / microgram water) - ! in a binary solution at RH = Aw = 0, 0.1, 0.2, 0.3 etc - ! - !Include dependencies: used in zsr.c - ! - !Revision history: Developed by Betty Pun, December 1999, under CARB funding - ! - !***********************************************************************/ - - !/* graduation of RH scale in molalbin definition, - !starting with RH = 0 (first row), ending with 1 (last row) */ - REAL, PARAMETER :: RHgrad = 0.1 - - !/* binary solution molality (umol/ug water) corresponding to RH - ! at 10% graduations --> 11 rows */ - - !VALUES USED IN GRIFFIN'S CODE - REAL, DIMENSION(11,NBSP) :: molalbinAQ - - !VALUES USED IN PUN'S CODE - REAL, DIMENSION(11, NBSPA) :: molalbinA - -END MODULE MODD_BINSOLU - - - diff --git a/src/arome/chem/module/modd_bunifacparam.F90 b/src/arome/chem/module/modd_bunifacparam.F90 deleted file mode 100644 index e028c10e171cd7bc37580529d5c42ecfdeec0406..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_bunifacparam.F90 +++ /dev/null @@ -1,59 +0,0 @@ -! ######spl -module modd_bunifacparam - - use modd_glo - - implicit none - - !************************************************************************ - !Purpose: Unifac parameters Type B (replace file read) - - !Notes: 5 primary compounds (EPRI 99): C23H47COOH, C8H17CH=CHC7H14COOH, - ! 4-(2-propio)-syringone, C29H60, 2-carboxybenzoic acid - ! + 5 Type B compounds at 25C - ! (Data of Lyman, Reehl, Rosenblatt, 1990) - ! - ! NMOL and NFUNC need to match DIMMOL and DIMFUN (used in unidriver.c) - ! - ! Parameters inputted as in the original fortran input file, therefore - ! a transpose is needed in the unidriver C program for matrices A and NU - ! in order to pass them properly into the Fortran unifac routine. - ! - !revision History: 1. Developed by Betty Pun, AER, December, 1999 - ! under CARB funding - ! 2. Modified by Betty Pun, AER, December, 1999 - ! under CARB funding for Type B module - !************************************************************************ - - -! no. of molecules -integer, parameter :: NMOL_ORG = NBSP + NBSPOA - -! no. of functional groups -integer, parameter :: NFUNC_ORG = 16 - -!/* Z = 10 is a fixed parameter in Unifac */ -real, parameter :: Z = 10.0 - -!/* group volume parameters */ -!/* dimension of RG is the same as NFUNC */ -REAL, DIMENSION(NFUNC_ORG) :: RG_ORG - -!/* group surface area parameters */ -!/* dimension of QG is the same as NFUNC */ -REAL, DIMENSION(NFUNC_ORG) :: QG_ORG - -!/* no. of groups in each molecule*/ -INTEGER, DIMENSION(NMOL_ORG, NFUNC_ORG) :: NU_ORG - -!Interaction parameters between different groups -REAL, DIMENSION(NFUNC_ORG,NFUNC_ORG) :: A_ORG - -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_ORG,NFUNC_ORG) :: THTAGP_ORG !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_ORG) :: Q_ORG !surface parameters for molecules -REAL, DIMENSION(NMOL_ORG) :: R_ORG !volume parameter for molecules -REAL, DIMENSION(NMOL_ORG) :: L_ORG !unifac parameter for molecules - -end module modd_bunifacparam diff --git a/src/arome/chem/module/modd_ch_aero_n.F90 b/src/arome/chem/module/modd_ch_aero_n.F90 deleted file mode 100644 index fe5cc5b3b678fb472f756d631234504bf86dd8f3..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_aero_n.F90 +++ /dev/null @@ -1,176 +0,0 @@ -! ######spl - MODULE MODD_CH_AERO_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ###################### -!! -!! PURPOSE -!! ------- -!! -!! declaration of variables and types for the aerosol system -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! P. Tulet (LA) -!! -!! -!! MODIFICATIONS -!! ------------- -!! (30-01-01) P.Tulet (LA) * modifications for secondary biogenics aerosols -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE CH_AERO_t -! -!* normalisation parameters -! - REAL, DIMENSION(:,:), POINTER :: XN0=>NULL() ! Number concentration - REAL, DIMENSION(:,:), POINTER :: XRG0=>NULL() ! Geometric mean size - REAL, DIMENSION(:,:), POINTER :: XSIG0=>NULL() ! Dispersion ln(sigma) - REAL, DIMENSION(:,:,:,:), POINTER :: XN3D=>NULL() ! Number concentration - REAL, DIMENSION(:,:,:,:), POINTER :: XRG3D=>NULL() ! Geometric mean size - REAL, DIMENSION(:,:,:,:), POINTER :: XSIG3D=>NULL() ! dispersion (sigma) - REAL, DIMENSION(:,:,:,:), POINTER :: XM3D=>NULL() ! moments - REAL, DIMENSION(:,:,:,:), POINTER :: XSEDA=>NULL() ! sedimentation - REAL, DIMENSION(:,:,:), POINTER :: XVDEPAERO=>NULL() ! aerosol dry deposition - REAL, DIMENSION(:,:,:,:,:), POINTER :: XCTOTA3D=>NULL() ! Total concentration of species -! - REAL, DIMENSION(:,:,:), POINTER :: XFTEST=>NULL() - REAL, DIMENSION(:,:,:), POINTER :: XCTOTA=>NULL() ! Total concentration of species - ! (HNO3, ! H2SO4, NH3) present in - ! each of the aerosol mode (ug/m3) - REAL, DIMENSION(:,:,:), POINTER :: XCCTOT=>NULL() ! Composition of 3rd Moment (%) - REAL, DIMENSION(:,:), POINTER :: XCTOTG=>NULL() ! Total concentration of volatile - ! species (HNO3, NH3) (ug/m3) in - ! the air - REAL, DIMENSION(:,:,:,:), POINTER :: XFRAC=>NULL() ! Gas fraction into organic species - REAL, DIMENSION(:,:,:,:), POINTER :: XMI=>NULL() ! Molar mass of aerosol species (g/mol) - REAL, DIMENSION(:,:,:,:), POINTER :: XSOLORG=>NULL() ! Solubility fraction of SOA (%) - REAL, DIMENSION(:,:), POINTER :: XRHOP0=>NULL() ! Condensed phase density (kg/m3) - REAL, DIMENSION(:,:,:,:), POINTER :: XRHOP3D=>NULL() ! Condensed phase density (kg/m3) - REAL, DIMENSION(:), POINTER :: XLAMBDA=>NULL() ! Mean free path of background - ! gas molecules - REAL, DIMENSION(:), POINTER :: XMU=>NULL() ! Gas viscosity (kg/(ms)) -! -!-------------------------------------------------------------------------- -! -!* Growth parameters -! - REAL, DIMENSION(:,:), POINTER :: XOM=>NULL() - -! -!---------------------------------------------------------------------------- -! -!* Nucleation/cond. growth parameters -! - REAL, DIMENSION(:), POINTER :: XSO4RAT=>NULL() - ! Rate of gas phase production of - ! sulfuric acid (molec./cm3/s) -! -!---------------------------------------------------------------------------- -! - LOGICAL :: GSEDFIX = .TRUE. ! flag used in CH_AER_SEDIM_n routine -! -END TYPE CH_AERO_t - -TYPE(CH_AERO_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: CH_AERO_MODEL - -REAL, DIMENSION(:,:), POINTER :: XN0=>NULL() -REAL, DIMENSION(:,:), POINTER :: XRG0=>NULL() -REAL, DIMENSION(:,:), POINTER :: XSIG0=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XN3D=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XRG3D=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XSIG3D=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XM3D=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XSEDA=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XVDEPAERO=>NULL() -REAL, DIMENSION(:,:,:,:,:), POINTER :: XCTOTA3D=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XFTEST=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XCTOTA=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XCCTOT=>NULL() -REAL, DIMENSION(:,:), POINTER :: XCTOTG=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XFRAC=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XMI=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XSOLORG=>NULL() -REAL, DIMENSION(:,:), POINTER :: XRHOP0=>NULL() -REAL, DIMENSION(:,:,:,:), POINTER :: XRHOP3D=>NULL() -REAL, DIMENSION(:), POINTER :: XLAMBDA=>NULL() -REAL, DIMENSION(:), POINTER :: XMU=>NULL() -REAL, DIMENSION(:,:), POINTER :: XOM=>NULL() -REAL, DIMENSION(:), POINTER :: XSO4RAT=>NULL() -LOGICAL, POINTER :: GSEDFIX=>NULL() - -CONTAINS - -SUBROUTINE CH_AERO_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_CH_AERO_N:CH_AERO_GOTO_MODEL',0,ZHOOK_HANDLE) -CH_AERO_MODEL(KFROM)%XN0=>XN0 -CH_AERO_MODEL(KFROM)%XRG0=>XRG0 -CH_AERO_MODEL(KFROM)%XSIG0=>XSIG0 -CH_AERO_MODEL(KFROM)%XN3D=>XN3D -CH_AERO_MODEL(KFROM)%XRG3D=>XRG3D -CH_AERO_MODEL(KFROM)%XSIG3D=>XSIG3D -CH_AERO_MODEL(KFROM)%XM3D=>XM3D -CH_AERO_MODEL(KFROM)%XSEDA=>XSEDA -CH_AERO_MODEL(KFROM)%XVDEPAERO=>XVDEPAERO -CH_AERO_MODEL(KFROM)%XCTOTA3D=>XCTOTA3D -CH_AERO_MODEL(KFROM)%XFTEST=>XFTEST -CH_AERO_MODEL(KFROM)%XCTOTA=>XCTOTA -CH_AERO_MODEL(KFROM)%XCCTOT=>XCCTOT -CH_AERO_MODEL(KFROM)%XCTOTG=>XCTOTG -CH_AERO_MODEL(KFROM)%XFRAC=>XFRAC -CH_AERO_MODEL(KFROM)%XMI=>XMI -CH_AERO_MODEL(KFROM)%XSOLORG=>XSOLORG -CH_AERO_MODEL(KFROM)%XRHOP0=>XRHOP0 -CH_AERO_MODEL(KFROM)%XRHOP3D=>XRHOP3D -CH_AERO_MODEL(KFROM)%XLAMBDA=>XLAMBDA -CH_AERO_MODEL(KFROM)%XMU=>XMU -CH_AERO_MODEL(KFROM)%XOM=>XOM -CH_AERO_MODEL(KFROM)%XSO4RAT=>XSO4RAT -! -! Current model is set to model KTO -XN0=>CH_AERO_MODEL(KTO)%XN0 -XRG0=>CH_AERO_MODEL(KTO)%XRG0 -XSIG0=>CH_AERO_MODEL(KTO)%XSIG0 -XN3D=>CH_AERO_MODEL(KTO)%XN3D -XRG3D=>CH_AERO_MODEL(KTO)%XRG3D -XSIG3D=>CH_AERO_MODEL(KTO)%XSIG3D -XM3D=>CH_AERO_MODEL(KTO)%XM3D -XSEDA=>CH_AERO_MODEL(KTO)%XSEDA -XVDEPAERO=>CH_AERO_MODEL(KTO)%XVDEPAERO -XCTOTA3D=>CH_AERO_MODEL(KTO)%XCTOTA3D -XFTEST=>CH_AERO_MODEL(KTO)%XFTEST -XCTOTA=>CH_AERO_MODEL(KTO)%XCTOTA -XCCTOT=>CH_AERO_MODEL(KTO)%XCCTOT -XCTOTG=>CH_AERO_MODEL(KTO)%XCTOTG -XFRAC=>CH_AERO_MODEL(KTO)%XFRAC -XMI=>CH_AERO_MODEL(KTO)%XMI -XSOLORG=>CH_AERO_MODEL(KTO)%XSOLORG -XRHOP0=>CH_AERO_MODEL(KTO)%XRHOP0 -XRHOP3D=>CH_AERO_MODEL(KTO)%XRHOP3D -XLAMBDA=>CH_AERO_MODEL(KTO)%XLAMBDA -XMU=>CH_AERO_MODEL(KTO)%XMU -XOM=>CH_AERO_MODEL(KTO)%XOM -XSO4RAT=>CH_AERO_MODEL(KTO)%XSO4RAT -GSEDFIX=>CH_AERO_MODEL(KTO)%GSEDFIX -IF (LHOOK) CALL DR_HOOK('MODD_CH_AERO_N:CH_AERO_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_AERO_GOTO_MODEL - -END MODULE MODD_CH_AERO_n diff --git a/src/arome/chem/module/modd_ch_aerosol.F90 b/src/arome/chem/module/modd_ch_aerosol.F90 deleted file mode 100644 index 051a69409b35af666d3f7bbb644a775d27e3fa61..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_aerosol.F90 +++ /dev/null @@ -1,264 +0,0 @@ -! ######spl - MODULE MODD_CH_AEROSOL -!! ###################### -!! -!! PURPOSE -!! ------- -!! -!! declaration of variables and types for the aerosol system -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! Vincent Crassier (LA) -!! -!! -!! MODIFICATIONS -!! ------------- -!! (30-01-01) P.Tulet (LA) * modifications for secondary biogenics aerosols -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -USE MODD_CST, ONLY : & - XPI & !Definition of pi - ,XBOLTZ & ! Boltzman constant - ,XAVOGADRO & ![molec/mol] avogadros number - ,XG & ! Gravity constant - ,XP00 & ! Reference pressure - ,XMD & ![kg/mol] molar weight of air - ,XRD & ! Gaz constant for dry air - ,XCPD ! Cpd (dry air) -! -IMPLICIT NONE -! -! aerosol mode parameters -! -LOGICAL :: LORILAM = .FALSE. ! switch to active aerosols fluxes -LOGICAL :: LINITPM = .TRUE. ! switch to initialize BC -LOGICAL :: LAERINIT = .FALSE. ! switch to initialize aerosols - - ! and OC from CO concentration (real_case) -INTEGER, PARAMETER :: JPMODE=2 ! number of modes -INTEGER, PARAMETER :: JPIN=JPMODE*3 ! number of differential equations -INTEGER, SAVE, DIMENSION(JPMODE) :: NM0,NM3,NM6 ! index of the moments in arrays -! -!* indices of Aerosol chemical parameters -! -INTEGER, PARAMETER :: NSP=4 ! number of chemical species - ! for ARES or isorropia NSP=4 these are -INTEGER, PARAMETER :: JP_AER_SO4 = 1 -INTEGER, PARAMETER :: JP_AER_NO3 = 2 -INTEGER, PARAMETER :: JP_AER_NH3 = 3 -INTEGER, PARAMETER :: JP_AER_H2O = 4 -! -INTEGER, PARAMETER :: JP_AER_SO4g = JP_AER_SO4 -INTEGER, PARAMETER :: JP_AER_NO3g = JP_AER_NO3 -INTEGER, PARAMETER :: JP_AER_NH3g = JP_AER_NH3 -! -INTEGER, PARAMETER :: NCARB=2 ! number of chemically inert species - ! (like black carbon) -INTEGER, PARAMETER :: JP_AER_OC = 5 -INTEGER, PARAMETER :: JP_AER_BC = 6 - -INTEGER :: NSOA = 10 ! number of condensable species that may form - ! secondary aerosols -INTEGER :: NM6_AER = 2 ! number of condensable species that may form - ! secondary aerosols -INTEGER :: JP_AER_SOA1 = 7 -INTEGER :: JP_AER_SOA2 = 8 -INTEGER :: JP_AER_SOA3 = 9 -INTEGER :: JP_AER_SOA4 = 10 -INTEGER :: JP_AER_SOA5 = 11 -INTEGER :: JP_AER_SOA6 = 12 -INTEGER :: JP_AER_SOA7 = 13 -INTEGER :: JP_AER_SOA8 = 14 -INTEGER :: JP_AER_SOA9 = 15 -INTEGER :: JP_AER_SOA10 = 16 - -CHARACTER(LEN=32),DIMENSION(:), ALLOCATABLE :: CAERONAMES - -INTEGER :: JP_CH_SO4I = 1 -INTEGER :: JP_CH_SO4J = 2 -INTEGER :: JP_CH_NO3I = 3 -INTEGER :: JP_CH_NO3J = 4 -INTEGER :: JP_CH_NH3I = 5 -INTEGER :: JP_CH_NH3J = 6 -INTEGER :: JP_CH_H2OI = 7 -INTEGER :: JP_CH_H2OJ = 8 -INTEGER :: JP_CH_OCI = 9 -INTEGER :: JP_CH_OCJ = 10 -INTEGER :: JP_CH_BCI = 11 -INTEGER :: JP_CH_BCJ = 12 -INTEGER :: JP_CH_SOA1I = 13 -INTEGER :: JP_CH_SOA1J = 14 -INTEGER :: JP_CH_SOA2I = 15 -INTEGER :: JP_CH_SOA2J = 16 -INTEGER :: JP_CH_SOA3I = 17 -INTEGER :: JP_CH_SOA3J = 18 -INTEGER :: JP_CH_SOA4I = 19 -INTEGER :: JP_CH_SOA4J = 20 -INTEGER :: JP_CH_SOA5I = 21 -INTEGER :: JP_CH_SOA5J = 22 -INTEGER :: JP_CH_SOA6I = 23 -INTEGER :: JP_CH_SOA6J = 24 -INTEGER :: JP_CH_SOA7I = 25 -INTEGER :: JP_CH_SOA7J = 26 -INTEGER :: JP_CH_SOA8I = 27 -INTEGER :: JP_CH_SOA8J = 28 -INTEGER :: JP_CH_SOA9I = 29 -INTEGER :: JP_CH_SOA9J = 30 -INTEGER :: JP_CH_SOA10I = 31 -INTEGER :: JP_CH_SOA10J = 32 -INTEGER :: JP_CH_M0I = 33 -INTEGER :: JP_CH_M0J = 34 -INTEGER :: JP_CH_M6I = 35 -INTEGER :: JP_CH_M6J = 36 - -!INTEGER, PARAMETER :: JPNN=NSP+NSOA+NCARB - -! Index for gas species which interact with aerosols -INTEGER :: JP_CH_HNO3, JP_CH_H2SO4, JP_CH_NH3, JP_CH_O3, JP_CH_CO, & - JP_CH_URG1, JP_CH_URG2, JP_CH_RPG2, JP_CH_RP18, JP_CH_UR26,& - JP_CH_RPG3, JP_CH_URG4, JP_CH_UR8, JP_CH_UR17, JP_CH_UR7, JP_CH_URG6, & - JP_CH_ARAC, JP_CH_URG7, JP_CH_RPG7, JP_CH_RPR7, JP_CH_URG8, JP_CH_UR19, & - JP_CH_URG9, JP_CH_URG10, JP_CH_PAN8, JP_CH_UR22, JP_CH_RPR4, JP_CH_AP7, & - JP_CH_RPR3, JP_CH_UR21, JP_CH_UR28, JP_CH_UR29, JP_CH_UR30, & - JP_CH_RPR9, JP_CH_RP12, JP_CH_UR3, JP_CH_UR23, JP_CH_UR31, JP_CH_AP1, & - JP_CH_AP6, JP_CH_ADAC, JP_CH_UR2, JP_CH_UR14, JP_CH_UR27, JP_CH_RP14, & - JP_CH_RP19, JP_CH_UR11, JP_CH_UR15, JP_CH_AP10, JP_CH_UR20, JP_CH_UR34, & - JP_CH_AP11, JP_CH_AP12, JP_CH_UR5, JP_CH_UR6, JP_CH_AP8, JP_CH_RP17,& - JP_CH_RP13 - -INTEGER :: JP_CH_H2O2, JP_CH_SO2, JP_CH_SO42M -! -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: XRHOI ! volumar mass of species i (kg/m3) - -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: XFAC ! conversion factor um3/m3 -> ug/cm3 - ! for each chemical species - - -! Molar mass of each aerosols parents (in kg/mol) -REAL, PARAMETER :: XHNO3=63.01287 -REAL, PARAMETER :: XNH3 =17.03061 -REAL, PARAMETER :: XURG1=88. -REAL, PARAMETER :: XURG2=1.76981E+02 -REAL, PARAMETER :: XRPG2=1.68000E+02 -REAL, PARAMETER :: XRP18=1.84000E+02 -REAL, PARAMETER :: XRPG3=1.53772E+02 -REAL, PARAMETER :: XURG4=1.95867E+02 -REAL, PARAMETER :: XUR17=1.72000E+02 -REAL, PARAMETER :: XRPR3=1.86000E+02 -REAL, PARAMETER :: XAP7 =2.33000E+02 -REAL, PARAMETER :: XURG6=1.89153E+02 -REAL, PARAMETER :: XUR22=2.12000E+02 -REAL, PARAMETER :: XURG7=1.56781E+02 -REAL, PARAMETER :: XADAC=1.56781E+02 -REAL, PARAMETER :: XRPR4=1.67000E+02 -REAL, PARAMETER :: XRPR7=1.50000E+02 -REAL, PARAMETER :: XRPG7=1.96059E+02 -REAL, PARAMETER :: XURG8=1.73777E+02 -REAL, PARAMETER :: XURG9=2.61676E+02 -REAL, PARAMETER :: XUR26=1.68000E+02 -REAL, PARAMETER :: XURG10=2.14834E+02 -REAL, PARAMETER :: XUR7=1.68000E+02 -REAL, PARAMETER :: XUR8=1.84000E+02 -REAL, PARAMETER :: XPAN8=2.63000E+02 -REAL, PARAMETER :: XARAC=1.66000E+02 -REAL, PARAMETER :: XUR19=1.70000E+02 -REAL, PARAMETER :: XUR21=88. -REAL, PARAMETER :: XUR28=90. -REAL, PARAMETER :: XUR29=186.0 -REAL, PARAMETER :: XUR30=200.0 -REAL, PARAMETER :: XRP13=168. -REAL, PARAMETER :: XRP17=170.0 -REAL, PARAMETER :: XRPR9=154.0 -REAL, PARAMETER :: XRP12=152.0 -REAL, PARAMETER :: XUR3=202.0 -REAL, PARAMETER :: XUR23=144.0 -REAL, PARAMETER :: XUR31=220.0 -REAL, PARAMETER :: XAP1=183.0 -REAL, PARAMETER :: XAP6=197.0 -REAL, PARAMETER :: XRP14=188.0 -REAL, PARAMETER :: XRP19=204.0 -REAL, PARAMETER :: XUR2=152.0 -REAL, PARAMETER :: XUR14=181.0 -REAL, PARAMETER :: XUR27=164.0 -REAL, PARAMETER :: XUR11=172.0 -REAL, PARAMETER :: XUR15=201.0 -REAL, PARAMETER :: XAP10=217.0 -REAL, PARAMETER :: XUR20=256.0 -REAL, PARAMETER :: XUR34=240.0 -REAL, PARAMETER :: XAP11=287.0 -REAL, PARAMETER :: XAP12=303.0 -REAL, PARAMETER :: XUR5=170.0 -REAL, PARAMETER :: XUR6=170.0 -REAL, PARAMETER :: XAP8=215.0 - - -!---------------------------------------------------------------------------- -! -REAL, SAVE, DIMENSION(:,:), ALLOCATABLE :: XSURF -REAL, SAVE, DIMENSION(:,:), ALLOCATABLE :: XDP - -! Declaration for the Bessagnet tabulation -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: rhi -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: tempi -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: zsu, znh, zni -REAL, SAVE, DIMENSION(:,:,:,:,:,:), ALLOCATABLE :: zf - -! Declaration of the neuronal coefficients - -! .. weights -REAL, SAVE, DIMENSION(100,100) :: W1IJA,W1JKA,W2IJA,W2JKA -REAL, SAVE, DIMENSION(100,100) :: W1IJB,W1JKB,W2IJB,W2JKB -REAL, SAVE, DIMENSION(100,100) :: W1IJC,W1JKC,W2IJC,W2JKC -REAL, SAVE, DIMENSION(2,100) :: X1MINA,X1MAXA,X1MODA,X2MINA,X2MAXA,X2MODA -REAL, SAVE, DIMENSION(2,100) :: X1MINB,X1MAXB,X1MODB,X2MINB,X2MAXB,X2MODB -REAL, SAVE, DIMENSION(2,100) :: X1MINC,X1MAXC,X1MODC,X2MINC,X2MAXC,X2MODC - -! .. counters and indices -INTEGER, SAVE :: I1IA,J1JA,K1KA,I2IA,J2JA,K2KA -INTEGER, SAVE :: I1IB,J1JB,K1KB,I2IB,J2JB,K2KB -INTEGER, SAVE :: I1IC,J1JC,K1KC,I2IC,J2JC,K2KC - -!---------------------------------------------------------------------------- -! aerosol lognormal parameterization -CHARACTER(LEN=4) :: CRGUNIT = 'NUMB' ! type of log-normal geometric mean radius -! !given in namelist (mass on number) - -LOGICAL :: LVARSIGI = .FALSE. ! switch to active pronostic dispersion for I mode -LOGICAL :: LVARSIGJ = .FALSE. ! switch to active pronostic dispersion for J mode -LOGICAL :: LVARSIGK = .FALSE. ! switch to active pronostic dispersion for J mode -LOGICAL :: LHETEROSO4 = .FALSE. ! switch to active sulfates heteronegeous - ! production -LOGICAL :: LRGFIX = .FALSE. ! switch to active aerosol sedimentation -LOGICAL :: LSEDIMAERO = .FALSE. ! switch to active aerosol sedimentation -REAL :: XN0IMIN = 10. ! minimum particule number value for I mode -REAL :: XN0JMIN = 1. ! minimum particule number value for J mode -REAL :: XINIRADIUSI= 0.05 ! mean radius initialization for I mode (um) -REAL :: XINIRADIUSJ= 0.2 ! mean radius initialization for J mode (um) -REAL :: XINISIGI = 1.80 ! dispersion initialization for I mode -REAL :: XINISIGJ = 2.00 ! dispersion initialization for J mode -REAL :: XSIGIMIN = 1.20 ! minimum dispersion value for I mode -REAL :: XSIGJMIN = 1.20 ! minimum dispersion value for J mode -REAL :: XSIGIMAX = 3.60 ! maximum dispersion value for I mode -REAL :: XSIGJMAX = 3.60 ! maximum dispersion value for J mode -REAL :: XCOEFRADIMAX = 10. ! maximum increasement for Rg mode I -REAL :: XCOEFRADIMIN = 0.1 ! maximum decreasement for Rg mode I -REAL :: XCOEFRADJMAX = 10. ! maximum increasement for Rg mode J -REAL :: XCOEFRADJMIN = 0.1 ! maximum decreasement for Rg mode J -CHARACTER(LEN=5) :: CMINERAL = "NONE" ! mineral equilibrium scheme -CHARACTER(LEN=5) :: CORGANIC = "NONE" ! organic equilibrium scheme -CHARACTER(LEN=80) :: CNUCLEATION = "NONE" ! sulfates nucleation scheme -! -! -END MODULE MODD_CH_AEROSOL diff --git a/src/arome/chem/module/modd_ch_aerosol0d.F90 b/src/arome/chem/module/modd_ch_aerosol0d.F90 deleted file mode 100644 index 3bf65ca9c54739a10c65e3e21b2a05db604a6b66..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_aerosol0d.F90 +++ /dev/null @@ -1,130 +0,0 @@ -! ######spl - MODULE MODD_CH_AEROSOL0D -!! ###################### -!! -!! PURPOSE -!! ------- -!! -!! declaration of variables and types for the aerosol system in the -!! surface meteo-france scheme -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! P. Tulet (CNRM) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -IMPLICIT NONE -! -! aerosol mode parameters -LOGICAL :: LCH_AERO_FLUX = .FALSE. ! switch to active pronostic aerosols -! -LOGICAL :: LCO2PM = .FALSE. ! switch to active primary emission derived from CO - -LOGICAL :: LVARSIGI = .FALSE. ! switch to active pronostic dispersion for I mode -LOGICAL :: LVARSIGJ = .FALSE. ! switch to active pronostic dispersion for J mode - -! -INTEGER, PARAMETER :: JPMODE=2 ! number of modes -INTEGER, PARAMETER :: JPIN=JPMODE*3 ! number of differential equations -INTEGER, SAVE, DIMENSION(JPMODE) :: NM0,NM3,NM6 ! index of the moments in arrays -! -!* indices of Aerosol chemical parameters -! -INTEGER, PARAMETER :: NSP=4 ! number of chemical species - ! for ARES or isorropia NSP=4 these are -INTEGER, PARAMETER :: JP_AER_SO4 = 1 -INTEGER, PARAMETER :: JP_AER_NO3 = 2 -INTEGER, PARAMETER :: JP_AER_NH3 = 3 -INTEGER, PARAMETER :: JP_AER_H2O = 4 -! -INTEGER, PARAMETER :: JP_AER_SO4g = JP_AER_SO4 -INTEGER, PARAMETER :: JP_AER_NO3g = JP_AER_NO3 -INTEGER, PARAMETER :: JP_AER_NH3g = JP_AER_NH3 -! -INTEGER, PARAMETER :: NCARB=2 ! number of chemically inert species - ! (like black carbon) -INTEGER, PARAMETER :: JP_AER_OC = 5 -INTEGER, PARAMETER :: JP_AER_BC = 6 - -INTEGER, PARAMETER :: NSOA=10 ! number of condensable species that may form - ! secondary aerosols -INTEGER, PARAMETER :: JP_AER_SOA1 = 7 -INTEGER, PARAMETER :: JP_AER_SOA2 = 8 -INTEGER, PARAMETER :: JP_AER_SOA3 = 9 -INTEGER, PARAMETER :: JP_AER_SOA4 = 10 -INTEGER, PARAMETER :: JP_AER_SOA5 = 11 -INTEGER, PARAMETER :: JP_AER_SOA6 = 12 -INTEGER, PARAMETER :: JP_AER_SOA7 = 13 -INTEGER, PARAMETER :: JP_AER_SOA8 = 14 -INTEGER, PARAMETER :: JP_AER_SOA9 = 15 -INTEGER, PARAMETER :: JP_AER_SOA10 = 16 - ! Dusts -INTEGER, PARAMETER :: JP_AER_DUST = 17 -! switch to use Pun et al. (if equal -! to 1) -INTEGER, PARAMETER :: JP_AER_SOA = 1 ! -! to compile ch_monitorn (to be change if use RACM or ReLAS) -INTEGER, PARAMETER :: JP_AER_SOAA = 1 ! -INTEGER, PARAMETER :: JP_AER_SOAB = 1 ! -INTEGER, PARAMETER :: JP_SOAAi = 1 ! -INTEGER, PARAMETER :: JP_SOAAj = 1 ! -INTEGER, PARAMETER :: JP_SOABi = 1 ! -INTEGER, PARAMETER :: JP_SOABj = 1 ! - -INTEGER, PARAMETER :: JPNN=NSP+NSOA+NCARB+1 - -INTEGER :: JP_CH_SO4i, JP_CH_SO4j, & - JP_CH_NO3i, JP_CH_NO3j, JP_CH_NH3i, JP_CH_NH3j, & - JP_CH_BCi, JP_CH_BCj, JP_CH_OCi, JP_CH_OCj, & - JP_CH_H2Oi, JP_CH_H2Oj, JP_CH_DUST, JP_CH_M0i, & - JP_CH_M0j, JP_CH_M6i, JP_CH_M6j -! -REAL, SAVE, DIMENSION(JPNN) :: XMI ! molecular mass of species i (g/mol) - -REAL, SAVE, DIMENSION(JPNN) :: XRHOI ! volumar mass of species i (kg/m3) - -REAL, SAVE, DIMENSION(JPNN) :: XFAC ! conversion factor um3/m3 -> ug/cm3 - ! for each chemical species -! -REAL :: XEMISRADIUSI = 0.01 ! mean radius of primary aerosol - ! emission for I mode -REAL :: XEMISRADIUSJ = 0.5 ! mean radius of primary aerosol - ! emission for J mode -REAL :: XEMISRADIUSK = 4. ! mean radius of primary aerosol - ! emission for K mode -REAL :: XEMISSIGI = 1.60 ! dispersion of primary aerosol - ! emission for I mode -REAL :: XEMISSIGJ = 1.60 ! dispersion of primary aerosol - ! emission for J mode -REAL :: XEMISSIGK = 1.60 ! dispersion of primary aerosol - ! emission for K mode -CHARACTER*4 :: CRGUNIT = 'MASS' ! type of log-normal geometric mean radius given -! ! in nameliste (mass on number) - - - -!---------------------------------------------------------------------------- -! -!* constants -! -REAL, PARAMETER :: XPBOLTZ=1.380658e-23 ! Boltzmann constant (J/K) -REAL, PARAMETER :: XAVOGADRO=6.0221367E+23 ! Avogadro constant -REAL, PARAMETER :: XMD = 28.9644E-3 ! Air mass molarity - -! -END MODULE MODD_CH_AEROSOL0D diff --git a/src/arome/chem/module/modd_ch_const.F90 b/src/arome/chem/module/modd_ch_const.F90 deleted file mode 100644 index 71af6bc9f8e9fdd795d065ca846f5bd0313582a6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_const.F90 +++ /dev/null @@ -1,41 +0,0 @@ -! ######spl - MODULE MODD_CH_CONST -! ###################### -! -!! -!! PURPOSE -!! ------- -! -! -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -! -!! AUTHOR -!! ------ -!! P. Tulet (16/01/01) *Meteo France* -!! -!! MODIFICATIONS -!! ------------- -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! - -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: XSREALMASSMOLVAL ! final molecular - ! diffusivity value -REAL, SAVE, DIMENSION(:), ALLOCATABLE :: XSREALREACTVAL ! final chemical - ! reactivity factor - ! with biologie -REAL, SAVE, DIMENSION(:,:), ALLOCATABLE :: XSREALHENRYVAL ! chemical Henry - ! constant value -REAL, SAVE :: XCONVERSION ! emission unit - ! conversion factor -! -END MODULE MODD_CH_CONST diff --git a/src/arome/chem/module/modd_ch_dep_n.F90 b/src/arome/chem/module/modd_ch_dep_n.F90 deleted file mode 100644 index d33885a13eeebb104b16311faa26f4ec3ee5af09..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_dep_n.F90 +++ /dev/null @@ -1,95 +0,0 @@ -! ######spl - MODULE MODD_CH_DEP_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################### -! -!! -!! PURPOSE -!! ------- -! -! -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -! -!! AUTHOR -!! ------ -!! P. Tulet *Meteo France* -!! -!! MODIFICATIONS -!! ------------- -!! 16/01/01 (P. Tulet) restructured -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE CH_DEP_t -! - REAL :: XRCSANDSO2 ! SO2 sand surface resistance - REAL :: XRCSANDO3 ! O3 sand surface resistance - REAL :: XRCCLAYSO2 ! SO2 clay surface resistance - REAL :: XRCCLAYO3 ! O3 clay surface resistance - REAL :: XRCSNOWSO2 ! SO2 snow surface resistance - REAL :: XRCSNOWO3 ! O3 snow surface resistance - REAL :: XLANDREXT ! land type for external leaf resistance - REAL, DIMENSION(:,:), POINTER :: XDIFFMOLH2O=>NULL() ! H2O molecular diffusivity - - REAL, DIMENSION(:,:,:), POINTER :: XHENRYVALCOR=>NULL() ! temperature correction for - ! chemical Henry constant value - REAL, DIMENSION(:,:,:), POINTER :: XVDEPT=>NULL() ! final dry deposition velocity at t -! -! -! - - -END TYPE CH_DEP_t - -TYPE(CH_DEP_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: CH_DEP_MODEL - -REAL, POINTER :: XRCSANDSO2=>NULL() -REAL, POINTER :: XRCSANDO3=>NULL() -REAL, POINTER :: XRCCLAYSO2=>NULL() -REAL, POINTER :: XRCCLAYO3=>NULL() -REAL, POINTER :: XRCSNOWSO2=>NULL() -REAL, POINTER :: XRCSNOWO3=>NULL() -REAL, POINTER :: XLANDREXT=>NULL() -REAL, DIMENSION(:,:), POINTER :: XDIFFMOLH2O=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XHENRYVALCOR=>NULL() -REAL, DIMENSION(:,:,:), POINTER :: XVDEPT=>NULL() - -CONTAINS - -SUBROUTINE CH_DEP_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_CH_DEP_N:CH_DEP_GOTO_MODEL',0,ZHOOK_HANDLE) -CH_DEP_MODEL(KFROM)%XDIFFMOLH2O=>XDIFFMOLH2O -CH_DEP_MODEL(KFROM)%XHENRYVALCOR=>XHENRYVALCOR -CH_DEP_MODEL(KFROM)%XVDEPT=>XVDEPT -! -! Current model is set to model KTO -XRCSANDSO2=>CH_DEP_MODEL(KTO)%XRCSANDSO2 -XRCSANDO3=>CH_DEP_MODEL(KTO)%XRCSANDO3 -XRCCLAYSO2=>CH_DEP_MODEL(KTO)%XRCCLAYSO2 -XRCCLAYO3=>CH_DEP_MODEL(KTO)%XRCCLAYO3 -XRCSNOWSO2=>CH_DEP_MODEL(KTO)%XRCSNOWSO2 -XRCSNOWO3=>CH_DEP_MODEL(KTO)%XRCSNOWO3 -XLANDREXT=>CH_DEP_MODEL(KTO)%XLANDREXT -XDIFFMOLH2O=>CH_DEP_MODEL(KTO)%XDIFFMOLH2O -XHENRYVALCOR=>CH_DEP_MODEL(KTO)%XHENRYVALCOR -XVDEPT=>CH_DEP_MODEL(KTO)%XVDEPT - -IF (LHOOK) CALL DR_HOOK('MODD_CH_DEP_N:CH_DEP_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_DEP_GOTO_MODEL - -END MODULE MODD_CH_DEP_n diff --git a/src/arome/chem/module/modd_ch_init_jvalues.F90 b/src/arome/chem/module/modd_ch_init_jvalues.F90 deleted file mode 100644 index 9107e71144d78b2ea338e330d10bbaf06703ef9b..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_init_jvalues.F90 +++ /dev/null @@ -1,29 +0,0 @@ -! ######spl - MODULE MODD_CH_INIT_JVALUES -!! ########################### -!! -!!*** *MODD_CH_INIT_JVALUES* -!! -!! PURPOSE -!! ------- -!! Store J values variables common to all models -!! (i.e. before spatial and temporal interpolation) -!! XJDATA is calculated at the first call of model 1. -!! XJDATA is calculated for a discrete number -!! of solar zenith angle, altitude and albedo. -! -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -SAVE -! -REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: XJDATA -INTEGER :: NSZA_INCR = 99 + 1 -REAL, ALLOCATABLE, DIMENSION(:) :: XSZA_JVAL -INTEGER, PARAMETER :: NZZ_JVAL = 30 + 1 -REAL, ALLOCATABLE, DIMENSION(:) :: XZZ_JVAL -INTEGER, PARAMETER :: JPJVMAX = 21 -INTEGER :: NBALB = 10 -! -END MODULE MODD_CH_INIT_JVALUES diff --git a/src/arome/chem/module/modd_ch_jvalues_n.F90 b/src/arome/chem/module/modd_ch_jvalues_n.F90 deleted file mode 100644 index 69c676cee08667996d9c17d667e72ed570435b8b..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_jvalues_n.F90 +++ /dev/null @@ -1,67 +0,0 @@ -! ######spl - MODULE MODD_CH_JVALUES_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################## -!! -!!*** *MODD_CH_JVALUES$n* -!! -!! PURPOSE -!! ------- -! This module contains the photolysis rates (JVALUES) calculated -! by the radiative transfer code TUV39 -!! -!!** AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -! -!! MODIFICATIONS -!! ------------- -!! Original 05/03/97 -!! 14/02/99 (K. Suhre) add surface albedo and column dobson to parameter list -!! 16/02/99 (K. Suhre) add offline option -!! 20/01/01 (C. Mari) 3D interpolation of J values -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!----------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ----------------- -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE CH_JVALUES_t -! - REAL, DIMENSION(:,:,:,:), POINTER :: XJVALUES=>NULL() - ! photolysis rates after time interpolation - LOGICAL :: GSFIRSTCALL = .TRUE. ! flag for initialization on first call -! -!----------------------------------------------------------------------------- -END TYPE CH_JVALUES_t - -TYPE(CH_JVALUES_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: CH_JVALUES_MODEL - -REAL, POINTER, DIMENSION(:,:,:,:) :: XJVALUES=>NULL() -LOGICAL, POINTER :: GSFIRSTCALL=>NULL() - -CONTAINS - -SUBROUTINE CH_JVALUES_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_CH_JVALUES_N:CH_JVALUES_GOTO_MODEL',0,ZHOOK_HANDLE) -CH_JVALUES_MODEL(KFROM)%XJVALUES=>XJVALUES -! -! Current model is set to model KTO -XJVALUES=>CH_JVALUES_MODEL(KTO)%XJVALUES -GSFIRSTCALL=>CH_JVALUES_MODEL(KTO)%GSFIRSTCALL - -IF (LHOOK) CALL DR_HOOK('MODD_CH_JVALUES_N:CH_JVALUES_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_JVALUES_GOTO_MODEL - -END MODULE MODD_CH_JVALUES_n diff --git a/src/arome/chem/module/modd_ch_m9.F90 b/src/arome/chem/module/modd_ch_m9.F90 deleted file mode 100644 index 1fba22ea3d95519400c6b7695992079d85ea8323..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_m9.F90 +++ /dev/null @@ -1,54 +0,0 @@ -! ######spl - MODULE MODD_CH_M9 -!! ################# -!! -!! This code is the MESONH interface to constant and variables defined in module -!! MODD_CH_M9_SCHEME that is proper to one chemical scheme. This interface should -!! reduce the source dependances and then improve the compilation time. -!! -!!*** *MODD_CH_M9* -!! -!! PURPOSE -!! ------- -! definition of variables and constant for the chemical core system -!! -!!** METHOD -!! ------ -!! The constants NEQ and NREAC are duplicated here in order to avoid -!! decouple the CCS from the other modules of MNHC. -!! -!! BEWARE : you must call the procedure 'CH_INIT_SCHEME' before using any -!! variables from this module. -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Didier Gazen (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 19/10/03 -!! -!!---------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -IMPLICIT NONE -! -INTEGER :: NEQ ! number of prognostic chemical species -INTEGER :: NREAC ! number of chemical reactions -INTEGER :: NMETEOVARS ! number of meteorological variables -INTEGER :: NNONZEROTERMS ! number of non-zero terms returned by CH_TERMS -! -CHARACTER(LEN=32), DIMENSION(:), POINTER :: CNAMES=>NULL() ! names of the species -CHARACTER(LEN=32), DIMENSION(:), POINTER :: CREACS=>NULL() ! the reaction rate names -CHARACTER(LEN=256), DIMENSION(:), POINTER :: CFULLREACS=>NULL() ! the full reactions -! -TYPE METEOTRANSTYPE ! variables from the meteorological part - REAL, DIMENSION(20) :: XMETEOVAR ! the meteorological variables - CHARACTER(LEN=32), DIMENSION(20) :: CMETEOVAR ! their names -END TYPE METEOTRANSTYPE -! -END MODULE MODD_CH_M9 diff --git a/src/arome/chem/module/modd_ch_m9_scheme.F90 b/src/arome/chem/module/modd_ch_m9_scheme.F90 deleted file mode 100644 index a3fda32e9736c93209bc73500378bc17d5a24e86..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_m9_scheme.F90 +++ /dev/null @@ -1,137 +0,0 @@ -! ######spl - MODULE MODD_CH_M9_SCHEME -!! ######################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -!! -!!*** *MODD_CH_M9_SCHEME* -!! -!! PURPOSE -!! ------- -! definition of variables and types for the chemical core system -!! -!!** METHOD -!! ------ -!! All constants and auxiliary variables are stored in one common -!! data type (CCSTYPE). This allows to pass them all as one single -!! variable in the argument lists of the CCS. -!! The constants NEQ and NREAC are duplicated here in order to avoid -!! decouple the CCS from the other modules of MNHC. -!! Variables to be transfered from the meteorological part are stored -!! in the data type METEOTRANSTYPE (number, value and name). -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Karsten Suhre (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Original 26/07/96 -!! Modified 05/05/98: Vectorization (Vincent Crassier & KS) -!! Modified 31/10/03: New interface for better MesoNH compilation (D. Gazen) -!! -!!---------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -IMPLICIT NONE -INTEGER, PARAMETER :: NEQ = 40 ! number of prognostic chemical species -INTEGER, PARAMETER :: NREAC = 128 ! number of chemical reactions -INTEGER, PARAMETER :: NMETEOVARS = 10 ! number of meteorological variables -INTEGER, PARAMETER :: NNONZEROTERMS = 593 ! number of non-zero terms returned by CH_TERMS -CHARACTER(LEN=32), DIMENSION(NEQ), TARGET :: CNAMES ! names of the species -CHARACTER(LEN=32), DIMENSION(NREAC), TARGET :: CREACS ! the reaction rate names -CHARACTER(LEN=256), DIMENSION(NREAC), TARGET :: CFULLREACS ! the full reactions -! -TYPE CCSTYPE ! reaction rates and auxiliary variables - REAL,DIMENSION(:),POINTER :: K001,K002,K003,K004,K005,K006,K007,K008,K009,K010& -&,K011,K012,K013,K014,K015,K016,K017,K018,K019,K020,K021,K022,K023,K024,K025,K0& -&26,K027,K028,K029,K030,K031,K032,K033,K034,K035,K036,K037,K038,K039,K040,K041,& -&K042,K043,K044,K045,K046,K047,K048,K049,K050,K051,K052,K053,K054,K055,K056,K05& -&7,K058,K059,K060,K061,K062,K063,K064,K065,K066,K067,K068,K069,K070,K071,K072,K& -&073,K074,K075,K076,K077,K078,K079,K080,K081,K082,K083,K084,K085,K086,K087,K088& -&,K089,K090,K091,K092,K093,K094,K095,K096,K097,K098,K099,K100,K101,K102,K103,K1& -&04,K105,K106,K107,K108,K109,K110,K111,K112,K113,K114,K115,K116,K117,K118,K119,& -&K120,K121,K122,K123,K124,K125,K126,K127,K128 -! output channel (NOUT) and verbosity level (NVERB) -INTEGER,DIMENSION(:),POINTER :: NOUT=>NULL(),NVERB=>NULL() -! auxiliary variables defined by the user, if any (e.g. O2, N2, H2O) -! /BEGIN_MODULE/ - ! - ! supplementary variables of the CCS that are to be placed into - ! the TYPE definition of TPK (to be addressed e.g. as TPK%O2): - ! - INTEGER,DIMENSION(:),POINTER :: MODELLEVEL ! index of the model level (1 for box model) - REAL,DIMENSION(:),POINTER :: T, &! temperature (K) - PRESSURE, &! pressure (atm) - M, &! air density (molec/cm3) - H2O, &! conc. of water molecules (molec/cm3) - CLOUDWATER, &! cloud water (kg/kg) - O2, N2, H2, &! conc. of oxigen nitrogen, hydrogen (molec/cm3) - OH, O1D, O3P, &! (molec/cm3) at equilibrium (fast species) - LON, &! longitude of curtrent grid point (degree) - LAT ! latitude of curtrent grid point (degree) - - INTEGER,DIMENSION(:),POINTER :: YEAR, MONTH, DAY ! starting date of experiment (~DTEXP) - ! -! /END_MODULE/ -END TYPE CCSTYPE -! -! Use array of CCSTYPE to handle the 8 possible models : -! TACCS(i) refers to the CCSTYPE variable of the ith model -! You should declare a TYPE(CCSTYPE) pointer variable TZK to point to -! TACCS(i) in each subroutine that deals with CCSTYPE variables : -! -! TYPE(CCSTYPE),POINTER :: TZK -! -! TZK=>TACCS(KMI) -! -TYPE(CCSTYPE), DIMENSION(8), TARGET, SAVE :: TACCS ! 8 models -! -! list of chemical species indices -INTEGER, PARAMETER :: JP_O3 = 1 -INTEGER, PARAMETER :: JP_H2O2 = 2 -INTEGER, PARAMETER :: JP_NO = 3 -INTEGER, PARAMETER :: JP_NO2 = 4 -INTEGER, PARAMETER :: JP_NO3 = 5 -INTEGER, PARAMETER :: JP_N2O5 = 6 -INTEGER, PARAMETER :: JP_HONO = 7 -INTEGER, PARAMETER :: JP_HNO3 = 8 -INTEGER, PARAMETER :: JP_HNO4 = 9 -INTEGER, PARAMETER :: JP_NH3 = 10 -INTEGER, PARAMETER :: JP_SO2 = 11 -INTEGER, PARAMETER :: JP_SULF = 12 -INTEGER, PARAMETER :: JP_CO = 13 -INTEGER, PARAMETER :: JP_OH = 14 -INTEGER, PARAMETER :: JP_HO2 = 15 -INTEGER, PARAMETER :: JP_CH4 = 16 -INTEGER, PARAMETER :: JP_ETH = 17 -INTEGER, PARAMETER :: JP_ALKA = 18 -INTEGER, PARAMETER :: JP_ALKE = 19 -INTEGER, PARAMETER :: JP_BIO = 20 -INTEGER, PARAMETER :: JP_ARO = 21 -INTEGER, PARAMETER :: JP_HCHO = 22 -INTEGER, PARAMETER :: JP_ALD = 23 -INTEGER, PARAMETER :: JP_KET = 24 -INTEGER, PARAMETER :: JP_CARBO = 25 -INTEGER, PARAMETER :: JP_ONIT = 26 -INTEGER, PARAMETER :: JP_PAN = 27 -INTEGER, PARAMETER :: JP_OP1 = 28 -INTEGER, PARAMETER :: JP_OP2 = 29 -INTEGER, PARAMETER :: JP_ORA2 = 30 -INTEGER, PARAMETER :: JP_MO2 = 31 -INTEGER, PARAMETER :: JP_ALKAP = 32 -INTEGER, PARAMETER :: JP_ALKEP = 33 -INTEGER, PARAMETER :: JP_BIOP = 34 -INTEGER, PARAMETER :: JP_PHO = 35 -INTEGER, PARAMETER :: JP_ADD = 36 -INTEGER, PARAMETER :: JP_AROP = 37 -INTEGER, PARAMETER :: JP_CARBOP = 38 -INTEGER, PARAMETER :: JP_OLN = 39 -INTEGER, PARAMETER :: JP_XO2 = 40 -! -END MODULE MODD_CH_M9_SCHEME diff --git a/src/arome/chem/module/modd_ch_meteo.F90 b/src/arome/chem/module/modd_ch_meteo.F90 deleted file mode 100644 index 4ce4355d09163228cad5281f88420a952c941be7..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_meteo.F90 +++ /dev/null @@ -1,45 +0,0 @@ -! ######spl - MODULE MODD_CH_METEO -!! ###################### -!! -!!*** *MODD_CH_METEO* -!! -!! PURPOSE -!! ------- -! contains the meteovariables that will be updated by ch_update_meteo -!! -!!** AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 20/04/99 -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -! -IMPLICIT NONE -SAVE -! -INTEGER :: NMETEORECS - ! number of records -! -INTEGER :: NMETEORECACT = 1 - ! actual record (used in temporal interpolation) -! -REAL, DIMENSION(:), ALLOCATABLE :: XMETEOTIME - ! the time of the individual records -! -REAL, DIMENSION(:,:), ALLOCATABLE :: XMETEODATA - ! the meteodata (the first dimension is the number of - ! elements NMETEOVARS, the second dimension is the number - ! of records) -! -END MODULE MODD_CH_METEO diff --git a/src/arome/chem/module/modd_ch_mnhc_n.F90 b/src/arome/chem/module/modd_ch_mnhc_n.F90 deleted file mode 100644 index 98390207b8f4c659e386db5dc063ef986fab3201..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_mnhc_n.F90 +++ /dev/null @@ -1,186 +0,0 @@ -! ######spl - MODULE MODD_CH_MNHC_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ##################### -!! -!!*** *MODD_CH_MNHC$n* -!! -!! PURPOSE -!! ------- -! This module contains all parameters that control the -! chemical part of MesoNH. -!! -!!** AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerollogie* -! -!! MODIFICATIONS -!! ------------- -!! Original 24/05/95 -!! 27/07/96 (K. Suhre) restructured -!! 30/11/99 (K. Suhre) add new parameters -!! 16/11/00 (C. Mari) add new parameters -!! 28/05/02 (C. Mari) move default values to default_desfmn -!! 13/07/03 (J.-P. Pinty) add flag for lightning production of NOx -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!----------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ----------------- -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE CH_MNHC_t -! -! switch which indicates whether chemistry is used or not -! - LOGICAL :: LUSECHEM -! -!* Initialization -! - LOGICAL :: LCH_INIT_FIELD ! flag indicating whether initialization - ! of chemical fields shall be done during MesoNH run using - ! CH_INIT_FIELD (overwrites initial values from FM-files) - ! or not -! -!* Surface options -! - LOGICAL :: LCH_SURFACE_FLUX ! flag indicating whether surface flux - ! for chemical species shall be calculated using - ! CH_SURFACE_FLUX or not (dry deposition and emission) -! -!* Scavenging -! - LOGICAL :: LCH_CONV_SCAV - ! flag for calculation of scavenging - ! by convective precipitations (active only if LCHTRANS=.TRUE.) -! - CHARACTER(LEN=10) :: CCH_EXPLICIT_SCAV - ! wet deposition method (not yet implemented) -! -!* - CHARACTER(LEN=10) :: CCH_SCHEME - ! name of chemical scheme -! - CHARACTER(LEN=80) :: CCHEM_INPUT_FILE - ! name of general - ! purpose ASCII input file (handeled by CH_OPEN_INPUT) -! - CHARACTER(LEN=10) :: CCH_TDISCRETIZATION - ! temporal discretization: - ! "SPLIT" : use time-splitting, input fields for solver are - ! scalar variables at t+dt (derived from XRSVS) - ! "CENTER" : input fields for solver are - ! scalar variables at t (XSVT) - ! "LAGGED" : input fields for solver are - ! scalar variables at t-dt (XSVM) -! - INTEGER :: NCH_SUBSTEPS - ! number of chemical timesteps to be taken during one - ! double timestep of MesoNH (MesoNH integrates with timesteps - ! of lenght 2*XTSTEP using leapfrog), the timestep of the - ! solver will be calculated as - ! ZDTSOLVER = 2*XTSTEP / NCH_SUBSTEPS -!* LiNOx -! -LOGICAL :: LCH_CONV_LINOX - ! flag for calculation of NOx production by lightnings -! -!* photolysis rates (TUV) -! - LOGICAL :: LCH_TUV_ONLINE ! switch online/lookup table - CHARACTER*80 :: CCH_TUV_LOOKUP ! name of lookup table file - CHARACTER*4 :: CCH_TUV_CLOUDS ! method for calculating the - ! impact of clouds on radiation - ! "FOUQ" (model clouds, only 1-D) - REAL :: XCH_TUV_ALBNEW ! surface albedo (if negative the albedo - ! will be read from DATAX/albedo.dat) - REAL :: XCH_TUV_DOBNEW ! scaling factor for ozone column dobson - ! (if negative, no scaling will be performed, - ! note: the O3 profile will be read from - ! DATAX/O3.profile, if this file is empty, the - ! US standard O3 profile will be used) - REAL :: XCH_TUV_TUPDATE ! update frequency for TUV (in seconds) -! -!* vectorization -! - CHARACTER*3 :: CCH_VEC_METHOD ! type of vectorization mask - ! 'MAX' take NCH_VEC_LENGTH points - ! 'TOT' take all grid points - ! 'HOR' take horizontal layers - ! 'VER' take vertical columns - INTEGER :: NCH_VEC_LENGTH ! number of points for 'MAX' option -! -!* 1-D time series -! - REAL :: XCH_TS1D_TSTEP ! time between two call to write_ts1d - CHARACTER*80 :: CCH_TS1D_COMMENT ! comment for write_ts1d - CHARACTER*80 :: CCH_TS1D_FILENAME ! filename for write_ts1d files -! -END TYPE CH_MNHC_t - -TYPE(CH_MNHC_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: CH_MNHC_MODEL - -LOGICAL, POINTER :: LUSECHEM=>NULL() -LOGICAL, POINTER :: LCH_INIT_FIELD=>NULL() -LOGICAL, POINTER :: LCH_SURFACE_FLUX=>NULL() -LOGICAL, POINTER :: LCH_CONV_SCAV=>NULL() -CHARACTER(LEN=10), POINTER :: CCH_EXPLICIT_SCAV=>NULL() -CHARACTER(LEN=10), POINTER :: CCH_SCHEME=>NULL() -CHARACTER(LEN=80), POINTER :: CCHEM_INPUT_FILE=>NULL() -CHARACTER(LEN=10), POINTER :: CCH_TDISCRETIZATION=>NULL() -INTEGER, POINTER :: NCH_SUBSTEPS=>NULL() -LOGICAL, POINTER :: LCH_CONV_LINOX=>NULL() -LOGICAL, POINTER :: LCH_TUV_ONLINE=>NULL() -CHARACTER*80, POINTER :: CCH_TUV_LOOKUP=>NULL() -CHARACTER*4, POINTER :: CCH_TUV_CLOUDS=>NULL() -REAL, POINTER :: XCH_TUV_ALBNEW=>NULL() -REAL, POINTER :: XCH_TUV_DOBNEW=>NULL() -REAL, POINTER :: XCH_TUV_TUPDATE=>NULL() -CHARACTER*3, POINTER :: CCH_VEC_METHOD=>NULL() -INTEGER, POINTER :: NCH_VEC_LENGTH=>NULL() -REAL, POINTER :: XCH_TS1D_TSTEP=>NULL() -CHARACTER*80, POINTER :: CCH_TS1D_COMMENT=>NULL() -CHARACTER*80, POINTER :: CCH_TS1D_FILENAME=>NULL() - -CONTAINS - -SUBROUTINE CH_MNHC_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -! -! Current model is set to model KTO -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_CH_MNHC_N:CH_MNHC_GOTO_MODEL',0,ZHOOK_HANDLE) -LUSECHEM=>CH_MNHC_MODEL(KTO)%LUSECHEM -LCH_INIT_FIELD=>CH_MNHC_MODEL(KTO)%LCH_INIT_FIELD -LCH_SURFACE_FLUX=>CH_MNHC_MODEL(KTO)%LCH_SURFACE_FLUX -LCH_CONV_SCAV=>CH_MNHC_MODEL(KTO)%LCH_CONV_SCAV -CCH_EXPLICIT_SCAV=>CH_MNHC_MODEL(KTO)%CCH_EXPLICIT_SCAV -CCH_SCHEME=>CH_MNHC_MODEL(KTO)%CCH_SCHEME -CCHEM_INPUT_FILE=>CH_MNHC_MODEL(KTO)%CCHEM_INPUT_FILE -CCH_TDISCRETIZATION=>CH_MNHC_MODEL(KTO)%CCH_TDISCRETIZATION -NCH_SUBSTEPS=>CH_MNHC_MODEL(KTO)%NCH_SUBSTEPS -LCH_CONV_LINOX=>CH_MNHC_MODEL(KTO)%LCH_CONV_LINOX -LCH_TUV_ONLINE=>CH_MNHC_MODEL(KTO)%LCH_TUV_ONLINE -CCH_TUV_LOOKUP=>CH_MNHC_MODEL(KTO)%CCH_TUV_LOOKUP -CCH_TUV_CLOUDS=>CH_MNHC_MODEL(KTO)%CCH_TUV_CLOUDS -XCH_TUV_ALBNEW=>CH_MNHC_MODEL(KTO)%XCH_TUV_ALBNEW -XCH_TUV_DOBNEW=>CH_MNHC_MODEL(KTO)%XCH_TUV_DOBNEW -XCH_TUV_TUPDATE=>CH_MNHC_MODEL(KTO)%XCH_TUV_TUPDATE -CCH_VEC_METHOD=>CH_MNHC_MODEL(KTO)%CCH_VEC_METHOD -NCH_VEC_LENGTH=>CH_MNHC_MODEL(KTO)%NCH_VEC_LENGTH -XCH_TS1D_TSTEP=>CH_MNHC_MODEL(KTO)%XCH_TS1D_TSTEP -CCH_TS1D_COMMENT=>CH_MNHC_MODEL(KTO)%CCH_TS1D_COMMENT -CCH_TS1D_FILENAME=>CH_MNHC_MODEL(KTO)%CCH_TS1D_FILENAME - -IF (LHOOK) CALL DR_HOOK('MODD_CH_MNHC_N:CH_MNHC_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_MNHC_GOTO_MODEL - -END MODULE MODD_CH_MNHC_n diff --git a/src/arome/chem/module/modd_ch_model0d.F90 b/src/arome/chem/module/modd_ch_model0d.F90 deleted file mode 100644 index a5530a1243021c7cf02f274b70f7918f455e6256..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_model0d.F90 +++ /dev/null @@ -1,97 +0,0 @@ -! ######spl - MODULE MODD_CH_MODEL0D -!! ###################### -!! -!!*** *MODD_CH_MODEL0D* -!! -!! PURPOSE -!! ------- -! contains all control variables of the box model, -! all timing variables, file names, formats and I/O channels -! used by the box-model are declared here -!! -!!** AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/95 -!! 27/07/96 (K. Suhre) restructured -!! 16/02/99 (K. Suhre) add new parameters for TUV -!! XCH_TUV_DOBNEW : scaling factor fir column dobson -!! XCH_TUV_ALBNEW : surface albedo -!! XCH_TUV_TUPDATE : update frequency for TUV -!! LCH_TUV_ONLINE : switch between online/lookup table -!! CCH_TUV_LOOKUP : name of lookup table file -!! CCH_TUV_CLOUDS : method for the impact of clouds on radiation -!! 18/02/99 LCH_SURFACE0D : apply surface emission / deposition fluxes -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -! -IMPLICIT NONE -SAVE -! -!* 0.1 integration and I/O timing control -! -REAL :: XTBEGIN = 0.0 ! begin the simulation in seconds -REAL :: XTEND = 0.0 ! end the simulation in seconds -REAL :: XDTOUT = 900. ! timestep for printout of intermediate results -REAL :: XDTDIAG = 3600. ! timestep for calculation of diagnostics -! -REAL :: XTSIMUL ! time of simulation -REAL :: XDTACT = 40. ! timestep of the simulation -REAL :: XTNEXTOUT ! time of next result output -REAL :: XTNEXTDIAG ! time of next diagnosis -REAL :: XTNEXTMETEO ! time of next meteo update -! -!* 0.2 file names, formats and I/O channels -! -CHARACTER*128 :: CINITFILE = "CHCONTROL1.nam" ! name of initial value file -CHARACTER*128 :: CMETEOFILE = "CHCONTROL1.nam" ! meteo update file -! -CHARACTER*128 :: COUTFILE = "BOX.OUT" ! name of final output file -CHARACTER*128 :: CRESULTFILE = "BOX.RESULT" ! regular output file -CHARACTER*128 :: CDIAGFILE = "BOX.DIAG" ! diagnostics output file -! -CHARACTER*80 :: CRUNID = "no runid specified" ! runid for output file -CHARACTER*40 :: CRESULTFORMAT = "(5E16.8)" ! Format for results -CHARACTER*40 :: CDIAGFORMAT = "(5E16.8)" ! Format for diagnostics -! -INTEGER :: NFILEIO = 42 ! channel to be used for all intermediate file I/O -INTEGER :: NMETEOIO = 43 ! channel to be used for all meteo I/O -INTEGER :: NRESULTIO = 44 ! channel to be used for all regular result file I/O -INTEGER :: NDIAGIO = 45 ! channel to be used for all diagnostics file I/O -! -!* 0.3 verbosity level -! -INTEGER :: NVERB = 5 ! verbosity level: 0 (lowest) <= NVERB <= 10 (highest) -! -!* 0.4 parameters for TUV -! -LOGICAL :: LCH_TUV_ONLINE = .TRUE. ! switch online/lookup table -CHARACTER*80 :: CCH_TUV_LOOKUP = "PHOTO.TUV39" ! name of lookup table file -CHARACTER*4 :: CCH_TUV_CLOUDS = "NONE" ! method for calculating the - ! impact of clouds on radiation - ! "FOUQ" (model clouds, only 1-D) - ! "RADM" (parameterized, for 3-D) -REAL :: XCH_TUV_ALBNEW = -1. ! surface albedo (if negative the albedo - ! will be read from DATAX/albedo.dat) -REAL :: XCH_TUV_DOBNEW = -1. ! scaling factor for ozone column dobson - ! (if negative, no scaling will be performed, - ! note: the O3 profile will be read from - ! DATAX/O3.profile, if this file is empty, the - ! US standard O3 profile will be used) -REAL :: XCH_TUV_TUPDATE = 600. ! update frequency for TUV (in seconds) -! -LOGICAL :: LCH_SURFACE0D = .FALSE. ! switch to activate surface fluxes -! -CHARACTER(LEN=80) :: CCHEM_INPUT_FILE -END MODULE MODD_CH_MODEL0D diff --git a/src/arome/chem/module/modd_ch_solver_n.F90 b/src/arome/chem/module/modd_ch_solver_n.F90 deleted file mode 100644 index 5c9c44e8fa7a98d2a1c289880345c4632619d3af..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_ch_solver_n.F90 +++ /dev/null @@ -1,165 +0,0 @@ -! ######spl - MODULE MODD_CH_SOLVER_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################### -!! -!!*** *MODD_CH_SOLVER$n* -!! -!! PURPOSE -!! ------- -! contains parameters for the stiff solvers -!! -!!** AUTHOR -!! ------ -!! K. Suhre *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/95 -!! 27/07/96 (K. Suhre) restructured -!! 01/08/01 (C. Mari) change routine to $n -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! none -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ---------------- -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE CH_SOLVER_t -! -!* 0.1 choice of the stiff solver -! - CHARACTER*32 :: CSOLVER = 'EXQSSA' ! name of the solver to be used -! -!* 0.2 parameters for LinSSA solver -! - INTEGER :: NSSA = 0 ! number of variables to be treated - ! as "steady state" -!JUAN - INTEGER, DIMENSION(:), POINTER :: NSSAINDEX => NULL() ! index set of steady state variables -!JUAN -! -!* 0.3 tolerances (used by NAG and SVODE solvers) -! - REAL :: XRTOL = 0.001 ! relative tolerance for SVODE - ! and D02EAF,D02EBF,D02NBF - ! - REAL :: XATOL = 0.1 ! absolute tolerance for SVODE - ! and D02NBF -! -!* 0.4 parameters for NAG's D02EBF solver -! - INTEGER :: NRELAB = 2 ! choose relative error: - ! 1 for correct decimal places - ! 2 for correct significant digits - ! 0 for a mixture -! -!* 0.5 parameters for SVODE and NAG's D02EBF/D02NBF solvers -! - INTEGER :: NPED = 1 ! calculation of the Jacobian matric: - ! 0 for numerical Jacobian - ! 1 for analytical Jacobian (using subroutine CH_JAC) -! -!* 0.6 parameters for NAG's D02NBF solver -! - INTEGER :: NMAXORD = 5 ! maximum order for the BDF method (0<NMAXORD<=5) - LOGICAL :: LPETZLD = .TRUE. ! perform Petzold local error test (recommended) - CHARACTER*1 :: CMETHOD = "N" ! method to use non-linear system - ! N or D for modified Newton iteration - ! F for functional iteration - CHARACTER*1 :: CNORM = "A" ! type of norm to be used - ! A or D for averaged L2 norm - ! M for maximum norm - INTEGER :: NTRACE = 0 ! level of output from D02NBF - ! -1 (no output) <= NTRACE <= 3 (maximum) - ! 0 only warnings are printed - ! >0 details on Jacobian entries, nonlinear - ! iteration and time integration are given -! -!* 0.7 parameters for CRANCK solver -! - REAL :: XALPHA = 0.5 ! the Cranck-Nicholson parameter (0,1) -! -!* 0.8 parameters for (EX)QSSA solvers -! - REAL :: XSLOW = 100.0 ! slow species, lifetime > XSLOW * timestep - REAL :: XFAST = 0.1 ! fast species, lifetime < XFAST * timestep - INTEGER :: NQSSAITER = 1 ! number of iterations in QSSA - REAL :: XDTMIN = 0.1 ! minimal allowed timestep for EXQSSA - REAL :: XDTMAX = 10. ! maximal allowed timestep for EXQSSA - REAL :: XDTFIRST = 10. ! timestep for first integration step of EXQSSA -! -END TYPE CH_SOLVER_t - -TYPE(CH_SOLVER_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: CH_SOLVER_MODEL -!JUAN -LOGICAL , DIMENSION(JPMODELMAX), SAVE :: CH_SOLVER_FIRST_CALL = .TRUE. -!JUAN - -CHARACTER*32, POINTER :: CSOLVER=>NULL() -INTEGER, POINTER :: NSSA=>NULL() -INTEGER, DIMENSION(:), POINTER :: NSSAINDEX=>NULL() -REAL, POINTER :: XRTOL=>NULL() -REAL, POINTER :: XATOL=>NULL() -INTEGER, POINTER :: NRELAB=>NULL() -INTEGER, POINTER :: NPED=>NULL() -INTEGER, POINTER :: NMAXORD=>NULL() -LOGICAL, POINTER :: LPETZLD=>NULL() -CHARACTER*1, POINTER :: CMETHOD=>NULL() -CHARACTER*1, POINTER :: CNORM=>NULL() -INTEGER, POINTER :: NTRACE=>NULL() -REAL, POINTER :: XALPHA=>NULL() -REAL, POINTER :: XSLOW=>NULL() -REAL, POINTER :: XFAST=>NULL() -INTEGER, POINTER :: NQSSAITER=>NULL() -REAL, POINTER :: XDTMIN=>NULL() -REAL, POINTER :: XDTMAX=>NULL() -REAL, POINTER :: XDTFIRST=>NULL() - -CONTAINS - -SUBROUTINE CH_SOLVER_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -!JUAN -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_CH_SOLVER_N:CH_SOLVER_GOTO_MODEL',0,ZHOOK_HANDLE) -IF (CH_SOLVER_FIRST_CALL(KTO)) THEN -ALLOCATE (CH_SOLVER_MODEL(KTO)%NSSAINDEX(1000)) -CH_SOLVER_FIRST_CALL(KTO) = .FALSE. -ENDIF -!JUAN - -! Save current state for allocated arrays -! -! Current model is set to model KTO -CSOLVER=>CH_SOLVER_MODEL(KTO)%CSOLVER -NSSA=>CH_SOLVER_MODEL(KTO)%NSSA -NSSAINDEX=>CH_SOLVER_MODEL(KTO)%NSSAINDEX -XRTOL=>CH_SOLVER_MODEL(KTO)%XRTOL -XATOL=>CH_SOLVER_MODEL(KTO)%XATOL -NRELAB=>CH_SOLVER_MODEL(KTO)%NRELAB -NPED=>CH_SOLVER_MODEL(KTO)%NPED -NMAXORD=>CH_SOLVER_MODEL(KTO)%NMAXORD -LPETZLD=>CH_SOLVER_MODEL(KTO)%LPETZLD -CMETHOD=>CH_SOLVER_MODEL(KTO)%CMETHOD -CNORM=>CH_SOLVER_MODEL(KTO)%CNORM -NTRACE=>CH_SOLVER_MODEL(KTO)%NTRACE -XALPHA=>CH_SOLVER_MODEL(KTO)%XALPHA -XSLOW=>CH_SOLVER_MODEL(KTO)%XSLOW -XFAST=>CH_SOLVER_MODEL(KTO)%XFAST -NQSSAITER=>CH_SOLVER_MODEL(KTO)%NQSSAITER -XDTMIN=>CH_SOLVER_MODEL(KTO)%XDTMIN -XDTMAX=>CH_SOLVER_MODEL(KTO)%XDTMAX -XDTFIRST=>CH_SOLVER_MODEL(KTO)%XDTFIRST - -IF (LHOOK) CALL DR_HOOK('MODD_CH_SOLVER_N:CH_SOLVER_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE CH_SOLVER_GOTO_MODEL - -END MODULE MODD_CH_SOLVER_n diff --git a/src/arome/chem/module/modd_csts_dust.F90 b/src/arome/chem/module/modd_csts_dust.F90 deleted file mode 100644 index 90d4187f874383100a7deb1b05718ee494b7dfae..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_csts_dust.F90 +++ /dev/null @@ -1,54 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ $Date$ -!----------------------------------------------------------------- -! ###################### - MODULE MODD_CSTS_DUST -! ###################### -!! -!! PURPOSE -!! ------- -!! -!! Declaration of dust constants -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! P.Tulet (GMEI) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -! -USE MODD_CST, ONLY : & - XPI & !Definition of pi - ,XBOLTZ & ! Boltzman constant - ,XAVOGADRO & ![molec/mol] avogadros number - ,XG & ! Gravity constant - ,XP00 & ! Reference pressure - ,XMD & ![kg/mol] molar weight of air - ,XRD & ! Gaz constant for dry air - ,XCPD ! Cpd (dry air) -! -IMPLICIT NONE -! -REAL, PARAMETER :: XDENSITY_DUST = 2.5e3 ![kg/m3] density of dust -REAL, PARAMETER :: XMOLARWEIGHT_DUST = 100.e-3 ![kg/mol] molar weight dust -REAL, PARAMETER :: XM3TOUM3 = 1.d18 ![um3/m3] conversion factor -REAL, PARAMETER :: XUM3TOM3 = 1.d-18 ![m3/um3] conversion factor -REAL, PARAMETER :: XSIXTH = 1./6. ![-] one sixth -! -END MODULE MODD_CSTS_DUST diff --git a/src/arome/chem/module/modd_csts_salt.F90 b/src/arome/chem/module/modd_csts_salt.F90 deleted file mode 100644 index 56c62ed3ce8fd4bb0946e6acd3c822495666caf8..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_csts_salt.F90 +++ /dev/null @@ -1,50 +0,0 @@ -! ######spl - MODULE MODD_CSTS_SALT -! ###################### -!! -!! PURPOSE -!! ------- -!! -!! Declaration of dust constants -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! P.Tulet (GMEI) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -! -USE MODD_CST, ONLY : & - XPI & !Definition of pi - ,XBOLTZ & ! Boltzman constant - ,XAVOGADRO & ![molec/mol] avogadros number - ,XG & ! Gravity constant - ,XP00 & ! Reference pressure - ,XMD & ![kg/mol] molar weight of air - ,XRD & ! Gaz constant for dry air - ,XCPD ! Cpd (dry air) -! -IMPLICIT NONE -! -!densité salt a introduire -REAL, PARAMETER :: XDENSITY_SALT = 2.1e3 ![kg/m3] density of dust -REAL, PARAMETER :: XMOLARWEIGHT_SALT = 58.e-3 ![kg/mol] molar weight dust -REAL, PARAMETER :: XM3TOUM3_SALT = 1.d18 ![um3/m3] conversion factor -REAL, PARAMETER :: XUM3TOM3_SALT = 1.d-18 ![m3/um3] conversion factor -REAL, PARAMETER :: XSIXTH_SALT = 1./6. ![-] one sixth -! -END MODULE MODD_CSTS_SALT diff --git a/src/arome/chem/module/modd_dust.F90 b/src/arome/chem/module/modd_dust.F90 deleted file mode 100644 index 7aabcfc7adaa47a398a08f295829cfa4b0724ba5..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_dust.F90 +++ /dev/null @@ -1,106 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /sxturb1/data1/mesonh/CODEMNH/modd_dust.f90,v $ $Revision: 1.1 $ -! MASDEV4_7 modd 2007/02/22 10:05:39 -!----------------------------------------------------------------- -!! ###################### - MODULE MODD_DUST -!! ###################### -!! -!! PURPOSE -!! ------- -!! -!! declaration of variables and types for the dust scheme -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! Pierre Tulet (CNRM) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -USE MODD_PARAMETERS, ONLY: JPMODELMAX -! -IMPLICIT NONE -! -LOGICAL :: LDUST = .FALSE. ! switch to active pronostic dusts -LOGICAL :: LDSTINIT = .FALSE. ! switch to initialize pronostic dusts -LOGICAL :: LDSTPRES = .FALSE. ! switch to know if pronostic dusts exist -LOGICAL :: LRADEXP = .FALSE. ! switch to couple pronostic dusts with radiation - ! in the analysis file -LOGICAL,DIMENSION(JPMODELMAX) :: LDEPOS_DST = .FALSE. ! switch to DST wet depositon -INTEGER :: NMODE_DST= 3 ! number of dust modes (max 3; default = 3) -! -CHARACTER(LEN=6),DIMENSION(:),ALLOCATABLE :: CDUSTNAMES - -CHARACTER(LEN=6),DIMENSION(9), PARAMETER :: YPDUST_INI = & - (/'DSTM01','DSTM31','DSTM61' & - ,'DSTM02','DSTM32','DSTM62' & - ,'DSTM03','DSTM33','DSTM63' /) -! Set the order of the loops sorted by importance -!This means that if a user choses 1 mode it will have characteristics of mode 2 -!2 modes will be mode 2 & 3, whereas 3 modes will modes 1, 2 and 3 -INTEGER, DIMENSION(3),PARAMETER :: JPDUSTORDER = (/3, 2, 1/) -REAL :: XRADMIN = 0.001 ! minimum reasonable value for median radius -! -REAL, ALLOCATABLE :: XDSTMSS(:,:,:) ! [kg/m3] total mass concentration of dust -! -! aerosol lognormal parameterization -CHARACTER(LEN=4) :: CRGUNITD = 'NUMB' ! type of log-normal geometric mean radius -! !given in namelist (mass on number) -! -LOGICAL :: LRGFIX_DST = .FALSE. ! switch to fix RG (sedimentation) -LOGICAL :: LVARSIG = .FALSE. ! switch to active pronostic dispersion for all modes -LOGICAL :: LSEDIMDUST = .FALSE. ! switch to active aerosol sedimentation -REAL :: XSIGMIN = 1.20 ! minimum dispersion value for dust mode -REAL :: XSIGMAX = 3.60 ! maximum dispersion value for dust mode -REAL :: XCOEFRADMAX = 10. ! maximum increasement for Rg mode dust -REAL :: XCOEFRADMIN = 0.1 ! maximum decreasement for Rg mode dust -! -! Alf considers it is better to use initial values as Schultz et al 1998 -! whereas Pierre consider to keep as close as possible initialization -! values close to default emissions; so as you want !!! -!Initial dry mass median radius (um) from Schultz et al 1998 -!REAL, DIMENSION(3) :: XINIRADIUS= (/ 0.0055, 1.26, 21.65 /) -!Initial, standard deviation from Schultz et al 1998 -!REAL, DIMENSION(3) :: XINISIG = (/2.13, 2.00, 1.89 /) -!Initial dry mass median radius (um) from D'Almeida, 1987 emission fluxes -!REAL, DIMENSION(3) :: XINIRADIUS= 0.5*(/ 0.832 , 4.82 , 19.38 /) -!Initial, standard deviation from from D'Almeida, 1987 emission fluxes -!REAL, DIMENSION(3) :: XINISIG = (/2.10 , 1.90 , 1.60 /) -!Minimum allowed number concentration for any mode (#/m3) -!REAL, DIMENSION(3) :: XN0MIN = (/1.e4 , 1.e3 , 1.e-1 /) -!Initial dry mass median radius (um) from Alfaro et al 1998 -!REAL, DIMENSION(3) :: XINIRADIUS= 0.5*(/1.5, 6.7, 14.2/) -!Initial, standard deviation from Alfaro et al 1998 -!REAL, DIMENSION(3) :: XINISIG = (/1.70, 1.60, 1.50/) -!Minimum allowed number concentration for any mode (#/m3) -!REAL, DIMENSION(3) :: XN0MIN = (/1.e2 , 1.e1 , 1.e-2 /) -! -! NEW PARAMETERIZATION FROM AMMA, default -!Initial dry number median radius (um) -REAL, DIMENSION(3) :: XINIRADIUS= 0.5*(/0.088, 0.643, 3.75 /) -!Initial, standard deviation from Alfaro et al 1998 -REAL, DIMENSION(3) :: XINISIG = (/2.0, 1.78, 1.85/) -!Minimum allowed number concentration for any mode (#/m3) -REAL, DIMENSION(3) :: XN0MIN = (/1.e3 , 1.e1 , 1.e-2 /) -CHARACTER(LEN=9),DIMENSION(:),ALLOCATABLE :: CDEDSTNAMES -CHARACTER(LEN=9),DIMENSION(6), PARAMETER :: YPDEDST_INI = & - (/'DEDSTM31C','DEDSTM32C','DEDSTM33C' & - ,'DEDSTM31R','DEDSTM32R','DEDSTM33R' /) -! -END MODULE MODD_DUST diff --git a/src/arome/chem/module/modd_dust_opt_lkt.F90 b/src/arome/chem/module/modd_dust_opt_lkt.F90 deleted file mode 100644 index 0445d891113c963d88d11407a21bf7b093ede9bb..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_dust_opt_lkt.F90 +++ /dev/null @@ -1,58 +0,0 @@ -! ######spl - MODULE MODD_DUST_OPT_LKT -!! ######################## -!! -!! PURPOSE -!! ------- -!! -!! Purpose: Contains look up tables for dust optical properties -!! The parameters to be looked up are: -!! 1) Single scattering albedo (fraction scattered) -!! 2) Assymetry factor (=1 for all scattered forward, =-1 for all scattered backwards) -!! 3) extinction coefficient (m2/g) = surface seen by radiation per gram of dust -!! -!! All values are pre-calculated from the SHDOM mie code compiled with pgf90 fortran compiler -!! and run on on a linux pc (SHDOM home page==>http://nit.colorado.edu/~evans/shdom.html) -!! -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! Pierre Tulet (CNRM) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ - - IMPLICIT NONE - PUBLIC - - INTEGER, PARAMETER :: NMAX_RADIUS_LKT=100 !Max number of radii in look up tables - INTEGER, PARAMETER :: NMAX_SIGMA_LKT=20 !Max number of dispersion coeffient in lkt - INTEGER, PARAMETER :: NMAX_WVL_SW=6 !Max number of wavelengths in lkt - - !Declaration of the look up tables - REAL, DIMENSION(NMAX_RADIUS_LKT,NMAX_SIGMA_LKT,NMAX_WVL_SW) :: XEXT_COEFF_WVL_LKT - REAL, DIMENSION(NMAX_RADIUS_LKT,NMAX_SIGMA_LKT) :: XEXT_COEFF_550_LKT - REAL, DIMENSION(NMAX_RADIUS_LKT,NMAX_SIGMA_LKT,NMAX_WVL_SW) :: XPIZA_LKT - REAL, DIMENSION(NMAX_RADIUS_LKT,NMAX_SIGMA_LKT,NMAX_WVL_SW) :: XCGA_LKT - - !Declaration of the max and min values taken into account in the tables - REAL, PARAMETER :: XRADIUS_LKT_MIN = 0.01 ![um] smallest number median radius taken into account - REAL, PARAMETER :: XRADIUS_LKT_MAX = 30.0 ![um] largest number median radius taken into account - REAL, PARAMETER :: XSIGMA_LKT_MIN = 1.0 ![-] smallest dispersion coefficient taken into account - REAL, PARAMETER :: XSIGMA_LKT_MAX = 3.0 ![-] largest dispersion coefficient taken into account - -END MODULE MODD_DUST_OPT_LKT diff --git a/src/arome/chem/module/modd_glo.F90 b/src/arome/chem/module/modd_glo.F90 deleted file mode 100644 index 4e35f2c8f392247479f64ac4473c0d37a6a7277b..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_glo.F90 +++ /dev/null @@ -1,176 +0,0 @@ -! ######spl -MODULE MODD_GLO - -IMPLICIT NONE - -!********************************************** -!PARAMETERS USED IN BOTH PUN AND GRIFFIN'S CODES -!*********************************************** - -! flag to use binary solution and zsr if = 1 */ -! zsrflag = 0 calls unifac and solves implicit -! equation for a.c. water = RH using newt1 */ -INTEGER, PARAMETER :: zsrflag = 1 - -! saturationflag = 1 means to -! use saturation to determine particulate-phase -! concentration when inorganic particle is dry. -! If = 0, use absorption */ -INTEGER, PARAMETER :: saturationflag = 0 - -! Criterion for setting intital particle -! conc, compared to VP in torr or VP -! rated by PAOM */ -REAL, PARAMETER :: VPCrit = 1.d-7 - -!Critical value for LWC above which much aerosol can dissolve -REAL, PARAMETER :: LWCCRIT = 2.0d0 ![ug/m3] - -!Critical value for Henry's law constant above which much aerosol will dissolve -REAL, PARAMETER :: HLCRIT = 1.d-2 - -REAL, PARAMETER :: TINY = 1.d-8 - -!Set the universal gas constant in non SI units -REAL, PARAMETER :: R_UNIV = 8.206e-5 !gas constant in units of (m3*atm)/(mol*K) - -!Molecular weight of water -REAL, PARAMETER :: MW_WATER = 18.0 ![g/mol] molar weight of water - -!Are we running box model? -LOGICAL :: LBOX=.FALSE. - -!Do we want a lot of prints -LOGICAL :: LPRINT=.FALSE. -!************************************************************ -!******END PARAMETERS USED IN BOTH CODES -!************************************************************ - -!************************************************************* -!*******PARAMETERS USED IN GRIFFIN'S CODE -!************************************************************ -INTEGER, PARAMETER :: NBSPOA = 8 !Number of POA species -INTEGER, PARAMETER :: NBSP = 10 !Number of main SOA species -INTEGER, PARAMETER :: NAAERO= 17 !Number of SOA species and their ions - -!Molar weight of all parameters including ions -REAL, PARAMETER, DIMENSION(NAAERO) :: MW_SOA = (/ & - 211.0, 210.0 & !Comp #1 (NK=2) - ,178.0, 177.0 & !Comp #2 (NK=2) - ,217.0 & !Comp #3 (NK=1) - ,303.0 & !Comp #4 (NK=1) - ,217.0 & !Comp #5 (NK=1) - ,90.0, 89.0, 88.0 & !Comp #6 (NK=3) - ,184.0, 183.0, 182.0 &!Comp #7 (NK=3) - ,154.0 &!Comp #8 (NK=1) - ,186.0, 185.0 &!Comp #9 (NK=2) - ,186.0 & !Comp #10 (NK=1) - /) - -!Molecular weight of primary organic paerosols -REAL, PARAMETER, DIMENSION(NBSPOA) :: MW_POA = (/ 408., 118., 216., 276., 412., 166., 284., 390. /) - -!Parameter needed to get the saturation vapor pressures of organics -!The below is cut and pasted from aerodriv.f recieved from Griffin -REAL, PARAMETER, DIMENSION(NBSP) :: HBN = (/6.7e-03,5.61e-03,0.0,3.3e-03,4.61e-03, & - 1.57e-02,7.68e-03,6.49e-03,7.6e-03,5.37e-03/) - -REAL, PARAMETER, DIMENSION(NBSP) :: TAUVP=(/3.5,2.5,6.0,13.5,1.0,0.0,2.5,2.0,3.0,5.0/) - -REAL, PARAMETER, DIMENSION(NBSP) :: TBOIL = (/685.3,634.0,645.5,672.5,566.3,560.0,698.0 & - ,575.0,679.0,615.0 /) - -!partition parameters H and K -!H is in units of m3/ug estimated based on Suzuki et al., 1992 -!K is in units of [mol/kg water] (same as {H+}) with -!concentrations of molecules in ions in the same molar units -REAL, PARAMETER, DIMENSION(NAAERO) :: K_298 = (/ & - 1.82e-2, 1.7e-3 & !Comp 1 - , 1.202e-4, 7.33e-5 & !Comp 2 - , 1.38e-6 & !Comp 3 - , 2.455e-7 & !Comp 4 - , 2.884e-5 & !Comp 5 - , 2.512e-2, 5.4e-2, 5.2e-5 & !Comp 6, - , 22.01, 3.7e-5, 3.9e-6 & !Comp 7 - , 1.47e-4 & !Comp 8 - , 0.0489, 6.52e-4 & !Comp 9 - , 9.55e-4 & !Comp 10 - /) - -!Total number of (main+sub-components (ions)) per main components -!NK=3 means main component can dissociate twice (acid=H2A) -!NK=2 means main component can dissociate once (acid=HA) -!NK=1 means main component can not dissociate to ions -INTEGER, PARAMETER, DIMENSION(NBSP) :: NKAQ=(/ 2, 2, 1, 1, 1, 3, 3, 1, 2, 1 /) -!********************************************** -!END PARAMETERS USED ONLY IN GRIFFINS CODE -!********************************************** - -!XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - -!***************************************** -!PARAMETERS USED ONLY IN PUN'S CODE -!***************************************** -INTEGER, PARAMETER :: NBSPA=6 !number of molecular species in group A -INTEGER, PARAMETER :: NAAEROA=13 !possible no. of particle phase solutes */ -INTEGER, PARAMETER ::NBSPB=5 !number of species in group A -INTEGER, PARAMETER ::NBSPAO_PUN=5 !number of species in Primary organics - -!*****************TYPE B PARAMETERS ************************************* - -!Saturation vapor pressure of type B species (torr) -REAL, DIMENSION(NBSPB) :: VPB = (/ 3.e-10, 3.e-6, 7.e-6, 5.e-8, 3.e-8 /) - -!Set molecular weight of Primary aerosol organic matter -REAL, PARAMETER :: MWAOM = 280.0 ![g/mol] - -!Set molecular weight of the secondary organic components -REAL, PARAMETER, DIMENSION(NBSPB) :: MWB=(/197.0, 164.0, 181.0, 301.0, 170.0 /) - -!Assumed molar fraction of the primary organics -REAL, PARAMETER, DIMENSION(NBSPB) :: XAOM=(/0.4, 0.05, 0.15, 0.12, 0.28 /) -!****************END TYPE B PARAMETERS************************************** - -!***************TYPE A PARAMETERS ****************************************** - -!Molar weight of TYPE A species including ions -REAL, PARAMETER, DIMENSION(NAAEROA) :: MWA = (/ & - 104.0, 103.0, 102.0 & - ,184.0, 183.0, 182.0 & - ,154.0 & - ,186.0, 185.0 & - ,186.0 & - ,118.0, 117.0, 116.0 & - /) - -!partition parameters H and K -!H is in units of (m3/ug) estimated based on Suzuki et al., 1992 -!K is in units of [mol/kg water] (same as {H+}) with -!concentrations of molecules in ions in the same mass-based units -!K's of malic acid and glyoxalic acid used respectively for -!compounds that dissociate twice and once -REAL, PARAMETER, DIMENSION(NAAEROA) :: K_A_298 = (/ & - 3.87e-5, 3.95e-4, 7.70e-6 & - , 22.01, 3.95e-4, 7.70e-6 & - , 1.47e-4 & - , 0.0489, 6.52e-4 & - , 0.0196 & - , 7.34e-3, 3.95e-4, 7.70e-6 & - /) - -!Saturation vapor pressure in units of ug/m3 -REAL, PARAMETER, DIMENSION(NBSPA) :: VPA_298=(/ 462.22, 0.0127, 1.86e5, 1.11, 71.62, 50.16 /) - -!Same as VP, but this time, unit is torr -REAL, PARAMETER, DIMENSION(NBSPA) :: VPAtorr_298=(/ 8.26e-5, 1.28e-9, 2.24e-2, 1.1e-7, 7.16e-6, 7.9e-6 /) - -!Total number of (main+sub-components (ions)) per main components -!NK=2 means main component can dissociate once -!NK=1 means main component can not dissociate -INTEGER, PARAMETER, DIMENSION(NBSPA) :: NKA=(/ 3, 3, 1, 2, 1, 3 /) - -!Value to determine if component soluble or not -REAL, PARAMETER :: CRITSOL=100.d0 ![ug_{aer}/ug_{gas} * kg_{water}/umol_{H+}] -!********************END OF TYPE A PARAMETERS **************************************************** - -END MODULE MODD_GLO diff --git a/src/arome/chem/module/modd_indref_aer.F90 b/src/arome/chem/module/modd_indref_aer.F90 deleted file mode 100644 index 16a1ed986ba35d5a3f61e85b08e2efaebf682a4c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_indref_aer.F90 +++ /dev/null @@ -1,59 +0,0 @@ -! ######spl - MODULE MODD_INDREF_AER -! ######################## -! -!!**** *MODD_INDREF_AER* - declaration of indices of refraction for the -! different aerosol types -!! -!! PURPOSE -!! ------- -!! 1D Arrays to store the real and the imaginary parts of the indices -! of refraction for each of the 6 SW bands for every type of aerosol -! that can enter into the cloud droplet composition -!! -!------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!------------------------------ -IMPLICIT NONE -! -! the wavelenghts corresponding to the 6 SW bands -!lambda = 0.217, 0.345, 0.565, 0.94, 1.78, 3.19 micron -! -REAL, DIMENSION(6):: XLAMBDA=(/0.217,0.345,0.565,0.94,1.78,3.19/) -! -!real and imaginary parts of the refractive indice of water(Hale and Querry -!1973)for the 6 SW bands: -REAL,DIMENSION(6)::XN_W=(/1.382, 1.3436, 1.333, 1.3274,& - 1.3125, 1.479/) -REAL,DIMENSION(6)::XK_W=(/7.E-08, 7.3E-09, 2.944E-09, 2.182E-06,& - 1.1205E-04, 0.10092/) -! -!!real and imaginary parts of the refractive indice for the 6 SW bands for -!differents types of aerosols inclusions into the droplet: -! first indice for the SW band, second for the aerosol type -!aer=1: dust like (d'almeida,1992, table 4.3) -!aer=2: waso = water soluble (d'almeida,1992, table 4.3) -!aer=3: soot (d'almeida,1992, table 4.3) -!aer=4: sesa = sea salt (OPAC) -!aer=5: sulf = sulfates (d'almeida,1992, table 4.3) -! -! -REAL,DIMENSION(6)::XN_DUST=(/1.53, 1.53, 1.53, 1.52, 1.340, 1.22/) -REAL,DIMENSION(6)::XK_DUST=(/8.E-03, 8.E-03, 8.E-03, 8.E-03, 8.E-03, 1.E-02/) -! -REAL,DIMENSION(6)::XN_WATSOL=(/1.53, 1.53, 1.53, 1.52, 1.42, 1.43/) -REAL,DIMENSION(6)::XK_WATSOL=(/8.E-03, 5.E-03, 6.E-03, 1.31E-02, 2.5E-02, 8.E-03/) -! -REAL,DIMENSION(6)::XN_SOOT=(/1.62, 1.75, 1.75, 1.754, 1.8, 1.859/) -REAL,DIMENSION(6)::XK_SOOT=(/0.45, 0.465, 0.44, 0.4354, 0.481 , 0.54 /) -! -REAL,DIMENSION(6)::XN_SEASALT=(/1.51, 1.51, 1.5, 1.475, 1.45, 1.49/) -REAL,DIMENSION(6)::XK_SEASALT=(/5.E-06, 3.24E-07, 1.E-08, 9.E-05, 7.62E-04, 3.E-03/) -! -REAL,DIMENSION(6)::XN_SULFATES=(/1.484, 1.452, 1.43, 1.4235, 1.394, 1.311/) -REAL,DIMENSION(6)::XK_SULFATES=(/1.E-08, 1.E-08, 1.15E-08, 7.08E-07, 6.35E-04, 1.35E-01/) -! -END MODULE MODD_INDREF_AER diff --git a/src/arome/chem/module/modd_parameters_dep.F90 b/src/arome/chem/module/modd_parameters_dep.F90 deleted file mode 100644 index f6cbd19e3a91503bd0a7c053e411c4d65820ffc2..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_parameters_dep.F90 +++ /dev/null @@ -1,61 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ $Date$ -!----------------------------------------------------------------- -! ########################### - MODULE MODD_PARAMETERS_DEP -! ########################### -! -!!**** *MODD_PARAMETERS_DEP* - declaration of parameter variables -!! -!! PURPOSE -!! ------- -! The purpose of this declarative module is to specify the variables -! which have the PARAMETER attribute -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! Book2 of documentation of Meso-NH (module MODD_PARAMETER) -!! -!! AUTHOR -!! ------ -!! V. Ducrocq *Meteo France* -!! -!! MODIFICATIONS -!! ------------- -!! Original 4/07/94 -!! 01-02-2011 M. Mokhtari Adaptation modd_parameter under modd_parameters_dep for Aladin -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -INTEGER, PARAMETER :: JPHEXT = 0 ! Horizontal External points number -INTEGER, PARAMETER :: JPVEXT = 1 ! Vertical External points number -INTEGER, PARAMETER :: JPMODELMAX = 8 ! Maximum allowed number of nested models -INTEGER, PARAMETER :: JPCPLFILEMAX = 8 ! Maximum allowed number of CouPLing FILEs -INTEGER, PARAMETER :: JPBUMAX= 250 ! Maximum of allowed budgets -INTEGER, PARAMETER :: JPBUPROMAX = 40 ! Maximum of allowed processes for all - ! budgets -INTEGER, PARAMETER :: JPRIMMAX = 6 ! Maximum number of points for the - ! horizontal relaxation for the outermost verticals -INTEGER, PARAMETER :: JPSVMAX = 200 ! Maximum number of scalar variables - - -REAL, PARAMETER :: XUNDEF = 1.E+20 ! default value for undefined or unused - ! field. -INTEGER, PARAMETER :: NUNDEF = 1E+9 ! default value for undefined or unused - ! field. -INTEGER, PARAMETER :: JPDUMMY = 20 ! Size of dummy array - -INTEGER, PARAMETER :: JPOUTMAX = 48 ! Maximum allowed number of OUTput files - -END MODULE MODD_PARAMETERS_DEP diff --git a/src/arome/chem/module/modd_salt.F90 b/src/arome/chem/module/modd_salt.F90 deleted file mode 100644 index 15a77109583cdc1e9c2794f191c140bbb43568c1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_salt.F90 +++ /dev/null @@ -1,84 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /sxturb1/data1/mesonh/CODEMNH/modd_salt.f90,v $ $Revision: 1.1 $ -! MASDEV4_7 modd 2007/01/12 14:42:16 -!----------------------------------------------------------------- -!! ###################### - MODULE MODD_SALT -!! ###################### -!! -!! PURPOSE -!! ------- -!! -!! declaration of variables and types for the sea salt scheme -!! -!! METHOD -!! ------ -!! -!! -!! REFERENCE -!! --------- -!! none -!! -!! -!! AUTHOR -!! ------ -!! Pierre Tulet (CNRM) -!! -!! -!! MODIFICATIONS -!! ------------- -!! -USE MODD_PARAMETERS, ONLY: JPMODELMAX -!!-------------------------------------------------------------------- -!! DECLARATIONS -!! ------------ -IMPLICIT NONE -! -LOGICAL :: LSALT = .FALSE. ! switch to active pronostic sea salts -LOGICAL :: LSLTINIT = .FALSE. ! switch to initialize pronostic sea salts -LOGICAL,DIMENSION(JPMODELMAX) :: LDEPOS_SLT = .FALSE. ! switch to SLT wet depositon -INTEGER :: NMODE_SLT= 3 ! number of sea salt modes (max 3; default = 3) -! -CHARACTER(LEN=9),DIMENSION(:),ALLOCATABLE :: CDESLTNAMES -CHARACTER(LEN=9),DIMENSION(6), PARAMETER :: YPDESLT_INI = & - (/'DESLTM31C','DESLTM32C','DESLTM33C' & - ,'DESLTM31R','DESLTM32R','DESLTM33R' /) -CHARACTER(LEN=6),DIMENSION(:),ALLOCATABLE :: CSALTNAMES -CHARACTER(LEN=6),DIMENSION(9), PARAMETER :: YPSALT_INI = & - (/'SLTM01','SLTM31','SLTM61' & - ,'SLTM02','SLTM32','SLTM62' & - ,'SLTM03','SLTM33','SLTM63' /) -! Set the order of the loops sorted by importance -!This means that if a user choses 1 mode it will have characteristics of mode 2 -!2 modes will be mode 2 & 3, whereas 3 modes will modes 1, 2 and 3 -INTEGER, DIMENSION(3),PARAMETER :: JPSALTORDER = (/3, 2, 1/) -! -REAL, ALLOCATABLE :: XSLTMSS(:,:,:) ! [kg/m3] total mass concentration of sea salt -! -! aerosol lognormal parameterization -CHARACTER(LEN=4) :: CRGUNITS = 'MASS' ! type of log-normal geometric mean radius -! !given in namelist (mass on number) -! -LOGICAL :: LRGFIX_SLT = .FALSE. ! switch to fix RG (sedimentation) -LOGICAL :: LVARSIG_SLT = .FALSE. ! switch to active pronostic dispersion for all modes -LOGICAL :: LSEDIMSALT = .FALSE. ! switch to active aerosol sedimentation -REAL :: XSIGMIN_SLT = 1.20 ! minimum dispersion value for sea salt mode -REAL :: XSIGMAX_SLT = 3.60 ! maximum dispersion value for sea salt mode -REAL :: XCOEFRADMAX_SLT = 10. ! maximum increasement for Rg mode sea salt -REAL :: XCOEFRADMIN_SLT = 0.1 ! maximum decreasement for Rg mode sea salt -! - -!Initial dry number median radius (um) from Vignati et al., 2001 -!REAL, DIMENSION(3) :: XINIRADIUS_SLT= (/0.2, 2., 12./) -!Initial, standard deviation from Vignati et al., 2001 -!REAL, DIMENSION(3) :: XINISIG_SLT = (/1.9, 2., 3./) -!Initial dry number median radius (um) from Schultz et al., 2004 -REAL, DIMENSION(3) :: XINIRADIUS_SLT= 0.5*(/0.28, 2.25, 15.28/) -!Initial, standard deviation from Vignati et al., 2001 -REAL, DIMENSION(3) :: XINISIG_SLT = (/1.9, 2., 2./) -!Minimum allowed number concentration for any mode (#/m3) -REAL, DIMENSION(3) :: XN0MIN_SLT = (/1.e4 , 1.e2 , 1.e-1 /) -! -END MODULE MODD_SALT diff --git a/src/arome/chem/module/modd_sub_ch_field_value_n.F90 b/src/arome/chem/module/modd_sub_ch_field_value_n.F90 deleted file mode 100644 index 1742f49b4352bd2d8c51ee8f289c5259e8a5feb9..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_sub_ch_field_value_n.F90 +++ /dev/null @@ -1,71 +0,0 @@ -! ######spl - MODULE MODD_SUB_CH_FIELD_VALUE_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ############################ -! -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE SUB_CH_FIELD_VALUE_t -! - LOGICAL :: GSFIRSTCALL = .TRUE.! flag to identify first call - INTEGER :: ISPROF ! # of norm-profiles - INTEGER :: ISLEVEL ! # of levels in norm-profiles - INTEGER :: ISINIT ! # of variable associations - INTEGER :: ISASSO ! # of variable associations - REAL, DIMENSION(:,:), POINTER :: ZSNORMPROF=>NULL() ! norm-profiles - REAL, DIMENSION(:) , POINTER :: ZSZPROF=>NULL() ! z-level for norm-profile - CHARACTER(LEN=40), DIMENSION(:), POINTER :: YSASSONAME=>NULL() ! asso species - INTEGER , DIMENSION(:), POINTER :: ISASSOPROF=>NULL() ! profile index - CHARACTER(LEN=40), DIMENSION(:), POINTER :: YSINITNAME=>NULL() ! init species - REAL , DIMENSION(:), POINTER :: ZSINITVAL=>NULL() ! initial val. - ! in molec./cm3 -END TYPE SUB_CH_FIELD_VALUE_t - -TYPE(SUB_CH_FIELD_VALUE_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: SUB_CH_FIELD_VALUE_MODEL - -LOGICAL, POINTER :: GSFIRSTCALL=>NULL() -INTEGER, POINTER :: ISPROF=>NULL() -INTEGER, POINTER :: ISLEVEL=>NULL() -INTEGER, POINTER :: ISINIT=>NULL() -INTEGER, POINTER :: ISASSO=>NULL() -REAL, DIMENSION(:,:), POINTER :: ZSNORMPROF=>NULL() -REAL, DIMENSION(:) , POINTER :: ZSZPROF=>NULL() -CHARACTER(LEN=40), DIMENSION(:), POINTER :: YSASSONAME=>NULL() -INTEGER , DIMENSION(:), POINTER :: ISASSOPROF=>NULL() -CHARACTER(LEN=40), DIMENSION(:), POINTER :: YSINITNAME=>NULL() -REAL , DIMENSION(:), POINTER :: ZSINITVAL=>NULL() - -CONTAINS - -SUBROUTINE SUB_CH_FIELD_VALUE_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_SUB_CH_FIELD_VALUE_N:SUB_CH_FIELD_VALUE_GOTO_MODEL',0,ZHOOK_HANDLE) -SUB_CH_FIELD_VALUE_MODEL(KFROM)%ZSNORMPROF=>ZSNORMPROF -SUB_CH_FIELD_VALUE_MODEL(KFROM)%ZSZPROF=>ZSZPROF -SUB_CH_FIELD_VALUE_MODEL(KFROM)%YSASSONAME=>YSASSONAME -SUB_CH_FIELD_VALUE_MODEL(KFROM)%ISASSOPROF=>ISASSOPROF -SUB_CH_FIELD_VALUE_MODEL(KFROM)%YSINITNAME=>YSINITNAME -SUB_CH_FIELD_VALUE_MODEL(KFROM)%ZSINITVAL=>ZSINITVAL -! -! Current model is set to model KTO -GSFIRSTCALL=>SUB_CH_FIELD_VALUE_MODEL(KTO)%GSFIRSTCALL -ISPROF=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ISPROF -ISLEVEL=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ISLEVEL -ISINIT=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ISINIT -ISASSO=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ISASSO -ZSNORMPROF=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ZSNORMPROF -ZSZPROF=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ZSZPROF -YSASSONAME=>SUB_CH_FIELD_VALUE_MODEL(KTO)%YSASSONAME -ISASSOPROF=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ISASSOPROF -YSINITNAME=>SUB_CH_FIELD_VALUE_MODEL(KTO)%YSINITNAME -ZSINITVAL=>SUB_CH_FIELD_VALUE_MODEL(KTO)%ZSINITVAL - -IF (LHOOK) CALL DR_HOOK('MODD_SUB_CH_FIELD_VALUE_N:SUB_CH_FIELD_VALUE_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE SUB_CH_FIELD_VALUE_GOTO_MODEL - -END MODULE MODD_SUB_CH_FIELD_VALUE_n diff --git a/src/arome/chem/module/modd_sub_ch_monitor_n.F90 b/src/arome/chem/module/modd_sub_ch_monitor_n.F90 deleted file mode 100644 index ded2fd744fc5d0db64e96ae049b8a071ef571c61..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_sub_ch_monitor_n.F90 +++ /dev/null @@ -1,43 +0,0 @@ -! ######spl - MODULE MODD_SUB_CH_MONITOR_n - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################## -!! -! -USE MODD_PARAMETERS, ONLY: JPMODELMAX -IMPLICIT NONE - -TYPE SUB_CH_MONITOR_t -!! - INTEGER :: ISVECNMASK,ISVECNPT - INTEGER, DIMENSION(:,:), POINTER :: ISVECMASK=>NULL() - INTEGER :: ISTCOUNT = 0 ! counter for JVALUE update -END TYPE SUB_CH_MONITOR_t - -TYPE(SUB_CH_MONITOR_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: SUB_CH_MONITOR_MODEL - -INTEGER, POINTER :: ISVECNMASK=>NULL(),ISVECNPT=>NULL() -INTEGER, DIMENSION(:,:), POINTER :: ISVECMASK=>NULL() -INTEGER, POINTER :: ISTCOUNT=>NULL() - -CONTAINS - -SUBROUTINE SUB_CH_MONITOR_GOTO_MODEL(KFROM, KTO) -INTEGER, INTENT(IN) :: KFROM, KTO -! -! Save current state for allocated arrays -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODD_SUB_CH_MONITOR_N:SUB_CH_MONITOR_GOTO_MODEL',0,ZHOOK_HANDLE) -SUB_CH_MONITOR_MODEL(KFROM)%ISVECMASK=>ISVECMASK -! -! Current model is set to model KTO -ISVECNMASK=>SUB_CH_MONITOR_MODEL(KTO)%ISVECNMASK -ISVECNPT=>SUB_CH_MONITOR_MODEL(KTO)%ISVECNPT -ISVECMASK=>SUB_CH_MONITOR_MODEL(KTO)%ISVECMASK -ISTCOUNT=>SUB_CH_MONITOR_MODEL(KTO)%ISTCOUNT - -IF (LHOOK) CALL DR_HOOK('MODD_SUB_CH_MONITOR_N:SUB_CH_MONITOR_GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE SUB_CH_MONITOR_GOTO_MODEL - -END MODULE MODD_SUB_CH_MONITOR_n diff --git a/src/arome/chem/module/modd_unifacparam.F90 b/src/arome/chem/module/modd_unifacparam.F90 deleted file mode 100644 index 9f3b5498bd1bedf1beb5ab10e82f5e8a6c8a3ac0..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_unifacparam.F90 +++ /dev/null @@ -1,101 +0,0 @@ -! ######spl -MODULE MODD_UNIFACPARAM - - USE MODD_GLO -! - implicit none -! -!************************************************************************* -! -!Include file : unifacparma.h -! -!Purpose: Unifac parameters (replace file read) -! -!Include dependencies: Included in Unidriver.c -! -!Notes: 10 Type AQ SOA + H2O at 25 C -! (Data of Lyman, Reehl, Rosenblatt, 1990) -! -! NMOL and NFUNC need to match DIMMOL and DIMFUN in unidriver.c -! -! Parameters inputted as in the original fortran input file, therefore -! a transpose is needed in the unidriver C program for matrices A and NU -! in order to pass them properly into the Fortran unifac routine. -! -!revision History: 1. Developed by Betty Pun, AER, December, 1999 -! under CARB funding -! -!************************************************************************** -! -!*************************************************************************** -!****************NUMBERS NEEDED FOR GRIFFINS AQUOUS PHASE****************** -!************************************************************************** -! -integer, parameter :: NMOL_AQ = NBSP + 1 ! Number of aquous molecules is number of species+water -integer, parameter :: NFUNC_AQ = 17 ! Number of functional groups -REAL, dimension(NFUNC_AQ) :: RG_AQ !Group volume parameters -REAL, DIMENSION(NFUNC_AQ) :: QG_AQ ! Group surface parameters -INTEGER, DIMENSION(NMOL_AQ, NFUNC_AQ) :: NU_AQ !Number of groups in each molecule -REAL, DIMENSION(NFUNC_AQ,NFUNC_AQ) :: A_AQ !Interaction parameters between different groups -! -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_AQ,NFUNC_AQ) :: THTAGP_AQ !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_AQ) :: Q_AQ !surface parameters for molecules -REAL, DIMENSION(NMOL_AQ) :: R_AQ !volume parameter for molecules -REAL, DIMENSION(NMOL_AQ) :: L_AQ !unifac parameter for molecules - -!*************************************************************************** -!****************NUMBERS NEEDED FOR GRIFFINS ORGANIC PHASE****************** -!************************************************************************** - -integer, parameter :: NMOL_ORG = NBSP + NBSPOA !Total number of moles in organic phase -integer, parameter :: NFUNC_ORG = 16 !Number of functional groups -REAL, DIMENSION(NFUNC_ORG) :: RG_ORG !Group volume parameters -REAL, DIMENSION(NFUNC_ORG) :: QG_ORG !Group surface parameters -INTEGER, DIMENSION(NMOL_ORG, NFUNC_ORG) :: NU_ORG !Number of groups in each molecule -REAL, DIMENSION(NFUNC_ORG,NFUNC_ORG) :: A_ORG !Interaction parameters between different groups - -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_ORG,NFUNC_ORG) :: THTAGP_ORG !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_ORG) :: Q_ORG !surface parameters for molecules -REAL, DIMENSION(NMOL_ORG) :: R_ORG !volume parameter for molecules -REAL, DIMENSION(NMOL_ORG) :: L_ORG !unifac parameter for molecules - -!*************************************************************************** -!****************NUMBERS NEEDED FOR PUN'S AQUOUS (A) PHASE****************** -!************************************************************************** - -integer, parameter :: NMOL_A = NBSPA +1 !Number of molecules (the "+1" is for water) -integer, parameter :: NFUNC_A = 11 !Number of functional groups -REAL, dimension(NFUNC_A) :: RG_A !Group volume parameters -REAL, DIMENSION(NFUNC_A) :: QG_A !Group surface parameters -INTEGER, DIMENSION(NMOL_A, NFUNC_A) :: NU_A !Number of groups in each molecule -REAL, DIMENSION(NFUNC_A,NFUNC_A) :: A_A !Interaction parameters between different groups - -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_A,NFUNC_A) :: THTAGP_A !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_A) :: Q_A !surface parameters for molecules -REAL, DIMENSION(NMOL_A) :: R_A !volume parameter for molecules -REAL, DIMENSION(NMOL_A) :: L_A !unifac parameter for molecules - -!*************************************************************************** -!****************NUMBERS NEEDED FOR PUN'S ORGANIC (B) PHASE****************** -!************************************************************************** -integer, parameter :: NMOL_B = 10 !Number of molecules -integer, parameter :: NFUNC_B = 16 !Number of functional groups -REAL, DIMENSION(NFUNC_B) :: RG_B !Group volume parameters -REAL, DIMENSION(NFUNC_B) :: QG_B !Group surface parameters -INTEGER, DIMENSION(NMOL_B, NFUNC_B) :: NU_B !Number of groups in each molecule -REAL, DIMENSION(NFUNC_B,NFUNC_B) :: A_B !Interaction parameters between different groups - -!Parameters needed in unifac code which are precalculated in unifac_ini -!********************************************************************** -REAL, DIMENSION(NMOL_B,NFUNC_B) :: THTAGP_B !surface area ratio of groups in molecules -REAL, DIMENSION(NMOL_B) :: Q_B !surface parameters for molecules -REAL, DIMENSION(NMOL_B) :: R_B !volume parameter for molecules -REAL, DIMENSION(NMOL_B) :: L_B !unifac parameter for molecules - -END MODULE MODD_UNIFACPARAM diff --git a/src/arome/chem/module/modd_wet_dep_descr.F90 b/src/arome/chem/module/modd_wet_dep_descr.F90 deleted file mode 100644 index a21b1ce758361875d0683efc066667f8a8bb0ce7..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_wet_dep_descr.F90 +++ /dev/null @@ -1,84 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ $Date$ -!----------------------------------------------------------------- -!----------------------------------------------------------------- -! ########################## - MODULE MODD_WET_DEP_DESCR -! ########################## -! -!!**** *MODD_WET_DEP_DESCR* - declaration of the microphysical descriptive -!! constants for use in the warm and cold schemes. -!! -!! PURPOSE -!! ------- -! The purpose of this declarative module is to declare the microphysical -! constants. This includes the descriptive parameters for the raindrop and -! the ice crystal habits and the parameters relevant of the dimensional -! distributions. -! -! m(D) = XAx * D**XBx : Mass-MaxDim relationship -! v(D) = XCx * D**XDx : Fallspeed-MaxDim relationship -! N(Lbda) = XCCx * Lbda**XCXx : NumberConc-Slopeparam relationship -! XF0x, XF1x, XF2x : Ventilation factors -! XC1x : Shape parameter for deposition -! -! and -! -! XALPHAx, XNUx : Generalized GAMMA law -! Lbda = XLBx * (r_x*rho_dref)**XLBEXx : Slope parameter of the -! distribution law -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! Book2 of documentation of Meso-NH (MODD_RAIN_ICE_DESCR) -!! -!! AUTHOR -!! ------ -!! J.-P. Pinty *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 04/12/95 -!! J.-P. Pinty 29/11/02 add ICE4 -!! 01-02-2011 M. Mokhtari Adaptation of MODD_RAIN_ICE_DESCR under MODD_WET_DEP_DESCR for Aladin -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -REAL,SAVE :: XCEXVT ! air density fall speed correction -! -REAL,SAVE :: XAC,XBC,XCC,XDC ! Cloud droplet charact. -REAL,SAVE :: XAR,XBR,XCR,XDR,XCCR ,XF0R,XF1R,XC1R ! Raindrop charact. -REAL,SAVE :: XAI,XBI,XC_I,XDI ,XF0I,XF2I,XC1I ! Cloud ice charact. -REAL,SAVE :: XAS,XBS,XCS,XDS,XCCS,XCXS,XF0S,XF1S,XC1S ! Snow/agg. charact. -REAL,SAVE :: XAG,XBG,XCG,XDG,XCCG,XCXG,XF0G,XF1G,XC1G ! Graupel charact. -REAL,SAVE :: XAH,XBH,XCH,XDH,XCCH,XCXH,XF0H,XF1H,XC1H ! Hail charact. -! -REAL,SAVE :: XALPHAC,XNUC,XALPHAC2,XNUC2, XLBEXC ! Cloud droplet distribution parameters -REAL,DIMENSION(2), SAVE :: XLBC ! Cloud droplet distribution parameters -REAL,SAVE :: XALPHAR,XNUR,XLBEXR,XLBR ! Raindrop distribution parameters -REAL,SAVE :: XALPHAI,XNUI,XLBEXI,XLBI ! Cloud ice distribution parameters -REAL,SAVE :: XALPHAS,XNUS,XLBEXS,XLBS ! Snow/agg. distribution parameters -REAL,SAVE :: XALPHAG,XNUG,XLBEXG,XLBG ! Graupel distribution parameters -REAL,SAVE :: XALPHAH,XNUH,XLBEXH,XLBH ! Hail distribution parameters -! -REAL,SAVE :: XLBDAR_MAX,XLBDAS_MAX,XLBDAG_MAX ! Max values allowed for the shape - ! parameters (rain,snow,graupeln) -! -REAL,DIMENSION(:),SAVE,ALLOCATABLE :: XRTMIN ! Min values allowed for the mixing ratios -REAL,DIMENSION(:,:,:), SAVE, ALLOCATABLE :: XCONC ! Concentration of cloud droplet -REAL,SAVE :: XCONC_SEA ! Diagnostic concentration of droplets over sea -REAL,SAVE :: XCONC_LAND ! Diagnostic concentration of droplets over land -REAL,SAVE :: XCONC_URBAN ! Diagnostic concentration of droplets over urban area -! -END MODULE MODD_WET_DEP_DESCR diff --git a/src/arome/chem/module/modd_wet_dep_param.F90 b/src/arome/chem/module/modd_wet_dep_param.F90 deleted file mode 100644 index c925bc5ea1a86c1836af4bac8e97870d9b084c0c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modd_wet_dep_param.F90 +++ /dev/null @@ -1,172 +0,0 @@ -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ $Date$ -!----------------------------------------------------------------- -!----------------------------------------------------------------- -! ########################## - MODULE MODD_WET_DEP_PARAM -! ########################## -! -!!**** *MODD_WET_DEP_PARAM* - declaration of some microphysical factors -!! extensively used in the warm and cold schemes. -!! -!! PURPOSE -!! ------- -! The purpose of this declarative module is to declare some precomputed -! microphysical paramters directly used in routine RAIN_ICE. -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! Book2 of documentation of Meso-NH (MODD_RAIN_ICE_PARAM) -!! -!! AUTHOR -!! ------ -!! J.-P. Pinty *Laboratoire d'Aerologie* -!! -!! MODIFICATIONS -!! ------------- -!! Original 04/12/95 -!! J.-P. Pinty 29/11/02 add ICE4 -!! M. Mokhtari 01-02-2011 Adaptation of MODD_RAIN_ICE_PARAM under MADD_WET_DEP_PARAM for Aladin -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -REAL,DIMENSION(2),SAVE :: XFSEDC ! Constants for sedimentation fluxes of C -REAL,SAVE :: XFSEDR,XEXSEDR, & ! Constants for sedimentation - XFSEDI,XEXCSEDI,XEXRSEDI, & ! fluxes of R, I, S and G - XFSEDS,XEXSEDS, & - XFSEDG,XEXSEDG -! -REAL,SAVE :: XNU10,XALPHA1,XBETA1, & ! Constants for heterogeneous - XNU20,XALPHA2,XBETA2, & ! ice nucleation : HEN - XMNU0 ! mass of nucleated ice crystal -! -REAL,SAVE :: XALPHA3,XBETA3, & ! Constants for homogeneous - XHON ! ice nucleation : HON -! -REAL,SAVE :: XSCFAC, & ! Constants for raindrop - X0EVAR,X1EVAR,XEX0EVAR,XEX1EVAR, & ! evaporation: EVA and for - X0DEPI,X2DEPI, & ! deposition : DEP on I, - X0DEPS,X1DEPS,XEX0DEPS,XEX1DEPS, & ! on S and - X0DEPG,X1DEPG,XEX0DEPG,XEX1DEPG ! on G -! -REAL,SAVE :: XTIMAUTI,XTEXAUTI, & ! Constants for pristine ice - XCRIAUTI ! autoconversion : AUT -! -REAL,SAVE :: XCOLIS,XCOLEXIS, & ! Constants for snow - XFIAGGS, & ! aggregation : AGG - XEXIAGGS -! -REAL,SAVE :: XTIMAUTC, & ! Constants for cloud droplet - XCRIAUTC ! autoconversion : AUT -! -REAL,SAVE :: XFCACCR, & ! Constants for cloud droplet - XEXCACCR ! accretion on raindrops : ACC -! -REAL,SAVE :: XDCSLIM,XCOLCS, & ! Constants for the riming of - XEXCRIMSS,XCRIMSS, & ! the aggregates : RIM - XEXCRIMSG,XCRIMSG, & ! - XEXSRIMCG,XSRIMCG, & ! - XGAMINC_BOUND_MIN, & ! Min val. of Lbda_s for RIM - XGAMINC_BOUND_MAX, & ! Max val. of Lbda_s for RIM - XRIMINTP1,XRIMINTP2 ! Csts for lin. interpol. of - ! the tab. incomplete Gamma law -INTEGER,SAVE :: NGAMINC ! Number of tab. Lbda_s -REAL, DIMENSION(:), SAVE, ALLOCATABLE & - :: XGAMINC_RIM1, & ! Tab. incomplete Gamma funct. - XGAMINC_RIM2 ! for XDS+2 and for XBS -! -REAL,SAVE :: XFRACCSS, & ! Constants for the accretion - XLBRACCS1,XLBRACCS2,XLBRACCS3, & ! raindrops onto the aggregates - XFSACCRG, & ! ACC (processes RACCSS and - XLBSACCR1,XLBSACCR2,XLBSACCR3, & ! SACCRG) - XACCLBDAS_MIN, & ! Min val. of Lbda_s for ACC - XACCLBDAS_MAX, & ! Max val. of Lbda_s for ACC - XACCLBDAR_MIN, & ! Min val. of Lbda_r for ACC - XACCLBDAR_MAX, & ! Max val. of Lbda_r for ACC - XACCINTP1S,XACCINTP2S, & ! Csts for bilin. interpol. of - XACCINTP1R,XACCINTP2R ! Lbda_s and Lbda_r in the - ! XKER_RACCSS and XKER_SACCRG - ! tables -INTEGER,SAVE :: NACCLBDAS, & ! Number of Lbda_s values and - NACCLBDAR ! of Lbda_r values in the - ! XKER_RACCSS and XKER_SACCRG - ! tables -REAL,DIMENSION(:,:), SAVE, ALLOCATABLE & - :: XKER_RACCSS, & ! Normalized kernel for RACCSS - XKER_RACCS, & ! Normalized kernel for RACCS - XKER_SACCRG ! Normalized kernel for SACCRG -REAL,SAVE :: XFSCVMG ! Melting-conversion factor of - ! the aggregates -! -REAL,SAVE :: XCOLIR, & ! Constants for rain contact - XEXRCFRI,XRCFRI, & ! freezing : CFR - XEXICFRR,XICFRR ! -! -REAL,SAVE :: XFCDRYG, & ! Constants for the dry growth - XCOLIG,XCOLEXIG,XFIDRYG, & ! of the graupeln : DRY - XCOLSG,XCOLEXSG,XFSDRYG, & ! processes RCDRYG - XLBSDRYG1,XLBSDRYG2,XLBSDRYG3, & ! RIDRYG - XFRDRYG, & ! RSDRYG - XLBRDRYG1,XLBRDRYG2,XLBRDRYG3, & ! RRDRYG - XDRYLBDAR_MIN, & ! Min val. of Lbda_r for DRY - XDRYLBDAR_MAX, & ! Max val. of Lbda_r for DRY - XDRYLBDAS_MIN, & ! Min val. of Lbda_s for DRY - XDRYLBDAS_MAX, & ! Max val. of Lbda_s for DRY - XDRYLBDAG_MIN, & ! Min val. of Lbda_g for DRY - XDRYLBDAG_MAX, & ! Max val. of Lbda_g for DRY - XDRYINTP1R,XDRYINTP2R, & ! Csts for bilin. interpol. of - XDRYINTP1S,XDRYINTP2S, & ! Lbda_r, Lbda_s and Lbda_g in - XDRYINTP1G,XDRYINTP2G ! the XKER_SDRYG and XKER_RDRYG - ! tables -INTEGER,SAVE :: NDRYLBDAR, & ! Number of Lbda_r, - NDRYLBDAS, & ! of Lbda_s and - NDRYLBDAG ! of Lbda_g values in - ! the XKER_SDRYG and XKER_RDRYG - ! tables -REAL,DIMENSION(:,:), SAVE, ALLOCATABLE & - :: XKER_SDRYG, & ! Normalized kernel for SDRYG - XKER_RDRYG ! Normalized kernel for RDRYG -! -! addition of Hail category -! -REAL,SAVE :: XFSEDH,XEXSEDH ! Constants for sedimentation -! -! -REAL,SAVE :: X0DEPH,X1DEPH,XEX0DEPH,XEX1DEPH ! Constants for deposition -! -REAL,SAVE :: XFWETH,XFSWETH, & ! Constants for the wet growth - XLBSWETH1,XLBSWETH2,XLBSWETH3, & ! of the hailstones : WET - XFGWETH, & ! processes RSWETH - XLBGWETH1,XLBGWETH2,XLBGWETH3, & ! RGWETH - XWETLBDAS_MIN, & ! Min val. of Lbda_s for WET - XWETLBDAS_MAX, & ! Max val. of Lbda_s for WET - XWETLBDAG_MIN, & ! Min val. of Lbda_g for WET - XWETLBDAG_MAX, & ! Max val. of Lbda_g for WET - XWETLBDAH_MIN, & ! Min val. of Lbda_h for WET - XWETLBDAH_MAX, & ! Max val. of Lbda_h for WET - XWETINTP1S,XWETINTP2S, & ! Csts for bilin. interpol. of - XWETINTP1G,XWETINTP2G, & ! Lbda_r, Lbda_s and Lbda_g in - XWETINTP1H,XWETINTP2H ! the XKER_SWETH and XKER_GWETH - ! tables -INTEGER,SAVE :: NWETLBDAS, & ! Number of Lbda_s, - NWETLBDAG, & ! of Lbda_g and - NWETLBDAH ! of Lbda_h values in - ! the XKER_SWETH and XKER_GWETH - ! tables -REAL,DIMENSION(:,:), SAVE, ALLOCATABLE & - :: XKER_SWETH, & ! Normalized kernel for SWETH - XKER_GWETH ! Normalized kernel for GWETH -! -END MODULE MODD_WET_DEP_PARAM diff --git a/src/arome/chem/module/mode_aero_psd.F90 b/src/arome/chem/module/mode_aero_psd.F90 deleted file mode 100644 index 9636d32eb83eda1b6980cdc1e69784c987a04fa8..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_aero_psd.F90 +++ /dev/null @@ -1,811 +0,0 @@ -! ######spl -MODULE MODE_AERO_PSD -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################## -!! -!! MODULE DUST PSD (Particle Size Distribution) -!! Purpose: Contains subroutines to convert from transported variables (ppp) -!! to understandable aerosol variables, e.g. #/m3, kg/m3, sigma, R_{n} - -USE MODD_CH_AEROSOL -! -IMPLICIT NONE -! -CONTAINS -! -! ############################################################ - SUBROUTINE PPP2AERO( & - PSVT & !I [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !O [-] standard deviation of aerosol distribution - , PRG3D & !O [um] number median diameter of aerosol distribution - , PN3D & !O [#/m3] number concentration of aerosols - , PCTOTA & !O [ug/m3] mass of each aerosol compounds - , PM3D & !moments 0, 3 and 6 - ) -! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the three moments M0, M3 and M6 given in ppp into -!! Values which can be understood more easily (R, sigma, N, M) -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AEROS(PSVT, PRHODREF, PSIG3D=SIGVAR, & -!! PRG3D=RVAR, PN3D=NVAR, PM3D=ZM) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Alf Grini (CNRM) -!! -!! EXTERNAL -!! -------- -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT !I [#/molec_{air}] first moment - !I [molec_{aer}/molec_{air} 3rd moment - !I [um6/molec_{air}*(cm3/m3)] 6th moment -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PSIG3D !O [-] standard deviation -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PRG3D !O [um] number median diameter -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PN3D !O [#/m3] number concentration -REAL, DIMENSION(:,:,:,:,:),OPTIONAL, INTENT(OUT) :: PCTOTA !O [ug/m3] mass of each component -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PM3D !O moments 0,3 and 6 -! -!* 0.2 declarations local variables -! -REAL, DIMENSION(NSP+NCARB+NSOA) :: ZMI ! [kg/mol] molar weight of aerosol -REAL :: ZRGMIN ! [um] minimum radius accepted -REAL,DIMENSION(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3),SIZE(PSVT,4)) :: ZSV ! [aerosol concentration] -REAL,DIMENSION(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3)) :: ZSIGMA ! [-] standard deviation -REAL,DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NSP+NCARB+NSOA,JPMODE):: ZCTOTA -REAL,DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),JPMODE*3) :: ZM - -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZFAC ! M3 / mass conversion factor -REAL :: ZDEN2MOL -REAL,DIMENSION(JPMODE*3) :: ZPMIN ! [aerosol units] minimum values for N, sigma, M -INTEGER :: JJ, JN ! [idx] loop counters -REAL :: ZINIRADIUSI, ZINIRADIUSJ -! -!------------------------------------------------------------------------------- -! -! 1. initialisation - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:PPP2AERO',0,ZHOOK_HANDLE) -IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ -END IF - - - - !Get minimum values possible - ZPMIN(1) = XN0IMIN - ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI - ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) - ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) - - ZPMIN(4) = XN0JMIN - ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ - ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) - ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) - - !Set density of aerosol, here dust (kg/m3) - ! Aerosol Density -! Cf Ackermann (all to black carbon except water) - - !Set molecular weightn g/mol - ZMI(:) = 250. - ZMI(JP_AER_SO4) = 98. - ZMI(JP_AER_NO3) = 63. - ZMI(JP_AER_NH3) = 17. - ZMI(JP_AER_H2O) = 18. - IF (NSOA .EQ. 10) THEN - ZMI(JP_AER_SOA1) = 88. - ZMI(JP_AER_SOA2) = 180. - ZMI(JP_AER_SOA3) = 1.5374857E2 - ZMI(JP_AER_SOA4) = 1.9586780E2 - ZMI(JP_AER_SOA5) = 195. - ZMI(JP_AER_SOA6) = 195. - ZMI(JP_AER_SOA7) = 165. - ZMI(JP_AER_SOA8) = 195. - ZMI(JP_AER_SOA9) = 270. - ZMI(JP_AER_SOA10) = 210. - END IF - -! conversion into mol.cm-3 -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -! -DO JJ=1, SIZE(PSVT,4) - ZSV(:,:,:,JJ) = PSVT(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -ENDDO -! -DO JJ=1,NSP+NCARB+NSOA - ZFAC(JJ)=(4./3.)*XPI*XRHOI(JJ)*1.e-9 -ENDDO -! -!------------------------------------------------------------------------------- -! -!* 2 transfer aerosol mass from gas to aerosol variables -! (and conversion of mol.cm-3 --> microgram/m3) -! -ZCTOTA(:,:,:,:,:) = 0. -! aerosol phase - ZCTOTA(:,:,:,JP_AER_SO4,1) = ZSV(:,:,:,JP_CH_SO4i)*ZMI(JP_AER_SO4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SO4,2) = ZSV(:,:,:,JP_CH_SO4j)*ZMI(JP_AER_SO4)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_NO3,1) = ZSV(:,:,:,JP_CH_NO3i)*ZMI(JP_AER_NO3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NO3,2) = ZSV(:,:,:,JP_CH_NO3j)*ZMI(JP_AER_NO3)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_NH3,1) = ZSV(:,:,:,JP_CH_NH3i)*ZMI(JP_AER_NH3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NH3,2) = ZSV(:,:,:,JP_CH_NH3j)*ZMI(JP_AER_NH3)/6.0221367E+11 -! -! water - ZCTOTA(:,:,:,JP_AER_H2O,1) = ZSV(:,:,:,JP_CH_H2Oi)*ZMI(JP_AER_H2O)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_H2O,2) = ZSV(:,:,:,JP_CH_H2Oj)*ZMI(JP_AER_H2O)/6.0221367E+11 -! -! primary organic carbon - ZCTOTA(:,:,:,JP_AER_OC,1) = ZSV(:,:,:,JP_CH_OCi)*ZMI(JP_AER_OC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_OC,2) = ZSV(:,:,:,JP_CH_OCj)*ZMI(JP_AER_OC)/6.0221367E+11 -! -! primary black carbon - ZCTOTA(:,:,:,JP_AER_BC,1) = ZSV(:,:,:,JP_CH_BCi)*ZMI(JP_AER_BC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_BC,2) = ZSV(:,:,:,JP_CH_BCj)*ZMI(JP_AER_BC)/6.0221367E+11 -! -IF (NSOA .EQ. 10) THEN - ZCTOTA(:,:,:,JP_AER_SOA1,1) = ZSV(:,:,:,JP_CH_SOA1i)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA1,2) = ZSV(:,:,:,JP_CH_SOA1j)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,1) = ZSV(:,:,:,JP_CH_SOA2i)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,2) = ZSV(:,:,:,JP_CH_SOA2j)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,1) = ZSV(:,:,:,JP_CH_SOA3i)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,2) = ZSV(:,:,:,JP_CH_SOA3j)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,1) = ZSV(:,:,:,JP_CH_SOA4i)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,2) = ZSV(:,:,:,JP_CH_SOA4j)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,1) = ZSV(:,:,:,JP_CH_SOA5i)*ZMI(JP_AER_SOA5)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,2) = ZSV(:,:,:,JP_CH_SOA5j)*ZMI(JP_AER_SOA5)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_SOA6,1) = ZSV(:,:,:,JP_CH_SOA6i)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA6,2) = ZSV(:,:,:,JP_CH_SOA6j)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,1) = ZSV(:,:,:,JP_CH_SOA7i)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,2) = ZSV(:,:,:,JP_CH_SOA7j)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,1) = ZSV(:,:,:,JP_CH_SOA8i)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,2) = ZSV(:,:,:,JP_CH_SOA8j)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,1) = ZSV(:,:,:,JP_CH_SOA9i)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,2) = ZSV(:,:,:,JP_CH_SOA9j)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,1) = ZSV(:,:,:,JP_CH_SOA10i)*ZMI(JP_AER_SOA10)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,2) = ZSV(:,:,:,JP_CH_SOA10j)*ZMI(JP_AER_SOA10)/6.0221367E+11 -END IF -! -!------------------------------------------------------------------------------- -! -!* 3 calculate moment 3 from total aerosol mass -! -ZM(:,:,:,2) = 0. -ZM(:,:,:,5) = 0. -DO JJ = 1,NSP+NCARB+NSOA - ZM(:,:,:,2) = ZM(:,:,:,2)+ZCTOTA(:,:,:,JJ,1)/ZFAC(JJ) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ZM(:,:,:,5) = ZM(:,:,:,5)+ZCTOTA(:,:,:,JJ,2)/ZFAC(JJ) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) -ENDDO -! -!------------------------------------------------------------------------------- -! -!* 4 set moment 0 -! - ZM(:,:,:,1)= MAX(ZSV(:,:,:,JP_CH_M0i) * 1E+6, 1.E-10) ! molec_{aer}/m3_{air} - ZM(:,:,:,4)= MAX(ZSV(:,:,:,JP_CH_M0j) * 1E+6, 1.E-10) ! molec_{aer}/m3_{air} -! -!------------------------------------------------------------------------------- -! -!* 5 set moment 6 ==> um6_{aer}/m3_{air} -! -IF (LVARSIGI) THEN ! set M6 variable standard deviation - ZM(:,:,:,3) = MAX(ZSV(:,:,:,JP_CH_M6i), 1E-80) - - ZSIGMA(:,:,:)=ZM(:,:,:,2)**2/(ZM(:,:,:,1)*ZM(:,:,:,3)) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGIMAX) - ZSIGMA(:,:,:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGIMIN) - ZSIGMA(:,:,:) = XSIGIMIN - END WHERE - ZM(:,:,:,3) = ZM(:,:,:,1) & - * ( (ZM(:,:,:,2)/ZM(:,:,:,1))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,1) = ZSIGMA(:,:,:) - -ELSE ! fixed standard deviation - ZM(:,:,:,3) = ZM(:,:,:,1) & - * ( (ZM(:,:,:,2)/ZM(:,:,:,1))**(1./3.) & - * exp(-(3./2.)*log(XINISIGI)**2))**6 & - * exp(18.*log(XINISIGI)**2) - - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,1) = XINISIGI -END IF - -IF (LVARSIGJ) THEN ! set M6 variable standard deviation - ZM(:,:,:,6) = MAX(ZSV(:,:,:,JP_CH_M6j), 1E-80) - - ZSIGMA(:,:,:)=ZM(:,:,:,5)**2/(ZM(:,:,:,4)*ZM(:,:,:,6)) - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - WHERE (ZSIGMA(:,:,:) > XSIGJMAX) - ZSIGMA(:,:,:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:,:,:) < XSIGJMIN) - ZSIGMA(:,:,:) = XSIGJMIN - END WHERE - - ZM(:,:,:,6) = ZM(:,:,:,4) & - * ( (ZM(:,:,:,5)/ZM(:,:,:,4))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,2) = ZSIGMA(:,:,:) - -ELSE ! fixed standard deviation - ZM(:,:,:,6) = ZM(:,:,:,4) & - * ( (ZM(:,:,:,5)/ZM(:,:,:,4))**(1./3.) & - * exp(-(3./2.)*log(XINISIGJ)**2))**6 & - * exp(18.*log(XINISIGJ)**2) - - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,2) = XINISIGJ -END IF - - -!------------------------------------------------------------------------------- -! -!* 6 calculate modal parameters from moments -! -DO JN=1,JPMODE - IF(PRESENT(PN3D)) PN3D(:,:,:,JN) = ZM(:,:,:,NM0(JN)) - - IF(PRESENT(PRG3D)) PRG3D(:,:,:,JN)=(ZM(:,:,:,NM3(JN))**4. & - / (ZM(:,:,:,NM6(JN))*ZM(:,:,:,NM0(JN))**3.))**(1./6.) - -ENDDO -! -IF(PRESENT(PCTOTA)) PCTOTA(:,:,:,:,:) = ZCTOTA(:,:,:,:,:) -IF(PRESENT(PM3D)) PM3D(:,:,:,:) = ZM(:,:,:,:) -! -! -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:PPP2AERO',1,ZHOOK_HANDLE) -END SUBROUTINE PPP2AERO -! -! ############################################################ - SUBROUTINE AERO2PPP( & - PSVT & !IO [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !I [-] standard deviation of aerosol distribution - , PRG3D & !I [um] number median diameter of aerosol distribution - ) -!! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the aerosol Mass, RG and SIGMA in the three moments M0, M3 and M6 given in ppp -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Alf Grini (CNRM) -!! -!! EXTERNAL -!! -------- -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !I [#/molec_{air}] first moment - !I [molec_{aer}/molec_{air} 3rd moment - !I [um6/molec_{air}*(cm3/m3)] 6th moment -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG3D !O [-] standard deviation -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRG3D !O [um] number median diameter -! -! -!* 0.2 declarations local variables -! -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZMI ! [kg/mol] molar weight of aerosol -REAL :: ZRGMIN ! [um] minimum radius accepted -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM ! [aerosol units] local array which goes to output later -REAL,DIMENSION(JPMODE*3) :: ZPMIN ! [aerosol units] minimum values for N, sigma, M -REAL,DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3),NSP+NCARB+NSOA,JPMODE):: ZCTOTA - -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZFAC ! M3 / mass conversion factor -INTEGER :: JJ ! [idx] loop counters -REAL :: ZDEN2MOL -REAL :: ZINIRADIUSI, ZINIRADIUSJ -! -!------------------------------------------------------------------------------- -! -! 1. initialisation - -!Calculations here are for one mode only -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:AERO2PPP',0,ZHOOK_HANDLE) -IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ -END IF - - -!Get minimum values possible -ZPMIN(1) = XN0IMIN -ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI -ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) -ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) -ZPMIN(4) = XN0JMIN -ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ -ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) -ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) - -ALLOCATE (ZM(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), JPMODE*3)) - - !Set density of aerosol, here dust (kg/m3) - ! Aerosol Density -! Cf Ackermann (all to black carbon except water) - - !Set molecular weightn g/mol - ZMI(:) = 250. - ZMI(JP_AER_SO4) = 98. - ZMI(JP_AER_NO3) = 63. - ZMI(JP_AER_NH3) = 17. - ZMI(JP_AER_H2O) = 18. - IF (NSOA .EQ. 10) THEN - ZMI(JP_AER_SOA1) = 88. - ZMI(JP_AER_SOA2) = 180. - ZMI(JP_AER_SOA3) = 1.5374857E2 - ZMI(JP_AER_SOA4) = 1.9586780E2 - ZMI(JP_AER_SOA5) = 195. - ZMI(JP_AER_SOA6) = 195. - ZMI(JP_AER_SOA7) = 165. - ZMI(JP_AER_SOA8) = 195. - ZMI(JP_AER_SOA9) = 270. - ZMI(JP_AER_SOA10) = 210. - END IF - -! conversion into mol.cm-3 -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -DO JJ=1, SIZE(PSVT, 4) - PSVT(:,:,:,JJ) = PSVT(:,:,:,JJ) * ZDEN2MOL * PRHODREF(:,:,:) -ENDDO -! -DO JJ=1,NSP+NCARB+NSOA - ZFAC(JJ)=(4./3.)*XPI*XRHOI(JJ)*1.e-9 -ENDDO -! -! -!* 2 transfer aerosol mass from gas to aerosol variables -! (and conversion of mol.cm-3 --> microgram/m3) -! -ZCTOTA(:,:,:,:,:) = 0. -! aerosol phase - ZCTOTA(:,:,:,JP_AER_SO4,1) = PSVT(:,:,:,JP_CH_SO4i)*ZMI(JP_AER_SO4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SO4,2) = PSVT(:,:,:,JP_CH_SO4j)*ZMI(JP_AER_SO4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NO3,1) = PSVT(:,:,:,JP_CH_NO3i)*ZMI(JP_AER_NO3)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_NO3,2) = PSVT(:,:,:,JP_CH_NO3j)*ZMI(JP_AER_NO3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NH3,1) = PSVT(:,:,:,JP_CH_NH3i)*ZMI(JP_AER_NH3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_NH3,2) = PSVT(:,:,:,JP_CH_NH3j)*ZMI(JP_AER_NH3)/6.0221367E+11 -! -! water - ZCTOTA(:,:,:,JP_AER_H2O,1) = PSVT(:,:,:,JP_CH_H2Oi)*ZMI(JP_AER_H2O)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_H2O,2) = PSVT(:,:,:,JP_CH_H2Oj)*ZMI(JP_AER_H2O)/6.0221367E+11 -! -! primary organic carbon - ZCTOTA(:,:,:,JP_AER_OC,1) = PSVT(:,:,:,JP_CH_OCi)*ZMI(JP_AER_OC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_OC,2) = PSVT(:,:,:,JP_CH_OCj)*ZMI(JP_AER_OC)/6.0221367E+11 -! -! primary black carbon - ZCTOTA(:,:,:,JP_AER_BC,1) = PSVT(:,:,:,JP_CH_BCi)*ZMI(JP_AER_BC)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_BC,2) = PSVT(:,:,:,JP_CH_BCj)*ZMI(JP_AER_BC)/6.0221367E+11 -! - IF (NSOA .EQ. 10) THEN - ZCTOTA(:,:,:,JP_AER_SOA1,1) = PSVT(:,:,:,JP_CH_SOA1i)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA1,2) = PSVT(:,:,:,JP_CH_SOA1j)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,1) = PSVT(:,:,:,JP_CH_SOA2i)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA2,2) = PSVT(:,:,:,JP_CH_SOA2j)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,1) = PSVT(:,:,:,JP_CH_SOA3i)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA3,2) = PSVT(:,:,:,JP_CH_SOA3j)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,1) = PSVT(:,:,:,JP_CH_SOA4i)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA4,2) = PSVT(:,:,:,JP_CH_SOA4j)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,1) = PSVT(:,:,:,JP_CH_SOA5i)*ZMI(JP_AER_SOA5)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA5,2) = PSVT(:,:,:,JP_CH_SOA5j)*ZMI(JP_AER_SOA5)/6.0221367E+11 - - ZCTOTA(:,:,:,JP_AER_SOA6,1) = PSVT(:,:,:,JP_CH_SOA6i)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA6,2) = PSVT(:,:,:,JP_CH_SOA6j)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,1) = PSVT(:,:,:,JP_CH_SOA7i)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA7,2) = PSVT(:,:,:,JP_CH_SOA7j)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,1) = PSVT(:,:,:,JP_CH_SOA8i)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA8,2) = PSVT(:,:,:,JP_CH_SOA8j)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,1) = PSVT(:,:,:,JP_CH_SOA9i)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA9,2) = PSVT(:,:,:,JP_CH_SOA9j)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,1) = PSVT(:,:,:,JP_CH_SOA10i)*ZMI(JP_AER_SOA10)/6.0221367E+11 - ZCTOTA(:,:,:,JP_AER_SOA10,2) = PSVT(:,:,:,JP_CH_SOA10j)*ZMI(JP_AER_SOA10)/6.0221367E+11 - END IF - -! -!* 3 calculate moment 3 from total aerosol mass -! - ZM(:,:,:,2) = 0. - ZM(:,:,:,5) = 0. - DO JJ = 1,NSP+NCARB+NSOA - ZM(:,:,:,2) = ZM(:,:,:,2)+ZCTOTA(:,:,:,JJ,1)/ZFAC(JJ) - ZM(:,:,:,5) = ZM(:,:,:,5)+ZCTOTA(:,:,:,JJ,2)/ZFAC(JJ) - ENDDO - ZM(:,:,:,2) = MAX(ZM(:,:,:,2), ZPMIN(2)) - ZM(:,:,:,5) = MAX(ZM(:,:,:,5), ZPMIN(5)) -! -! -!* 4 calculate moment 0 from dispersion and mean radius -! - ZM(:,:,:,1)= ZM(:,:,:,2)/ & - ( (PRG3D(:,:,:,1)**3)*EXP(4.5 * LOG(PSIG3D(:,:,:,1))**2) ) - ZM(:,:,:,4)= ZM(:,:,:,5)/ & - ( (PRG3D(:,:,:,2)**3)*EXP(4.5 * LOG(PSIG3D(:,:,:,2))**2) ) -! - -!* 5 calculate moment 6 from dispersion and mean radius -! - ZM(:,:,:,3) = ZM(:,:,:,1)*(PRG3D(:,:,:,1)**6) * & - EXP(18 *(LOG(PSIG3D(:,:,:,1)))**2) - ZM(:,:,:,6) = ZM(:,:,:,4)*(PRG3D(:,:,:,2)**6) * & - EXP(18 *(LOG(PSIG3D(:,:,:,2)))**2) - -!* 6 return to ppp -! -PSVT(:,:,:,JP_CH_M0i) = ZM(:,:,:,1) * 1E-6 -PSVT(:,:,:,JP_CH_M0j) = ZM(:,:,:,4) * 1E-6 - -IF (LVARSIGI) PSVT(:,:,:,JP_CH_M6i) = ZM(:,:,:,3) -IF (LVARSIGJ) PSVT(:,:,:,JP_CH_M6j) = ZM(:,:,:,6) - -DO JJ=1,SIZE(PSVT,4) - PSVT(:,:,:,JJ) = PSVT(:,:,:,JJ) / (ZDEN2MOL * PRHODREF(:,:,:)) -ENDDO - -DEALLOCATE(ZM) -! -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:AERO2PPP',1,ZHOOK_HANDLE) -END SUBROUTINE AERO2PPP -! -! ############################################################ - SUBROUTINE PPP2AERO1D( & - PSVT & !I [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG1D & !O [-] standard deviation of aerosol distribution - , PRG1D & !O [um] number median diameter of aerosol distribution - , PN1D & !O [#/m3] number concentration of aerosols - , PCTOTA & !O [ug/m3] mass of each aerosol compounds - , PM1D & !moments 0, 3 and 6 - ) -! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the three moments M0, M3 and M6 given in ppp into -!! Values which can be understood more easily (R, sigma, N, M) -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AERO1D(PSVT, PRHODREF, PSIG1D=SIGVAR, & -!! PRG1D=RVAR, PN1D=NVAR, PM1D=ZM) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Alf Grini (CNRM) -!! -!! EXTERNAL -!! -------- -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:), INTENT(IN) :: PSVT !I [#/molec_{air}] first moment - !I [molec_{aer}/molec_{air} 3rd moment - !I [um6/molec_{air}*(cm3/m3)] 6th moment -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PSIG1D !O [-] standard deviation -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PRG1D !O [um] number median diameter -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PN1D !O [#/m3] number concentration -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(OUT) :: PCTOTA !O [ug/m3] mass of each component -REAL, DIMENSION(:,:), OPTIONAL, INTENT(OUT) :: PM1D !O moments 0,3 and 6 -! -!* 0.2 declarations local variables -! -REAL, DIMENSION(NSP+NCARB+NSOA) :: ZMI ! [kg/mol] molar weight of aerosol -REAL :: ZRGMIN ! [um] minimum radius accepted -REAL,DIMENSION(SIZE(PSVT,1), SIZE(PSVT,2)) :: ZSV ! [aerosol concentration] -REAL,DIMENSION(SIZE(PSVT,1)) :: ZSIGMA ! [-] standard deviation -REAL,DIMENSION(SIZE(PSVT,1),NSP+NCARB+NSOA,JPMODE):: ZCTOTA -REAL,DIMENSION(SIZE(PSVT,1),JPMODE*3) :: ZM - -REAL,DIMENSION(NSP+NCARB+NSOA) :: ZFAC ! M3 / mass conversion factor -REAL :: ZDEN2MOL -REAL,DIMENSION(JPMODE*3) :: ZPMIN ! [aerosol units] minimum values for N, sigma, M -INTEGER :: JJ, JN ! [idx] loop counters -REAL :: ZINIRADIUSI, ZINIRADIUSJ -! -!------------------------------------------------------------------------------- -! -! 1. initialisation - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:PPP2AERO1D',0,ZHOOK_HANDLE) -IF (CRGUNIT=="MASS") THEN - ZINIRADIUSI = XINIRADIUSI * EXP(-3.*(LOG(XINISIGI))**2) - ZINIRADIUSJ = XINIRADIUSJ * EXP(-3.*(LOG(XINISIGJ))**2) -ELSE - ZINIRADIUSI = XINIRADIUSI - ZINIRADIUSJ = XINIRADIUSJ -END IF - - - - !Get minimum values possible - ZPMIN(1) = XN0IMIN - ZRGMIN = XCOEFRADIMIN * ZINIRADIUSI - ZPMIN(2) = ZPMIN(1) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGIMIN)**2) - ZPMIN(3) = ZPMIN(1) * (ZRGMIN**6)*EXP(18. * LOG(XSIGIMIN)**2) - - ZPMIN(4) = XN0JMIN - ZRGMIN = XCOEFRADJMIN * ZINIRADIUSJ - ZPMIN(5) = ZPMIN(4) * (ZRGMIN**3)*EXP(4.5 * LOG(XSIGJMIN)**2) - ZPMIN(6) = ZPMIN(4) * (ZRGMIN**6)*EXP(18. * LOG(XSIGJMIN)**2) - - !Set density of aerosol, here dust (kg/m3) - ! Aerosol Density -! Cf Ackermann (all to black carbon except water) - - !Set molecular weightn g/mol - ZMI(:) = 250. - ZMI(JP_AER_SO4) = 98. - ZMI(JP_AER_NO3) = 63. - ZMI(JP_AER_NH3) = 17. - ZMI(JP_AER_H2O) = 18. - IF (NSOA .EQ. 10) THEN - ZMI(JP_AER_SOA1) = 88. - ZMI(JP_AER_SOA2) = 180. - ZMI(JP_AER_SOA3) = 1.5374857E3 - ZMI(JP_AER_SOA4) = 1.9586780E3 - ZMI(JP_AER_SOA5) = 195. - ZMI(JP_AER_SOA6) = 195. - ZMI(JP_AER_SOA7) = 165. - ZMI(JP_AER_SOA8) = 195. - ZMI(JP_AER_SOA9) = 270. - ZMI(JP_AER_SOA10) = 210. - END IF - -! conversion into mol.cm-3 -ZDEN2MOL = 1E-6 * XAVOGADRO / XMD -! -DO JJ=1, SIZE(PSVT,2) - ZSV(:,JJ) = PSVT(:,JJ) * ZDEN2MOL * PRHODREF(:) -ENDDO -! -DO JJ=1,NSP+NCARB+NSOA - ZFAC(JJ)=(4./3.)*XPI*XRHOI(JJ)*1.e-9 -ENDDO -! -!------------------------------------------------------------------------------- -! -!* 2 transfer aerosol mass from gas to aerosol variables -! (and conversion of mol.cm-3 --> microgram/m3) -! -ZCTOTA(:,:,:) = 0. -! aerosol phase - ZCTOTA(:,JP_AER_SO4,1) = ZSV(:,JP_CH_SO4i)*ZMI(JP_AER_SO4)/6.0221367E+11 - ZCTOTA(:,JP_AER_SO4,2) = ZSV(:,JP_CH_SO4j)*ZMI(JP_AER_SO4)/6.0221367E+11 - - ZCTOTA(:,JP_AER_NO3,1) = ZSV(:,JP_CH_NO3i)*ZMI(JP_AER_NO3)/6.0221367E+11 - ZCTOTA(:,JP_AER_NO3,2) = ZSV(:,JP_CH_NO3j)*ZMI(JP_AER_NO3)/6.0221367E+11 - - ZCTOTA(:,JP_AER_NH3,1) = ZSV(:,JP_CH_NH3i)*ZMI(JP_AER_NH3)/6.0221367E+11 - ZCTOTA(:,JP_AER_NH3,2) = ZSV(:,JP_CH_NH3j)*ZMI(JP_AER_NH3)/6.0221367E+11 -! -! water - ZCTOTA(:,JP_AER_H2O,1) = ZSV(:,JP_CH_H2Oi)*ZMI(JP_AER_H2O)/6.0221367E+11 - ZCTOTA(:,JP_AER_H2O,2) = ZSV(:,JP_CH_H2Oj)*ZMI(JP_AER_H2O)/6.0221367E+11 -! -! primary organic carbon - ZCTOTA(:,JP_AER_OC,1) = ZSV(:,JP_CH_OCi)*ZMI(JP_AER_OC)/6.0221367E+11 - ZCTOTA(:,JP_AER_OC,2) = ZSV(:,JP_CH_OCj)*ZMI(JP_AER_OC)/6.0221367E+11 -! -! primary black carbon - ZCTOTA(:,JP_AER_BC,1) = ZSV(:,JP_CH_BCi)*ZMI(JP_AER_BC)/6.0221367E+11 - ZCTOTA(:,JP_AER_BC,2) = ZSV(:,JP_CH_BCj)*ZMI(JP_AER_BC)/6.0221367E+11 -! -IF (NSOA .EQ. 10) THEN - ZCTOTA(:,JP_AER_SOA1,1) = ZSV(:,JP_CH_SOA1i)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA1,2) = ZSV(:,JP_CH_SOA1j)*ZMI(JP_AER_SOA1)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA2,1) = ZSV(:,JP_CH_SOA2i)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA2,2) = ZSV(:,JP_CH_SOA2j)*ZMI(JP_AER_SOA2)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA3,1) = ZSV(:,JP_CH_SOA3i)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA3,2) = ZSV(:,JP_CH_SOA3j)*ZMI(JP_AER_SOA3)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA4,1) = ZSV(:,JP_CH_SOA4i)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA4,2) = ZSV(:,JP_CH_SOA4j)*ZMI(JP_AER_SOA4)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA5,1) = ZSV(:,JP_CH_SOA5i)*ZMI(JP_AER_SOA5)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA5,2) = ZSV(:,JP_CH_SOA5j)*ZMI(JP_AER_SOA5)/6.0221367E+11 - - ZCTOTA(:,JP_AER_SOA6,1) = ZSV(:,JP_CH_SOA6i)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA6,2) = ZSV(:,JP_CH_SOA6j)*ZMI(JP_AER_SOA6)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA7,1) = ZSV(:,JP_CH_SOA7i)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA7,2) = ZSV(:,JP_CH_SOA7j)*ZMI(JP_AER_SOA7)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA8,1) = ZSV(:,JP_CH_SOA8i)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA8,2) = ZSV(:,JP_CH_SOA8j)*ZMI(JP_AER_SOA8)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA9,1) = ZSV(:,JP_CH_SOA9i)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA9,2) = ZSV(:,JP_CH_SOA9j)*ZMI(JP_AER_SOA9)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA10,1) = ZSV(:,JP_CH_SOA10i)*ZMI(JP_AER_SOA10)/6.0221367E+11 - ZCTOTA(:,JP_AER_SOA10,2) = ZSV(:,JP_CH_SOA10j)*ZMI(JP_AER_SOA10)/6.0221367E+11 -END IF -! -!------------------------------------------------------------------------------- -! -!* 3 calculate moment 3 from total aerosol mass -! -ZM(:,2) = 0. -ZM(:,5) = 0. -DO JJ = 1,NSP+NCARB+NSOA - ZM(:,2) = ZM(:,2)+ZCTOTA(:,JJ,1)/ZFAC(JJ) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ZM(:,5) = ZM(:,5)+ZCTOTA(:,JJ,2)/ZFAC(JJ) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) -ENDDO -! -!------------------------------------------------------------------------------- -! -!* 4 set moment 0 -! - ZM(:,1)= MAX(ZSV(:,JP_CH_M0i) * 1E+6, 1.E-10) ! molec_{aer}/m3_{air} - ZM(:,4)= MAX(ZSV(:,JP_CH_M0j) * 1E+6, 1.E-10) ! molec_{aer}/m3_{air} -! -!------------------------------------------------------------------------------- -! -!* 5 set moment 6 ==> um6_{aer}/m3_{air} -! -IF (LVARSIGI) THEN ! set M6 variable standard deviation - ZM(:,3) = MAX(ZSV(:,JP_CH_M6i), 1E-80) - - ZSIGMA(:)=ZM(:,2)**2/(ZM(:,1)*ZM(:,3)) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGIMAX) - ZSIGMA(:) = XSIGIMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGIMIN) - ZSIGMA(:) = XSIGIMIN - END WHERE - ZM(:,3) = ZM(:,1) & - * ( (ZM(:,2)/ZM(:,1))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:))**2))**6 & - * exp(18.*log(ZSIGMA(:))**2) - - IF(PRESENT(PSIG1D)) PSIG1D(:,1) = ZSIGMA(:) - -ELSE ! fixed standard deviation - ZM(:,3) = ZM(:,1) & - * ( (ZM(:,2)/ZM(:,1))**(1./3.) & - * exp(-(3./2.)*log(XINISIGI)**2))**6 & - * exp(18.*log(XINISIGI)**2) - - IF(PRESENT(PSIG1D)) PSIG1D(:,1) = XINISIGI -END IF - -IF (LVARSIGJ) THEN ! set M6 variable standard deviation - ZM(:,6) = MAX(ZSV(:,JP_CH_M6j), 1E-80) - - ZSIGMA(:)=ZM(:,5)**2/(ZM(:,4)*ZM(:,6)) - ZSIGMA(:)=MIN(1-1E-10,ZSIGMA(:)) - ZSIGMA(:)=MAX(1E-10,ZSIGMA(:)) - ZSIGMA(:)= LOG(ZSIGMA(:)) - ZSIGMA(:)= EXP(1./3.*SQRT(-ZSIGMA(:))) - WHERE (ZSIGMA(:) > XSIGJMAX) - ZSIGMA(:) = XSIGJMAX - END WHERE - WHERE (ZSIGMA(:) < XSIGJMIN) - ZSIGMA(:) = XSIGJMIN - END WHERE - - ZM(:,6) = ZM(:,4) & - * ( (ZM(:,5)/ZM(:,4))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:))**2))**6 & - * exp(18.*log(ZSIGMA(:))**2) - - IF(PRESENT(PSIG1D)) PSIG1D(:,2) = ZSIGMA(:) - -ELSE ! fixed standard deviation - ZM(:,6) = ZM(:,4) & - * ( (ZM(:,5)/ZM(:,4))**(1./3.) & - * exp(-(3./2.)*log(XINISIGJ)**2))**6 & - * exp(18.*log(XINISIGJ)**2) - - IF(PRESENT(PSIG1D)) PSIG1D(:,2) = XINISIGJ -END IF - - -!------------------------------------------------------------------------------- -! -!* 6 calculate modal parameters from moments -! -DO JN=1,JPMODE - IF(PRESENT(PN1D)) PN1D(:,JN) = ZM(:,NM0(JN)) - - IF(PRESENT(PRG1D)) PRG1D(:,JN)=(ZM(:,NM3(JN))**4. & - / (ZM(:,NM6(JN))*ZM(:,NM0(JN))**3.))**(1./6.) - -ENDDO -! -IF(PRESENT(PCTOTA)) PCTOTA(:,:,:) = ZCTOTA(:,:,:) -IF(PRESENT(PM1D)) PM1D(:,:) = ZM(:,:) -! -IF (LHOOK) CALL DR_HOOK('MODE_AERO_PSD:PPP2AERO1D',1,ZHOOK_HANDLE) -END SUBROUTINE PPP2AERO1D -! -! -END MODULE MODE_AERO_PSD diff --git a/src/arome/chem/module/mode_amain.F90 b/src/arome/chem/module/mode_amain.F90 deleted file mode 100644 index 99af6d99bafdb445f6fbf57b0dc39d349907786d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_amain.F90 +++ /dev/null @@ -1,372 +0,0 @@ -! ######spl -MODULE MODE_AMAIN -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - USE MODD_BINSOLU, only : & - molalbinA - - USE MODD_GLO, only: & - NBSPA & - ,MWA & - ,VPA_298 & - ,NKA & - ,K_A_298 - - IMPLICIT NONE - - PUBLIC - PRIVATE :: SATURATION - -CONTAINS -!*********************************************************************** -!Purpose: Starting point of Type A routine. Performs 2 functions: (1) -! gas/particle partition of organic compounds based on available -! water or saturation, (2) calculate water associated with organic -! solutes, (3) calculate total organic anion concnetrations, -! -!Arguments: 1. *aero: initial guesses of Ai in same units as inputs ug/m3 -! also contain final output from newt -! 2. *aeros: solid concentrations (also used to temporarily store -! input PM concentrations in LWC = 0 absorption case with -! no newton, and PM from absorption before water is added) -! -!Return: 1. deltaLWC is the output for water associated with the organics -! in microgram/m3 air -! -!Data Needed: -! Input read in main and passed unsing global variables -! totA[i] (ug/m3 air), acHP (mole/kg water), -! LWC (ug/m3 air), RH (between 0 and 1), temperature (K) -! -! Parameters: NK = no. of eq. relationship for each solute -! K = partition parameters H and K -! Ai, Gi, W in ug per m3 air units -! gamma in mole fraction units, change reference -! state to Henry's law -! {H+} in moles per kg solvent, -! MW = Molecular weights in the order defined below -! borrowing MW[0] to store MW(water) -! DRH = deliquescence humidities for molecules -! (still need data) -! VP = vapor pressure in units of mass (ug) per m3 air -! pure liquid-gas partitioning: -! (1) deliquescent species -! (2) input LWC = 0 from inorganic species 5-29-99 -!Notes: -! Molecules (6) -! 1. Propandioic acid (twice dissociating) -! 2. C8 dien-dioic acid with an aldehyde branch (twice dissociating) -! 3. C8 hydroxy-dien-dial (non-dissociating) -! 4. C9 hydroxy-carbonyl acid with one double bond (dissociating) -! 5. C10 hydroxy-carbonyl aldehyde (non-dissociating) -! 6. butandioic acid (twice dissociating) -! -! Solutes (13) -! 1. Propandioic acid (H2A1) -! 2. Hydrogen Propanoate (HA1-) -! 3. Propanoate (A1=) -! 4. C8 aldehyde-branched dien-dioic acid (H2A2) -! 5. C8 aldehyde-branched hydrogen dienoiate (HA2-) -! 6. C8 aldehyde-branched dienoiate (A2=) -! 7. C8 hydroxy diendial (A3) -! 8. C9 hydroxy carbonyl unsaturated acid (HA4) -! 9. C9 hydroxy carbonyl unsaterated anion (A4-) -! 10. C10 hydroxy carbonyl aldehyde (A5) -! 11. butandioic acid (H2A6) -! 12. hydrogen butanoate (HA6-) -! 13. butanoiate (A6=) -! -! Cases: -! 1. LWC > 0 -! A) RH > DRH[i] - aqueous phase (with ions) -! B) RH < DRH[i] -! (i) totA > VP - gas phase = VP -! - solid phase (no water associated with PM phase i) -! (ii) totA < VP - gas phase only -! 2. LWC = 0 (option 1, saturation) -! A) RH > DRH[i] -! (i) totA > VP - gas phase = VP -! - aq phase molecules only = totA[i] - VP[i] -! (ii) totA < VP - gas phase only -! B) RH < DRH[i] -! (i) totA > VP - gas phase = VP -! - solid phase (no water associated with PM phase i) -! (ii) totA < VP - gas phase only -! 2. LWC = 0 (option 2, absorption) -! A) RH > DRH - gas/liquid partition, liquid phase -! associated with organic water (molecules, no ions) -! B) RH < DRH - gas/liquid partition, no water in liquid phase -! -!Revisions: 1. Developed by Betty Pun, AER, Jan 99 under EPRI for prototype -! Type A module with 2 compounds: malic acid and glyoxalic acid -! using newt, the globally convergent multi-dimensional -! Newton's method to solve the non-linear simultaneous equations. -! NR convension index 1 .. n; most arrays run from 1 to NSP+1 -! -! 2. Added code May 99 to deal with LWC input = 0 -! calculate gas-PM partition based on VPsat -! calculate water associated with organics (H2M RH < DRH) -! -! 3. Under CARB funding, modified code October 99 to -! perform the partition of 6 compounds. Removed hard-wired -! code regarding equations solved -! -! 4. Modified to comply with Models-3 coding standard, Betty Pun, -! AER, November 99 -! -! 5. Included flag to solve for water content based on ZSR with -! binary solution characteristics stored in file. -! -! 6. Combine Type A and B, Betty Pun Apr 00 -! 6a. bkp 6/00 change criteria to deal with low LWC cases: -! old criteria was: -! if ((NK[i] >= 2) && (K[jeq]/acHP > Critsol)) { -! 7. Add option to do absorption when LWC = 0 11/00 -! 8. For 3-D, add option to solve absorption based on fixed PM -!****************************************************************************/ - - - SUBROUTINE AMAIN ( & - totA & !I [ug/m3] total (gas + aerosol + ions) of component - ,AERO & !O [ug/m3] liquid aerosol concentrations - ,AEROS & !O [ug/m3] solid aerosol concentration - ,GAS & !O [ug/m3] gaseous concentration - ,LWC & !I [ug/m3] liquid water content already available for partitioning - ,acHP & !I [umol/kg_{water}] proton concentration - ,deltaLWC & !O [ug/m3] liquid water content associated with organics - ,ORGANION & !O [mole/m3] negative charge associated with organics - ,RH & !I [0-1] relative humdity - ,TEMPK & !I [K] Temperature - ) - - USE mode_typea - use mode_zsrpun - - !********************************************************************************************** - !Make initial gas phase concentrations: For a set of acids we have the following equilibriums - !1) H2A(g) <--> H2A - !2) H2A <--> H+ + HA- - !3) HA- <--> H+ + A(2-) - - !We have the following equations: - !1) K(1) = H2A/H2A(g) (Henry's law) - !2) [H+]*[HA-]/[H2A] = K(2) (acid dissociation) - !3) [H+]*[A(2-)]/[HA-] = K(3) (acid dissociation) - - !The mole balance: - !totAER = H2A + HA- + A(2-) - !totAER = K(1)*[H2A(g)] + K(2)[H2A]/[H+] + K(3)*[HA-]/[H+] - !totAER = K(1)*[H2A(g)] + K(2)K(1)[H2A(g)]/[H+] + K(3)K(2)K(1)[H2A(g)]/([H+])^2 - !totAER = K(1)*[H2A(g)]* (1 + K(2)/[H+] + K(3)K(2)/([H+])^2) - !totAER = [H2A]*(1 + K(2)/[H+] + K(3)K(2)/([H+])^2) = [H2A]/"nominator" - !*********************************************************************************************** - - IMPLICIT NONE - - !INPUT - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] temperature - REAL, DIMENSION(:), INTENT(IN) :: RH !I [0-1] relative humidity - REAL, DIMENSION(:,:), INTENT(IN) :: totA !I [ug/m3] total (gas+aerosol) concentration - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] Liquid water content already ready for partitioning - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [umol/kg_{water}] proton concentration - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS !O [ug/m3] gas phase concentrations - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO !O [ug/m3] liquid aerosol concentrations - REAL, DIMENSION(:,:), INTENT(OUT) :: AEROS !O [ug/m3] solid aerosol concentrations - REAL, DIMENSION(:), INTENT(OUT) :: deltaLWC !O [ug/m3] liquid water content assiciated with organics - REAL, DIMENSION(:), INTENT(OUT) :: ORGANION !O [mole/m3] negative charge associated with organics - - !LOCAL, AUTOMATIC ARRAYS - REAL, DIMENSION(SIZE(TEMPK)) :: THISTERM !Term in nominator in mass balance eqn (see above) - REAL, DIMENSION(SIZE(TEMPK)) :: NOMINATOR !Nominator in mass balance eqn (see above) - LOGICAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: LCRITSOL ![T/F] True if soluble species - - !LOCAL, SMALL COUNTERS AND OTHER VARS - INTEGER :: I ![idx] counter for main components (1-->NBSPA) - INTEGER :: J ![idx] counter for sub-componnets or ions - INTEGER :: COMP_IDX ![idx] index for aerosol components (1-->NAAEROA) - INTEGER :: COMP_IDX2 ![idx] index for aerosol sub-components (1-->NAAEROA) - REAL, PARAMETER :: HIGHFRC=0.999999 ![frc] guess for fraction of total in aq. phase if very soluble - - - !****************************************************************************** - - !Start part which will make guesses for the - !aerosol concentrations before the iterations start - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_AMAIN:AMAIN',0,ZHOOK_HANDLE) - COMP_IDX = 1 - DO I=1,NBSPA - !Check for places where we think that the main acid - !can dissolve well in the aquous phase, that is: - !1) [H+] is low - !2) [LWC] is high - !3) the main aerosol can dissolve at least once - LCRITSOL(:,I)= & - K_A_298(COMP_IDX)*LWC(:)/acHP(:).GT.CRITSOL.AND.NKA(I).ge.2 - - !Prepare for next sub-component - COMP_IDX=COMP_IDX+1 - - !Skip sub-components - DO J=2,NKA(I) - COMP_IDX = COMP_IDX +1 - ENDDO - ENDDO - - IF(LBOX)THEN - DO I=1,NBSPA - IF(LCRITSOL(1,I))write(6,*)"comp", I," very soluble" - ENDDO - ENDIF - - COMP_IDX = 1 - !Start loop on non-dissociated components - DO I=1,NBSPA - - !Get the nominator in the mass balance equation above - !is used to find the concentration of the undissociated species (e.g. H2A) - NOMINATOR(:)=1.d0 - THISTERM(:)=1.d0 - - COMP_IDX2 = COMP_IDX - DO J=2,NKA(I) - COMP_IDX2=COMP_IDX2 + 1 !go to first sub-component (ion) - THISTERM(:)=THISTERM(:)*K_A_298(COMP_IDX2) & - /acHP(:)*MWA(COMP_IDX2-1)/MWA(COMP_IDX2) - - NOMINATOR(:)=NOMINATOR(:) + THISTERM(:) - ENDDO - - !Check if main component is soluble - WHERE(LCRITSOL(:,I)) !Very soluble species - - !Get concentration of main component from mass balance equation - AERO(:,COMP_IDX) = HIGHFRC*totA(:,I) & !guess: totAER = totA*HIGHFRC ~= totA - /NOMINATOR(:) - - ELSEWHERE - - !Places where the acid is not so soluble, assume totA ~=gas - !use Henry's law on non-dissociative acid - AERO(:,COMP_IDX) = totA(:,I) & !Guess: GAS =totA - * K_A_298(COMP_IDX) * LWC(:) & - /(1.d0 + K_A_298(COMP_IDX)*LWC(:)) - - END WHERE - - IF(LBOX)THEN - write(6,'(a,2i5,2e15.5)')"guess", I, COMP_IDX, totA(:,I), AERO(:,COMP_IDX) - ENDIF - - !Prepare for next component - COMP_IDX = COMP_IDX +1 - - !Set the concentrations of the sub-components - DO J=2,NKA(I) - AERO(:,COMP_IDX) = K_A_298(COMP_IDX) * AERO(:,COMP_IDX-1)/acHP(:) - IF(LBOX)THEN - write(6,'(a,2i5,2e15.5)')"guess", I, COMP_IDX, totA(:,I), AERO(:,COMP_IDX) - ENDIF - COMP_IDX = COMP_IDX +1 - ENDDO - IF(LBOX)write(6,*)" " - - ENDDO !Loop on main components - - !Now that we have guesses, call type-A to iterate to solution - CALL TYPEA( & - AERO & !I/O [ug/m3] aerosol concentrations (main and ion) - ,GAS & !O [ug/m3] gas phase concentrations - ,totA & !I [ug/m3] total (gas+aer) concentrations - ,TEMPK & !I [K] temperature - ,LWC & !I [ug/m3] liquid water content available for partitioning - ,acHP & !I [mole_{H+}/kg_{water}] proton concentration - ) - - !Now we have all components in aquous phase, get the new LWC - !We need the new (H+ concentration too!) - CALL ZSRPUN( & - AERO & !I [ug/m3] aquous aerosol concentration - , RH & !I [0-1] relative humidity - ,deltaLWC & !O [ug/m3] LWC associated with organics - ,MOLALBINA & !I [umol/ug_{water}] molality of binary solutions - ,NBSPA & !I [nbr] number of species to take into account - ,NKA & !I [nbr] number of sub and main component for main component - ,MWA & !I [g/mol] molecular weight of species - ) - - !For now, we don't consider solid aerosols, so put it to zero - AEROS(:,:)=0.d0 - - !Get negative charge associated with organics - ORGANION(:)=0.d0 - COMP_IDX=1 - DO I=1,NBSPA - !No charge for first component - COMP_IDX=COMP_IDX+1 - DO J=2,NKA(I) - ORGANION(:)=ORGANION(:) & - + AERO(:,COMP_IDX)/MWA(COMP_IDX) & !moles of ion component - *dble(J-1) !charge of ion component - - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - IF(LBOX)write(6,*)"LWC, deltaLWC", LWC, deltaLWC - - IF (LHOOK) CALL DR_HOOK('MODE_AMAIN:AMAIN',1,ZHOOK_HANDLE) - END SUBROUTINE AMAIN - - !*************************************************************** - - SUBROUTINE saturation(& - totA & !I [ug/m3] total (gas+aerosol) concentration - ,vp & !I [ug/m3] saturation vapor pressure - ,pmconc & !O [ug/m3] solid aerosol concentration - ,gasconc & !O [ug/m3] gas phase concentration - ) - - !************************************************************** - ! purpose: given total amount of a compound, - ! calculate partition based on saturation - ! if tot > vp, gas = vp, pm = (tot - vp) - ! if tot < vp, gas = tot pm = 0 - ! arguments: tot total amount (microgram/m3 air) of compound - ! vp vapor pressure (microgram/m3 air) of compound - ! *pmconc pointer to output of particulate-phase concentration - ! *gasconc pointer to output of gas-phase concentration - ! history: 1. coded 11/28/00 BKP to replace code in 2 locations: - ! - LWC > 0 and RH < DRH - ! - LWC = 0 any RH - ! - !****************************************************************/ - - IMPLICIT NONE - REAL, DIMENSION(:,:), INTENT(IN) :: totA !I [ug/m3] total (gas+aerosol) concentration - REAL, DIMENSION(:), INTENT(IN) :: VP !I [ug/m3] saturation vapor pressure - REAL, DIMENSION(:,:), INTENT(OUT) :: PMCONC !O [ug/m3] solid aerosol concentration - REAL, DIMENSION(:,:), INTENT(OUT) :: GASCONC !O [ug/m3] gas phase concentration - INTEGER :: I ![idx] conter for aerosol species - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_AMAIN:SATURATION',0,ZHOOK_HANDLE) - DO I=1,NBSPA - - WHERE(totA(:,I) > VP(I)) - PMCONC(:,I) = totA(:,I) - VP(I) - GASCONC(:,I) = VP(I) - ELSEWHERE - GASCONC(:,I)= totA(:,I) - PMCONC(:,I)=0.d0 - END WHERE - - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_AMAIN:SATURATION',1,ZHOOK_HANDLE) - END SUBROUTINE SATURATION - -END MODULE mode_amain diff --git a/src/arome/chem/module/mode_bmain.F90 b/src/arome/chem/module/mode_bmain.F90 deleted file mode 100644 index 57b58f6906bb97fc38abde51fe75bd1670701ce0..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_bmain.F90 +++ /dev/null @@ -1,103 +0,0 @@ -! ######spl -MODULE MODE_BMAIN -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - USE MODD_GLO !Global definitions - - IMPLICIT NONE - -CONTAINS - - SUBROUTINE BMAIN( & - CB & !I [ug/m3] total concentration - ,GAS & !I/O [ug/m3] gas phase concentrations - ,AERO & !I/O [ug/m3] - ,PAOM & !I [ug/m3] primary aerosol organic matter - ,TEMPK & !I [K] Temperature - ) - - USE mode_typeb - - IMPLICIT NONE - - !INPUT - REAL, INTENT(IN), DIMENSION(:,:) :: CB ![ug/m3] total concentration - REAL, INTENT(IN), DIMENSION(:) :: PAOM ![ug/m3] Primary aerosol organic matter - REAL, INTENT(IN), DIMENSION(:) :: TEMPK ![K] temperature - - !OUTPUT - REAL, INTENT(OUT), DIMENSION(:,:) :: GAS ![ug/m3] gas concentratin - REAL, INTENT(OUT), DIMENSION(:,:) :: AERO ![ug/m3] aerosol conc - - !LOCAL VARIABLES - REAL, DIMENSION(SIZE(GAS,1)) :: GUESSSOA ![ug/m3] guess for soa - REAL :: GUESSFRC ![frc] guess for fraction of total in aerosol phase - - INTEGER :: II ![idx] counters - - !Set the total concentration of type B species - !CB(:,:) = GAS(:,:) + AERO (:,:) - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_BMAIN:BMAIN',0,ZHOOK_HANDLE) - GUESSSOA(:)=0.0 !Used later if SOA >> PAOM - - DO II=1,NBSPB - !Get initial guesses for aerosol part - !If component has high vapor pressure, compared to POA - !==>guess 30% of total - !If component has low vapor pressure, compared to POA - !==> guess 90% of total - !This guessing is not really OK for cases where SOA is the - !most important solvent species. In those cases, we get longer iterations - WHERE(VPB(II)/(PAOM(:)+1.d-20) > VPCRIT ) - AERO(:,II) = 0.3 * CB(:,II) - GUESSSOA(:)=GUESSSOA(:)+AERO(:,II) - ELSEWHERE - AERO(:,II) = 0.9 * CB(:,II) - GUESSSOA(:)=GUESSSOA(:)+AERO(:,II) - ENDWHERE - ENDDO - - !Special calculation for the cases where the SOA part is a lot greater - !than the POA part: Need special guess: - DO II=1,NBSPB - IF(VPB(II) < VPCRIT) THEN - GUESSFRC=0.9d0 - ELSE - GUESSFRC=0.3d0 - ENDIF - - !Since the above test did not work well if POA >> SOA - !We have to check if the GUESSSOA variable is large compared to POA - WHERE(10.0*PAOM(:) < GUESSSOA(:)) - - AERO(:,II) = GUESSFRC * CB(:,II) - - ENDWHERE!Check on total SOA larger than POA - - ENDDO !Loop on SOA components - - !Limit the new aerosol values to reasonable values - !WHERE (AERO(:,:) < 0.0) - ! AERO(:,:)=0.d0 - !ELSEWHERE(AERO(:,:) > CB(:,:)) - ! AERO(:,:) = CB(:,:) - !ENDWHERE - - !Get the gas phase concentration - GAS(:,:)=CB(:,:) - AERO (:,:) - - CALL TYPEB( & - PAOM & !I [ug/m3] primary organic aerosol - ,AERO & !I/O [ug/m3] aerosol concentrations - ,GAS & !I/O [ug/m3] gas phase concentrations - ,CB & !I [ug/m3] total concentrations - ,TEMPK & !I [K] temperature - ) - - IF (LHOOK) CALL DR_HOOK('MODE_BMAIN:BMAIN',1,ZHOOK_HANDLE) - END SUBROUTINE BMAIN - -END MODULE MODE_BMAIN diff --git a/src/arome/chem/module/mode_dust_psd.F90 b/src/arome/chem/module/mode_dust_psd.F90 deleted file mode 100644 index 793cb7468d1d86c7782c07871ce80b04198a9eeb..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_dust_psd.F90 +++ /dev/null @@ -1,531 +0,0 @@ -! ######spl - MODULE MODE_DUST_PSD - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################## -!! -!! PURPOSE -!! ------- -!! MODULE DUST PSD (Particle Size Distribution) -!! Purpose: Contains subroutines to convert from transported variables (ppp) -!! to understandable aerosol variables, e.g. #/m3, kg/m3, sigma, R_{n} -!! -!! AUTHOR -!! ------ -!! Alf Grini (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!------------------------------------------------------------------------------- -! -USE MODD_CSTS_DUST !Constants which are important for dust calculations -USE MODD_DUST !Dust module which contains even more constants -! -IMPLICIT NONE -! -CONTAINS -! -!! ############################################################ - SUBROUTINE PPP2DUST( & - PSVT & !I [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !O [-] standard deviation of aerosol distribution - , PRG3D & !O [um] number median diameter of aerosol distribution - , PN3D & !O [#/m3] number concentration of aerosols - , PMASS3D & !O [kg/m3] mass concentration of aerosol - , PM3D & !O aerosols moments 0, 3 and 6 - ) -!! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the three moments M0, M3 and M6 given in ppp into -!! Values which can be understood more easily (R, sigma, N, M) -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AEROS(PSVT, PRHODREF, PSIG3D=SIGVAR, & -!! PRG3D=RVAR, PN3D=NVAR, PM3D=MASSVAR) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! 2005 Alf Grini (CNRM) -!! 2006 Jean-Pierre Chaboureau (LA) -!! -!! EXTERNAL -!! -------- -!! None -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !I [ppp] first moment -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PSIG3D !O [-] standard deviation -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PRG3D !O [um] number median diameter -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PN3D !O [#/m3] number concentration -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PMASS3D !O [kg_{aer}/m3] mass concentration -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PM3D !O aerosols moments -! -! -!* 0.2 declarations local variables -! -REAL :: ZRHOI ! [kg/m3] density of aerosol -REAL :: ZMI ! [kg/mol] molar weight of aerosol -REAL :: ZRGMIN ! [um] minimum radius accepted -REAL :: ZSIGMIN ! minimum standard deviation accepted -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM ! [aerosol units] local array which goes to output later -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZSV ! [dusts moment concentration] -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA ! [-] standard deviation -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZRG ! [um] number median diameter -REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN ! [aerosol units] minimum values for N, sigma, M -INTEGER,DIMENSION(:), ALLOCATABLE :: NM0 ! [idx] index for Mode 0 in passed variables -INTEGER,DIMENSION(:), ALLOCATABLE :: NM3 ! [idx] indexes for Mode 3 in passed variables -INTEGER,DIMENSION(:), ALLOCATABLE :: NM6 ! [idx] indexes for Mode 6 in passed variables -REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS ! initial mean radius -INTEGER :: JN,IMODEIDX,JJ ! [idx] loop counters -! -!------------------------------------------------------------------------------- -! -! 1.1 initialisation -! -!Calculations here are for one mode only -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUST_PSD:PPP2DUST',0,ZHOOK_HANDLE) -ALLOCATE (NM0(NMODE_DST)) -ALLOCATE (NM3(NMODE_DST)) -ALLOCATE (NM6(NMODE_DST)) -ALLOCATE (ZM(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), NMODE_DST*3)) -ALLOCATE (ZMMIN(NMODE_DST*3)) -ALLOCATE (ZSIGMA(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) -ALLOCATE (ZRG(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) -ALLOCATE (ZSV(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), SIZE(PSVT,4))) -ALLOCATE (ZINIRADIUS(NMODE_DST)) - -ZSV(:,:,:,:) = MAX(PSVT(:,:,:,:), 1.E-80) - -DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - !Get minimum values possible - ZMMIN(NM0(JN)) = XN0MIN(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG) THEN - ZSIGMIN = XSIGMIN - ELSE - ZSIGMIN = XINISIG(IMODEIDX) - ENDIF - ZMMIN(NM3(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZMMIN(NM6(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) -END DO -! -!Set density of aerosol, here dust (kg/m3) -ZRHOI = XDENSITY_DUST -!Set molecular weight of dust !NOTE THAT THIS IS NOW IN KG -ZMI = XMOLARWEIGHT_DUST -! -! -DO JN=1,NMODE_DST - ! - IF (LVARSIG) THEN ! give M6 (case of variable standard deviation) - ! - !Get number concentration (#/molec_{air}==>#/m3) - ZM(:,:,:,NM0(JN))= & - ZSV(:,:,:,1+(JN-1)*3) & !#/molec_{air} - * XAVOGADRO & !==>#/mole - / XMD & !==>#/kg_{air} - * PRHODREF(:,:,:) !==>#/m3 - ! - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,2+(JN-1)*3) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - !Limit mass concentration to minimum value - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - ! - ZM(:,:,:,NM6(JN)) = ZSV(:,:,:,3+(JN-1)*3) & !um6/molec_{air}*(cm3/m3) - * 1.d-6 & !==> um6/molec_{air} - * XAVOGADRO & !==> um6/mole_{air} - / XMD & !==> um6/kg_{air} - * PRHODREF(:,:,:) !==> um6/m3_{air} - !Limit m6 concentration to minimum value - ZM(:,:,:,NM6(JN)) = MAX(ZM(:,:,:,NM6(JN)), ZMMIN(NM6(JN))) - ! - !Get sigma (only if sigma is allowed to vary) - !Get intermediate values for sigma M3^2/(M0*M6) (ORILAM paper, eqn 8) - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - !Limit the intermediate value, can not be larger than 1 - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - !Limit the value for intermediate, can not be smaller than 0 - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - !Calculate log(sigma) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - !Finally get the real sigma the negative sign is because of - !The way the equation is written (M3^2/(M0*M6)) instead of (M0*M6)/M3^3 - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - !Limit the value to reasonable ones - ZSIGMA(:,:,:) = MAX( XSIGMIN, MIN( XSIGMAX, ZSIGMA(:,:,:) ) ) - - ! - !Put back M6 so that it fits the sigma which is possibly modified above - !The following makes M6 consistent with N, R, SIGMA - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) & - * ( (ZM(:,:,:,NM3(JN))/ZM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - ELSE ! compute M6 from M0, M3 and SIGMA - ! - ZSIGMA(:,:,:) = XINISIG(JPDUSTORDER(JN)) - - IF (LRGFIX_DST) THEN - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,JN) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - - ZM(:,:,:,NM0(JN))= ZM(:,:,:,NM3(JN))/& - ((ZINIRADIUS(JN)**3)*EXP(4.5 * LOG(XINISIG(JPDUSTORDER(JN)))**2)) - - ELSE - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,2+(JN-1)*2) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - - !Get number concentration (#/molec_{air}==>#/m3) - ZM(:,:,:,NM0(JN))= & - ZSV(:,:,:,1+(JN-1)*2) & !#/molec_{air} - * XAVOGADRO & !==>#/mole - / XMD & !==>#/kg_{air} - * PRHODREF(:,:,:) !==>#/m3 - - ! Limit concentration to minimum values - WHERE ((ZM(:,:,:,NM0(JN)) < ZMMIN(NM0(JN)) ).OR. & - (ZM(:,:,:,NM3(JN)) < ZMMIN(NM3(JN)) )) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - PSVT(:,:,:,1+(JN-1)*2) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO * PRHODREF(:,:,:) ) - PSVT(:,:,:,2+(JN-1)*2) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - ENDWHERE - END IF - - ! - - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) & - * ( (ZM(:,:,:,NM3(JN))/ZM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - ! - END IF - ! - !Get number median radius (eqn. 7 in Orilam manuscript) - ZRG(:,:,:)= & - ( & - ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN)) & - /(ZM(:,:,:,NM6(JN))*ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM0(JN))) & - ) & - ** XSIXTH - !ZRG(:,:,:)=MIN(ZRG(:,:,:),ZINIRADIUS(JN)) - !Give the sigma-values to the passed array - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,JN) = ZSIGMA(:,:,:) - ! - !Set the number concentrations in the passed array - IF(PRESENT(PN3D)) PN3D(:,:,:,JN) = ZM(:,:,:,NM0(JN)) - ! - !Get the number median radius - IF(PRESENT(PRG3D)) PRG3D(:,:,:,JN)= ZRG(:,:,:) - ! - IF(PRESENT(PMASS3D))THEN - PMASS3D(:,:,:,JN)= & - ZM(:,:,:,NM0(JN)) & !#/m^3_{air} - * XPI*4./3. & - * ZRHOI & !==>kg/m^3_{aeros}/m^3_{air} - * ZRG(:,:,:) * ZRG(:,:,:) * ZRG(:,:,:) & - * XUM3TOM3 & !==>kg/m^3_{air} - * exp(4.5*log(ZSIGMA(:,:,:))*log(ZSIGMA(:,:,:))) - ENDIF -! -END DO !Loop on modes -! -IF(PRESENT(PM3D)) PM3D(:,:,:,:) = ZM(:,:,:,:) -! -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZSV) -DEALLOCATE(ZRG) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZMMIN) -DEALLOCATE(ZM) -DEALLOCATE(NM6) -DEALLOCATE(NM3) -DEALLOCATE(NM0) -! -! -IF (LHOOK) CALL DR_HOOK('MODE_DUST_PSD:PPP2DUST',1,ZHOOK_HANDLE) -END SUBROUTINE PPP2DUST - -!! ############################################################ - SUBROUTINE DUST2PPP( & - PSVT & !IO [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !I [-] standard deviation of aerosol distribution - , PRG3D & !I [um] number median diameter of aerosol distribution - ) -!! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the dust Mass, RG and SIGMA in the three moments M0, M3 and M6 given in ppp -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AEROS(PSVT, PRHODREF, PSIG3D=SIGVAR, & -!! PRG3D=RVAR, PN3D=NVAR) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Alf Grini (CNRM) -!! -!! EXTERNAL -!! -------- -!! None -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! - !INPUT - REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG3D !O [-] standard deviation - REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRG3D !O [um] number median diameter - - !OUTPUT - REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !IO [#/molec_{air}] first moment - !IO [molec_{aer}/molec_{air} 3rd moment - !IO [um6/molec_{air}*(cm3/m3)] 6th moment -! -! -!* 0.2 declarations local variables -! - REAL :: ZRHOI ! [kg/m3] density of aerosol - REAL :: ZMI ! [kg/mol] molar weight of aerosol - REAL :: ZRGMIN ! [um] minimum radius accepted - REAL :: ZSIGMIN ! minimum standard deviation accepted - REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM ! [aerosol units] local array which goes to output later - REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA ! aersol standard deviation - REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN ! [aerosol units] minimum values for N, sigma, M - REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS ! initial mean radius - INTEGER,DIMENSION(:), ALLOCATABLE :: NM0 ! [idx] index for Mode 0 in passed variables - INTEGER,DIMENSION(:), ALLOCATABLE :: NM3 ! [idx] indexes for Mode 3 in passed variables - INTEGER,DIMENSION(:), ALLOCATABLE :: NM6 ! [idx] indexes for Mode 6 in passed variables - INTEGER :: JJ, JN ! [idx] loop counters - INTEGER :: IMODEIDX -! -!------------------------------------------------------------------------------- -! -! 1.1 initialisation - - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_DUST_PSD:DUST2PPP',0,ZHOOK_HANDLE) - ALLOCATE (NM0(NMODE_DST)) - ALLOCATE (NM3(NMODE_DST)) - ALLOCATE (NM6(NMODE_DST)) - ALLOCATE (ZINIRADIUS(NMODE_DST)) - ALLOCATE (ZMMIN(NMODE_DST*3)) - ALLOCATE (ZM(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), NMODE_DST*3)) - ALLOCATE (ZSIGMA(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) - - !Set density of aerosol, here dust (kg/m3) - ZRHOI = XDENSITY_DUST - !Set molecular weight of dust !NOTE THAT THIS IS NOW IN KG - ZMI = XMOLARWEIGHT_DUST -! - - ! PSVT need to be positive - PSVT(:,:,:,:) = MAX(PSVT(:,:,:,:), 1E-80) - - DO JN=1,NMODE_DST - IMODEIDX = JPDUSTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITD=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) * EXP(-3.*(LOG(XINISIG(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - - !Get minimum values possible - ZMMIN(NM0(JN)) = XN0MIN(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG) THEN - ZSIGMIN = XSIGMIN - ELSE - ZSIGMIN = XINISIG(IMODEIDX) - ENDIF - ZMMIN(NM3(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZMMIN(NM6(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) - END DO - - !Set density of aerosol, here dust (kg/m3) - ZRHOI = XDENSITY_DUST - !Set molecular weight of dust !NOTE THAT THIS IS NOW IN KG - ZMI = XMOLARWEIGHT_DUST -! - DO JN=1,NMODE_DST - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - IF (LVARSIG) THEN - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,2+(JN-1)*3) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ELSE - IF ((LRGFIX_DST)) THEN - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,JN) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - ELSE - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,2+(JN-1)*2) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3 & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - END IF - END IF -! calculate moment 0 from dispersion and mean radius - ZM(:,:,:,NM0(JN))= ZM(:,:,:,NM3(JN))/& - ((PRG3D(:,:,:,JN)**3)*EXP(4.5 * LOG(PSIG3D(:,:,:,JN))**2)) - - -! calculate moment 6 from dispersion and mean radius - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) * (PRG3D(:,:,:,JN)**6) * & - EXP(18 *(LOG(PSIG3D(:,:,:,JN)))**2) - - IF (LVARSIG) THEN - WHERE ((ZM(:,:,:,NM0(JN)) .LT. ZMMIN(NM0(JN))).OR.& - (ZM(:,:,:,NM3(JN)) .LT. ZMMIN(NM3(JN))).OR.& - (ZM(:,:,:,NM6(JN)) .LT. ZMMIN(NM6(JN)))) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - ZM(:,:,:,NM6(JN)) = ZMMIN(NM6(JN)) - END WHERE - - ELSE IF (.NOT.(LRGFIX_DST)) THEN - - WHERE ((ZM(:,:,:,NM0(JN)) .LT. ZMMIN(NM0(JN))).OR.& - (ZM(:,:,:,NM3(JN)) .LT. ZMMIN(NM3(JN)))) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - END WHERE - ENDIF - - - ! return to concentration #/m3 => (#/molec_{air} - IF (LVARSIG) THEN - PSVT(:,:,:,1+(JN-1)*3) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - - PSVT(:,:,:,2+(JN-1)*3) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3 * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - - PSVT(:,:,:,3+(JN-1)*3) = ZM(:,:,:,NM6(JN)) * XMD / & - ( XAVOGADRO*PRHODREF(:,:,:) * 1.d-6) - ELSE IF (LRGFIX_DST) THEN - PSVT(:,:,:,JN) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - ELSE - PSVT(:,:,:,1+(JN-1)*2) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - - PSVT(:,:,:,2+(JN-1)*2) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3) - END IF - -! - END DO !Loop on modes - -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZMMIN) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZM) -DEALLOCATE(NM6) -DEALLOCATE(NM3) -DEALLOCATE(NM0) -! -IF (LHOOK) CALL DR_HOOK('MODE_DUST_PSD:DUST2PPP',1,ZHOOK_HANDLE) -END SUBROUTINE DUST2PPP -! -END MODULE MODE_DUST_PSD diff --git a/src/arome/chem/module/mode_dustopt.F90 b/src/arome/chem/module/mode_dustopt.F90 deleted file mode 100644 index b62685b1e0105ef9ac5339d55df00780d291676e..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_dustopt.F90 +++ /dev/null @@ -1,10457 +0,0 @@ -! ######spl - MODULE MODE_DUSTOPT - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ################### -! -!! -!! PURPOSE -!! ------- -!! -!! AUTHOR -!! ------ -!! Alf Grini (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! 29 Juin 2007 P. TULET (CNRM/GMEI) / M. Mallet (LA) -!! Introduction of new aerosols radiative index updated to the -!! west african dusts observed during the AMMA campaign -!! - - IMPLICIT NONE - PUBLIC - PRIVATE :: DUSTOPT_LKT - -CONTAINS - - !**************************************************** - SUBROUTINE DUSTOPT_GET( & - PSVT & !I [moments/molec_{air}] Transported moments of dust - ,PZZ & !I [m] height of layers - ,PRHODREF & !I [kg/m3] density of air - ,PPIZA_WVL & !O [-] single scattering albedo of dust layer for all SW wavelengths - ,PCGA_WVL & !O [-] assymetry factor for dust layer for all SW wavelengths - ,PTAUREL_WVL & !O [-] opt.depth/opt.depth(550) for dust layer for all SW wvl - ,PTAU550 & !O [-] opt.depth at 550nm for all dust layer - ,KSWB & !I [nbr] number of shortwave bands - ) - - - USE MODE_DUST_PSD !Conversion procedures from moments to radius, ,number, mass and sigma - USE MODD_DUST, ONLY : NMODE_DST - IMPLICIT NONE - - !INPUT - REAL, DIMENSION(:,:,:,:),INTENT(IN) :: PSVT !I [moments/molec_{air}] transported moments of dust - REAL, DIMENSION(:,:,:),INTENT(IN) :: PZZ !I [m] height of layers - REAL, DIMENSION(:,:,:),INTENT(IN) :: PRHODREF !I [kg/m3] density of air - INTEGER, INTENT(IN) :: KSWB !I [nbr] number of shortwave wavelengths - REAL, PARAMETER :: EPSILON=1.e-8 !a very low number for optical depth in a layer - - !OUTPUT - REAL, DIMENSION(:,:,:,:),INTENT(INOUT) :: PPIZA_WVL !O [-] single scattering albedo of dust layer for all SW wavelengths - REAL, DIMENSION(:,:,:,:),INTENT(INOUT) :: PCGA_WVL !O [-] assymetry factor for dust layer for all SW wavelengths - REAL, DIMENSION(:,:,:,:),INTENT(INOUT) :: PTAUREL_WVL !O [-] opt.depth/opt.depth(550) for dust layer for all SW wvl - REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PTAU550 !O [-] opt.depth at 550nm for all dust layer - - !LOCAL VARIABLES - REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3), SIZE(PSVT,4)) :: ZSVT - REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3), NMODE_DST) :: ZMASS ![kg/m3] mass of one dust mode - REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3), NMODE_DST) :: ZRADIUS ![um] number median radius of one dust mode - REAL, DIMENSION(SIZE(PSVT,1),SIZE(PSVT,2),SIZE(PSVT,3), NMODE_DST) :: ZSIGMA ![-] dispersion coefficient one dust mode - REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: ZTAU550_MDE ![-] opt.depth 550nm one mode - REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ZTAU_WVL_MDE ![-] opt.depth @ wvl, one mode - REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ZPIZA_WVL_MDE ![-] single scattering albedo @ wvl, one mode - REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ZCGA_WVL_MDE ![-] assymetry factor @ wvl, one mode - INTEGER :: JMDE ![idx] counter for modes - INTEGER :: JWVL ![idx] counter for wavelengths - !Allocate arrays which size depend on number of modes - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUSTOPT_GET',0,ZHOOK_HANDLE) - ALLOCATE(ZTAU550_MDE(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3),NMODE_DST)) - ALLOCATE(ZTAU_WVL_MDE(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3),KSWB,NMODE_DST)) - ALLOCATE(ZPIZA_WVL_MDE(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3),KSWB,NMODE_DST)) - ALLOCATE(ZCGA_WVL_MDE(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3),KSWB,NMODE_DST)) - - - ZSVT(:,:,:,:) = PSVT(:,:,:,:) - - CALL PPP2DUST( & - ZSVT & !I [moments/molec_{air}] moments of dust for all modes - ,PRHODREF & !I [kg/m3] air density - ,PSIG3D=ZSIGMA & !O [-] dispersion coefficient - ,PRG3D=ZRADIUS & !O [um] number median radius - ,PMASS3D=ZMASS & !O [kg/m3] mass of dust - ) - - DO JMDE=1,NMODE_DST - !Get dust optical properties from look up tables - CALL DUSTOPT_LKT( & - ZRADIUS(:,:,:,JMDE) & !I [um] number median radius for current mode - ,ZSIGMA(:,:,:,JMDE) & !I [none] dispersion coefficient for current mode - ,ZMASS(:,:,:, JMDE) & !I [kg/m3] Mass of dust for current mode - ,ZTAU550_MDE(:,:,:,JMDE) & !O [-] optical depth at 550 nm wavelength - ,ZTAU_WVL_MDE(:,:,:,:,JMDE) & !O [-] opt.depth(lambda)/opt.depth(550nm) - ,ZPIZA_WVL_MDE(:,:,:,:,JMDE) & !O [-] single scattering coefficient at any wavelength - ,ZCGA_WVL_MDE(:,:,:,:,JMDE) & !O [-] assymetry factor at any wavelength - ,PZZ(:,:,:) & !I [m] height of layers - ,KSWB & !I [nbr] number of shortwave bands - ) - ENDDO !Loop on modes - - !Erase earlier value of optical depth at 550 nm - PTAU550(:,:,:)=0.d0 - - !Get total at 550 nm from all modes - DO JMDE=1,NMODE_DST - PTAU550(:,:,:) = & !Dust optical depth at 550 nm for all dust - PTAU550(:,:,:) & !Dust optical depth at 550 nm for all dust - + ZTAU550_MDE(:,:,:,JMDE) !Optical depth for one mode at 550 nm - ENDDO - - !Initialize output variables - PTAUREL_WVL(:,:,:,:)=0.d0 !Initialize opt.depth at wvl=lambda - PCGA_WVL(:,:,:,:)=0.d0 !Initialize assym.factor at wvl=lambda - PPIZA_WVL(:,:,:,:)=0.d0 !Initialize single scattering albedo at wvl=lambda - - - !Find the numerator in the expression for the average of the optical properties - DO JMDE=1,NMODE_DST !Number of modes - DO JWVL=1,KSWB !Number of SW wavelengths - - !Get sum of optical depth from all modes at wvl - PTAUREL_WVL(:,:,:,JWVL) = & !new opt.depth(lambda) / opt.depth(550) - PTAUREL_WVL(:,:,:,JWVL) & !old sum for all modes at wvl=lambda - +ZTAU_WVL_MDE(:,:,:,JWVL,JMDE) !optical depth for one mode at wvl=lambda - - !Get sum of all assymmetry factors from all modes at wvl=lambda - PCGA_WVL(:,:,:,JWVL) = & !New sum of assymetry factors - PCGA_WVL(:,:,:,JWVL) & !old sum of assymetry factors - +ZCGA_WVL_MDE(:,:,:,JWVL,JMDE) & !Assymetry factor for one mode and one wavelength - *ZTAU_WVL_MDE(:,:,:,JWVL,JMDE) & !Optical depth of this wavelength and mode - *ZPIZA_WVL_MDE(:,:,:,JWVL,JMDE) !Fraction of radiation scattered - - !Get sum of single scattering albdedo at wvl=lambda - PPIZA_WVL(:,:,:,JWVL) = & !New sum of single scattering albedo - PPIZA_WVL(:,:,:,JWVL) & !Old sum of single scattering albedo - +ZPIZA_WVL_MDE(:,:,:,JWVL,JMDE) & !SSA for onen mode and one wavelength - *ZTAU_WVL_MDE(:,:,:,JWVL,JMDE) !Optical depth for this wavelength and mode - - ENDDO - ENDDO - - !Compute the output values for dust optical properties - DO JWVL=1,KSWB - - !Divide total single scattering albdeo by total optical depth at this wavelength - !This is needed since we weight all single scattering alebdos by wavelengths just above - PPIZA_WVL(:,:,:,JWVL) = & !The value we want is .... - PPIZA_WVL(:,:,:,JWVL) & !..value weighted by optical depths of all wvl and modes - /max(epsilon,PTAUREL_WVL(:,:,:,JWVL)) !..divided by the optical depth for all wvl - - - !Divide total assymetry factor by total optical depth at this wavelength - !This is needed since we weight all assymetry factors by wavelengths just above - PCGA_WVL(:,:,:,JWVL) = & !The value we want is .... - PCGA_WVL(:,:,:,JWVL) & !..value weighted by optical depths of all wvl and modes - / & - (max(epsilon, & - (PTAUREL_WVL(:,:,:,JWVL) & !..divided scattered fraction of by the optical depth - *PPIZA_WVL(:,:,:,JWVL)))) - - !Finally convert PTAUREL_WVL which was until now an optical depth to a fraction of optical depth - PTAUREL_WVL(:,:,:,JWVL) = & - PTAUREL_WVL(:,:,:,JWVL) & !Opt.depth at lambda with contr. from all modes - /max(epsilon,PTAU550(:,:,:)) !Optical depth at 550 contr. from all modes - - ENDDO !Loop on wavelenghts - - - !DEALLOCATE local arrays which size depend on number of modes - DEALLOCATE(ZTAU550_MDE) - DEALLOCATE(ZTAU_WVL_MDE) - DEALLOCATE(ZPIZA_WVL_MDE) - DEALLOCATE(ZCGA_WVL_MDE) - - IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUSTOPT_GET',1,ZHOOK_HANDLE) - END SUBROUTINE DUSTOPT_GET - - !***************************************************************** - - SUBROUTINE DUSTOPT_LKT( & - PRG & !I [um] number median radius of aerosol mode - ,PSIGMA & !I [-] lognormal dispersion coefficient - ,PMASS & !I [kg/m3] Mass concentration of dust - ,PTAU550 & !O [optical depth at 550 nm - ,PTAU_WVL & !O [-] opt.depth(lambda)/opt.depth(550nm) - ,PPIZA_WVL & !O [-] single scattering coefficient at any wavelength - ,PCGA_WVL & !O [-] assymetry factor at any wavelength - ,PZZ & !I [m] height of layers - ,KSWB & !I [nbr] number of short wave bands - ) - - !Purpose: Get optical properties of one dust mode from the mass concentration, - !dispersion coefficient and number median radius. - - !Use the module with the dust optical properties look up tables - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - !INPUT - REAL, DIMENSION(:,:,:), INTENT(IN) :: PRG !I [um] number median radius for one mode - REAL, DIMENSION(:,:,:), INTENT(IN) :: PSIGMA !I [-] dispersion coefficient for one mode - REAL, DIMENSION(:,:,:), INTENT(IN) :: PMASS !I [kg/m3] mass of dust - REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ !I [m] height of layers - INTEGER, INTENT(IN) :: KSWB !I [nbr] number of shortwave bands - - !OUTPUT - REAL, DIMENSION(:,:,:), INTENT(OUT) :: PTAU550 !O [-] optical depth at 550 nm - REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PTAU_WVL !O [-] optical depth at wvl - REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PPIZA_WVL !O [-] single scattering albedo @ wvl - REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PCGA_WVL !O [-] assymetry factor @ wvl - - !LOCALS - REAL, DIMENSION(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3),KSWB) :: ZEXT_COEFF_WVL ![m2/kg] Extinction coefficient at wvl - REAL, DIMENSION(SIZE(PTAU550,1),SIZE(PTAU550,2),SIZE(PTAU550,3) ) :: ZEXT_COEFF_550 ![m2/kg] Extinction coefficient at 550nm - REAL :: FACT_SIGMA ![-] factor needed to get right index in look up table for sigma - REAL :: FACT_RADIUS ![-] factor needed to get right index in look up table for radius - INTEGER :: WVL_IDX ![idx] counter for wavelengths - INTEGER :: JI, JJ, JK ![idx] counters for lon, lat and lev - INTEGER :: RG_IDX ![idx] index for radius to get in look up table - INTEGER :: SG_IDX ![idx] index for sigma to get in look up table - REAL,DIMENSION(SIZE(PRG,1),SIZE(PRG,2),SIZE(PRG,3)) :: ZRG ![um] bounded value for number median radius - REAL,DIMENSION(SIZE(PRG,1),SIZE(PRG,2),SIZE(PRG,3)) :: ZSIGMA ![um] bounded value for sigma - REAL, PARAMETER :: EPSILON=1.d-8 ![um] a small number used to avoid zero - REAL :: ZRADIUS_LKT_MAX, ZRADIUS_LKT_MIN ![um] values limited at midpoint values of bin - REAL :: ZSIGMA_LKT_MAX, ZSIGMA_LKT_MIN ![-] values limited at midpoint of bin - INTEGER :: JKRAD !Index valid for radiation code - - !Limit max and min values to be midpont of bin to avoid 0 or NMAX+1 values - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUSTOPT_LKT',0,ZHOOK_HANDLE) - ZRADIUS_LKT_MAX=exp(log(XRADIUS_LKT_MAX) & - - 0.5d0/DBLE(NMAX_RADIUS_LKT)*log(XRADIUS_LKT_MAX/XRADIUS_LKT_MIN)) - ZRADIUS_LKT_MIN=exp(log(XRADIUS_LKT_MIN) & - + 0.5d0/DBLE(NMAX_RADIUS_LKT)*log(XRADIUS_LKT_MAX/XRADIUS_LKT_MIN)) - ZSIGMA_LKT_MAX=XSIGMA_LKT_MAX - 0.5d0/DBLE(NMAX_SIGMA_LKT)*(XSIGMA_LKT_MAX-XSIGMA_LKT_MIN) - ZSIGMA_LKT_MIN=XSIGMA_LKT_MIN + 0.5d0/DBLE(NMAX_SIGMA_LKT)*(XSIGMA_LKT_MAX-XSIGMA_LKT_MIN) - - !Begin code - FACT_SIGMA = DBLE(NMAX_SIGMA_LKT)/(XSIGMA_LKT_MAX-XSIGMA_LKT_MIN) - FACT_RADIUS = DBLE(NMAX_RADIUS_LKT)/(LOG(XRADIUS_LKT_MAX/XRADIUS_LKT_MIN)) - - !Remove unphysical values for rg - ZRG(:,:,:) = min( max(ZRADIUS_LKT_MIN,PRG(:,:,:)), ZRADIUS_LKT_MAX) - ZSIGMA(:,:,:) = min( max(ZSIGMA_LKT_MIN,PSIGMA(:,:,:)), ZSIGMA_LKT_MAX) - - !Initilalize arrays to make sure, they are intent(OUT), - !and may be initialized strangely by the computer - PTAU550(:,:,:)=EPSILON - PTAU_WVL(:,:,:,:)=EPSILON - PPIZA_WVL(:,:,:,:)=EPSILON - PCGA_WVL(:,:,:,:)=EPSILON - - DO WVL_IDX = 1,KSWB - DO JK=2,SIZE(PMASS,3) - JKRAD = JK - 1 !Index in radiation code - DO JJ=1,SIZE(PMASS,2) - DO JI=1,SIZE(PMASS,1) - - !Get the correct indexes for the look up tables - RG_IDX = nint( & - log(ZRG(JI,JJ,JK)/XRADIUS_LKT_MIN) & - *FACT_RADIUS & - +0.5) - - SG_IDX = nint((ZSIGMA(JI,JJ,JK)-XSIGMA_LKT_MIN)*FACT_SIGMA + 0.5) - - !Open the look up tables and get the right values out of them - !The extinction coefficient for - ZEXT_COEFF_WVL(JI,JJ,JK,WVL_IDX) = XEXT_COEFF_WVL_LKT(RG_IDX,SG_IDX,WVL_IDX) - ZEXT_COEFF_550(JI,JJ,JK) = XEXT_COEFF_550_LKT(RG_IDX,SG_IDX) - !Switch to radiation code indexes for the output values - PPIZA_WVL(JI,JJ,JKRAD,WVL_IDX) = XPIZA_LKT(RG_IDX,SG_IDX,WVL_IDX) - PCGA_WVL(JI,JJ,JKRAD,WVL_IDX) = XCGA_LKT(RG_IDX,SG_IDX,WVL_IDX) - ENDDO - ENDDO - ENDDO - ENDDO - - !Get the optical depth of this mode using the looked up extinction coeffient - DO JK=2,SIZE(PZZ,3)-1 - JKRAD = JK - 1 !Index in radiation code - PTAU550(:,:,JKRAD) = ZEXT_COEFF_550(:,:,JK) & - * PMASS(:,:,JK) & - * (PZZ(:,:,JK+1) - PZZ(:,:,JK)) - ENDDO - - !Get the optical depth of whatever wavelength using the looked up tables - DO WVL_IDX=1,KSWB - DO JK=2,SIZE(PZZ,3)-1 - JKRAD = JK -1 - PTAU_WVL(:,:,JKRAD,WVL_IDX) = & - PMASS(:,:,JK) & ![kg/m3] Mass in this mode - *ZEXT_COEFF_WVL(:,:,JK,WVL_IDX) & ![m2/kg] mass exinction coefficient - *(PZZ(:,:,JK+1) - PZZ(:,:,JK)) ![m] Height of layer - ENDDO !Loop on levels - ENDDO !Loop on wavelengths - - !Avoid unphysical values (which might occur on grid edges) on grid edges - PTAU550(:,:,:)=max(PTAU550(:,:,:),EPSILON) - PTAU_WVL(:,:,:,:)=max(PTAU_WVL(:,:,:,:),EPSILON) - PPIZA_WVL(:,:,:,:)=max(PPIZA_WVL(:,:,:,:),EPSILON) - PCGA_WVL(:,:,:,:)=max(PCGA_WVL(:,:,:,:),EPSILON) - - IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUSTOPT_LKT',1,ZHOOK_HANDLE) - END SUBROUTINE DUSTOPT_LKT - - !*************************************************************************** - SUBROUTINE DUST_OPT_LKT_SET1() - -!Purpose: Read the look up tables for dust optical properties -!All variables are defined in the module MODD_DUST_OPT_LKT -! Based upon refractive indexes at wavelength intervals as: -! -! New tables from Mallet (LA) and Tulet (CNRM) : -! 0.185-0.25 RI[1]="(1.448,-0.00292)" -! 0.25-0.44 RI[2]="(1.448,-0.00292)" -! 0.44-0.69 RI[3]="(1.448,-0.00292)" -! 0.69-1.19 RI[4]="(1.44023,-0.00116)" -! 1.19-2.38 RI[5]="(1.41163,-0.00106)" -! 2.38-4.0 RI[6]="(1.41163,-0.00106)" -! RI550="(1.44412,-0.00204)" - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - - !Here are the output values from the mie program: -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET1',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(1,1,1:6)=(/ 92.520000,37.760000,21.553000,5.277700,2.711100,1.337700 /) -XPIZA_LKT(1,1,1:6)=(/ 0.431792,0.157096,0.049108,0.030213,0.005366,0.000659 /) -XCGA_LKT(1,1,1:6)=(/ 0.016660,0.006443,0.002727,0.001070,0.000340,0.000083 /) -XEXT_COEFF_550_LKT(1,1)=15.743000 !rg=0.0104084 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,2,1:6)=(/ 103.240000,39.382000,21.850000,5.321300,2.715200,1.338000 /) -XPIZA_LKT(1,2,1:6)=(/ 0.487818,0.189906,0.061069,0.037775,0.006754,0.000830 /) -XCGA_LKT(1,2,1:6)=(/ 0.021147,0.008187,0.003463,0.001360,0.000430,0.000107 /) -XEXT_COEFF_550_LKT(1,2)=16.050000 !rg=0.0104084 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,3,1:6)=(/ 129.230000,43.318000,22.568000,5.427000,2.725100,1.338600 /) -XPIZA_LKT(1,3,1:6)=(/ 0.585845,0.259826,0.088974,0.055729,0.010124,0.001248 /) -XCGA_LKT(1,3,1:6)=(/ 0.032163,0.012480,0.005287,0.002080,0.000657,0.000163 /) -XEXT_COEFF_550_LKT(1,3)=16.796000 !rg=0.0104084 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,4,1:6)=(/ 183.290000,51.589000,24.073000,5.649500,2.745900,1.340000 /) -XPIZA_LKT(1,4,1:6)=(/ 0.702104,0.373129,0.142704,0.091571,0.017184,0.002133 /) -XCGA_LKT(1,4,1:6)=(/ 0.054600,0.021287,0.009037,0.003557,0.001127,0.000277 /) -XEXT_COEFF_550_LKT(1,4)=18.363000 !rg=0.0104084 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,5,1:6)=(/ 286.070000,67.814000,27.025000,6.087600,2.786700,1.342500 /) -XPIZA_LKT(1,5,1:6)=(/ 0.803408,0.516645,0.231770,0.154935,0.030865,0.003880 /) -XCGA_LKT(1,5,1:6)=(/ 0.091107,0.035690,0.015190,0.005987,0.001897,0.000467 /) -XEXT_COEFF_550_LKT(1,5)=21.447000 !rg=0.0104084 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,6,1:6)=(/ 460.450000,97.279000,32.421000,6.891000,2.861200,1.347200 /) -XPIZA_LKT(1,6,1:6)=(/ 0.872997,0.656423,0.353869,0.250768,0.055064,0.007082 /) -XCGA_LKT(1,6,1:6)=(/ 0.142283,0.055803,0.023800,0.009397,0.002977,0.000733 /) -XEXT_COEFF_550_LKT(1,6)=27.095000 !rg=0.0104084 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,7,1:6)=(/ 733.310000,149.150000,42.096000,8.338200,2.995000,1.355600 /) -XPIZA_LKT(1,7,1:6)=(/ 0.916224,0.769783,0.495850,0.377503,0.095802,0.012818 /) -XCGA_LKT(1,7,1:6)=(/ 0.213453,0.083587,0.035690,0.014113,0.004477,0.001103 /) -XEXT_COEFF_550_LKT(1,7)=37.236000 !rg=0.0104084 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,8,1:6)=(/ 1130.600000,236.290000,59.060000,10.896000,3.231000,1.370300 /) -XPIZA_LKT(1,8,1:6)=(/ 0.942169,0.849454,0.634032,0.519983,0.159848,0.022828 /) -XCGA_LKT(1,8,1:6)=(/ 0.308897,0.122627,0.052300,0.020717,0.006583,0.001623 /) -XEXT_COEFF_550_LKT(1,8)=55.031000 !rg=0.0104084 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,9,1:6)=(/ 1705.100000,376.030000,88.742000,15.448000,3.650500,1.396300 /) -XPIZA_LKT(1,9,1:6)=(/ 0.958589,0.901098,0.750204,0.657642,0.253797,0.040195 /) -XCGA_LKT(1,9,1:6)=(/ 0.411487,0.179057,0.076007,0.030137,0.009593,0.002367 /) -XEXT_COEFF_550_LKT(1,9)=86.152000 !rg=0.0104084 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,10,1:6)=(/ 2437.700000,582.320000,139.140000,23.463000,4.390600,1.442100 /) -XPIZA_LKT(1,10,1:6)=(/ 0.968736,0.932546,0.835278,0.771030,0.376436,0.069456 /) -XCGA_LKT(1,10,1:6)=(/ 0.493533,0.260817,0.110187,0.043647,0.013920,0.003440 /) -XEXT_COEFF_550_LKT(1,10)=138.880000 !rg=0.0104084 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,11,1:6)=(/ 3314.000000,881.530000,221.820000,37.643000,5.710600,1.523500 /) -XPIZA_LKT(1,11,1:6)=(/ 0.975085,0.952114,0.892184,0.854112,0.517023,0.117531 /) -XCGA_LKT(1,11,1:6)=(/ 0.567660,0.368473,0.160363,0.063207,0.020190,0.004997 /) -XEXT_COEFF_550_LKT(1,11)=224.920000 !rg=0.0104084 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,12,1:6)=(/ 4242.300000,1306.600000,347.100000,62.286000,8.055400,1.668200 /) -XPIZA_LKT(1,12,1:6)=(/ 0.979085,0.964921,0.927413,0.909165,0.653952,0.191816 /) -XCGA_LKT(1,12,1:6)=(/ 0.624753,0.465660,0.234643,0.091640,0.029290,0.007260 /) -XEXT_COEFF_550_LKT(1,12)=354.350000 !rg=0.0104084 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,13,1:6)=(/ 5110.500000,1812.200000,525.740000,103.700000,12.207000,1.925100 /) -XPIZA_LKT(1,13,1:6)=(/ 0.981483,0.972719,0.948753,0.943296,0.768173,0.296860 /) -XCGA_LKT(1,13,1:6)=(/ 0.668683,0.538647,0.339447,0.133300,0.042487,0.010553 /) -XEXT_COEFF_550_LKT(1,13)=538.780000 !rg=0.0104084 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,14,1:6)=(/ 5748.900000,2387.700000,784.190000,168.610000,19.470000,2.379400 /) -XPIZA_LKT(1,14,1:6)=(/ 0.982603,0.977645,0.962617,0.963443,0.851580,0.427755 /) -XCGA_LKT(1,14,1:6)=(/ 0.698187,0.605163,0.448927,0.194953,0.061620,0.015337 /) -XEXT_COEFF_550_LKT(1,14)=805.170000 !rg=0.0104084 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,15,1:6)=(/ 6015.700000,2950.500000,1106.000000,262.040000,31.999000,3.182800 /) -XPIZA_LKT(1,15,1:6)=(/ 0.982578,0.980638,0.971414,0.975083,0.907112,0.568583 /) -XCGA_LKT(1,15,1:6)=(/ 0.714507,0.653480,0.524447,0.285813,0.089433,0.022283 /) -XEXT_COEFF_550_LKT(1,15)=1131.400000 !rg=0.0104084 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,16,1:6)=(/ 5851.500000,3422.500000,1472.900000,395.050000,52.980000,4.605800 /) -XPIZA_LKT(1,16,1:6)=(/ 0.981412,0.982285,0.976787,0.982146,0.941826,0.698244 /) -XCGA_LKT(1,16,1:6)=(/ 0.718937,0.689083,0.593623,0.402740,0.130147,0.032367 /) -XEXT_COEFF_550_LKT(1,16)=1505.100000 !rg=0.0104084 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,17,1:6)=(/ 5366.800000,3697.700000,1840.800000,580.530000,85.671000,7.093600 /) -XPIZA_LKT(1,17,1:6)=(/ 0.979145,0.982774,0.980136,0.986797,0.962418,0.800732 /) -XCGA_LKT(1,17,1:6)=(/ 0.715933,0.710930,0.644890,0.497120,0.190150,0.046947 /) -XEXT_COEFF_550_LKT(1,17)=1875.900000 !rg=0.0104084 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,18,1:6)=(/ 4801.300000,3708.500000,2163.800000,789.620000,132.270000,11.407000 /) -XPIZA_LKT(1,18,1:6)=(/ 0.976068,0.982123,0.982064,0.989568,0.974360,0.873176 /) -XCGA_LKT(1,18,1:6)=(/ 0.713493,0.719603,0.683553,0.565050,0.278340,0.068027 /) -XEXT_COEFF_550_LKT(1,18)=2198.200000 !rg=0.0104084 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,19,1:6)=(/ 4249.400000,3478.400000,2378.500000,1023.100000,196.690000,18.760000 /) -XPIZA_LKT(1,19,1:6)=(/ 0.972714,0.980276,0.982817,0.991341,0.981545,0.920482 /) -XCGA_LKT(1,19,1:6)=(/ 0.718660,0.717890,0.708233,0.627220,0.394907,0.098600 /) -XEXT_COEFF_550_LKT(1,19)=2408.700000 !rg=0.0104084 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(1,20,1:6)=(/ 3667.400000,3122.100000,2430.400000,1242.500000,287.790000,30.753000 /) -XPIZA_LKT(1,20,1:6)=(/ 0.968698,0.977438,0.982433,0.992399,0.986356,0.949592 /) -XCGA_LKT(1,20,1:6)=(/ 0.723267,0.712220,0.719883,0.671263,0.497200,0.143163 /) -XEXT_COEFF_550_LKT(1,20)=2452.500000 !rg=0.0104084 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,1,1:6)=(/ 103.740000,39.460000,21.865000,5.323400,2.715400,1.338000 /) -XPIZA_LKT(2,1,1:6)=(/ 0.489711,0.191161,0.061553,0.038086,0.006812,0.000837 /) -XCGA_LKT(2,1,1:6)=(/ 0.019537,0.007560,0.003200,0.001257,0.000397,0.000097 /) -XEXT_COEFF_550_LKT(2,1)=16.065000 !rg=0.011276 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,2,1:6)=(/ 117.330000,41.516000,22.240000,5.378600,2.720600,1.338300 /) -XPIZA_LKT(2,2,1:6)=(/ 0.545773,0.229082,0.076290,0.047519,0.008571,0.001055 /) -XCGA_LKT(2,2,1:6)=(/ 0.024793,0.009603,0.004067,0.001597,0.000507,0.000123 /) -XEXT_COEFF_550_LKT(2,2)=16.454000 !rg=0.011276 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,3,1:6)=(/ 150.230000,46.504000,23.149000,5.512700,2.733200,1.339100 /) -XPIZA_LKT(2,3,1:6)=(/ 0.640299,0.307762,0.110299,0.069760,0.012835,0.001586 /) -XCGA_LKT(2,3,1:6)=(/ 0.037687,0.014633,0.006203,0.002440,0.000770,0.000190 /) -XEXT_COEFF_550_LKT(2,3)=17.399000 !rg=0.011276 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,4,1:6)=(/ 218.290000,56.986000,25.055000,5.794800,2.759500,1.340800 /) -XPIZA_LKT(2,4,1:6)=(/ 0.746746,0.429423,0.174353,0.113519,0.021742,0.002710 /) -XCGA_LKT(2,4,1:6)=(/ 0.063893,0.024950,0.010600,0.004173,0.001320,0.000327 /) -XEXT_COEFF_550_LKT(2,4)=19.387000 !rg=0.011276 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,5,1:6)=(/ 345.760000,77.517000,28.796000,6.350700,2.811200,1.344100 /) -XPIZA_LKT(2,5,1:6)=(/ 0.834754,0.573976,0.276580,0.188852,0.038904,0.004927 /) -XCGA_LKT(2,5,1:6)=(/ 0.106493,0.041807,0.017810,0.007023,0.002223,0.000547 /) -XEXT_COEFF_550_LKT(2,5)=23.299000 !rg=0.011276 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,6,1:6)=(/ 556.620000,114.640000,35.633000,7.370400,2.905600,1.350000 /) -XPIZA_LKT(2,6,1:6)=(/ 0.892861,0.705457,0.409267,0.298127,0.068943,0.008986 /) -XCGA_LKT(2,6,1:6)=(/ 0.166257,0.065340,0.027897,0.011020,0.003493,0.000860 /) -XEXT_COEFF_550_LKT(2,6)=30.459000 !rg=0.011276 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,7,1:6)=(/ 877.950000,179.370000,47.880000,9.207500,3.075300,1.360600 /) -XPIZA_LKT(2,7,1:6)=(/ 0.928292,0.805941,0.553705,0.434671,0.118628,0.016238 /) -XCGA_LKT(2,7,1:6)=(/ 0.248543,0.097890,0.041817,0.016550,0.005253,0.001297 /) -XEXT_COEFF_550_LKT(2,7)=43.302000 !rg=0.011276 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,8,1:6)=(/ 1343.100000,286.000000,69.289000,12.455000,3.374700,1.379200 /) -XPIZA_LKT(2,8,1:6)=(/ 0.949787,0.873449,0.685079,0.578317,0.194580,0.028837 /) -XCGA_LKT(2,8,1:6)=(/ 0.350880,0.143747,0.061267,0.024287,0.007723,0.001903 /) -XEXT_COEFF_550_LKT(2,8)=65.758000 !rg=0.011276 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,9,1:6)=(/ 1991.200000,451.820000,106.470000,18.228000,3.907000,1.412200 /) -XPIZA_LKT(2,9,1:6)=(/ 0.963390,0.915917,0.789123,0.708153,0.301475,0.050533 /) -XCGA_LKT(2,9,1:6)=(/ 0.445603,0.210107,0.089063,0.035320,0.011250,0.002777 /) -XEXT_COEFF_550_LKT(2,9)=104.720000 !rg=0.011276 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,10,1:6)=(/ 2778.000000,691.380000,168.610000,28.374000,4.846200,1.470200 /) -XPIZA_LKT(2,10,1:6)=(/ 0.971647,0.941603,0.861814,0.809101,0.433519,0.086622 /) -XCGA_LKT(2,10,1:6)=(/ 0.523827,0.303943,0.129253,0.051140,0.016323,0.004033 /) -XEXT_COEFF_550_LKT(2,10)=169.590000 !rg=0.011276 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,11,1:6)=(/ 3694.000000,1041.700000,267.610000,46.237000,6.520900,1.573500 /) -XPIZA_LKT(2,11,1:6)=(/ 0.976966,0.958062,0.908812,0.879885,0.575374,0.144689 /) -XCGA_LKT(2,11,1:6)=(/ 0.592367,0.412317,0.188487,0.074063,0.023673,0.005860 /) -XEXT_COEFF_550_LKT(2,11)=272.300000 !rg=0.011276 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,12,1:6)=(/ 4618.100000,1504.900000,412.780000,76.935000,9.493100,1.757000 /) -XPIZA_LKT(2,12,1:6)=(/ 0.980232,0.968603,0.937403,0.925366,0.704711,0.231541 /) -XCGA_LKT(2,12,1:6)=(/ 0.643963,0.495827,0.275467,0.107457,0.034327,0.008517 /) -XEXT_COEFF_550_LKT(2,12)=422.070000 !rg=0.011276 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,13,1:6)=(/ 5413.500000,2043.900000,621.270000,127.360000,14.744000,2.083100 /) -XPIZA_LKT(2,13,1:6)=(/ 0.982066,0.974988,0.955133,0.952971,0.806551,0.348772 /) -XCGA_LKT(2,13,1:6)=(/ 0.682020,0.567970,0.388163,0.156593,0.049783,0.012377 /) -XEXT_COEFF_550_LKT(2,13)=637.700000 !rg=0.011276 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,14,1:6)=(/ 5913.800000,2619.700000,913.080000,203.540000,23.886000,2.659500 /) -XPIZA_LKT(2,14,1:6)=(/ 0.982723,0.979049,0.966827,0.969037,0.877713,0.486431 /) -XCGA_LKT(2,14,1:6)=(/ 0.706313,0.625800,0.483003,0.229497,0.072207,0.017987 /) -XEXT_COEFF_550_LKT(2,14)=935.960000 !rg=0.011276 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,15,1:6)=(/ 6000.100000,3158.300000,1249.300000,310.900000,39.482000,3.678800 /) -XPIZA_LKT(2,15,1:6)=(/ 0.982241,0.981474,0.973882,0.978376,0.923657,0.625059 /) -XCGA_LKT(2,15,1:6)=(/ 0.717430,0.669540,0.553157,0.333777,0.104867,0.026123 /) -XEXT_COEFF_550_LKT(2,15)=1278.000000 !rg=0.011276 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,16,1:6)=(/ 5684.500000,3562.200000,1628.300000,466.940000,65.029000,5.481900 /) -XPIZA_LKT(2,16,1:6)=(/ 0.980599,0.982639,0.978404,0.984335,0.951778,0.744846 /) -XCGA_LKT(2,16,1:6)=(/ 0.718130,0.699263,0.616980,0.447937,0.152870,0.037933 /) -XEXT_COEFF_550_LKT(2,16)=1660.700000 !rg=0.011276 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,17,1:6)=(/ 5141.000000,3734.000000,1986.800000,665.130000,103.390000,8.625700 /) -XPIZA_LKT(2,17,1:6)=(/ 0.977913,0.982642,0.981098,0.988136,0.968216,0.834668 /) -XCGA_LKT(2,17,1:6)=(/ 0.713957,0.715560,0.662640,0.525477,0.223803,0.055013 /) -XEXT_COEFF_550_LKT(2,17)=2021.600000 !rg=0.011276 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,18,1:6)=(/ 4574.400000,3638.100000,2271.100000,886.600000,156.520000,14.043000 /) -XPIZA_LKT(2,18,1:6)=(/ 0.974904,0.981497,0.982498,0.990398,0.977764,0.895751 /) -XCGA_LKT(2,18,1:6)=(/ 0.715933,0.719760,0.695253,0.593790,0.325740,0.079730 /) -XEXT_COEFF_550_LKT(2,18)=2303.900000 !rg=0.011276 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,19,1:6)=(/ 4020.000000,3334.500000,2421.300000,1115.600000,231.770000,23.157000 /) -XPIZA_LKT(2,19,1:6)=(/ 0.971278,0.979229,0.982793,0.991842,0.983800,0.934593 /) -XCGA_LKT(2,19,1:6)=(/ 0.721507,0.715440,0.714623,0.646460,0.443660,0.115677 /) -XEXT_COEFF_550_LKT(2,19)=2447.500000 !rg=0.011276 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(2,20,1:6)=(/ 3434.300000,2974.300000,2397.500000,1320.700000,331.450000,37.640000 /) -XPIZA_LKT(2,20,1:6)=(/ 0.966326,0.976205,0.981925,0.992685,0.987818,0.958051 /) -XCGA_LKT(2,20,1:6)=(/ 0.724030,0.712603,0.720917,0.685953,0.527733,0.168320 /) -XEXT_COEFF_550_LKT(2,20)=2415.200000 !rg=0.011276 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,1,1:6)=(/ 117.960000,41.614000,22.259000,5.381200,2.720900,1.338400 /) -XPIZA_LKT(3,1,1:6)=(/ 0.547621,0.230509,0.076882,0.047907,0.008644,0.001064 /) -XCGA_LKT(3,1,1:6)=(/ 0.022907,0.008867,0.003753,0.001477,0.000467,0.000113 /) -XEXT_COEFF_550_LKT(3,1)=16.473000 !rg=0.0122159 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,2,1:6)=(/ 135.180000,44.219000,22.734000,5.451200,2.727400,1.338800 /) -XPIZA_LKT(3,2,1:6)=(/ 0.602197,0.273509,0.094903,0.059618,0.010870,0.001341 /) -XCGA_LKT(3,2,1:6)=(/ 0.029067,0.011263,0.004770,0.001877,0.000593,0.000147 /) -XEXT_COEFF_550_LKT(3,2)=16.966000 !rg=0.0122159 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,3,1:6)=(/ 176.800000,50.542000,23.885000,5.621200,2.743400,1.339800 /) -XPIZA_LKT(3,3,1:6)=(/ 0.690964,0.360080,0.135939,0.086990,0.016259,0.002016 /) -XCGA_LKT(3,3,1:6)=(/ 0.044153,0.017160,0.007277,0.002863,0.000907,0.000223 /) -XEXT_COEFF_550_LKT(3,3)=18.164000 !rg=0.0122159 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,4,1:6)=(/ 262.170000,63.821000,26.299000,5.979100,2.776700,1.341900 /) -XPIZA_LKT(3,4,1:6)=(/ 0.786163,0.487337,0.211219,0.139896,0.027473,0.003443 /) -XCGA_LKT(3,4,1:6)=(/ 0.074740,0.029237,0.012430,0.004897,0.001550,0.000380 /) -XEXT_COEFF_550_LKT(3,4)=20.684000 !rg=0.0122159 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,5,1:6)=(/ 419.010000,89.770000,31.040000,6.684600,2.842200,1.346100 /) -XPIZA_LKT(3,5,1:6)=(/ 0.861225,0.628955,0.326229,0.228145,0.048925,0.006256 /) -XCGA_LKT(3,5,1:6)=(/ 0.124397,0.048957,0.020880,0.008240,0.002610,0.000643 /) -XEXT_COEFF_550_LKT(3,5)=25.646000 !rg=0.0122159 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,6,1:6)=(/ 671.210000,136.400000,39.701000,7.978800,2.961900,1.353600 /) -XPIZA_LKT(3,6,1:6)=(/ 0.909216,0.749553,0.466818,0.350170,0.085992,0.011396 /) -XCGA_LKT(3,6,1:6)=(/ 0.193970,0.076497,0.032690,0.012927,0.004100,0.001010 /) -XEXT_COEFF_550_LKT(3,6)=34.722000 !rg=0.0122159 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,7,1:6)=(/ 1048.200000,216.630000,55.188000,10.311000,3.177100,1.367000 /) -XPIZA_LKT(3,7,1:6)=(/ 0.938278,0.836859,0.609746,0.493498,0.145993,0.020551 /) -XCGA_LKT(3,7,1:6)=(/ 0.287080,0.114640,0.048987,0.019403,0.006163,0.001520 /) -XEXT_COEFF_550_LKT(3,7)=50.966000 !rg=0.0122159 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,8,1:6)=(/ 1588.400000,345.550000,82.140000,14.432000,3.556900,1.390500 /) -XPIZA_LKT(3,8,1:6)=(/ 0.956153,0.893261,0.731466,0.634353,0.234705,0.036368 /) -XCGA_LKT(3,8,1:6)=(/ 0.390013,0.168527,0.071773,0.028467,0.009060,0.002237 /) -XEXT_COEFF_550_LKT(3,8)=79.229000 !rg=0.0122159 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,9,1:6)=(/ 2297.900000,539.990000,128.460000,21.750000,4.232500,1.432300 /) -XPIZA_LKT(3,9,1:6)=(/ 0.967263,0.927974,0.822709,0.753756,0.353778,0.063349 /) -XCGA_LKT(3,9,1:6)=(/ 0.476813,0.246147,0.104387,0.041387,0.013197,0.003260 /) -XEXT_COEFF_550_LKT(3,9)=127.710000 !rg=0.0122159 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,10,1:6)=(/ 3146.100000,819.440000,204.240000,34.572000,5.424300,1.505900 /) -XPIZA_LKT(3,10,1:6)=(/ 0.974108,0.949179,0.883857,0.841852,0.492284,0.107528 /) -XCGA_LKT(3,10,1:6)=(/ 0.553383,0.349627,0.151713,0.059917,0.019140,0.004733 /) -XEXT_COEFF_550_LKT(3,10)=206.630000 !rg=0.0122159 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,11,1:6)=(/ 4072.200000,1221.800000,321.000000,56.990000,7.548300,1.636900 /) -XPIZA_LKT(3,11,1:6)=(/ 0.978476,0.963032,0.922295,0.901309,0.631501,0.176837 /) -XCGA_LKT(3,11,1:6)=(/ 0.613887,0.449493,0.221580,0.086800,0.027750,0.006877 /) -XEXT_COEFF_550_LKT(3,11)=327.410000 !rg=0.0122159 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,12,1:6)=(/ 4964.200000,1713.000000,488.770000,94.924000,11.313000,1.869700 /) -XPIZA_LKT(3,12,1:6)=(/ 0.981136,0.971550,0.945595,0.938518,0.750611,0.276619 /) -XCGA_LKT(3,12,1:6)=(/ 0.660627,0.524873,0.321297,0.126077,0.040227,0.009990 /) -XEXT_COEFF_550_LKT(3,12)=500.580000 !rg=0.0122159 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,13,1:6)=(/ 5660.800000,2283.500000,732.950000,155.440000,17.944000,2.283600 /) -XPIZA_LKT(3,13,1:6)=(/ 0.982483,0.976910,0.960594,0.960696,0.839616,0.404441 /) -XCGA_LKT(3,13,1:6)=(/ 0.692997,0.594180,0.432363,0.184137,0.058333,0.014517 /) -XEXT_COEFF_550_LKT(3,13)=752.670000 !rg=0.0122159 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,14,1:6)=(/ 6003.900000,2852.300000,1046.700000,243.600000,29.407000,3.015000 /) -XPIZA_LKT(3,14,1:6)=(/ 0.982662,0.980191,0.970186,0.973487,0.899469,0.545325 /) -XCGA_LKT(3,14,1:6)=(/ 0.711893,0.644943,0.511987,0.269877,0.084623,0.021087 /) -XEXT_COEFF_550_LKT(3,14)=1071.200000 !rg=0.0122159 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,15,1:6)=(/ 5916.800000,3345.300000,1403.900000,368.220000,48.673000,4.307500 /) -XPIZA_LKT(3,15,1:6)=(/ 0.981714,0.982054,0.975973,0.981123,0.937112,0.678113 /) -XCGA_LKT(3,15,1:6)=(/ 0.718627,0.683010,0.582010,0.384037,0.123033,0.030623 /) -XEXT_COEFF_550_LKT(3,15)=1435.400000 !rg=0.0122159 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,16,1:6)=(/ 5478.800000,3666.200000,1778.000000,546.840000,79.342000,6.590200 /) -XPIZA_LKT(3,16,1:6)=(/ 0.979616,0.982749,0.979670,0.986165,0.959737,0.786195 /) -XCGA_LKT(3,16,1:6)=(/ 0.716330,0.707423,0.636630,0.484270,0.179723,0.044453 /) -XEXT_COEFF_550_LKT(3,16)=1812.300000 !rg=0.0122159 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,17,1:6)=(/ 4907.300000,3725.800000,2114.800000,752.700000,123.630000,10.555000 /) -XPIZA_LKT(3,17,1:6)=(/ 0.976767,0.982311,0.981826,0.989196,0.972823,0.863522 /) -XCGA_LKT(3,17,1:6)=(/ 0.714543,0.718613,0.677650,0.553597,0.263273,0.064463 /) -XEXT_COEFF_550_LKT(3,17)=2149.000000 !rg=0.0122159 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,18,1:6)=(/ 4361.000000,3529.900000,2350.200000,984.390000,184.580000,17.328000 /) -XPIZA_LKT(3,18,1:6)=(/ 0.973539,0.980681,0.982758,0.991098,0.980575,0.914388 /) -XCGA_LKT(3,18,1:6)=(/ 0.718843,0.718403,0.704433,0.618487,0.376813,0.093473 /) -XEXT_COEFF_550_LKT(3,18)=2381.100000 !rg=0.0122159 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,19,1:6)=(/ 3779.800000,3186.300000,2431.500000,1207.700000,271.840000,28.521000 /) -XPIZA_LKT(3,19,1:6)=(/ 0.969284,0.978079,0.982560,0.992253,0.985726,0.946005 /) -XCGA_LKT(3,19,1:6)=(/ 0.722557,0.714117,0.718290,0.664513,0.484347,0.135813 /) -XEXT_COEFF_550_LKT(3,19)=2455.100000 !rg=0.0122159 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(3,20,1:6)=(/ 3203.500000,2842.300000,2337.800000,1390.300000,376.110000,45.733000 /) -XPIZA_LKT(3,20,1:6)=(/ 0.963890,0.974757,0.981213,0.992874,0.988973,0.964790 /) -XCGA_LKT(3,20,1:6)=(/ 0.725090,0.713283,0.720253,0.698123,0.555967,0.198110 /) -XEXT_COEFF_550_LKT(3,20)=2352.500000 !rg=0.0122159 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,1,1:6)=(/ 135.990000,44.342000,22.758000,5.454500,2.727800,1.338800 /) -XPIZA_LKT(4,1,1:6)=(/ 0.603958,0.275097,0.095621,0.060096,0.010963,0.001353 /) -XCGA_LKT(4,1,1:6)=(/ 0.026860,0.010403,0.004403,0.001730,0.000547,0.000133 /) -XEXT_COEFF_550_LKT(4,1)=16.990000 !rg=0.0132342 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,2,1:6)=(/ 157.810000,47.644000,23.359000,5.543300,2.736100,1.339300 /) -XPIZA_LKT(4,2,1:6)=(/ 0.655675,0.322804,0.117451,0.074547,0.013777,0.001704 /) -XCGA_LKT(4,2,1:6)=(/ 0.034070,0.013213,0.005597,0.002200,0.000697,0.000170 /) -XEXT_COEFF_550_LKT(4,2)=17.615000 !rg=0.0132342 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,3,1:6)=(/ 210.380000,55.660000,24.816000,5.758800,2.756200,1.340600 /) -XPIZA_LKT(4,3,1:6)=(/ 0.736988,0.415754,0.166379,0.107970,0.020577,0.002562 /) -XCGA_LKT(4,3,1:6)=(/ 0.051720,0.020120,0.008537,0.003360,0.001063,0.000260 /) -XEXT_COEFF_550_LKT(4,3)=19.134000 !rg=0.0132342 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,4,1:6)=(/ 316.960000,72.477000,27.875000,6.212900,2.798500,1.343300 /) -XPIZA_LKT(4,4,1:6)=(/ 0.820320,0.545288,0.253403,0.171196,0.034661,0.004373 /) -XCGA_LKT(4,4,1:6)=(/ 0.087393,0.034257,0.014577,0.005743,0.001820,0.000447 /) -XEXT_COEFF_550_LKT(4,4)=22.330000 !rg=0.0132342 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,5,1:6)=(/ 508.090000,105.220000,33.883000,7.108200,2.881400,1.348500 /) -XPIZA_LKT(4,5,1:6)=(/ 0.883319,0.680299,0.379933,0.272812,0.061359,0.007940 /) -XCGA_LKT(4,5,1:6)=(/ 0.145183,0.057317,0.024473,0.009663,0.003063,0.000753 /) -XEXT_COEFF_550_LKT(4,5)=28.622000 !rg=0.0132342 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,6,1:6)=(/ 806.970000,163.530000,44.849000,8.751300,3.033200,1.358000 /) -XPIZA_LKT(4,6,1:6)=(/ 0.922669,0.788356,0.524964,0.405950,0.106764,0.014442 /) -XCGA_LKT(4,6,1:6)=(/ 0.225563,0.089537,0.038300,0.015157,0.004810,0.001187 /) -XEXT_COEFF_550_LKT(4,6)=40.119000 !rg=0.0132342 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,7,1:6)=(/ 1248.400000,262.090000,64.405000,11.712000,3.306200,1.375000 /) -XPIZA_LKT(4,7,1:6)=(/ 0.946609,0.862880,0.662571,0.552350,0.178367,0.025978 /) -XCGA_LKT(4,7,1:6)=(/ 0.326890,0.134260,0.057380,0.022750,0.007230,0.001783 /) -XEXT_COEFF_550_LKT(4,7)=60.633000 !rg=0.0132342 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,8,1:6)=(/ 1861.600000,415.950000,98.214000,16.939000,3.788200,1.404900 /) -XPIZA_LKT(4,8,1:6)=(/ 0.961374,0.909478,0.772664,0.686759,0.280171,0.045770 /) -XCGA_LKT(4,8,1:6)=(/ 0.425003,0.197520,0.084080,0.033360,0.010627,0.002623 /) -XEXT_COEFF_550_LKT(4,8)=96.065000 !rg=0.0132342 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,9,1:6)=(/ 2629.300000,642.570000,155.490000,26.207000,4.645500,1.457800 /) -XPIZA_LKT(4,9,1:6)=(/ 0.970432,0.937854,0.851193,0.794040,0.409728,0.079137 /) -XCGA_LKT(4,9,1:6)=(/ 0.507727,0.286953,0.122390,0.048490,0.015473,0.003823 /) -XEXT_COEFF_550_LKT(4,9)=155.910000 !rg=0.0132342 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,10,1:6)=(/ 3525.000000,969.860000,246.670000,42.373000,6.157600,1.551100 /) -XPIZA_LKT(4,10,1:6)=(/ 0.976159,0.955603,0.901947,0.869585,0.551102,0.132729 /) -XCGA_LKT(4,10,1:6)=(/ 0.579427,0.393593,0.178183,0.070200,0.022437,0.005553 /) -XEXT_COEFF_550_LKT(4,10)=250.610000 !rg=0.0132342 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,11,1:6)=(/ 4454.200000,1414.100000,382.650000,70.358000,8.850500,1.717300 /) -XPIZA_LKT(4,11,1:6)=(/ 0.979729,0.967053,0.933215,0.918925,0.684060,0.214301 /) -XCGA_LKT(4,11,1:6)=(/ 0.634003,0.480940,0.260127,0.101753,0.032523,0.008067 /) -XEXT_COEFF_550_LKT(4,11)=390.980000 !rg=0.0132342 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,12,1:6)=(/ 5284.600000,1938.000000,578.030000,116.740000,13.614000,2.012800 /) -XPIZA_LKT(4,12,1:6)=(/ 0.981802,0.974000,0.952474,0.949113,0.791225,0.326673 /) -XCGA_LKT(4,12,1:6)=(/ 0.674957,0.554537,0.369380,0.148033,0.047137,0.011717 /) -XEXT_COEFF_550_LKT(4,12)=593.020000 !rg=0.0132342 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,13,1:6)=(/ 5856.300000,2517.300000,857.220000,188.210000,21.968000,2.538000 /) -XPIZA_LKT(4,13,1:6)=(/ 0.982674,0.978456,0.965157,0.966835,0.867655,0.462561 /) -XCGA_LKT(4,13,1:6)=(/ 0.702090,0.615980,0.468663,0.216657,0.068350,0.017023 /) -XEXT_COEFF_550_LKT(4,13)=879.180000 !rg=0.0132342 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,14,1:6)=(/ 6023.400000,3070.400000,1186.100000,289.610000,36.269000,3.465900 /) -XPIZA_LKT(4,14,1:6)=(/ 0.982419,0.981130,0.972867,0.977071,0.917388,0.602799 /) -XCGA_LKT(4,14,1:6)=(/ 0.715883,0.662093,0.540530,0.315857,0.099207,0.024723 /) -XEXT_COEFF_550_LKT(4,14)=1213.400000 !rg=0.0132342 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,15,1:6)=(/ 5774.600000,3503.000000,1560.600000,435.830000,59.825000,5.104000 /) -XPIZA_LKT(4,15,1:6)=(/ 0.980989,0.982491,0.977735,0.983468,0.947973,0.726708 /) -XCGA_LKT(4,15,1:6)=(/ 0.718240,0.694237,0.607020,0.431060,0.144450,0.035890 /) -XEXT_COEFF_550_LKT(4,15)=1592.600000 !rg=0.0132342 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,16,1:6)=(/ 5251.700000,3722.800000,1927.200000,630.140000,96.041000,7.990200 /) -XPIZA_LKT(4,16,1:6)=(/ 0.978604,0.982714,0.980708,0.987630,0.966071,0.822169 /) -XCGA_LKT(4,16,1:6)=(/ 0.715820,0.713153,0.655047,0.513870,0.211450,0.052093 /) -XEXT_COEFF_550_LKT(4,16)=1962.400000 !rg=0.0132342 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,17,1:6)=(/ 4693.900000,3673.500000,2229.200000,847.240000,146.650000,12.976000 /) -XPIZA_LKT(4,17,1:6)=(/ 0.975466,0.981763,0.982317,0.990080,0.976513,0.887717 /) -XCGA_LKT(4,17,1:6)=(/ 0.715887,0.719313,0.690183,0.582740,0.308653,0.075547 /) -XEXT_COEFF_550_LKT(4,17)=2263.200000 !rg=0.0132342 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,18,1:6)=(/ 4132.100000,3400.300000,2405.700000,1077.600000,217.610000,21.393000 /) -XPIZA_LKT(4,18,1:6)=(/ 0.971902,0.979688,0.982788,0.991649,0.982970,0.929627 /) -XCGA_LKT(4,18,1:6)=(/ 0.720730,0.716660,0.711720,0.638627,0.426830,0.109637 /) -XEXT_COEFF_550_LKT(4,18)=2433.500000 !rg=0.0132342 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,19,1:6)=(/ 3529.600000,3043.700000,2411.300000,1290.300000,314.720000,34.973000 /) -XPIZA_LKT(4,19,1:6)=(/ 0.967404,0.976734,0.982134,0.992580,0.987307,0.955171 /) -XCGA_LKT(4,19,1:6)=(/ 0.723760,0.712587,0.720253,0.680220,0.516730,0.159610 /) -XEXT_COEFF_550_LKT(4,19)=2431.000000 !rg=0.0132342 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(4,20,1:6)=(/ 3001.100000,2703.200000,2258.900000,1444.200000,423.470000,55.068000 /) -XPIZA_LKT(4,20,1:6)=(/ 0.961274,0.973500,0.980258,0.993006,0.989915,0.970138 /) -XCGA_LKT(4,20,1:6)=(/ 0.729503,0.716473,0.717963,0.707840,0.585287,0.233330 /) -XEXT_COEFF_550_LKT(4,20)=2269.400000 !rg=0.0132342 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,1,1:6)=(/ 158.850000,47.800000,23.389000,5.547400,2.736500,1.339400 /) -XPIZA_LKT(5,1,1:6)=(/ 0.657319,0.324535,0.118314,0.075136,0.013895,0.001719 /) -XCGA_LKT(5,1,1:6)=(/ 0.031487,0.012203,0.005167,0.002030,0.000643,0.000157 /) -XEXT_COEFF_550_LKT(5,1)=17.645000 !rg=0.0143374 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,2,1:6)=(/ 186.470000,51.985000,24.150000,5.659900,2.747000,1.340000 /) -XPIZA_LKT(5,2,1:6)=(/ 0.705103,0.376215,0.144465,0.092836,0.017448,0.002166 /) -XCGA_LKT(5,2,1:6)=(/ 0.039933,0.015497,0.006567,0.002583,0.000817,0.000200 /) -XEXT_COEFF_550_LKT(5,2)=18.437000 !rg=0.0143374 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,3,1:6)=(/ 252.710000,62.147000,25.995000,5.933300,2.772500,1.341700 /) -XPIZA_LKT(5,3,1:6)=(/ 0.777890,0.473425,0.201976,0.133252,0.026009,0.003255 /) -XCGA_LKT(5,3,1:6)=(/ 0.060580,0.023587,0.010013,0.003940,0.001247,0.000307 /) -XEXT_COEFF_550_LKT(5,3)=20.363000 !rg=0.0143374 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,4,1:6)=(/ 384.940000,83.428000,29.872000,6.509600,2.826000,1.345100 /) -XPIZA_LKT(5,4,1:6)=(/ 0.849434,0.601669,0.300677,0.207771,0.043641,0.005553 /) -XCGA_LKT(5,4,1:6)=(/ 0.102130,0.040123,0.017093,0.006740,0.002133,0.000527 /) -XEXT_COEFF_550_LKT(5,4)=24.418000 !rg=0.0143374 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,5,1:6)=(/ 615.490000,124.630000,37.484000,7.646000,2.931200,1.351700 /) -XPIZA_LKT(5,5,1:6)=(/ 0.901607,0.727066,0.436525,0.322503,0.076693,0.010072 /) -XCGA_LKT(5,5,1:6)=(/ 0.169203,0.067080,0.028680,0.011337,0.003593,0.000887 /) -XEXT_COEFF_550_LKT(5,5)=32.394000 !rg=0.0143374 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,6,1:6)=(/ 967.410000,197.120000,51.357000,9.731800,3.123700,1.363700 /) -XPIZA_LKT(5,6,1:6)=(/ 0.933776,0.821837,0.582066,0.464140,0.131811,0.018287 /) -XCGA_LKT(5,6,1:6)=(/ 0.260543,0.104777,0.044867,0.017773,0.005643,0.001390 /) -XEXT_COEFF_550_LKT(5,6)=46.944000 !rg=0.0143374 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,7,1:6)=(/ 1480.200000,316.900000,75.999000,13.489000,3.470100,1.385200 /) -XPIZA_LKT(5,7,1:6)=(/ 0.953537,0.884495,0.711097,0.609591,0.216067,0.032789 /) -XCGA_LKT(5,7,1:6)=(/ 0.365220,0.157213,0.067207,0.026663,0.008483,0.002093 /) -XEXT_COEFF_550_LKT(5,7)=72.787000 !rg=0.0143374 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,8,1:6)=(/ 2158.200000,498.380000,118.200000,20.117000,4.081800,1.423000 /) -XPIZA_LKT(5,8,1:6)=(/ 0.965605,0.922710,0.808504,0.734555,0.330563,0.057454 /) -XCGA_LKT(5,8,1:6)=(/ 0.457370,0.231153,0.098510,0.039093,0.012463,0.003077 /) -XEXT_COEFF_550_LKT(5,8)=116.970000 !rg=0.0143374 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,9,1:6)=(/ 2990.000000,762.940000,188.320000,31.836000,5.169600,1.490200 /) -XPIZA_LKT(5,9,1:6)=(/ 0.973098,0.946081,0.874987,0.828945,0.467992,0.098437 /) -XCGA_LKT(5,9,1:6)=(/ 0.538093,0.330833,0.143567,0.056810,0.018143,0.004487 /) -XEXT_COEFF_550_LKT(5,9)=190.070000 !rg=0.0143374 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,10,1:6)=(/ 3904.800000,1141.000000,296.460000,52.150000,7.087600,1.608500 /) -XPIZA_LKT(5,10,1:6)=(/ 0.977818,0.960985,0.916668,0.892752,0.608335,0.162736 /) -XCGA_LKT(5,10,1:6)=(/ 0.602080,0.431997,0.209310,0.082257,0.026303,0.006517 /) -XEXT_COEFF_550_LKT(5,10)=302.060000 !rg=0.0143374 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,11,1:6)=(/ 4814.900000,1616.600000,453.940000,86.832000,10.500000,1.819400 /) -XPIZA_LKT(5,11,1:6)=(/ 0.980747,0.970274,0.942141,0.933273,0.732061,0.257173 /) -XCGA_LKT(5,11,1:6)=(/ 0.651820,0.510420,0.303843,0.119340,0.038113,0.009463 /) -XEXT_COEFF_550_LKT(5,11)=464.620000 !rg=0.0143374 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,12,1:6)=(/ 5559.400000,2175.600000,682.950000,142.790000,16.519000,2.194400 /) -XPIZA_LKT(5,12,1:6)=(/ 0.982312,0.976082,0.958347,0.957592,0.826471,0.380925 /) -XCGA_LKT(5,12,1:6)=(/ 0.687053,0.582050,0.414690,0.173963,0.055230,0.013743 /) -XEXT_COEFF_550_LKT(5,12)=701.270000 !rg=0.0143374 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,13,1:6)=(/ 5979.900000,2751.000000,987.860000,225.950000,27.009000,2.860800 /) -XPIZA_LKT(5,13,1:6)=(/ 0.982714,0.979698,0.968830,0.971716,0.891112,0.521568 /) -XCGA_LKT(5,13,1:6)=(/ 0.708773,0.635753,0.498880,0.254793,0.080097,0.019960 /) -XEXT_COEFF_550_LKT(5,13)=1011.400000 !rg=0.0143374 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,14,1:6)=(/ 5974.800000,3266.100000,1336.700000,343.290000,44.725000,4.037700 /) -XPIZA_LKT(5,14,1:6)=(/ 0.981970,0.981802,0.975108,0.980031,0.932010,0.657367 /) -XCGA_LKT(5,14,1:6)=(/ 0.717780,0.676500,0.569820,0.365303,0.116357,0.028980 /) -XEXT_COEFF_550_LKT(5,14)=1367.300000 !rg=0.0143374 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,15,1:6)=(/ 5588.600000,3622.700000,1711.300000,512.520000,73.151000,6.112100 /) -XPIZA_LKT(5,15,1:6)=(/ 0.980139,0.982692,0.979133,0.985447,0.956679,0.770200 /) -XCGA_LKT(5,15,1:6)=(/ 0.717677,0.703213,0.627647,0.470053,0.169743,0.042060 /) -XEXT_COEFF_550_LKT(5,15)=1744.700000 !rg=0.0143374 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,16,1:6)=(/ 5033.900000,3737.000000,2062.300000,715.790000,115.210000,9.755000 /) -XPIZA_LKT(5,16,1:6)=(/ 0.977360,0.982451,0.981540,0.988784,0.971103,0.852940 /) -XCGA_LKT(5,16,1:6)=(/ 0.715070,0.716997,0.671143,0.541850,0.248763,0.061040 /) -XEXT_COEFF_550_LKT(5,16)=2096.400000 !rg=0.0143374 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,17,1:6)=(/ 4469.700000,3582.300000,2319.600000,945.420000,173.130000,16.000000 /) -XPIZA_LKT(5,17,1:6)=(/ 0.974161,0.981037,0.982669,0.990833,0.979533,0.907770 /) -XCGA_LKT(5,17,1:6)=(/ 0.718090,0.718913,0.700340,0.609053,0.358580,0.088560 /) -XEXT_COEFF_550_LKT(5,17)=2350.900000 !rg=0.0143374 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,18,1:6)=(/ 3890.200000,3257.700000,2427.900000,1170.400000,255.870000,26.371000 /) -XPIZA_LKT(5,18,1:6)=(/ 0.970229,0.978515,0.982655,0.992090,0.985026,0.941988 /) -XCGA_LKT(5,18,1:6)=(/ 0.722673,0.714127,0.716280,0.657153,0.470170,0.128680 /) -XEXT_COEFF_550_LKT(5,18)=2452.900000 !rg=0.0143374 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,19,1:6)=(/ 3309.700000,2900.300000,2364.000000,1363.100000,358.710000,42.601000 /) -XPIZA_LKT(5,19,1:6)=(/ 0.964441,0.975520,0.981486,0.992797,0.988562,0.962487 /) -XCGA_LKT(5,19,1:6)=(/ 0.725733,0.714007,0.720157,0.693183,0.545250,0.187777 /) -XEXT_COEFF_550_LKT(5,19)=2379.100000 !rg=0.0143374 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(5,20,1:6)=(/ 2786.500000,2568.900000,2162.700000,1482.500000,474.170000,65.686000 /) -XPIZA_LKT(5,20,1:6)=(/ 0.959361,0.972083,0.979225,0.993033,0.990722,0.974385 /) -XCGA_LKT(5,20,1:6)=(/ 0.731550,0.719600,0.715697,0.715443,0.613660,0.274610 /) -XEXT_COEFF_550_LKT(5,20)=2174.400000 !rg=0.0143374 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,1,1:6)=(/ 187.820000,52.181000,24.187000,5.665200,2.747600,1.340100 /) -XPIZA_LKT(6,1,1:6)=(/ 0.706604,0.378045,0.145485,0.093552,0.017596,0.002185 /) -XCGA_LKT(6,1,1:6)=(/ 0.036910,0.014313,0.006063,0.002383,0.000753,0.000187 /) -XEXT_COEFF_550_LKT(6,1)=18.475000 !rg=0.0155325 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,2,1:6)=(/ 222.740000,57.488000,25.151000,5.807800,2.760900,1.340900 /) -XPIZA_LKT(6,2,1:6)=(/ 0.749736,0.432606,0.176395,0.115039,0.022074,0.002752 /) -XCGA_LKT(6,2,1:6)=(/ 0.046800,0.018170,0.007703,0.003030,0.000960,0.000237 /) -XEXT_COEFF_550_LKT(6,2)=19.480000 !rg=0.0155325 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,3,1:6)=(/ 305.950000,70.366000,27.489000,6.154700,2.793200,1.343000 /) -XPIZA_LKT(6,3,1:6)=(/ 0.813546,0.531531,0.242883,0.163344,0.032826,0.004134 /) -XCGA_LKT(6,3,1:6)=(/ 0.070943,0.027647,0.011743,0.004623,0.001463,0.000360 /) -XEXT_COEFF_550_LKT(6,3)=21.922000 !rg=0.0155325 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,4,1:6)=(/ 468.710000,97.265000,32.402000,6.886000,2.861000,1.347300 /) -XPIZA_LKT(6,4,1:6)=(/ 0.873915,0.655052,0.352447,0.249755,0.054811,0.007049 /) -XCGA_LKT(6,4,1:6)=(/ 0.119287,0.046987,0.020040,0.007907,0.002503,0.000617 /) -XEXT_COEFF_550_LKT(6,4)=27.065000 !rg=0.0155325 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,5,1:6)=(/ 743.990000,148.930000,42.043000,8.328600,2.994300,1.355600 /) -XPIZA_LKT(6,5,1:6)=(/ 0.916675,0.768693,0.494537,0.376462,0.095456,0.012769 /) -XCGA_LKT(6,5,1:6)=(/ 0.196697,0.078480,0.033603,0.013293,0.004217,0.001040 /) -XEXT_COEFF_550_LKT(6,5)=37.172000 !rg=0.0155325 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,6,1:6)=(/ 1156.300000,238.360000,59.572000,10.976000,3.238600,1.370800 /) -XPIZA_LKT(6,6,1:6)=(/ 0.942981,0.850246,0.636612,0.523175,0.161646,0.023131 /) -XCGA_LKT(6,6,1:6)=(/ 0.297457,0.122573,0.052550,0.020833,0.006620,0.001633 /) -XEXT_COEFF_550_LKT(6,6)=55.558000 !rg=0.0155325 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,7,1:6)=(/ 1740.900000,382.190000,90.524000,15.743000,3.678000,1.398100 /) -XPIZA_LKT(6,7,1:6)=(/ 0.959219,0.902279,0.754618,0.663754,0.259166,0.041306 /) -XCGA_LKT(6,7,1:6)=(/ 0.400810,0.183997,0.078710,0.031250,0.009950,0.002457 /) -XEXT_COEFF_550_LKT(6,7)=88.003000 !rg=0.0155325 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,8,1:6)=(/ 2481.300000,594.660000,142.840000,24.139000,4.454200,1.446000 /) -XPIZA_LKT(6,8,1:6)=(/ 0.969072,0.933556,0.839115,0.777161,0.385073,0.071889 /) -XCGA_LKT(6,8,1:6)=(/ 0.489240,0.269360,0.115440,0.045800,0.014613,0.003610 /) -XEXT_COEFF_550_LKT(6,8)=142.690000 !rg=0.0155325 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,9,1:6)=(/ 3366.800000,904.440000,227.630000,38.927000,5.834500,1.531200 /) -XPIZA_LKT(6,9,1:6)=(/ 0.975326,0.953023,0.894608,0.858680,0.526985,0.121806 /) -XCGA_LKT(6,9,1:6)=(/ 0.565413,0.374173,0.168473,0.066553,0.021273,0.005267 /) -XEXT_COEFF_550_LKT(6,9)=230.860000 !rg=0.0155325 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,10,1:6)=(/ 4291.300000,1326.400000,354.230000,64.331000,8.266500,1.681300 /) -XPIZA_LKT(6,10,1:6)=(/ 0.979189,0.965366,0.928610,0.911881,0.662526,0.197947 /) -XCGA_LKT(6,10,1:6)=(/ 0.623170,0.464750,0.245617,0.096403,0.030830,0.007647 /) -XEXT_COEFF_550_LKT(6,10)=361.670000 !rg=0.0155325 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,11,1:6)=(/ 5151.000000,1834.900000,537.420000,106.900000,12.585000,1.948900 /) -XPIZA_LKT(6,11,1:6)=(/ 0.981509,0.972929,0.949587,0.944865,0.774900,0.305220 /) -XCGA_LKT(6,11,1:6)=(/ 0.667197,0.540353,0.350683,0.140053,0.044660,0.011100 /) -XEXT_COEFF_550_LKT(6,11)=551.050000 !rg=0.0155325 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,12,1:6)=(/ 5782.700000,2410.800000,801.660000,173.390000,20.175000,2.424700 /) -XPIZA_LKT(6,12,1:6)=(/ 0.982594,0.977782,0.963288,0.964342,0.856542,0.438201 /) -XCGA_LKT(6,12,1:6)=(/ 0.697103,0.605177,0.452997,0.204563,0.064710,0.016117 /) -XEXT_COEFF_550_LKT(6,12)=822.530000 !rg=0.0155325 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,13,1:6)=(/ 6037.500000,2977.700000,1123.800000,269.270000,33.287000,3.270300 /) -XPIZA_LKT(6,13,1:6)=(/ 0.982553,0.980736,0.971753,0.975630,0.910509,0.579808 /) -XCGA_LKT(6,13,1:6)=(/ 0.713803,0.653927,0.527503,0.298613,0.093883,0.023403 /) -XEXT_COEFF_550_LKT(6,13)=1149.800000 !rg=0.0155325 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,14,1:6)=(/ 5860.200000,3439.700000,1493.400000,406.700000,55.032000,4.762100 /) -XPIZA_LKT(6,14,1:6)=(/ 0.981366,0.982309,0.977015,0.982544,0.943844,0.707842 /) -XCGA_LKT(6,14,1:6)=(/ 0.718567,0.688750,0.596357,0.413430,0.136560,0.033967 /) -XEXT_COEFF_550_LKT(6,14)=1525.100000 !rg=0.0155325 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,15,1:6)=(/ 5383.700000,3701.600000,1861.800000,594.030000,88.804000,7.386500 /) -XPIZA_LKT(6,15,1:6)=(/ 0.979058,0.982737,0.980258,0.987050,0.963620,0.808329 /) -XCGA_LKT(6,15,1:6)=(/ 0.716103,0.710130,0.646627,0.501373,0.199620,0.049287 /) -XEXT_COEFF_550_LKT(6,15)=1897.000000 !rg=0.0155325 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,16,1:6)=(/ 4805.200000,3702.400000,2182.500000,807.520000,137.040000,11.972000 /) -XPIZA_LKT(6,16,1:6)=(/ 0.976195,0.982013,0.982108,0.989730,0.975121,0.878873 /) -XCGA_LKT(6,16,1:6)=(/ 0.716263,0.718713,0.684537,0.571013,0.291983,0.071533 /) -XEXT_COEFF_550_LKT(6,16)=2217.100000 !rg=0.0155325 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,17,1:6)=(/ 4246.200000,3462.000000,2385.600000,1039.800000,204.180000,19.750000 /) -XPIZA_LKT(6,17,1:6)=(/ 0.972711,0.980127,0.982770,0.991439,0.982083,0.924221 /) -XCGA_LKT(6,17,1:6)=(/ 0.720983,0.717137,0.708377,0.630437,0.409203,0.103850 /) -XEXT_COEFF_550_LKT(6,17)=2415.300000 !rg=0.0155325 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,18,1:6)=(/ 3649.500000,3109.400000,2421.400000,1257.200000,297.710000,32.388000 /) -XPIZA_LKT(6,18,1:6)=(/ 0.968018,0.977376,0.982311,0.992455,0.986735,0.951938 /) -XCGA_LKT(6,18,1:6)=(/ 0.723677,0.713797,0.719237,0.673867,0.504823,0.151163 /) -XEXT_COEFF_550_LKT(6,18)=2442.000000 !rg=0.0155325 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,19,1:6)=(/ 3082.800000,2769.700000,2291.000000,1423.800000,404.770000,51.452000 /) -XPIZA_LKT(6,19,1:6)=(/ 0.962630,0.974170,0.980667,0.992958,0.989571,0.968299 /) -XCGA_LKT(6,19,1:6)=(/ 0.727313,0.716390,0.718767,0.703837,0.574277,0.221093 /) -XEXT_COEFF_550_LKT(6,19)=2304.700000 !rg=0.0155325 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(6,20,1:6)=(/ 2578.000000,2423.000000,2067.000000,1500.900000,524.570000,77.739000 /) -XPIZA_LKT(6,20,1:6)=(/ 0.957392,0.970310,0.977974,0.993000,0.991395,0.977791 /) -XCGA_LKT(6,20,1:6)=(/ 0.734070,0.721477,0.713567,0.720567,0.637487,0.321877 /) -XEXT_COEFF_550_LKT(6,20)=2071.400000 !rg=0.0155325 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,1,1:6)=(/ 224.510000,57.735000,25.198000,5.814400,2.761500,1.341000 /) -XPIZA_LKT(7,1,1:6)=(/ 0.751093,0.434492,0.177583,0.115901,0.022260,0.002776 /) -XCGA_LKT(7,1,1:6)=(/ 0.043263,0.016787,0.007113,0.002797,0.000883,0.000217 /) -XEXT_COEFF_550_LKT(7,1)=19.526000 !rg=0.0168272 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,2,1:6)=(/ 268.580000,64.465000,26.418000,5.995400,2.778400,1.342100 /) -XPIZA_LKT(7,2,1:6)=(/ 0.789211,0.490554,0.213548,0.141701,0.027890,0.003496 /) -XCGA_LKT(7,2,1:6)=(/ 0.054850,0.021307,0.009037,0.003557,0.001127,0.000277 /) -XEXT_COEFF_550_LKT(7,2)=20.801000 !rg=0.0168272 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,3,1:6)=(/ 372.630000,80.781000,29.382000,6.435500,2.819300,1.344600 /) -XPIZA_LKT(7,3,1:6)=(/ 0.844110,0.588473,0.288963,0.198642,0.041351,0.005250 /) -XCGA_LKT(7,3,1:6)=(/ 0.083077,0.032403,0.013773,0.005427,0.001717,0.000423 /) -XEXT_COEFF_550_LKT(7,3)=23.899000 !rg=0.0168272 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,4,1:6)=(/ 571.050000,114.720000,35.608000,7.363700,2.905300,1.350000 /) -XPIZA_LKT(7,4,1:6)=(/ 0.894276,0.704317,0.407731,0.296977,0.068628,0.008944 /) -XCGA_LKT(7,4,1:6)=(/ 0.139217,0.055003,0.023487,0.009273,0.002940,0.000723 /) -XEXT_COEFF_550_LKT(7,4)=30.421000 !rg=0.0168272 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,5,1:6)=(/ 896.760000,179.190000,47.811000,9.195100,3.074400,1.360600 /) -XPIZA_LKT(7,5,1:6)=(/ 0.929079,0.804999,0.552360,0.433560,0.118207,0.016176 /) -XCGA_LKT(7,5,1:6)=(/ 0.227547,0.091780,0.039367,0.015587,0.004947,0.001220 /) -XEXT_COEFF_550_LKT(7,5)=43.219000 !rg=0.0168272 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,6,1:6)=(/ 1375.400000,288.450000,69.917000,12.556000,3.384200,1.379900 /) -XPIZA_LKT(7,6,1:6)=(/ 0.950585,0.874019,0.687351,0.581396,0.196670,0.029217 /) -XCGA_LKT(7,6,1:6)=(/ 0.334430,0.143333,0.061537,0.024423,0.007767,0.001917 /) -XEXT_COEFF_550_LKT(7,6)=66.406000 !rg=0.0168272 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,7,1:6)=(/ 2028.100000,459.200000,108.620000,18.600000,3.941900,1.414400 /) -XPIZA_LKT(7,7,1:6)=(/ 0.963844,0.916846,0.792814,0.713694,0.307422,0.051913 /) -XCGA_LKT(7,7,1:6)=(/ 0.434533,0.215010,0.092180,0.036617,0.011670,0.002883 /) -XEXT_COEFF_550_LKT(7,7)=106.940000 !rg=0.0168272 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,8,1:6)=(/ 2834.400000,707.700000,172.890000,29.223000,4.926800,1.475200 /) -XPIZA_LKT(7,8,1:6)=(/ 0.971978,0.942558,0.864843,0.814371,0.442508,0.089596 /) -XCGA_LKT(7,8,1:6)=(/ 0.520550,0.310887,0.135310,0.053657,0.017137,0.004237 /) -XEXT_COEFF_550_LKT(7,8)=173.990000 !rg=0.0168272 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,9,1:6)=(/ 3748.700000,1066.700000,274.040000,47.824000,6.677700,1.583200 /) -XPIZA_LKT(7,9,1:6)=(/ 0.977142,0.958838,0.910637,0.883649,0.585052,0.149777 /) -XCGA_LKT(7,9,1:6)=(/ 0.589377,0.413197,0.197720,0.077970,0.024937,0.006177 /) -XEXT_COEFF_550_LKT(7,9)=278.870000 !rg=0.0168272 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,10,1:6)=(/ 4665.100000,1523.100000,421.120000,79.385000,9.759700,1.773600 /) -XPIZA_LKT(7,10,1:6)=(/ 0.980321,0.968885,0.938356,0.927517,0.712522,0.238559 /) -XCGA_LKT(7,10,1:6)=(/ 0.642177,0.494943,0.287060,0.113023,0.036130,0.008967 /) -XEXT_COEFF_550_LKT(7,10)=430.760000 !rg=0.0168272 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,11,1:6)=(/ 5451.700000,2068.700000,635.750000,130.990000,15.220000,2.113200 /) -XPIZA_LKT(7,11,1:6)=(/ 0.982107,0.975182,0.955914,0.954164,0.812365,0.357836 /) -XCGA_LKT(7,11,1:6)=(/ 0.680453,0.568920,0.396313,0.164477,0.052327,0.013017 /) -XEXT_COEFF_550_LKT(7,11)=652.660000 !rg=0.0168272 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,12,1:6)=(/ 5942.100000,2645.100000,928.550000,208.790000,24.761000,2.717100 /) -XPIZA_LKT(7,12,1:6)=(/ 0.982726,0.979143,0.967300,0.969709,0.881832,0.497035 /) -XCGA_LKT(7,12,1:6)=(/ 0.705027,0.625690,0.484700,0.240500,0.075823,0.018897 /) -XEXT_COEFF_550_LKT(7,12)=951.180000 !rg=0.0168272 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,13,1:6)=(/ 6020.800000,3182.300000,1270.000000,319.590000,41.048000,3.789500 /) -XPIZA_LKT(7,13,1:6)=(/ 0.982212,0.981514,0.974165,0.978836,0.926391,0.635708 /) -XCGA_LKT(7,13,1:6)=(/ 0.716693,0.669357,0.556960,0.346707,0.110080,0.027433 /) -XEXT_COEFF_550_LKT(7,13)=1299.400000 !rg=0.0168272 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,14,1:6)=(/ 5701.000000,3575.100000,1645.600000,479.800000,67.416000,5.679400 /) -XPIZA_LKT(7,14,1:6)=(/ 0.980551,0.982612,0.978554,0.984675,0.953353,0.753421 /) -XCGA_LKT(7,14,1:6)=(/ 0.717917,0.698613,0.618237,0.454850,0.160390,0.039807 /) -XEXT_COEFF_550_LKT(7,14)=1678.200000 !rg=0.0168272 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,15,1:6)=(/ 5155.700000,3735.700000,2003.700000,677.880000,106.880000,8.993800 /) -XPIZA_LKT(7,15,1:6)=(/ 0.978020,0.982565,0.981189,0.988315,0.969137,0.841152 /) -XCGA_LKT(7,15,1:6)=(/ 0.716123,0.714690,0.663787,0.529580,0.234803,0.057753 /) -XEXT_COEFF_550_LKT(7,15)=2037.900000 !rg=0.0168272 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,16,1:6)=(/ 4589.500000,3629.100000,2284.300000,905.040000,162.030000,14.746000 /) -XPIZA_LKT(7,16,1:6)=(/ 0.974899,0.981374,0.982533,0.990538,0.978383,0.900454 /) -XCGA_LKT(7,16,1:6)=(/ 0.718660,0.718887,0.695700,0.598690,0.340337,0.083840 /) -XEXT_COEFF_550_LKT(7,16)=2316.300000 !rg=0.0168272 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,17,1:6)=(/ 4011.500000,3324.200000,2421.100000,1132.700000,240.490000,24.360000 /) -XPIZA_LKT(7,17,1:6)=(/ 0.970830,0.979110,0.982726,0.991916,0.984271,0.937600 /) -XCGA_LKT(7,17,1:6)=(/ 0.722103,0.715917,0.714060,0.649413,0.454863,0.121847 /) -XEXT_COEFF_550_LKT(7,17)=2447.200000 !rg=0.0168272 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,18,1:6)=(/ 3403.500000,2974.300000,2384.900000,1333.200000,341.020000,39.544000 /) -XPIZA_LKT(7,18,1:6)=(/ 0.965591,0.976040,0.981755,0.992708,0.988101,0.959896 /) -XCGA_LKT(7,18,1:6)=(/ 0.724093,0.713837,0.719757,0.687703,0.534097,0.177753 /) -XEXT_COEFF_550_LKT(7,18)=2403.000000 !rg=0.0168272 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,19,1:6)=(/ 2867.300000,2632.300000,2205.700000,1467.600000,454.450000,61.562000 /) -XPIZA_LKT(7,19,1:6)=(/ 0.961163,0.972642,0.979616,0.993020,0.990426,0.972911 /) -XCGA_LKT(7,19,1:6)=(/ 0.732103,0.718633,0.716407,0.712130,0.603430,0.260270 /) -XEXT_COEFF_550_LKT(7,19)=2213.200000 !rg=0.0168272 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(7,20,1:6)=(/ 2394.700000,2270.700000,1969.700000,1501.500000,573.360000,91.629000 /) -XPIZA_LKT(7,20,1:6)=(/ 0.954022,0.968499,0.976666,0.992866,0.991927,0.980592 /) -XCGA_LKT(7,20,1:6)=(/ 0.735900,0.722903,0.711993,0.723560,0.657597,0.373333 /) -XEXT_COEFF_550_LKT(7,20)=1977.800000 !rg=0.0168272 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,1,1:6)=(/ 270.930000,64.778000,26.477000,6.003700,2.779200,1.342100 /) -XPIZA_LKT(8,1,1:6)=(/ 0.790436,0.492444,0.214911,0.142727,0.028123,0.003527 /) -XCGA_LKT(8,1,1:6)=(/ 0.050713,0.019683,0.008347,0.003283,0.001040,0.000257 /) -XEXT_COEFF_550_LKT(8,1)=20.860000 !rg=0.0182298 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,2,1:6)=(/ 326.400000,73.309000,28.024000,6.233300,2.800600,1.343500 /) -XPIZA_LKT(8,2,1:6)=(/ 0.823492,0.548471,0.256000,0.173305,0.035180,0.004441 /) -XCGA_LKT(8,2,1:6)=(/ 0.064287,0.024980,0.010600,0.004173,0.001320,0.000327 /) -XEXT_COEFF_550_LKT(8,2)=22.476000 !rg=0.0182298 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,3,1:6)=(/ 455.680000,93.966000,31.780000,6.791800,2.852400,1.346700 /) -XPIZA_LKT(8,3,1:6)=(/ 0.869932,0.642772,0.339713,0.239336,0.051967,0.006665 /) -XCGA_LKT(8,3,1:6)=(/ 0.097287,0.037967,0.016153,0.006367,0.002017,0.000497 /) -XEXT_COEFF_550_LKT(8,3)=26.407000 !rg=0.0182298 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,4,1:6)=(/ 694.960000,136.680000,39.669000,7.970000,2.961400,1.353600 /) -XPIZA_LKT(8,4,1:6)=(/ 0.911075,0.748717,0.465211,0.348894,0.085605,0.011342 /) -XCGA_LKT(8,4,1:6)=(/ 0.162287,0.064367,0.027527,0.010877,0.003450,0.000850 /) -XEXT_COEFF_550_LKT(8,4)=34.676000 !rg=0.0182298 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,5,1:6)=(/ 1076.900000,216.610000,55.100000,10.295000,3.175900,1.366900 /) -XPIZA_LKT(8,5,1:6)=(/ 0.939281,0.836103,0.608399,0.492339,0.145487,0.020473 /) -XCGA_LKT(8,5,1:6)=(/ 0.261123,0.107277,0.046103,0.018277,0.005807,0.001430 /) -XEXT_COEFF_550_LKT(8,5)=50.863000 !rg=0.0182298 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,6,1:6)=(/ 1624.400000,348.670000,82.904000,14.559000,3.569000,1.391300 /) -XPIZA_LKT(8,6,1:6)=(/ 0.956816,0.893704,0.733388,0.637234,0.237091,0.036843 /) -XCGA_LKT(8,6,1:6)=(/ 0.370480,0.167473,0.072043,0.028623,0.009110,0.002250 /) -XEXT_COEFF_550_LKT(8,6)=80.014000 !rg=0.0182298 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,7,1:6)=(/ 2344.200000,549.690000,131.010000,22.219000,4.276700,1.435100 /) -XPIZA_LKT(8,7,1:6)=(/ 0.967646,0.928804,0.825695,0.758656,0.360206,0.065053 /) -XCGA_LKT(8,7,1:6)=(/ 0.467803,0.250290,0.107953,0.042900,0.013687,0.003383 /) -XEXT_COEFF_550_LKT(8,7)=130.330000 !rg=0.0182298 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,8,1:6)=(/ 3208.000000,840.630000,209.080000,35.631000,5.526400,1.512200 /) -XPIZA_LKT(8,8,1:6)=(/ 0.974406,0.950113,0.886179,0.846292,0.501377,0.111129 /) -XCGA_LKT(8,8,1:6)=(/ 0.549200,0.352807,0.158630,0.062853,0.020093,0.004973 /) -XEXT_COEFF_550_LKT(8,8)=211.590000 !rg=0.0182298 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,9,1:6)=(/ 4139.800000,1245.000000,328.170000,58.932000,7.746700,1.649200 /) -XPIZA_LKT(8,9,1:6)=(/ 0.978641,0.963591,0.923674,0.904357,0.640645,0.182807 /) -XCGA_LKT(8,9,1:6)=(/ 0.611613,0.447110,0.231837,0.091357,0.029230,0.007247 /) -XEXT_COEFF_550_LKT(8,9)=334.790000 !rg=0.0182298 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,10,1:6)=(/ 5016.700000,1735.200000,499.330000,97.797000,11.649000,1.890800 /) -XPIZA_LKT(8,10,1:6)=(/ 0.981189,0.971772,0.946445,0.940188,0.757562,0.284487 /) -XCGA_LKT(8,10,1:6)=(/ 0.658710,0.525257,0.332183,0.132573,0.042337,0.010520 /) -XEXT_COEFF_550_LKT(8,10)=511.710000 !rg=0.0182298 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,11,1:6)=(/ 5702.200000,2304.500000,748.440000,159.460000,18.539000,2.321800 /) -XPIZA_LKT(8,11,1:6)=(/ 0.982488,0.977044,0.961257,0.961583,0.844547,0.414011 /) -XCGA_LKT(8,11,1:6)=(/ 0.691550,0.593427,0.436177,0.193280,0.061307,0.015267 /) -XEXT_COEFF_550_LKT(8,11)=768.110000 !rg=0.0182298 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,12,1:6)=(/ 6036.600000,2877.900000,1060.900000,249.500000,30.485000,3.088000 /) -XPIZA_LKT(8,12,1:6)=(/ 0.982650,0.980280,0.970500,0.974003,0.902839,0.555788 /) -XCGA_LKT(8,12,1:6)=(/ 0.710960,0.644810,0.513737,0.282057,0.088860,0.022157 /) -XEXT_COEFF_550_LKT(8,12)=1085.800000 !rg=0.0182298 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,13,1:6)=(/ 5941.600000,3369.300000,1425.200000,378.940000,50.545000,4.447700 /) -XPIZA_LKT(8,13,1:6)=(/ 0.981685,0.982090,0.976222,0.981536,0.939284,0.687954 /) -XCGA_LKT(8,13,1:6)=(/ 0.718213,0.682593,0.584770,0.395160,0.129147,0.032157 /) -XEXT_COEFF_550_LKT(8,13)=1456.500000 !rg=0.0182298 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,14,1:6)=(/ 5500.000000,3675.300000,1796.600000,559.110000,82.055000,6.839400 /) -XPIZA_LKT(8,14,1:6)=(/ 0.979679,0.982725,0.979779,0.986422,0.960951,0.793700 /) -XCGA_LKT(8,14,1:6)=(/ 0.717653,0.706633,0.637790,0.488207,0.188530,0.046647 /) -XEXT_COEFF_550_LKT(8,14)=1831.400000 !rg=0.0182298 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,15,1:6)=(/ 4940.000000,3723.800000,2129.500000,766.710000,127.500000,11.016000 /) -XPIZA_LKT(8,15,1:6)=(/ 0.976838,0.982219,0.981855,0.989336,0.973533,0.868968 /) -XCGA_LKT(8,15,1:6)=(/ 0.716987,0.717513,0.678127,0.558557,0.275783,0.067677 /) -XEXT_COEFF_550_LKT(8,15)=2164.200000 !rg=0.0182298 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,16,1:6)=(/ 4367.000000,3523.200000,2360.000000,1000.700000,191.190000,18.196000 /) -XPIZA_LKT(8,16,1:6)=(/ 0.973368,0.980565,0.982727,0.991202,0.981110,0.918224 /) -XCGA_LKT(8,16,1:6)=(/ 0.720160,0.718123,0.704523,0.621583,0.390873,0.098297 /) -XEXT_COEFF_550_LKT(8,16)=2390.900000 !rg=0.0182298 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,17,1:6)=(/ 3754.200000,3185.700000,2428.300000,1223.000000,281.040000,29.958000 /) -XPIZA_LKT(8,17,1:6)=(/ 0.969080,0.977862,0.982448,0.992314,0.986112,0.948399 /) -XCGA_LKT(8,17,1:6)=(/ 0.723673,0.714067,0.717660,0.667023,0.492053,0.143080 /) -XEXT_COEFF_550_LKT(8,17)=2450.800000 !rg=0.0182298 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,18,1:6)=(/ 3177.700000,2833.500000,2324.200000,1400.000000,385.920000,47.902000 /) -XPIZA_LKT(8,18,1:6)=(/ 0.963867,0.974858,0.981001,0.992892,0.989190,0.966227 /) -XCGA_LKT(8,18,1:6)=(/ 0.728737,0.715977,0.719050,0.699277,0.562847,0.209210 /) -XEXT_COEFF_550_LKT(8,18)=2337.200000 !rg=0.0182298 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,19,1:6)=(/ 2664.400000,2489.700000,2108.200000,1494.400000,505.160000,73.033000 /) -XPIZA_LKT(8,19,1:6)=(/ 0.958284,0.971106,0.978484,0.993014,0.991151,0.976595 /) -XCGA_LKT(8,19,1:6)=(/ 0.733197,0.721307,0.714010,0.718347,0.628820,0.305523 /) -XEXT_COEFF_550_LKT(8,19)=2119.500000 !rg=0.0182298 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(8,20,1:6)=(/ 2214.500000,2127.900000,1877.100000,1481.400000,622.150000,107.960000 /) -XPIZA_LKT(8,20,1:6)=(/ 0.950658,0.965893,0.975428,0.992657,0.992368,0.982973 /) -XCGA_LKT(8,20,1:6)=(/ 0.737173,0.724117,0.713430,0.724380,0.676287,0.424487 /) -XEXT_COEFF_550_LKT(8,20)=1883.700000 !rg=0.0182298 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,1,1:6)=(/ 329.580000,73.707000,28.098000,6.243800,2.801600,1.343500 /) -XPIZA_LKT(9,1,1:6)=(/ 0.824607,0.550320,0.257532,0.174510,0.035472,0.004479 /) -XCGA_LKT(9,1,1:6)=(/ 0.059450,0.023080,0.009790,0.003853,0.001220,0.000300 /) -XEXT_COEFF_550_LKT(9,1)=22.551000 !rg=0.0197494 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,2,1:6)=(/ 399.130000,84.521000,30.059000,6.535100,2.828700,1.345300 /) -XPIZA_LKT(9,2,1:6)=(/ 0.852798,0.604787,0.303513,0.210195,0.044288,0.005639 /) -XCGA_LKT(9,2,1:6)=(/ 0.075360,0.029283,0.012433,0.004897,0.001550,0.000380 /) -XEXT_COEFF_550_LKT(9,2)=24.602000 !rg=0.0197494 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,3,1:6)=(/ 558.400000,110.650000,34.820000,7.243900,2.894400,1.349400 /) -XPIZA_LKT(9,3,1:6)=(/ 0.891482,0.693236,0.394253,0.285340,0.065117,0.008458 /) -XCGA_LKT(9,3,1:6)=(/ 0.113940,0.044483,0.018940,0.007467,0.002367,0.000583 /) -XEXT_COEFF_550_LKT(9,3)=29.588000 !rg=0.0197494 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,4,1:6)=(/ 843.500000,164.210000,44.812000,8.739700,3.032500,1.358000 /) -XPIZA_LKT(9,4,1:6)=(/ 0.924855,0.787888,0.523339,0.404563,0.106289,0.014374 /) -XCGA_LKT(9,4,1:6)=(/ 0.188790,0.075293,0.032253,0.012757,0.004047,0.000997 /) -XEXT_COEFF_550_LKT(9,4)=40.067000 !rg=0.0197494 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,5,1:6)=(/ 1286.900000,262.520000,64.296000,11.691000,3.304700,1.374900 /) -XPIZA_LKT(9,5,1:6)=(/ 0.947652,0.862358,0.661261,0.551175,0.177767,0.025879 /) -XCGA_LKT(9,5,1:6)=(/ 0.296533,0.125307,0.053980,0.021423,0.006810,0.001680 /) -XEXT_COEFF_550_LKT(9,5)=60.506000 !rg=0.0197494 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,6,1:6)=(/ 1903.100000,420.400000,99.131000,17.099000,3.803500,1.405800 /) -XPIZA_LKT(9,6,1:6)=(/ 0.961910,0.909909,0.774224,0.689379,0.282837,0.046361 /) -XCGA_LKT(9,6,1:6)=(/ 0.405893,0.195370,0.084333,0.033540,0.010687,0.002640 /) -XEXT_COEFF_550_LKT(9,6)=97.004000 !rg=0.0197494 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,7,1:6)=(/ 2691.600000,656.200000,158.440000,26.794000,4.701500,1.461300 /) -XPIZA_LKT(9,7,1:6)=(/ 0.970822,0.938705,0.853528,0.798272,0.416494,0.081228 /) -XCGA_LKT(9,7,1:6)=(/ 0.500423,0.288947,0.126427,0.050257,0.016050,0.003967 /) -XEXT_COEFF_550_LKT(9,7)=158.930000 !rg=0.0197494 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,8,1:6)=(/ 3592.200000,993.840000,252.080000,43.684000,6.287000,1.559100 /) -XPIZA_LKT(9,8,1:6)=(/ 0.976397,0.956423,0.903693,0.873257,0.560042,0.137042 /) -XCGA_LKT(9,8,1:6)=(/ 0.574737,0.391747,0.185960,0.073623,0.023553,0.005833 /) -XEXT_COEFF_550_LKT(9,8)=256.150000 !rg=0.0197494 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,9,1:6)=(/ 4525.400000,1436.000000,391.080000,72.697000,9.101300,1.732900 /) -XPIZA_LKT(9,9,1:6)=(/ 0.979888,0.967426,0.934316,0.921348,0.692475,0.221188 /) -XCGA_LKT(9,9,1:6)=(/ 0.631887,0.478260,0.270930,0.107067,0.034257,0.008500 /) -XEXT_COEFF_550_LKT(9,9)=399.780000 !rg=0.0197494 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,10,1:6)=(/ 5341.100000,1964.400000,591.470000,120.020000,14.037000,2.039600 /) -XPIZA_LKT(9,10,1:6)=(/ 0.981877,0.974213,0.953284,0.950381,0.797275,0.335290 /) -XCGA_LKT(9,10,1:6)=(/ 0.673177,0.554703,0.377370,0.155593,0.049603,0.012340 /) -XEXT_COEFF_550_LKT(9,10)=607.000000 !rg=0.0197494 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,11,1:6)=(/ 5897.000000,2539.500000,870.910000,192.590000,22.707000,2.586500 /) -XPIZA_LKT(9,11,1:6)=(/ 0.982705,0.978539,0.965629,0.967489,0.871765,0.472388 /) -XCGA_LKT(9,11,1:6)=(/ 0.700720,0.614863,0.469427,0.227120,0.071830,0.017903 /) -XEXT_COEFF_550_LKT(9,11)=892.550000 !rg=0.0197494 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,12,1:6)=(/ 6057.400000,3091.800000,1202.700000,296.650000,37.580000,3.558400 /) -XPIZA_LKT(9,12,1:6)=(/ 0.982415,0.981172,0.973113,0.977497,0.920105,0.612838 /) -XCGA_LKT(9,12,1:6)=(/ 0.715080,0.661347,0.543283,0.328377,0.104167,0.025973 /) -XEXT_COEFF_550_LKT(9,12)=1230.800000 !rg=0.0197494 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,13,1:6)=(/ 5803.500000,3521.100000,1578.800000,448.140000,62.018000,5.281400 /) -XPIZA_LKT(9,13,1:6)=(/ 0.981021,0.982495,0.977911,0.983831,0.949674,0.735587 /) -XCGA_LKT(9,13,1:6)=(/ 0.718760,0.693463,0.608083,0.438530,0.151617,0.037687 /) -XEXT_COEFF_550_LKT(9,13)=1610.900000 !rg=0.0197494 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,14,1:6)=(/ 5293.700000,3729.300000,1943.900000,641.300000,99.059000,8.303800 /) -XPIZA_LKT(9,14,1:6)=(/ 0.978586,0.982655,0.980802,0.987808,0.966996,0.828616 /) -XCGA_LKT(9,14,1:6)=(/ 0.717167,0.712120,0.655910,0.517073,0.221690,0.054660 /) -XEXT_COEFF_550_LKT(9,14)=1978.500000 !rg=0.0197494 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,15,1:6)=(/ 4716.900000,3669.900000,2241.400000,862.480000,151.070000,13.550000 /) -XPIZA_LKT(9,15,1:6)=(/ 0.975604,0.981687,0.982344,0.990203,0.977081,0.892230 /) -XCGA_LKT(9,15,1:6)=(/ 0.718277,0.718653,0.690273,0.587230,0.322233,0.079310 /) -XEXT_COEFF_550_LKT(9,15)=2274.400000 !rg=0.0197494 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,16,1:6)=(/ 4126.700000,3396.500000,2409.600000,1093.600000,225.460000,22.451000 /) -XPIZA_LKT(9,16,1:6)=(/ 0.971817,0.979551,0.982755,0.991723,0.983443,0.932724 /) -XCGA_LKT(9,16,1:6)=(/ 0.722753,0.716200,0.711347,0.641163,0.438337,0.115303 /) -XEXT_COEFF_550_LKT(9,16)=2436.700000 !rg=0.0197494 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,17,1:6)=(/ 3517.500000,3040.000000,2403.600000,1302.500000,323.640000,36.656000 /) -XPIZA_LKT(9,17,1:6)=(/ 0.966296,0.976714,0.981996,0.992610,0.987599,0.957057 /) -XCGA_LKT(9,17,1:6)=(/ 0.725263,0.714523,0.719247,0.681840,0.522587,0.168173 /) -XEXT_COEFF_550_LKT(9,17)=2422.500000 !rg=0.0197494 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,18,1:6)=(/ 2959.500000,2700.300000,2242.700000,1449.600000,434.280000,57.497000 /) -XPIZA_LKT(9,18,1:6)=(/ 0.961918,0.973460,0.980097,0.992995,0.990099,0.971253 /) -XCGA_LKT(9,18,1:6)=(/ 0.730633,0.718990,0.717253,0.708347,0.592387,0.246287 /) -XEXT_COEFF_550_LKT(9,18)=2256.000000 !rg=0.0197494 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,19,1:6)=(/ 2462.700000,2342.200000,2012.300000,1501.800000,554.150000,86.180000 /) -XPIZA_LKT(9,19,1:6)=(/ 0.955088,0.969070,0.977277,0.992917,0.991731,0.979599 /) -XCGA_LKT(9,19,1:6)=(/ 0.733940,0.722417,0.713330,0.721950,0.649830,0.355740 /) -XEXT_COEFF_550_LKT(9,19)=2019.100000 !rg=0.0197494 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(9,20,1:6)=(/ 2050.600000,1984.300000,1793.600000,1444.900000,667.020000,126.990000 /) -XPIZA_LKT(9,20,1:6)=(/ 0.946824,0.963550,0.973952,0.992360,0.992725,0.985024 /) -XCGA_LKT(9,20,1:6)=(/ 0.741877,0.724877,0.714890,0.723477,0.692750,0.469380 /) -XEXT_COEFF_550_LKT(9,20)=1797.400000 !rg=0.0197494 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,1,1:6)=(/ 403.520000,85.028000,30.151000,6.548300,2.830000,1.345300 /) -XPIZA_LKT(10,1,1:6)=(/ 0.853826,0.606542,0.305190,0.211581,0.044651,0.005688 /) -XCGA_LKT(10,1,1:6)=(/ 0.069703,0.027060,0.011483,0.004520,0.001430,0.000353 /) -XEXT_COEFF_550_LKT(10,1)=24.695000 !rg=0.0213956 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,2,1:6)=(/ 490.200000,98.727000,32.637000,6.918000,2.864300,1.347500 /) -XPIZA_LKT(10,2,1:6)=(/ 0.877511,0.658097,0.355471,0.252484,0.055611,0.007158 /) -XCGA_LKT(10,2,1:6)=(/ 0.088370,0.034327,0.014583,0.005743,0.001820,0.000447 /) -XEXT_COEFF_550_LKT(10,2)=27.298000 !rg=0.0213956 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,3,1:6)=(/ 684.270000,131.720000,38.672000,7.817800,2.947500,1.352700 /) -XPIZA_LKT(10,3,1:6)=(/ 0.909284,0.739026,0.451340,0.336200,0.081302,0.010728 /) -XCGA_LKT(10,3,1:6)=(/ 0.133477,0.052107,0.022203,0.008760,0.002777,0.000683 /) -XEXT_COEFF_550_LKT(10,3)=33.623000 !rg=0.0213956 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,4,1:6)=(/ 1019.600000,198.580000,51.321000,9.716700,3.122800,1.363700 /) -XPIZA_LKT(10,4,1:6)=(/ 0.936112,0.821798,0.580494,0.462676,0.131236,0.018201 /) -XCGA_LKT(10,4,1:6)=(/ 0.218873,0.088037,0.037783,0.014960,0.004747,0.001170 /) -XEXT_COEFF_550_LKT(10,4)=46.892000 !rg=0.0213956 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,5,1:6)=(/ 1528.000000,318.330000,75.867000,13.462000,3.468000,1.385100 /) -XPIZA_LKT(10,5,1:6)=(/ 0.954499,0.884259,0.709854,0.608423,0.215364,0.032664 /) -XCGA_LKT(10,5,1:6)=(/ 0.333157,0.146237,0.063187,0.025110,0.007990,0.001970 /) -XEXT_COEFF_550_LKT(10,5)=72.637000 !rg=0.0213956 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,6,1:6)=(/ 2213.700000,505.340000,119.280000,20.318000,4.101000,1.424200 /) -XPIZA_LKT(10,6,1:6)=(/ 0.966107,0.923239,0.809711,0.736868,0.333468,0.058185 /) -XCGA_LKT(10,6,1:6)=(/ 0.441190,0.227137,0.098697,0.039293,0.012533,0.003097 /) -XEXT_COEFF_550_LKT(10,6)=118.070000 !rg=0.0213956 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,7,1:6)=(/ 3063.000000,781.440000,191.660000,32.567000,5.240500,1.494600 /) -XPIZA_LKT(10,7,1:6)=(/ 0.973469,0.946965,0.876754,0.832518,0.474912,0.100979 /) -XCGA_LKT(10,7,1:6)=(/ 0.530703,0.328743,0.148057,0.058863,0.018817,0.004657 /) -XEXT_COEFF_550_LKT(10,7)=193.500000 !rg=0.0213956 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,8,1:6)=(/ 3988.600000,1164.100000,302.580000,53.753000,7.251300,1.618600 /) -XPIZA_LKT(10,8,1:6)=(/ 0.978045,0.961593,0.917987,0.895730,0.616876,0.167829 /) -XCGA_LKT(10,8,1:6)=(/ 0.598450,0.426563,0.217793,0.086240,0.027607,0.006843 /) -XEXT_COEFF_550_LKT(10,8)=308.370000 !rg=0.0213956 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,9,1:6)=(/ 4893.100000,1642.600000,464.610000,89.592000,10.816000,1.839200 /) -XPIZA_LKT(10,9,1:6)=(/ 0.980867,0.970567,0.943117,0.935163,0.739612,0.264960 /) -XCGA_LKT(10,9,1:6)=(/ 0.649710,0.509183,0.313967,0.125523,0.040140,0.009973 /) -XEXT_COEFF_550_LKT(10,9)=475.880000 !rg=0.0213956 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,10,1:6)=(/ 5619.100000,2199.700000,697.960000,146.430000,17.047000,2.228300 /) -XPIZA_LKT(10,10,1:6)=(/ 0.982359,0.976245,0.959058,0.958532,0.831630,0.390118 /) -XCGA_LKT(10,10,1:6)=(/ 0.685443,0.580550,0.418143,0.182703,0.058110,0.014470 /) -XEXT_COEFF_550_LKT(10,10)=716.370000 !rg=0.0213956 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,11,1:6)=(/ 6026.600000,2776.500000,999.730000,230.810000,27.919000,2.922300 /) -XPIZA_LKT(10,11,1:6)=(/ 0.982730,0.979783,0.969128,0.972206,0.894484,0.531377 /) -XCGA_LKT(10,11,1:6)=(/ 0.707707,0.634903,0.499200,0.266403,0.084167,0.020990 /) -XEXT_COEFF_550_LKT(10,11)=1023.500000 !rg=0.0213956 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,12,1:6)=(/ 6011.900000,3289.900000,1355.100000,352.110000,46.294000,4.154700 /) -XPIZA_LKT(10,12,1:6)=(/ 0.982001,0.981830,0.975333,0.980415,0.934167,0.666738 /) -XCGA_LKT(10,12,1:6)=(/ 0.717633,0.675580,0.572067,0.376397,0.122163,0.030443 /) -XEXT_COEFF_550_LKT(10,12)=1385.700000 !rg=0.0213956 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,13,1:6)=(/ 5632.600000,3640.800000,1730.100000,524.710000,75.657000,6.335900 /) -XPIZA_LKT(10,13,1:6)=(/ 0.980134,0.982680,0.979252,0.985729,0.957990,0.778028 /) -XCGA_LKT(10,13,1:6)=(/ 0.718387,0.702470,0.628343,0.474027,0.178123,0.044160 /) -XEXT_COEFF_550_LKT(10,13)=1764.300000 !rg=0.0213956 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,14,1:6)=(/ 5070.300000,3739.200000,2075.700000,727.570000,118.550000,10.148000 /) -XPIZA_LKT(10,14,1:6)=(/ 0.977476,0.982402,0.981575,0.988916,0.971809,0.858384 /) -XCGA_LKT(10,14,1:6)=(/ 0.717400,0.716000,0.671283,0.545880,0.260457,0.064047 /) -XEXT_COEFF_550_LKT(10,14)=2110.300000 !rg=0.0213956 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,15,1:6)=(/ 4492.800000,3581.000000,2327.400000,958.900000,178.410000,16.708000 /) -XPIZA_LKT(10,15,1:6)=(/ 0.974229,0.980946,0.982643,0.990928,0.980017,0.911460 /) -XCGA_LKT(10,15,1:6)=(/ 0.721093,0.718180,0.699983,0.611750,0.372030,0.092970 /) -XEXT_COEFF_550_LKT(10,15)=2359.100000 !rg=0.0213956 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,16,1:6)=(/ 3882.700000,3253.600000,2428.800000,1186.200000,264.430000,27.640000 /) -XPIZA_LKT(10,16,1:6)=(/ 0.969720,0.978547,0.982570,0.992154,0.985422,0.944458 /) -XCGA_LKT(10,16,1:6)=(/ 0.723823,0.715653,0.715667,0.659520,0.478127,0.135343 /) -XEXT_COEFF_550_LKT(10,16)=2453.600000 !rg=0.0213956 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,17,1:6)=(/ 3271.700000,2906.400000,2353.000000,1374.100000,367.590000,44.529000 /) -XPIZA_LKT(10,17,1:6)=(/ 0.964811,0.975451,0.981346,0.992816,0.988780,0.963958 /) -XCGA_LKT(10,17,1:6)=(/ 0.726757,0.716223,0.719217,0.694283,0.551263,0.197850 /) -XEXT_COEFF_550_LKT(10,17)=2369.400000 !rg=0.0213956 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,18,1:6)=(/ 2745.900000,2561.500000,2153.200000,1484.600000,484.900000,68.401000 /) -XPIZA_LKT(10,18,1:6)=(/ 0.959502,0.971690,0.979000,0.993013,0.990877,0.975257 /) -XCGA_LKT(10,18,1:6)=(/ 0.732290,0.720370,0.715430,0.715557,0.619280,0.289407 /) -XEXT_COEFF_550_LKT(10,18)=2160.000000 !rg=0.0213956 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,19,1:6)=(/ 2288.100000,2186.000000,1922.500000,1489.800000,603.120000,101.560000 /) -XPIZA_LKT(10,19,1:6)=(/ 0.951589,0.967004,0.975882,0.992741,0.992201,0.982126 /) -XCGA_LKT(10,19,1:6)=(/ 0.737820,0.723347,0.712667,0.723743,0.669027,0.407307 /) -XEXT_COEFF_550_LKT(10,19)=1927.800000 !rg=0.0213956 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(10,20,1:6)=(/ 1881.900000,1851.800000,1702.700000,1396.100000,707.430000,147.990000 /) -XPIZA_LKT(10,20,1:6)=(/ 0.943790,0.961963,0.972587,0.991972,0.992979,0.986744 /) -XCGA_LKT(10,20,1:6)=(/ 0.744250,0.730417,0.718377,0.721283,0.706687,0.505157 /) -XEXT_COEFF_550_LKT(10,20)=1711.500000 !rg=0.0213956 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,1,1:6)=(/ 496.440000,99.380000,32.754000,6.934700,2.865900,1.347600 /) -XPIZA_LKT(11,1,1:6)=(/ 0.878489,0.659733,0.357269,0.254054,0.056062,0.007220 /) -XCGA_LKT(11,1,1:6)=(/ 0.081757,0.031723,0.013470,0.005303,0.001680,0.000413 /) -XEXT_COEFF_550_LKT(11,1)=27.416000 !rg=0.0231791 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,2,1:6)=(/ 603.570000,116.720000,35.906000,7.403900,2.909400,1.350400 /) -XPIZA_LKT(11,2,1:6)=(/ 0.898114,0.707311,0.410883,0.299984,0.069613,0.009083 /) -XCGA_LKT(11,2,1:6)=(/ 0.103690,0.040233,0.017103,0.006740,0.002133,0.000527 /) -XEXT_COEFF_550_LKT(11,2)=30.718000 !rg=0.0231791 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,3,1:6)=(/ 836.770000,158.300000,43.555000,8.546300,3.014900,1.357000 /) -XPIZA_LKT(11,3,1:6)=(/ 0.923863,0.779683,0.509473,0.391067,0.101062,0.013598 /) -XCGA_LKT(11,3,1:6)=(/ 0.156403,0.061030,0.026027,0.010277,0.003257,0.000803 /) -XEXT_COEFF_550_LKT(11,3)=38.740000 !rg=0.0231791 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,4,1:6)=(/ 1226.100000,241.210000,59.550000,10.957000,3.237300,1.370800 /) -XPIZA_LKT(11,4,1:6)=(/ 0.945286,0.850684,0.635170,0.521676,0.160960,0.023022 /) -XCGA_LKT(11,4,1:6)=(/ 0.252533,0.102880,0.044250,0.017540,0.005570,0.001373 /) -XEXT_COEFF_550_LKT(11,4)=55.523000 !rg=0.0231791 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,5,1:6)=(/ 1802.000000,385.590000,90.377000,15.709000,3.675300,1.397900 /) -XPIZA_LKT(11,5,1:6)=(/ 0.960107,0.902381,0.753477,0.662624,0.258361,0.041149 /) -XCGA_LKT(11,5,1:6)=(/ 0.370760,0.170417,0.073933,0.029423,0.009370,0.002313 /) -XEXT_COEFF_550_LKT(11,5)=87.840000 !rg=0.0231791 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,6,1:6)=(/ 2557.100000,605.750000,144.100000,24.390000,4.478600,1.447600 /) -XPIZA_LKT(11,6,1:6)=(/ 0.969598,0.934249,0.840009,0.779151,0.388162,0.072788 /) -XCGA_LKT(11,6,1:6)=(/ 0.475830,0.262247,0.115477,0.046027,0.014697,0.003633 /) -XEXT_COEFF_550_LKT(11,6)=143.980000 !rg=0.0231791 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,7,1:6)=(/ 3451.000000,926.240000,231.420000,39.831000,5.924300,1.536800 /) -XPIZA_LKT(11,7,1:6)=(/ 0.975649,0.953830,0.895924,0.861636,0.533865,0.124864 /) -XCGA_LKT(11,7,1:6)=(/ 0.558250,0.366953,0.173323,0.068937,0.022060,0.005463 /) -XEXT_COEFF_550_LKT(11,7)=234.750000 !rg=0.0231791 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,8,1:6)=(/ 4385.700000,1349.000000,361.550000,66.264000,8.473400,1.694200 /) -XPIZA_LKT(11,8,1:6)=(/ 0.979419,0.965783,0.929674,0.914249,0.670468,0.203866 /) -XCGA_LKT(11,8,1:6)=(/ 0.620213,0.458870,0.254327,0.101033,0.032357,0.008030 /) -XEXT_COEFF_550_LKT(11,8)=369.340000 !rg=0.0231791 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,9,1:6)=(/ 5239.800000,1867.300000,551.200000,110.080000,12.983000,1.974000 /) -XPIZA_LKT(11,9,1:6)=(/ 0.981648,0.973212,0.950519,0.946308,0.781529,0.313836 /) -XCGA_LKT(11,9,1:6)=(/ 0.665487,0.539460,0.358020,0.147220,0.047030,0.011697 /) -XEXT_COEFF_550_LKT(11,9)=565.470000 !rg=0.0231791 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,10,1:6)=(/ 5848.200000,2435.600000,815.450000,177.360000,20.833000,2.467800 /) -XPIZA_LKT(11,10,1:6)=(/ 0.982663,0.977888,0.963811,0.965031,0.860868,0.447757 /) -XCGA_LKT(11,10,1:6)=(/ 0.695877,0.603100,0.452790,0.214537,0.068080,0.016970 /) -XEXT_COEFF_550_LKT(11,10)=836.030000 !rg=0.0231791 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,11,1:6)=(/ 6087.200000,2999.500000,1137.200000,275.040000,34.395000,3.348200 /) -XPIZA_LKT(11,11,1:6)=(/ 0.982590,0.980788,0.971971,0.976028,0.913232,0.589325 /) -XCGA_LKT(11,11,1:6)=(/ 0.713037,0.652590,0.528933,0.310673,0.098640,0.024607 /) -XEXT_COEFF_550_LKT(11,11)=1164.100000 !rg=0.0231791 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,12,1:6)=(/ 5909.600000,3458.800000,1509.300000,417.180000,56.870000,4.910200 /) -XPIZA_LKT(11,12,1:6)=(/ 0.981400,0.982331,0.977181,0.982890,0.945530,0.716377 /) -XCGA_LKT(11,12,1:6)=(/ 0.718887,0.687560,0.596843,0.421040,0.143353,0.035680 /) -XEXT_COEFF_550_LKT(11,12)=1540.800000 !rg=0.0231791 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,13,1:6)=(/ 5425.900000,3715.500000,1881.000000,605.060000,91.603000,7.668100 /) -XPIZA_LKT(11,13,1:6)=(/ 0.979195,0.982710,0.980367,0.987247,0.964619,0.815097 /) -XCGA_LKT(11,13,1:6)=(/ 0.718107,0.709037,0.647310,0.503967,0.209360,0.051747 /) -XEXT_COEFF_550_LKT(11,13)=1915.900000 !rg=0.0231791 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,14,1:6)=(/ 4850.800000,3707.300000,2195.700000,820.970000,140.800000,12.462000 /) -XPIZA_LKT(11,14,1:6)=(/ 0.976289,0.981945,0.982131,0.989845,0.975676,0.883401 /) -XCGA_LKT(11,14,1:6)=(/ 0.719303,0.717857,0.684367,0.575153,0.304833,0.075053 /) -XEXT_COEFF_550_LKT(11,14)=2229.800000 !rg=0.0231791 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,15,1:6)=(/ 4263.200000,3463.200000,2390.800000,1052.200000,210.560000,20.615000 /) -XPIZA_LKT(11,15,1:6)=(/ 0.972535,0.980103,0.982736,0.991501,0.982514,0.927204 /) -XCGA_LKT(11,15,1:6)=(/ 0.722340,0.717623,0.707853,0.632193,0.420600,0.109030 /) -XEXT_COEFF_550_LKT(11,15)=2419.300000 !rg=0.0231791 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,16,1:6)=(/ 3621.900000,3118.300000,2418.200000,1269.800000,306.130000,33.883000 /) -XPIZA_LKT(11,16,1:6)=(/ 0.967654,0.977322,0.982205,0.992494,0.987040,0.953888 /) -XCGA_LKT(11,16,1:6)=(/ 0.724440,0.715267,0.718273,0.675397,0.510377,0.159007 /) -XEXT_COEFF_550_LKT(11,16)=2439.000000 !rg=0.0231791 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,17,1:6)=(/ 3047.600000,2769.600000,2282.600000,1430.300000,414.540000,53.619000 /) -XPIZA_LKT(11,17,1:6)=(/ 0.963064,0.974098,0.980489,0.992959,0.989751,0.969438 /) -XCGA_LKT(11,17,1:6)=(/ 0.730273,0.718017,0.717997,0.704273,0.580853,0.232873 /) -XEXT_COEFF_550_LKT(11,17)=2293.500000 !rg=0.0231791 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,18,1:6)=(/ 2550.200000,2408.500000,2059.000000,1499.300000,534.270000,80.844000 /) -XPIZA_LKT(11,18,1:6)=(/ 0.956089,0.970076,0.977758,0.992955,0.991510,0.978496 /) -XCGA_LKT(11,18,1:6)=(/ 0.734233,0.722637,0.713247,0.719980,0.641493,0.337997 /) -XEXT_COEFF_550_LKT(11,18)=2067.200000 !rg=0.0231791 sigma=2.75 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET1',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET1 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET2() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET2',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(11,19,1:6)=(/ 2107.700000,2046.700000,1831.600000,1460.700000,649.760000,119.620000 /) -XPIZA_LKT(11,19,1:6)=(/ 0.948817,0.964413,0.974678,0.992480,0.992594,0.984301 /) -XCGA_LKT(11,19,1:6)=(/ 0.739493,0.726350,0.715220,0.723640,0.686390,0.454440 /) -XEXT_COEFF_550_LKT(11,19)=1839.700000 !rg=0.0231791 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(11,20,1:6)=(/ 1729.500000,1722.900000,1611.700000,1337.300000,742.290000,169.760000 /) -XPIZA_LKT(11,20,1:6)=(/ 0.941121,0.959822,0.971116,0.991518,0.993175,0.988125 /) -XCGA_LKT(11,20,1:6)=(/ 0.748793,0.732190,0.721223,0.718110,0.718213,0.534630 /) -XEXT_COEFF_550_LKT(11,20)=1615.400000 !rg=0.0231791 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,1,1:6)=(/ 612.620000,117.570000,36.053000,7.425000,2.911400,1.350500 /) -XPIZA_LKT(12,1,1:6)=(/ 0.899073,0.708806,0.412754,0.301717,0.070167,0.009160 /) -XCGA_LKT(12,1,1:6)=(/ 0.095957,0.037187,0.015797,0.006223,0.001970,0.000487 /) -XEXT_COEFF_550_LKT(12,1)=30.868000 !rg=0.0251112 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,2,1:6)=(/ 743.530000,139.490000,40.049000,8.020700,2.966500,1.353900 /) -XPIZA_LKT(12,2,1:6)=(/ 0.915121,0.751708,0.468420,0.352124,0.086806,0.011518 /) -XCGA_LKT(12,2,1:6)=(/ 0.121770,0.047150,0.020053,0.007907,0.002503,0.000617 /) -XEXT_COEFF_550_LKT(12,2)=35.058000 !rg=0.0251112 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,3,1:6)=(/ 1019.100000,191.700000,49.741000,9.471100,3.100400,1.362300 /) -XPIZA_LKT(12,3,1:6)=(/ 0.935722,0.815094,0.567041,0.448713,0.124954,0.017222 /) -XCGA_LKT(12,3,1:6)=(/ 0.183307,0.071473,0.030503,0.012053,0.003823,0.000940 /) -XEXT_COEFF_550_LKT(12,3)=45.227000 !rg=0.0251112 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,4,1:6)=(/ 1465.500000,293.720000,69.939000,12.531000,3.382500,1.379800 /) -XPIZA_LKT(12,4,1:6)=(/ 0.952755,0.874958,0.686112,0.579903,0.195862,0.029081 /) -XCGA_LKT(12,4,1:6)=(/ 0.289610,0.120157,0.051807,0.020560,0.006537,0.001613 /) -XEXT_COEFF_550_LKT(12,4)=66.419000 !rg=0.0251112 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,5,1:6)=(/ 2110.800000,466.030000,108.480000,18.556000,3.938400,1.414200 /) -XPIZA_LKT(12,5,1:6)=(/ 0.964722,0.917313,0.791808,0.712626,0.306518,0.051718 /) -XCGA_LKT(12,5,1:6)=(/ 0.409000,0.198073,0.086477,0.034473,0.010990,0.002713 /) -XEXT_COEFF_550_LKT(12,5)=106.800000 !rg=0.0251112 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,6,1:6)=(/ 2928.500000,723.860000,174.370000,29.533000,4.957700,1.477200 /) -XPIZA_LKT(12,6,1:6)=(/ 0.972497,0.943372,0.865485,0.816037,0.445700,0.090694 /) -XCGA_LKT(12,6,1:6)=(/ 0.508517,0.299203,0.135057,0.053903,0.017233,0.004263 /) -XEXT_COEFF_550_LKT(12,6)=175.530000 !rg=0.0251112 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,7,1:6)=(/ 3855.400000,1088.900000,278.470000,48.929000,6.791300,1.590300 /) -XPIZA_LKT(12,7,1:6)=(/ 0.977461,0.959458,0.911643,0.886041,0.591700,0.153413 /) -XCGA_LKT(12,7,1:6)=(/ 0.583943,0.402423,0.202693,0.080727,0.025860,0.006410 /) -XEXT_COEFF_550_LKT(12,7)=283.480000 !rg=0.0251112 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,8,1:6)=(/ 4770.900000,1550.500000,430.620000,81.672000,10.021000,1.790000 /) -XPIZA_LKT(12,8,1:6)=(/ 0.980519,0.969220,0.939321,0.929361,0.719716,0.245311 /) -XCGA_LKT(12,8,1:6)=(/ 0.639583,0.490733,0.294843,0.118380,0.037913,0.009417 /) -XEXT_COEFF_550_LKT(12,8)=440.820000 !rg=0.0251112 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,9,1:6)=(/ 5545.500000,2101.400000,651.800000,134.570000,15.718000,2.145100 /) -XPIZA_LKT(12,9,1:6)=(/ 0.982230,0.975421,0.956754,0.955243,0.818062,0.367134 /) -XCGA_LKT(12,9,1:6)=(/ 0.679067,0.566600,0.398997,0.172727,0.055093,0.013717 /) -XEXT_COEFF_550_LKT(12,9)=668.960000 !rg=0.0251112 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,10,1:6)=(/ 6014.000000,2675.600000,940.410000,213.190000,25.573000,2.771700 /) -XPIZA_LKT(12,10,1:6)=(/ 0.982789,0.979248,0.967634,0.970222,0.885395,0.506688 /) -XCGA_LKT(12,10,1:6)=(/ 0.704090,0.624120,0.483530,0.251563,0.079760,0.019897 /) -XEXT_COEFF_550_LKT(12,10)=963.120000 !rg=0.0251112 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,11,1:6)=(/ 6079.700000,3207.600000,1286.200000,326.900000,42.374000,3.888200 /) -XPIZA_LKT(12,11,1:6)=(/ 0.982277,0.981540,0.974370,0.979195,0.928554,0.644692 /) -XCGA_LKT(12,11,1:6)=(/ 0.716717,0.667873,0.558447,0.357627,0.115643,0.028843 /) -XEXT_COEFF_550_LKT(12,11)=1315.900000 !rg=0.0251112 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,12,1:6)=(/ 5754.100000,3596.100000,1661.000000,490.450000,69.517000,5.866400 /) -XPIZA_LKT(12,12,1:6)=(/ 0.980674,0.982603,0.978657,0.984953,0.954649,0.761015 /) -XCGA_LKT(12,12,1:6)=(/ 0.719310,0.697533,0.618027,0.458533,0.168323,0.041813 /) -XEXT_COEFF_550_LKT(12,12)=1694.400000 !rg=0.0251112 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,13,1:6)=(/ 5212.300000,3748.900000,2019.200000,689.020000,109.970000,9.347300 /) -XPIZA_LKT(12,13,1:6)=(/ 0.978163,0.982543,0.981250,0.988455,0.969896,0.846903 /) -XCGA_LKT(12,13,1:6)=(/ 0.719030,0.713993,0.663783,0.532790,0.245963,0.060630 /) -XEXT_COEFF_550_LKT(12,13)=2053.700000 !rg=0.0251112 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,14,1:6)=(/ 4631.100000,3634.100000,2292.600000,917.550000,166.500000,15.352000 /) -XPIZA_LKT(12,14,1:6)=(/ 0.974928,0.981335,0.982529,0.990632,0.978848,0.904173 /) -XCGA_LKT(12,14,1:6)=(/ 0.720603,0.718560,0.695083,0.601240,0.353387,0.087967 /) -XEXT_COEFF_550_LKT(12,14)=2324.900000 !rg=0.0251112 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,15,1:6)=(/ 4003.200000,3336.400000,2423.000000,1145.800000,247.650000,25.400000 /) -XPIZA_LKT(12,15,1:6)=(/ 0.970896,0.979017,0.982654,0.991968,0.984642,0.939983 /) -XCGA_LKT(12,15,1:6)=(/ 0.724270,0.716210,0.713107,0.651170,0.462793,0.127933 /) -XEXT_COEFF_550_LKT(12,15)=2449.000000 !rg=0.0251112 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,16,1:6)=(/ 3374.700000,2977.600000,2380.300000,1345.100000,349.220000,41.268000 /) -XPIZA_LKT(12,16,1:6)=(/ 0.966242,0.976120,0.981642,0.992729,0.988326,0.961419 /) -XCGA_LKT(12,16,1:6)=(/ 0.727943,0.716157,0.719087,0.688697,0.539333,0.186983 /) -XEXT_COEFF_550_LKT(12,16)=2396.800000 !rg=0.0251112 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,17,1:6)=(/ 2841.400000,2629.700000,2195.600000,1472.200000,464.630000,63.978000 /) -XPIZA_LKT(12,17,1:6)=(/ 0.960131,0.972599,0.979495,0.993003,0.990582,0.973797 /) -XCGA_LKT(12,17,1:6)=(/ 0.731767,0.721037,0.716007,0.712283,0.609023,0.273813 /) -XEXT_COEFF_550_LKT(12,17)=2208.400000 !rg=0.0251112 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,18,1:6)=(/ 2354.900000,2260.000000,1964.400000,1495.500000,583.140000,95.315000 /) -XPIZA_LKT(12,18,1:6)=(/ 0.952918,0.967630,0.976582,0.992816,0.992016,0.981193 /) -XCGA_LKT(12,18,1:6)=(/ 0.734833,0.723830,0.713790,0.722797,0.661197,0.389337 /) -XEXT_COEFF_550_LKT(12,18)=1972.600000 !rg=0.0251112 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,19,1:6)=(/ 1935.100000,1906.200000,1746.500000,1416.300000,691.510000,139.960000 /) -XPIZA_LKT(12,19,1:6)=(/ 0.946223,0.962787,0.973304,0.992131,0.992882,0.986144 /) -XCGA_LKT(12,19,1:6)=(/ 0.744860,0.728377,0.718063,0.721793,0.701137,0.492890 /) -XEXT_COEFF_550_LKT(12,19)=1750.700000 !rg=0.0251112 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(12,20,1:6)=(/ 1598.000000,1595.400000,1513.700000,1275.600000,769.040000,192.130000 /) -XPIZA_LKT(12,20,1:6)=(/ 0.936499,0.957164,0.969204,0.991039,0.993281,0.989218 /) -XCGA_LKT(12,20,1:6)=(/ 0.751800,0.733320,0.722627,0.716383,0.727550,0.562997 /) -XEXT_COEFF_550_LKT(12,20)=1520.300000 !rg=0.0251112 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,1,1:6)=(/ 756.910000,140.600000,40.235000,8.047300,2.969100,1.354100 /) -XPIZA_LKT(13,1,1:6)=(/ 0.916094,0.753061,0.470318,0.353994,0.087483,0.011616 /) -XCGA_LKT(13,1,1:6)=(/ 0.112737,0.043590,0.018527,0.007300,0.002313,0.000570 /) -XEXT_COEFF_550_LKT(13,1)=35.248000 !rg=0.0272044 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,2,1:6)=(/ 914.330000,168.270000,45.302000,8.803700,3.039000,1.358500 /) -XPIZA_LKT(13,2,1:6)=(/ 0.929038,0.790940,0.526542,0.407941,0.107742,0.014596 /) -XCGA_LKT(13,2,1:6)=(/ 0.143187,0.055260,0.023513,0.009277,0.002940,0.000723 /) -XEXT_COEFF_550_LKT(13,2)=40.563000 !rg=0.0272044 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,3,1:6)=(/ 1233.900000,233.540000,57.577000,10.645000,3.208800,1.369100 /) -XPIZA_LKT(13,3,1:6)=(/ 0.945319,0.845426,0.622506,0.507631,0.153508,0.021789 /) -XCGA_LKT(13,3,1:6)=(/ 0.214797,0.083697,0.035747,0.014137,0.004483,0.001107 /) -XEXT_COEFF_550_LKT(13,3)=53.447000 !rg=0.0272044 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,4,1:6)=(/ 1740.200000,357.850000,83.023000,14.529000,3.566700,1.391300 /) -XPIZA_LKT(13,4,1:6)=(/ 0.958843,0.895141,0.732428,0.635792,0.236155,0.036671 /) -XCGA_LKT(13,4,1:6)=(/ 0.329683,0.140227,0.060633,0.024100,0.007667,0.001890 /) -XEXT_COEFF_550_LKT(13,4)=80.141000 !rg=0.0272044 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,5,1:6)=(/ 2455.000000,561.640000,130.940000,22.163000,4.272100,1.434900 /) -XPIZA_LKT(13,5,1:6)=(/ 0.968539,0.929604,0.824863,0.757667,0.359217,0.064812 /) -XCGA_LKT(13,5,1:6)=(/ 0.446957,0.229073,0.101100,0.040383,0.012890,0.003187 /) -XEXT_COEFF_550_LKT(13,5)=130.270000 !rg=0.0272044 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,6,1:6)=(/ 3323.200000,860.800000,210.910000,36.014000,5.565400,1.514700 /) -XPIZA_LKT(13,6,1:6)=(/ 0.974894,0.950906,0.886657,0.847649,0.504583,0.112457 /) -XCGA_LKT(13,6,1:6)=(/ 0.538943,0.336147,0.157863,0.063113,0.020203,0.005003 /) -XEXT_COEFF_550_LKT(13,6)=213.510000 !rg=0.0272044 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,7,1:6)=(/ 4265.500000,1268.000000,333.790000,60.262000,7.890400,1.658200 /) -XPIZA_LKT(13,7,1:6)=(/ 0.978972,0.964040,0.924525,0.906250,0.646889,0.187064 /) -XCGA_LKT(13,7,1:6)=(/ 0.607593,0.436100,0.236393,0.094530,0.030303,0.007520 /) -XEXT_COEFF_550_LKT(13,7)=340.750000 !rg=0.0272044 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,8,1:6)=(/ 5140.200000,1770.500000,511.930000,100.440000,11.978000,1.911600 /) -XPIZA_LKT(13,8,1:6)=(/ 0.981406,0.972102,0.947392,0.941593,0.763928,0.292032 /) -XCGA_LKT(13,8,1:6)=(/ 0.656897,0.521970,0.337047,0.138737,0.044417,0.011047 /) -XEXT_COEFF_550_LKT(13,8)=524.970000 !rg=0.0272044 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,9,1:6)=(/ 5807.400000,2338.800000,764.130000,163.420000,19.160000,2.362300 /) -XPIZA_LKT(13,9,1:6)=(/ 0.982624,0.977219,0.961901,0.962379,0.849351,0.423783 /) -XCGA_LKT(13,9,1:6)=(/ 0.690823,0.590450,0.434703,0.202643,0.064537,0.016087 /) -XEXT_COEFF_550_LKT(13,9)=783.650000 !rg=0.0272044 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,10,1:6)=(/ 6113.900000,2907.000000,1074.000000,254.700000,31.475000,3.157200 /) -XPIZA_LKT(13,10,1:6)=(/ 0.982747,0.980368,0.970733,0.974412,0.905726,0.565266 /) -XCGA_LKT(13,10,1:6)=(/ 0.710673,0.643003,0.513677,0.293607,0.093453,0.023327 /) -XEXT_COEFF_550_LKT(13,10)=1099.600000 !rg=0.0272044 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,11,1:6)=(/ 6009.000000,3392.800000,1439.900000,387.940000,52.099000,4.572500 /) -XPIZA_LKT(13,11,1:6)=(/ 0.981784,0.982131,0.976383,0.981869,0.940972,0.696216 /) -XCGA_LKT(13,11,1:6)=(/ 0.718857,0.681017,0.584600,0.402777,0.135643,0.033807 /) -XEXT_COEFF_550_LKT(13,11)=1470.900000 !rg=0.0272044 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,12,1:6)=(/ 5568.900000,3692.900000,1814.000000,568.530000,84.395000,7.074900 /) -XPIZA_LKT(13,12,1:6)=(/ 0.979825,0.982727,0.979872,0.986614,0.961930,0.800313 /) -XCGA_LKT(13,12,1:6)=(/ 0.719997,0.705333,0.637783,0.489833,0.197737,0.048993 /) -XEXT_COEFF_550_LKT(13,12)=1848.900000 !rg=0.0272044 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,13,1:6)=(/ 4997.500000,3736.800000,2145.800000,779.710000,130.970000,11.457000 /) -XPIZA_LKT(13,13,1:6)=(/ 0.976915,0.982191,0.981886,0.989455,0.974123,0.873779 /) -XCGA_LKT(13,13,1:6)=(/ 0.719497,0.716783,0.677803,0.562360,0.288160,0.071043 /) -XEXT_COEFF_550_LKT(13,13)=2180.700000 !rg=0.0272044 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,14,1:6)=(/ 4385.800000,3534.800000,2367.800000,1011.500000,196.640000,18.937000 /) -XPIZA_LKT(13,14,1:6)=(/ 0.973587,0.980506,0.982693,0.991263,0.981524,0.921238 /) -XCGA_LKT(13,14,1:6)=(/ 0.723640,0.717923,0.703847,0.622823,0.402353,0.103137 /) -XEXT_COEFF_550_LKT(13,14)=2398.200000 !rg=0.0272044 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,15,1:6)=(/ 3748.500000,3194.900000,2426.600000,1233.400000,288.140000,31.186000 /) -XPIZA_LKT(13,15,1:6)=(/ 0.968862,0.977958,0.982382,0.992351,0.986401,0.950279 /) -XCGA_LKT(13,15,1:6)=(/ 0.725930,0.715997,0.716790,0.668123,0.497097,0.150237 /) -XEXT_COEFF_550_LKT(13,15)=2449.000000 !rg=0.0272044 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,16,1:6)=(/ 3149.600000,2843.100000,2317.900000,1408.100000,394.770000,49.848000 /) -XPIZA_LKT(13,16,1:6)=(/ 0.963858,0.974788,0.980888,0.992905,0.989369,0.967407 /) -XCGA_LKT(13,16,1:6)=(/ 0.729117,0.718597,0.718357,0.699697,0.568777,0.220017 /) -XEXT_COEFF_550_LKT(13,16)=2333.300000 !rg=0.0272044 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,17,1:6)=(/ 2624.700000,2484.800000,2102.800000,1494.500000,514.430000,75.774000 /) -XPIZA_LKT(13,17,1:6)=(/ 0.957172,0.970685,0.978429,0.992985,0.991270,0.977303 /) -XCGA_LKT(13,17,1:6)=(/ 0.732213,0.722243,0.715193,0.717757,0.632683,0.320510 /) -XEXT_COEFF_550_LKT(13,17)=2111.800000 !rg=0.0272044 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,18,1:6)=(/ 2176.000000,2105.100000,1878.800000,1474.000000,631.160000,112.350000 /) -XPIZA_LKT(13,18,1:6)=(/ 0.949932,0.965679,0.975216,0.992584,0.992442,0.983502 /) -XCGA_LKT(13,18,1:6)=(/ 0.740540,0.724647,0.714787,0.723197,0.679400,0.438190 /) -XEXT_COEFF_550_LKT(13,18)=1883.400000 !rg=0.0272044 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,19,1:6)=(/ 1785.000000,1774.300000,1653.600000,1362.200000,729.090000,161.400000 /) -XPIZA_LKT(13,19,1:6)=(/ 0.942242,0.960852,0.971715,0.991716,0.993099,0.987641 /) -XCGA_LKT(13,19,1:6)=(/ 0.747343,0.731450,0.720497,0.719703,0.713570,0.523830 /) -XEXT_COEFF_550_LKT(13,19)=1661.600000 !rg=0.0272044 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(13,20,1:6)=(/ 1467.100000,1483.000000,1414.500000,1217.700000,787.460000,216.090000 /) -XPIZA_LKT(13,20,1:6)=(/ 0.931744,0.953610,0.967342,0.990460,0.993319,0.990123 /) -XCGA_LKT(13,20,1:6)=(/ 0.753397,0.736027,0.723803,0.714267,0.734850,0.592470 /) -XEXT_COEFF_550_LKT(13,20)=1416.500000 !rg=0.0272044 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,1,1:6)=(/ 934.340000,169.740000,45.538000,8.837200,3.042200,1.358700 /) -XPIZA_LKT(14,1,1:6)=(/ 0.930051,0.792159,0.528412,0.409902,0.108560,0.014720 /) -XCGA_LKT(14,1,1:6)=(/ 0.132650,0.051093,0.021723,0.008567,0.002713,0.000667 /) -XEXT_COEFF_550_LKT(14,1)=40.805000 !rg=0.0294721 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,2,1:6)=(/ 1119.700000,204.560000,51.960000,9.797700,3.130800,1.364200 /) -XPIZA_LKT(14,2,1:6)=(/ 0.940333,0.824980,0.583643,0.466110,0.132970,0.018480 /) -XCGA_LKT(14,2,1:6)=(/ 0.168667,0.064767,0.027567,0.010880,0.003450,0.000850 /) -XEXT_COEFF_550_LKT(14,2)=47.546000 !rg=0.0294721 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,3,1:6)=(/ 1483.300000,285.630000,67.493000,12.136000,3.346300,1.377600 /) -XPIZA_LKT(14,3,1:6)=(/ 0.953057,0.871037,0.674551,0.566175,0.187158,0.027533 /) -XCGA_LKT(14,3,1:6)=(/ 0.251383,0.098013,0.041883,0.016577,0.005263,0.001297 /) -XEXT_COEFF_550_LKT(14,3)=63.852000 !rg=0.0294721 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,4,1:6)=(/ 2052.400000,435.470000,99.454000,17.064000,3.800400,1.405800 /) -XPIZA_LKT(14,4,1:6)=(/ 0.963822,0.911787,0.773610,0.688029,0.281775,0.046147 /) -XCGA_LKT(14,4,1:6)=(/ 0.371960,0.163453,0.070937,0.028243,0.008993,0.002220 /) -XEXT_COEFF_550_LKT(14,4)=97.364000 !rg=0.0294721 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,5,1:6)=(/ 2832.100000,674.360000,158.580000,26.725000,4.695600,1.461000 /) -XPIZA_LKT(14,5,1:6)=(/ 0.971696,0.939714,0.852912,0.797372,0.415433,0.080931 /) -XCGA_LKT(14,5,1:6)=(/ 0.483567,0.262757,0.118127,0.047290,0.015113,0.003737 /) -XEXT_COEFF_550_LKT(14,5)=159.120000 !rg=0.0294721 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,6,1:6)=(/ 3739.000000,1016.300000,254.580000,44.149000,6.336200,1.562200 /) -XPIZA_LKT(14,6,1:6)=(/ 0.976892,0.957079,0.904115,0.874329,0.563164,0.138627 /) -XCGA_LKT(14,6,1:6)=(/ 0.567457,0.372157,0.184297,0.073883,0.023680,0.005867 /) -XEXT_COEFF_550_LKT(14,6)=258.830000 !rg=0.0294721 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,7,1:6)=(/ 4670.800000,1465.200000,398.840000,74.268000,9.282300,1.744300 /) -XPIZA_LKT(14,7,1:6)=(/ 0.980199,0.967808,0.935150,0.922809,0.698180,0.226082 /) -XCGA_LKT(14,7,1:6)=(/ 0.628890,0.469367,0.273953,0.110690,0.035510,0.008820 /) -XEXT_COEFF_550_LKT(14,7)=408.100000 !rg=0.0294721 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,8,1:6)=(/ 5475.300000,2002.900000,606.650000,123.000000,14.449000,2.065900 /) -XPIZA_LKT(14,8,1:6)=(/ 0.982091,0.974509,0.954162,0.951427,0.802782,0.343517 /) -XCGA_LKT(14,8,1:6)=(/ 0.672023,0.550467,0.377430,0.162613,0.052033,0.012957 /) -XEXT_COEFF_550_LKT(14,8)=622.540000 !rg=0.0294721 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,9,1:6)=(/ 6009.800000,2581.800000,885.130000,197.020000,23.476000,2.637800 /) -XPIZA_LKT(14,9,1:6)=(/ 0.982848,0.978706,0.966062,0.968084,0.875745,0.482375 /) -XCGA_LKT(14,9,1:6)=(/ 0.700390,0.612620,0.466537,0.237453,0.075600,0.018863 /) -XEXT_COEFF_550_LKT(14,9)=906.870000 !rg=0.0294721 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,10,1:6)=(/ 6146.600000,3124.800000,1219.200000,303.280000,38.768000,3.646000 /) -XPIZA_LKT(14,10,1:6)=(/ 0.982529,0.981225,0.973332,0.977864,0.922403,0.621882 /) -XCGA_LKT(14,10,1:6)=(/ 0.715483,0.659437,0.543810,0.338967,0.109530,0.027343 /) -XEXT_COEFF_550_LKT(14,10)=1247.900000 !rg=0.0294721 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,11,1:6)=(/ 5883.100000,3547.000000,1592.300000,457.600000,63.791000,5.438900 /) -XPIZA_LKT(14,11,1:6)=(/ 0.981167,0.982500,0.978007,0.984106,0.950964,0.742997 /) -XCGA_LKT(14,11,1:6)=(/ 0.720467,0.692030,0.606900,0.441873,0.159183,0.039617 /) -XEXT_COEFF_550_LKT(14,11)=1624.900000 !rg=0.0294721 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,12,1:6)=(/ 5367.700000,3749.700000,1958.300000,650.220000,101.630000,8.599200 /) -XPIZA_LKT(14,12,1:6)=(/ 0.978775,0.982643,0.980866,0.987937,0.967730,0.834268 /) -XCGA_LKT(14,12,1:6)=(/ 0.719963,0.711213,0.655380,0.518980,0.232240,0.057407 /) -XEXT_COEFF_550_LKT(14,12)=1992.800000 !rg=0.0294721 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,13,1:6)=(/ 4765.100000,3685.800000,2253.900000,875.570000,155.140000,14.097000 /) -XPIZA_LKT(14,13,1:6)=(/ 0.975749,0.981656,0.982372,0.990306,0.977566,0.896197 /) -XCGA_LKT(14,13,1:6)=(/ 0.722030,0.718273,0.689603,0.589807,0.335070,0.083257 /) -XEXT_COEFF_550_LKT(14,13)=2286.700000 !rg=0.0294721 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,14,1:6)=(/ 4139.100000,3409.000000,2413.500000,1105.400000,231.770000,23.344000 /) -XPIZA_LKT(14,14,1:6)=(/ 0.971821,0.979622,0.982711,0.991769,0.983808,0.935134 /) -XCGA_LKT(14,14,1:6)=(/ 0.725013,0.717487,0.710220,0.642383,0.446533,0.120983 /) -XEXT_COEFF_550_LKT(14,14)=2441.100000 !rg=0.0294721 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,15,1:6)=(/ 3490.500000,3059.400000,2402.200000,1312.000000,330.330000,38.073000 /) -XPIZA_LKT(14,15,1:6)=(/ 0.967075,0.976809,0.981901,0.992623,0.987808,0.958521 /) -XCGA_LKT(14,15,1:6)=(/ 0.726613,0.717183,0.718253,0.682340,0.526760,0.176580 /) -XEXT_COEFF_550_LKT(14,15)=2421.400000 !rg=0.0294721 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,16,1:6)=(/ 2925.900000,2706.600000,2239.800000,1456.000000,443.900000,59.668000 /) -XPIZA_LKT(14,16,1:6)=(/ 0.961426,0.973261,0.979980,0.992983,0.990256,0.972166 /) -XCGA_LKT(14,16,1:6)=(/ 0.730730,0.720127,0.717323,0.708473,0.597887,0.258763 /) -XEXT_COEFF_550_LKT(14,16)=2249.600000 !rg=0.0294721 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,17,1:6)=(/ 2433.100000,2324.500000,2013.100000,1499.800000,563.230000,89.408000 /) -XPIZA_LKT(14,17,1:6)=(/ 0.953627,0.968810,0.977145,0.992873,0.991819,0.980192 /) -XCGA_LKT(14,17,1:6)=(/ 0.735777,0.723520,0.714057,0.721393,0.653023,0.371067 /) -XEXT_COEFF_550_LKT(14,17)=2019.400000 !rg=0.0294721 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,18,1:6)=(/ 1999.000000,1962.300000,1788.100000,1436.000000,674.460000,131.870000 /) -XPIZA_LKT(14,18,1:6)=(/ 0.946939,0.964339,0.973947,0.992279,0.992769,0.985475 /) -XCGA_LKT(14,18,1:6)=(/ 0.742833,0.728987,0.717470,0.722443,0.695037,0.479370 /) -XEXT_COEFF_550_LKT(14,18)=1798.000000 !rg=0.0294721 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,19,1:6)=(/ 1642.200000,1651.100000,1557.000000,1304.200000,758.530000,183.370000 /) -XPIZA_LKT(14,19,1:6)=(/ 0.937739,0.957817,0.970088,0.991203,0.993241,0.988827 /) -XCGA_LKT(14,19,1:6)=(/ 0.749310,0.733090,0.722550,0.716437,0.723580,0.552193 /) -XEXT_COEFF_550_LKT(14,19)=1560.100000 !rg=0.0294721 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(14,20,1:6)=(/ 1350.000000,1370.900000,1326.100000,1159.100000,795.930000,241.410000 /) -XPIZA_LKT(14,20,1:6)=(/ 0.926849,0.950503,0.964539,0.989933,0.993274,0.990899 /) -XCGA_LKT(14,20,1:6)=(/ 0.759170,0.737157,0.725363,0.714997,0.739617,0.619943 /) -XEXT_COEFF_550_LKT(14,20)=1321.300000 !rg=0.0294721 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,1,1:6)=(/ 1149.500000,206.560000,52.261000,9.840200,3.134900,1.364500 /) -XPIZA_LKT(15,1,1:6)=(/ 0.941408,0.826090,0.585441,0.468112,0.133950,0.018637 /) -XCGA_LKT(15,1,1:6)=(/ 0.156420,0.059897,0.025470,0.010050,0.003183,0.000783 /) -XEXT_COEFF_550_LKT(15,1)=47.856000 !rg=0.0319288 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,2,1:6)=(/ 1361.900000,250.200000,60.400000,11.060000,3.247300,1.371500 /) -XPIZA_LKT(15,2,1:6)=(/ 0.949427,0.854060,0.638245,0.525068,0.163002,0.023373 /) -XCGA_LKT(15,2,1:6)=(/ 0.199117,0.075927,0.032313,0.012763,0.004047,0.000997 /) -XEXT_COEFF_550_LKT(15,2)=56.401000 !rg=0.0319288 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,3,1:6)=(/ 1769.300000,350.040000,80.029000,14.028000,3.520700,1.388500 /) -XPIZA_LKT(15,3,1:6)=(/ 0.959290,0.892400,0.722194,0.622745,0.226171,0.034734 /) -XCGA_LKT(15,3,1:6)=(/ 0.293287,0.114793,0.049063,0.019437,0.006173,0.001523 /) -XEXT_COEFF_550_LKT(15,3)=77.008000 !rg=0.0319288 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,4,1:6)=(/ 2403.400000,528.460000,120.000000,20.277000,4.097000,1.424100 /) -XPIZA_LKT(15,4,1:6)=(/ 0.967908,0.925437,0.809506,0.735646,0.332291,0.057918 /) -XCGA_LKT(15,4,1:6)=(/ 0.415220,0.190123,0.082957,0.033090,0.010547,0.002603 /) -XEXT_COEFF_550_LKT(15,4)=118.880000 !rg=0.0319288 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,5,1:6)=(/ 3239.500000,805.590000,192.290000,32.483000,5.233000,1.494200 /) -XPIZA_LKT(15,5,1:6)=(/ 0.974312,0.948006,0.876404,0.831713,0.473804,0.100615 /) -XCGA_LKT(15,5,1:6)=(/ 0.518313,0.298230,0.137907,0.055363,0.017720,0.004387 /) -XEXT_COEFF_550_LKT(15,5)=194.260000 !rg=0.0319288 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,6,1:6)=(/ 4166.200000,1190.200000,306.370000,54.311000,7.313400,1.622600 /) -XPIZA_LKT(15,6,1:6)=(/ 0.978555,0.962126,0.918469,0.896550,0.619831,0.169698 /) -XCGA_LKT(15,6,1:6)=(/ 0.593730,0.407553,0.214610,0.086473,0.027753,0.006883 /) -XEXT_COEFF_550_LKT(15,6)=312.520000 !rg=0.0319288 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,7,1:6)=(/ 5064.900000,1681.700000,475.450000,91.408000,11.044000,1.853700 /) -XPIZA_LKT(15,7,1:6)=(/ 0.981200,0.970958,0.943997,0.936261,0.744695,0.270477 /) -XCGA_LKT(15,7,1:6)=(/ 0.648070,0.501913,0.313657,0.129610,0.041600,0.010347 /) -XEXT_COEFF_550_LKT(15,7)=487.390000 !rg=0.0319288 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,8,1:6)=(/ 5771.400000,2241.700000,713.430000,149.760000,17.561000,2.261700 /) -XPIZA_LKT(15,8,1:6)=(/ 0.982585,0.976481,0.959752,0.959302,0.836298,0.398863 /) -XCGA_LKT(15,8,1:6)=(/ 0.685290,0.575887,0.413743,0.190560,0.060943,0.015193 /) -XEXT_COEFF_550_LKT(15,8)=731.800000 !rg=0.0319288 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,9,1:6)=(/ 6149.000000,2820.700000,1015.200000,236.070000,28.859000,2.987300 /) -XPIZA_LKT(15,9,1:6)=(/ 0.982903,0.979940,0.969439,0.972682,0.897722,0.541294 /) -XCGA_LKT(15,9,1:6)=(/ 0.708313,0.632777,0.497383,0.277153,0.088560,0.022113 /) -XEXT_COEFF_550_LKT(15,9)=1039.800000 !rg=0.0319288 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,10,1:6)=(/ 6110.400000,3324.900000,1371.600000,360.490000,47.691000,4.265600 /) -XPIZA_LKT(15,10,1:6)=(/ 0.982158,0.981905,0.975521,0.980762,0.935962,0.675141 /) -XCGA_LKT(15,10,1:6)=(/ 0.718917,0.673797,0.571207,0.383847,0.128410,0.032047 /) -XEXT_COEFF_550_LKT(15,10)=1402.000000 !rg=0.0319288 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,11,1:6)=(/ 5722.600000,3666.000000,1746.500000,533.020000,77.629000,6.534500 /) -XPIZA_LKT(15,11,1:6)=(/ 0.980332,0.982711,0.979335,0.985922,0.958958,0.784535 /) -XCGA_LKT(15,11,1:6)=(/ 0.720930,0.701087,0.627480,0.474643,0.186887,0.046420 /) -XEXT_COEFF_550_LKT(15,11)=1781.200000 !rg=0.0319288 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,12,1:6)=(/ 5144.400000,3760.400000,2090.800000,738.080000,121.390000,10.517000 /) -XPIZA_LKT(15,12,1:6)=(/ 0.977753,0.982399,0.981598,0.989020,0.972368,0.863133 /) -XCGA_LKT(15,12,1:6)=(/ 0.721503,0.715230,0.670400,0.548707,0.272203,0.067260 /) -XEXT_COEFF_550_LKT(15,12)=2126.100000 !rg=0.0319288 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,13,1:6)=(/ 4531.700000,3598.500000,2339.700000,970.210000,183.400000,17.379000 /) -XPIZA_LKT(15,13,1:6)=(/ 0.974390,0.980982,0.982626,0.990999,0.980446,0.914686 /) -XCGA_LKT(15,13,1:6)=(/ 0.723933,0.718707,0.699257,0.612740,0.383740,0.097593 /) -XEXT_COEFF_550_LKT(15,13)=2371.500000 !rg=0.0319288 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,14,1:6)=(/ 3870.400000,3279.500000,2432.300000,1196.400000,270.850000,28.699000 /) -XPIZA_LKT(15,14,1:6)=(/ 0.970001,0.978556,0.982514,0.992192,0.985713,0.946360 /) -XCGA_LKT(15,14,1:6)=(/ 0.725747,0.717317,0.714823,0.660340,0.483033,0.142013 /) -XEXT_COEFF_550_LKT(15,14)=2455.900000 !rg=0.0319288 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,15,1:6)=(/ 3252.100000,2924.000000,2351.900000,1381.500000,374.550000,46.127000 /) -XPIZA_LKT(15,15,1:6)=(/ 0.964953,0.975493,0.981254,0.992828,0.988938,0.965084 /) -XCGA_LKT(15,15,1:6)=(/ 0.728560,0.718153,0.718627,0.694350,0.556067,0.207687 /) -XEXT_COEFF_550_LKT(15,15)=2366.800000 !rg=0.0319288 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,16,1:6)=(/ 2718.900000,2554.100000,2152.900000,1487.000000,493.930000,70.845000 /) -XPIZA_LKT(15,16,1:6)=(/ 0.957989,0.971768,0.978868,0.992998,0.991002,0.975977 /) -XCGA_LKT(15,16,1:6)=(/ 0.732930,0.723013,0.715343,0.715117,0.623103,0.303373 /) -XEXT_COEFF_550_LKT(15,16)=2161.900000 !rg=0.0319288 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,17,1:6)=(/ 2239.400000,2171.800000,1920.500000,1484.900000,612.090000,105.440000 /) -XPIZA_LKT(15,17,1:6)=(/ 0.951196,0.966862,0.975971,0.992686,0.992276,0.982648 /) -XCGA_LKT(15,17,1:6)=(/ 0.738167,0.726167,0.715417,0.722743,0.671953,0.421003 /) -XEXT_COEFF_550_LKT(15,17)=1931.000000 !rg=0.0319288 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,18,1:6)=(/ 1837.100000,1833.300000,1699.200000,1386.800000,714.140000,152.880000 /) -XPIZA_LKT(15,18,1:6)=(/ 0.943661,0.961747,0.972534,0.991885,0.993010,0.987098 /) -XCGA_LKT(15,18,1:6)=(/ 0.745410,0.730577,0.720457,0.720057,0.708350,0.512257 /) -XEXT_COEFF_550_LKT(15,18)=1702.600000 !rg=0.0319288 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,19,1:6)=(/ 1513.400000,1525.300000,1460.300000,1242.700000,780.800000,206.640000 /) -XPIZA_LKT(15,19,1:6)=(/ 0.933103,0.954611,0.967895,0.990715,0.993301,0.989791 /) -XCGA_LKT(15,19,1:6)=(/ 0.754093,0.733407,0.723317,0.715443,0.731823,0.581517 /) -XEXT_COEFF_550_LKT(15,19)=1459.000000 !rg=0.0319288 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(15,20,1:6)=(/ 1234.100000,1264.200000,1237.100000,1106.400000,794.150000,266.150000 /) -XPIZA_LKT(15,20,1:6)=(/ 0.922375,0.947587,0.962192,0.989360,0.993154,0.991536 /) -XCGA_LKT(15,20,1:6)=(/ 0.762373,0.742967,0.726490,0.717157,0.742547,0.642613 /) -XEXT_COEFF_550_LKT(15,20)=1239.300000 !rg=0.0319288 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,1,1:6)=(/ 1405.500000,252.970000,60.785000,11.114000,3.252500,1.371900 /) -XPIZA_LKT(16,1,1:6)=(/ 0.950568,0.855086,0.639931,0.527052,0.164158,0.023570 /) -XCGA_LKT(16,1,1:6)=(/ 0.184997,0.070227,0.029860,0.011787,0.003737,0.000920 /) -XEXT_COEFF_550_LKT(16,1)=56.800000 !rg=0.0345903 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,2,1:6)=(/ 1641.400000,307.340000,71.091000,12.662000,3.395100,1.380700 /) -XPIZA_LKT(16,2,1:6)=(/ 0.956687,0.878568,0.689125,0.583166,0.198230,0.029520 /) -XCGA_LKT(16,2,1:6)=(/ 0.235637,0.089037,0.037873,0.014967,0.004747,0.001170 /) -XEXT_COEFF_550_LKT(16,2)=67.623000 !rg=0.0345903 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,3,1:6)=(/ 2094.000000,428.920000,95.848000,16.431000,3.742000,1.402200 /) -XPIZA_LKT(16,3,1:6)=(/ 0.964319,0.910038,0.764834,0.675955,0.270550,0.043732 /) -XCGA_LKT(16,3,1:6)=(/ 0.340120,0.134473,0.057470,0.022783,0.007243,0.001787 /) -XEXT_COEFF_550_LKT(16,3)=93.607000 !rg=0.0345903 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,4,1:6)=(/ 2793.400000,638.680000,145.550000,24.348000,4.473400,1.447400 /) -XPIZA_LKT(16,4,1:6)=(/ 0.971274,0.936588,0.840263,0.778085,0.386886,0.072458 /) -XCGA_LKT(16,4,1:6)=(/ 0.458097,0.220377,0.096963,0.038760,0.012370,0.003057 /) -XEXT_COEFF_550_LKT(16,4)=145.620000 !rg=0.0345903 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,5,1:6)=(/ 3673.300000,956.250000,233.050000,39.732000,5.914600,1.536300 /) -XPIZA_LKT(16,5,1:6)=(/ 0.976492,0.954789,0.895895,0.860930,0.532738,0.124424 /) -XCGA_LKT(16,5,1:6)=(/ 0.550893,0.334907,0.160813,0.064797,0.020773,0.005143 /) -XEXT_COEFF_550_LKT(16,5)=236.660000 !rg=0.0345903 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,6,1:6)=(/ 4596.100000,1384.000000,367.620000,66.923000,8.551600,1.699200 /) -XPIZA_LKT(16,6,1:6)=(/ 0.979922,0.966286,0.930303,0.914854,0.673179,0.206030 /) -XCGA_LKT(16,6,1:6)=(/ 0.617603,0.442847,0.248573,0.101187,0.032520,0.008077 /) -XEXT_COEFF_550_LKT(16,6)=376.000000 !rg=0.0345903 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,7,1:6)=(/ 5431.700000,1912.900000,564.800000,112.140000,13.269000,1.992400 /) -XPIZA_LKT(16,7,1:6)=(/ 0.981992,0.973582,0.951373,0.947114,0.785950,0.319912 /) -XCGA_LKT(16,7,1:6)=(/ 0.665050,0.532057,0.352730,0.151747,0.048730,0.012133 /) -XEXT_COEFF_550_LKT(16,7)=579.490000 !rg=0.0345903 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,8,1:6)=(/ 6012.700000,2488.200000,830.010000,181.140000,21.468000,2.510200 /) -XPIZA_LKT(16,8,1:6)=(/ 0.982909,0.978115,0.964291,0.965606,0.864747,0.456795 /) -XCGA_LKT(16,8,1:6)=(/ 0.696410,0.599527,0.446717,0.223043,0.071377,0.017817 /) -XEXT_COEFF_550_LKT(16,8)=850.770000 !rg=0.0345903 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,9,1:6)=(/ 6221.200000,3048.600000,1157.000000,281.750000,35.529000,3.430600 /) -XPIZA_LKT(16,9,1:6)=(/ 0.982783,0.980908,0.972258,0.976451,0.915821,0.598896 /) -XCGA_LKT(16,9,1:6)=(/ 0.714380,0.650500,0.528187,0.320517,0.103757,0.025923 /) -XEXT_COEFF_550_LKT(16,9)=1184.800000 !rg=0.0345903 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,10,1:6)=(/ 6019.900000,3496.300000,1524.500000,426.400000,58.470000,5.050200 /) -XPIZA_LKT(16,10,1:6)=(/ 0.981603,0.982376,0.977303,0.983187,0.946902,0.723983 /) -XCGA_LKT(16,10,1:6)=(/ 0.721193,0.685977,0.594760,0.423960,0.150607,0.037553 /) -XEXT_COEFF_550_LKT(16,10)=1556.600000 !rg=0.0345903 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,11,1:6)=(/ 5522.700000,3744.700000,1896.000000,612.450000,93.752000,7.917400 /) -XPIZA_LKT(16,11,1:6)=(/ 0.979476,0.982726,0.980438,0.987370,0.965336,0.820695 /) -XCGA_LKT(16,11,1:6)=(/ 0.721983,0.708000,0.646190,0.504423,0.219387,0.054390 /) -XEXT_COEFF_550_LKT(16,11)=1930.700000 !rg=0.0345903 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,12,1:6)=(/ 4922.700000,3730.500000,2209.400000,832.350000,144.110000,12.919000 /) -XPIZA_LKT(16,12,1:6)=(/ 0.976538,0.981975,0.982165,0.989940,0.976126,0.887331 /) -XCGA_LKT(16,12,1:6)=(/ 0.723173,0.717697,0.683297,0.577240,0.317160,0.078813 /) -XEXT_COEFF_550_LKT(16,12)=2243.000000 !rg=0.0345903 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,13,1:6)=(/ 4271.600000,3491.000000,2399.700000,1064.200000,216.500000,21.427000 /) -XPIZA_LKT(16,13,1:6)=(/ 0.972789,0.980105,0.982729,0.991552,0.982897,0.929792 /) -XCGA_LKT(16,13,1:6)=(/ 0.725450,0.718520,0.706837,0.632970,0.429297,0.114447 /) -XEXT_COEFF_550_LKT(16,13)=2428.300000 !rg=0.0345903 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,14,1:6)=(/ 3608.200000,3143.000000,2420.300000,1278.400000,312.090000,35.109000 /) -XPIZA_LKT(16,14,1:6)=(/ 0.968267,0.977394,0.982144,0.992507,0.987250,0.955368 /) -XCGA_LKT(16,14,1:6)=(/ 0.727190,0.717277,0.717317,0.675550,0.513813,0.166830 /) -XEXT_COEFF_550_LKT(16,14)=2441.300000 !rg=0.0345903 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,15,1:6)=(/ 3036.200000,2782.200000,2282.600000,1435.500000,422.340000,55.392000 /) -XPIZA_LKT(16,15,1:6)=(/ 0.962064,0.974177,0.980413,0.992948,0.989888,0.970302 /) -XCGA_LKT(16,15,1:6)=(/ 0.730563,0.721227,0.717567,0.703973,0.585737,0.244260 /) -XEXT_COEFF_550_LKT(16,15)=2296.300000 !rg=0.0345903 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,16,1:6)=(/ 2503.400000,2402.300000,2059.200000,1500.000000,542.800000,83.695000 /) -XPIZA_LKT(16,16,1:6)=(/ 0.955322,0.969600,0.977795,0.992920,0.991601,0.979091 /) -XCGA_LKT(16,16,1:6)=(/ 0.733420,0.724247,0.715290,0.719390,0.644320,0.352637 /) -XEXT_COEFF_550_LKT(16,16)=2069.400000 !rg=0.0345903 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,17,1:6)=(/ 2057.300000,2024.100000,1834.500000,1454.400000,657.150000,124.050000 /) -XPIZA_LKT(16,17,1:6)=(/ 0.948660,0.964982,0.974666,0.992412,0.992644,0.984753 /) -XCGA_LKT(16,17,1:6)=(/ 0.742273,0.727320,0.717790,0.722497,0.688540,0.464737 /) -XEXT_COEFF_550_LKT(16,17)=1840.500000 !rg=0.0345903 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,18,1:6)=(/ 1698.700000,1700.300000,1604.300000,1329.300000,746.620000,174.490000 /) -XPIZA_LKT(16,18,1:6)=(/ 0.938939,0.958970,0.970706,0.991458,0.993187,0.988388 /) -XCGA_LKT(16,18,1:6)=(/ 0.749343,0.731637,0.721833,0.718357,0.719183,0.541017 /) -XEXT_COEFF_550_LKT(16,18)=1607.100000 !rg=0.0345903 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,19,1:6)=(/ 1385.600000,1415.400000,1361.800000,1187.400000,792.800000,231.610000 /) -XPIZA_LKT(16,19,1:6)=(/ 0.928875,0.951163,0.965611,0.990159,0.993291,0.990615 /) -XCGA_LKT(16,19,1:6)=(/ 0.756060,0.738097,0.724123,0.715270,0.737330,0.610087 /) -XEXT_COEFF_550_LKT(16,19)=1362.700000 !rg=0.0345903 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(16,20,1:6)=(/ 1128.000000,1162.500000,1152.900000,1052.900000,782.860000,290.350000 /) -XPIZA_LKT(16,20,1:6)=(/ 0.918338,0.944377,0.960402,0.988680,0.992950,0.992041 /) -XCGA_LKT(16,20,1:6)=(/ 0.768093,0.745363,0.731920,0.718663,0.743463,0.662273 /) -XEXT_COEFF_550_LKT(16,20)=1153.500000 !rg=0.0345903 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,1,1:6)=(/ 1702.300000,311.270000,71.589000,12.730000,3.401600,1.381200 /) -XPIZA_LKT(17,1,1:6)=(/ 0.957880,0.879544,0.690674,0.585075,0.199570,0.029767 /) -XCGA_LKT(17,1,1:6)=(/ 0.219647,0.082373,0.035007,0.013827,0.004383,0.001080 /) -XEXT_COEFF_550_LKT(17,1)=68.140000 !rg=0.0374736 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,2,1:6)=(/ 1956.900000,378.440000,84.625000,14.697000,3.582600,1.392400 /) -XPIZA_LKT(17,2,1:6)=(/ 0.962434,0.898990,0.735415,0.638854,0.238850,0.037220 /) -XCGA_LKT(17,2,1:6)=(/ 0.279393,0.104473,0.044390,0.017553,0.005570,0.001373 /) -XEXT_COEFF_550_LKT(17,2)=81.832000 !rg=0.0374736 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,3,1:6)=(/ 2460.400000,524.430000,115.760000,19.479000,4.022900,1.419600 /) -XPIZA_LKT(17,3,1:6)=(/ 0.968397,0.924478,0.802234,0.724756,0.319960,0.054923 /) -XCGA_LKT(17,3,1:6)=(/ 0.390587,0.157577,0.067303,0.026707,0.008497,0.002097 /) -XEXT_COEFF_550_LKT(17,3)=114.500000 !rg=0.0374736 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,4,1:6)=(/ 3221.000000,767.810000,177.110000,29.499000,4.951000,1.476900 /) -XPIZA_LKT(17,4,1:6)=(/ 0.974064,0.945673,0.866235,0.815149,0.444356,0.090287 /) -XCGA_LKT(17,4,1:6)=(/ 0.499283,0.254203,0.113273,0.045387,0.014507,0.003587 /) -XEXT_COEFF_550_LKT(17,4)=178.590000 !rg=0.0374736 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,5,1:6)=(/ 4125.200000,1127.400000,281.940000,48.821000,6.779000,1.589700 /) -XPIZA_LKT(17,5,1:6)=(/ 0.978307,0.960344,0.911972,0.885436,0.590581,0.152885 /) -XCGA_LKT(17,5,1:6)=(/ 0.580860,0.372550,0.187140,0.075807,0.024347,0.006037 /) -XEXT_COEFF_550_LKT(17,5)=287.440000 !rg=0.0374736 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,6,1:6)=(/ 5019.600000,1598.200000,439.870000,82.442000,10.119000,1.796300 /) -XPIZA_LKT(17,6,1:6)=(/ 0.981049,0.969747,0.940102,0.929791,0.722137,0.247769 /) -XCGA_LKT(17,6,1:6)=(/ 0.639180,0.477420,0.285053,0.118363,0.038100,0.009473 /) -XEXT_COEFF_550_LKT(17,6)=450.780000 !rg=0.0374736 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,7,1:6)=(/ 5763.600000,2154.300000,666.270000,136.900000,16.074000,2.168400 /) -XPIZA_LKT(17,7,1:6)=(/ 0.982590,0.975742,0.957452,0.955830,0.821821,0.373660 /) -XCGA_LKT(17,7,1:6)=(/ 0.680063,0.559497,0.389223,0.177577,0.057070,0.014230 /) -XEXT_COEFF_550_LKT(17,7)=683.560000 !rg=0.0374736 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,8,1:6)=(/ 6193.700000,2734.400000,956.550000,217.760000,26.350000,2.825400 /) -XPIZA_LKT(17,8,1:6)=(/ 0.983065,0.979477,0.967986,0.970686,0.888559,0.515770 /) -XCGA_LKT(17,8,1:6)=(/ 0.705827,0.621177,0.478603,0.260170,0.083593,0.020887 /) -XEXT_COEFF_550_LKT(17,8)=980.190000 !rg=0.0374736 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,9,1:6)=(/ 6222.900000,3262.800000,1307.800000,335.540000,43.717000,3.992500 /) -XPIZA_LKT(17,9,1:6)=(/ 0.982514,0.981680,0.974631,0.979596,0.930586,0.653678 /) -XCGA_LKT(17,9,1:6)=(/ 0.719093,0.666173,0.556733,0.364420,0.121590,0.030383 /) -XEXT_COEFF_550_LKT(17,9)=1337.500000 !rg=0.0374736 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,10,1:6)=(/ 5875.500000,3636.700000,1679.800000,498.820000,71.302000,6.042700 /) -XPIZA_LKT(17,10,1:6)=(/ 0.980924,0.982674,0.978757,0.985166,0.955676,0.767746 /) -XCGA_LKT(17,10,1:6)=(/ 0.722637,0.696307,0.616300,0.458100,0.176700,0.044003 /) -XEXT_COEFF_550_LKT(17,10)=1714.100000 !rg=0.0374736 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,11,1:6)=(/ 5313.500000,3780.100000,2034.500000,697.620000,112.320000,9.658600 /) -XPIZA_LKT(17,11,1:6)=(/ 0.978456,0.982578,0.981276,0.988548,0.970431,0.851630 /) -XCGA_LKT(17,11,1:6)=(/ 0.723293,0.713240,0.662290,0.534357,0.257137,0.063723 /) -XEXT_COEFF_550_LKT(17,11)=2069.900000 !rg=0.0374736 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,12,1:6)=(/ 4679.100000,3665.000000,2305.900000,927.300000,170.580000,15.914000 /) -XPIZA_LKT(17,12,1:6)=(/ 0.975157,0.981374,0.982520,0.990699,0.979244,0.907375 /) -XCGA_LKT(17,12,1:6)=(/ 0.724547,0.718980,0.693937,0.601607,0.364900,0.092370 /) -XEXT_COEFF_550_LKT(17,12)=2338.700000 !rg=0.0374736 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,13,1:6)=(/ 4004.400000,3364.100000,2432.200000,1157.700000,253.940000,26.367000 /) -XPIZA_LKT(17,13,1:6)=(/ 0.971112,0.979121,0.982619,0.992014,0.984958,0.942032 /) -XCGA_LKT(17,13,1:6)=(/ 0.726613,0.717980,0.712247,0.651833,0.467903,0.134290 /) -XEXT_COEFF_550_LKT(17,13)=2458.400000 !rg=0.0374736 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,14,1:6)=(/ 3371.500000,3005.200000,2383.200000,1353.200000,355.150000,42.652000 /) -XPIZA_LKT(17,14,1:6)=(/ 0.965587,0.976220,0.981580,0.992740,0.988478,0.962556 /) -XCGA_LKT(17,14,1:6)=(/ 0.727933,0.719313,0.718343,0.688530,0.543160,0.196130 /) -XEXT_COEFF_550_LKT(17,14)=2400.700000 !rg=0.0374736 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,15,1:6)=(/ 2806.400000,2638.900000,2198.900000,1475.100000,472.190000,65.955000 /) -XPIZA_LKT(17,15,1:6)=(/ 0.959287,0.972547,0.979492,0.992991,0.990695,0.974467 /) -XCGA_LKT(17,15,1:6)=(/ 0.730907,0.722833,0.717010,0.711730,0.612460,0.286653 /) -XEXT_COEFF_550_LKT(17,15)=2210.600000 !rg=0.0374736 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,16,1:6)=(/ 2306.000000,2239.200000,1972.100000,1493.800000,591.960000,98.747000 /) -XPIZA_LKT(17,16,1:6)=(/ 0.953099,0.967865,0.976540,0.992771,0.992092,0.981712 /) -XCGA_LKT(17,16,1:6)=(/ 0.738810,0.725117,0.715703,0.721837,0.663870,0.402960 /) -XEXT_COEFF_550_LKT(17,16)=1977.300000 !rg=0.0374736 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,17,1:6)=(/ 1898.200000,1886.600000,1744.400000,1410.000000,698.420000,144.510000 /) -XPIZA_LKT(17,17,1:6)=(/ 0.944411,0.962838,0.973154,0.992071,0.992912,0.986507 /) -XCGA_LKT(17,17,1:6)=(/ 0.744427,0.729613,0.719633,0.721303,0.702703,0.499947 /) -XEXT_COEFF_550_LKT(17,17)=1751.600000 !rg=0.0374736 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,18,1:6)=(/ 1555.500000,1578.800000,1502.700000,1272.700000,772.150000,197.110000 /) -XPIZA_LKT(17,18,1:6)=(/ 0.934636,0.955544,0.968951,0.990925,0.993273,0.989425 /) -XCGA_LKT(17,18,1:6)=(/ 0.750323,0.734307,0.723380,0.716023,0.728200,0.570060 /) -XEXT_COEFF_550_LKT(17,18)=1503.800000 !rg=0.0374736 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,19,1:6)=(/ 1266.300000,1302.700000,1275.700000,1131.100000,795.250000,256.590000 /) -XPIZA_LKT(17,19,1:6)=(/ 0.924775,0.948544,0.962995,0.989628,0.993203,0.991305 /) -XCGA_LKT(17,19,1:6)=(/ 0.762930,0.740737,0.727837,0.716517,0.741223,0.634260 /) -XEXT_COEFF_550_LKT(17,19)=1272.100000 !rg=0.0374736 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(17,20,1:6)=(/ 1039.300000,1070.800000,1068.800000,996.650000,762.380000,314.330000 /) -XPIZA_LKT(17,20,1:6)=(/ 0.912221,0.940844,0.958095,0.987994,0.992664,0.992465 /) -XCGA_LKT(17,20,1:6)=(/ 0.772137,0.748047,0.733320,0.721123,0.742533,0.680560 /) -XEXT_COEFF_550_LKT(17,20)=1073.800000 !rg=0.0374736 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,1,1:6)=(/ 2036.000000,384.160000,85.275000,14.784000,3.590800,1.392900 /) -XPIZA_LKT(18,1,1:6)=(/ 0.963632,0.899950,0.736821,0.640642,0.240375,0.037528 /) -XCGA_LKT(18,1,1:6)=(/ 0.262000,0.096687,0.041033,0.016213,0.005143,0.001267 /) -XEXT_COEFF_550_LKT(18,1)=82.511000 !rg=0.0405973 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,2,1:6)=(/ 2307.600000,466.180000,101.740000,17.280000,3.820500,1.407100 /) -XPIZA_LKT(18,2,1:6)=(/ 0.966954,0.915841,0.776630,0.690841,0.284772,0.046829 /) -XCGA_LKT(18,2,1:6)=(/ 0.331223,0.122697,0.052023,0.020583,0.006537,0.001610 /) -XEXT_COEFF_550_LKT(18,2)=99.801000 !rg=0.0405973 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,3,1:6)=(/ 2871.500000,638.530000,140.740000,23.347000,4.379300,1.441700 /) -XPIZA_LKT(18,3,1:6)=(/ 0.971736,0.936221,0.834466,0.768494,0.373678,0.068765 /) -XCGA_LKT(18,3,1:6)=(/ 0.442410,0.184683,0.078817,0.031300,0.009967,0.002460 /) -XEXT_COEFF_550_LKT(18,3)=140.680000 !rg=0.0405973 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,4,1:6)=(/ 3682.100000,917.430000,215.780000,36.006000,5.557100,1.514300 /) -XPIZA_LKT(18,4,1:6)=(/ 0.976385,0.953070,0.887910,0.846957,0.503207,0.111961 /) -XCGA_LKT(18,4,1:6)=(/ 0.537680,0.291433,0.132237,0.053133,0.017007,0.004207 /) -XEXT_COEFF_550_LKT(18,4)=218.930000 !rg=0.0405973 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,5,1:6)=(/ 4587.000000,1320.100000,340.180000,60.161000,7.874700,1.657400 /) -XPIZA_LKT(18,5,1:6)=(/ 0.979811,0.964918,0.925208,0.905749,0.645807,0.186441 /) -XCGA_LKT(18,5,1:6)=(/ 0.608090,0.410800,0.216913,0.088653,0.028530,0.007080 /) -XEXT_COEFF_550_LKT(18,5)=347.860000 !rg=0.0405973 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,6,1:6)=(/ 5422.900000,1829.500000,524.220000,101.350000,12.100000,1.919600 /) -XPIZA_LKT(18,6,1:6)=(/ 0.981954,0.972620,0.948213,0.941894,0.766028,0.294762 /) -XCGA_LKT(18,6,1:6)=(/ 0.658440,0.509997,0.322187,0.138397,0.044623,0.011110 /) -XEXT_COEFF_550_LKT(18,6)=537.800000 !rg=0.0405973 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,7,1:6)=(/ 6045.900000,2405.700000,778.620000,166.170000,19.599000,2.391700 /) -XPIZA_LKT(18,7,1:6)=(/ 0.983015,0.977539,0.962405,0.962825,0.852479,0.430606 /) -XCGA_LKT(18,7,1:6)=(/ 0.692947,0.585110,0.423397,0.207547,0.066827,0.016687 /) -XEXT_COEFF_550_LKT(18,7)=798.480000 !rg=0.0405973 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,8,1:6)=(/ 6308.000000,2973.300000,1095.200000,260.680000,32.414000,3.225200 /) -XPIZA_LKT(18,8,1:6)=(/ 0.983049,0.980564,0.971064,0.974835,0.908258,0.574134 /) -XCGA_LKT(18,8,1:6)=(/ 0.713363,0.640447,0.510300,0.301070,0.097903,0.024483 /) -XEXT_COEFF_550_LKT(18,8)=1121.900000 !rg=0.0405973 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,9,1:6)=(/ 6164.000000,3451.400000,1461.100000,397.850000,53.653000,4.704300 /) -XPIZA_LKT(18,9,1:6)=(/ 0.982059,0.982252,0.976578,0.982223,0.942534,0.704436 /) -XCGA_LKT(18,9,1:6)=(/ 0.722323,0.679660,0.581650,0.404870,0.142520,0.035607 /) -XEXT_COEFF_550_LKT(18,9)=1492.700000 !rg=0.0405973 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,10,1:6)=(/ 5696.000000,3737.900000,1833.600000,575.870000,86.344000,7.296400 /) -XPIZA_LKT(18,10,1:6)=(/ 0.980125,0.982791,0.979974,0.986751,0.962687,0.806145 /) -XCGA_LKT(18,10,1:6)=(/ 0.724263,0.704440,0.636137,0.488770,0.207290,0.051557 /) -XEXT_COEFF_550_LKT(18,10)=1868.300000 !rg=0.0405973 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,11,1:6)=(/ 5084.600000,3773.300000,2162.200000,789.810000,133.680000,11.843000 /) -XPIZA_LKT(18,11,1:6)=(/ 0.977301,0.982260,0.981927,0.989542,0.974545,0.877703 /) -XCGA_LKT(18,11,1:6)=(/ 0.724257,0.716853,0.676303,0.563727,0.299963,0.074660 /) -XEXT_COEFF_550_LKT(18,11)=2196.700000 !rg=0.0405973 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,12,1:6)=(/ 4423.000000,3568.400000,2380.000000,1021.400000,201.640000,19.618000 /) -XPIZA_LKT(18,12,1:6)=(/ 0.973686,0.980622,0.982703,0.991307,0.981886,0.923811 /) -XCGA_LKT(18,12,1:6)=(/ 0.726290,0.719230,0.702700,0.622693,0.411113,0.108290 /) -XEXT_COEFF_550_LKT(18,12)=2410.000000 !rg=0.0405973 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,13,1:6)=(/ 3742.800000,3229.500000,2435.100000,1243.200000,294.060000,32.313000 /) -XPIZA_LKT(18,13,1:6)=(/ 0.968864,0.978104,0.982345,0.992374,0.986634,0.951878 /) -XCGA_LKT(18,13,1:6)=(/ 0.726590,0.719017,0.715910,0.668113,0.500117,0.157683 /) -XEXT_COEFF_550_LKT(18,13)=2457.500000 !rg=0.0405973 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,14,1:6)=(/ 3129.900000,2869.200000,2323.200000,1413.500000,401.510000,51.382000 /) -XPIZA_LKT(18,14,1:6)=(/ 0.963039,0.974872,0.980867,0.992902,0.989497,0.968273 /) -XCGA_LKT(18,14,1:6)=(/ 0.729057,0.720917,0.718460,0.699107,0.573093,0.230617 /) -XEXT_COEFF_550_LKT(18,14)=2337.400000 !rg=0.0405973 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,15,1:6)=(/ 2590.500000,2477.500000,2113.600000,1495.900000,521.210000,78.055000 /) -XPIZA_LKT(18,15,1:6)=(/ 0.956460,0.970831,0.978333,0.992955,0.991350,0.977846 /) -XCGA_LKT(18,15,1:6)=(/ 0.734773,0.724427,0.715877,0.716887,0.634823,0.334210 /) -XEXT_COEFF_550_LKT(18,15)=2120.600000 !rg=0.0405973 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,16,1:6)=(/ 2125.200000,2087.100000,1880.600000,1470.500000,638.760000,116.370000 /) -XPIZA_LKT(18,16,1:6)=(/ 0.949594,0.966195,0.975355,0.992542,0.992500,0.983959 /) -XCGA_LKT(18,16,1:6)=(/ 0.740793,0.727600,0.717467,0.722557,0.681437,0.448840 /) -XEXT_COEFF_550_LKT(18,16)=1891.500000 !rg=0.0405973 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,17,1:6)=(/ 1744.200000,1759.900000,1649.800000,1358.100000,734.070000,165.790000 /) -XPIZA_LKT(18,17,1:6)=(/ 0.940022,0.959750,0.971584,0.991628,0.993121,0.987912 /) -XCGA_LKT(18,17,1:6)=(/ 0.746107,0.731833,0.722103,0.718720,0.714477,0.529577 /) -XEXT_COEFF_550_LKT(18,17)=1652.200000 !rg=0.0405973 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,18,1:6)=(/ 1427.900000,1455.800000,1408.600000,1213.300000,788.020000,221.530000 /) -XPIZA_LKT(18,18,1:6)=(/ 0.929947,0.953030,0.966217,0.990421,0.993297,0.990301 /) -XCGA_LKT(18,18,1:6)=(/ 0.756850,0.735657,0.724673,0.715620,0.734680,0.599350 /) -XEXT_COEFF_550_LKT(18,18)=1403.800000 !rg=0.0405973 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,19,1:6)=(/ 1163.000000,1196.600000,1186.800000,1078.300000,787.810000,280.800000 /) -XPIZA_LKT(18,19,1:6)=(/ 0.919637,0.945882,0.961301,0.989006,0.993029,0.991853 /) -XCGA_LKT(18,19,1:6)=(/ 0.766757,0.744187,0.730067,0.719217,0.742700,0.654610 /) -XEXT_COEFF_550_LKT(18,19)=1192.200000 !rg=0.0405973 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(18,20,1:6)=(/ 952.390000,989.570000,988.140000,938.380000,735.720000,335.920000 /) -XPIZA_LKT(18,20,1:6)=(/ 0.905887,0.935907,0.955454,0.987051,0.992301,0.992796 /) -XCGA_LKT(18,20,1:6)=(/ 0.774550,0.752037,0.734687,0.722127,0.740680,0.696357 /) -XEXT_COEFF_550_LKT(18,20)=989.410000 !rg=0.0405973 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,1,1:6)=(/ 2398.900000,474.650000,102.600000,17.391000,3.830800,1.407800 /) -XPIZA_LKT(19,1,1:6)=(/ 0.968067,0.916815,0.777898,0.692473,0.286472,0.047212 /) -XCGA_LKT(19,1,1:6)=(/ 0.313953,0.113600,0.048097,0.019013,0.006037,0.001487 /) -XEXT_COEFF_550_LKT(19,1)=100.700000 !rg=0.0439813 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,2,1:6)=(/ 2696.400000,573.190000,123.340000,20.560000,4.122300,1.425800 /) -XPIZA_LKT(19,2,1:6)=(/ 0.970516,0.929625,0.812631,0.738194,0.335550,0.058761 /) -XCGA_LKT(19,2,1:6)=(/ 0.390697,0.144290,0.060970,0.024133,0.007670,0.001890 /) -XEXT_COEFF_550_LKT(19,2)=122.480000 !rg=0.0439813 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,3,1:6)=(/ 3329.500000,772.880000,171.910000,28.250000,4.831600,1.469600 /) -XPIZA_LKT(19,3,1:6)=(/ 0.974506,0.945721,0.861821,0.806891,0.430585,0.085771 /) -XCGA_LKT(19,3,1:6)=(/ 0.492647,0.216400,0.092297,0.036680,0.011690,0.002887 /) -XEXT_COEFF_550_LKT(19,3)=173.330000 !rg=0.0439813 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,4,1:6)=(/ 4169.400000,1089.000000,262.750000,44.205000,6.325900,1.561700 /) -XPIZA_LKT(19,4,1:6)=(/ 0.978324,0.959101,0.905835,0.873844,0.561795,0.138028 /) -XCGA_LKT(19,4,1:6)=(/ 0.572550,0.331630,0.154223,0.062180,0.019937,0.004937 /) -XEXT_COEFF_550_LKT(19,4)=267.840000 !rg=0.0439813 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,5,1:6)=(/ 5047.200000,1534.800000,409.080000,74.216000,9.262600,1.743200 /) -XPIZA_LKT(19,5,1:6)=(/ 0.981058,0.968701,0.936100,0.922419,0.697156,0.225358 /) -XCGA_LKT(19,5,1:6)=(/ 0.632573,0.448717,0.249683,0.103620,0.033423,0.008307 /) -XEXT_COEFF_550_LKT(19,5)=419.210000 !rg=0.0439813 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,6,1:6)=(/ 5795.200000,2075.200000,620.730000,124.140000,14.601000,2.076100 /) -XPIZA_LKT(19,6,1:6)=(/ 0.982664,0.974996,0.954876,0.951650,0.804556,0.346477 /) -XCGA_LKT(19,6,1:6)=(/ 0.675533,0.540327,0.358563,0.161700,0.052253,0.013030 /) -XEXT_COEFF_550_LKT(19,6)=637.000000 !rg=0.0439813 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,7,1:6)=(/ 6270.100000,2660.300000,902.120000,200.560000,24.013000,2.675100 /) -XPIZA_LKT(19,7,1:6)=(/ 0.983271,0.979036,0.966456,0.968462,0.878292,0.489307 /) -XCGA_LKT(19,7,1:6)=(/ 0.704007,0.608647,0.456723,0.241807,0.078243,0.019563 /) -XEXT_COEFF_550_LKT(19,7)=924.950000 !rg=0.0439813 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,8,1:6)=(/ 6350.900000,3201.800000,1243.800000,311.200000,39.882000,3.732100 /) -XPIZA_LKT(19,8,1:6)=(/ 0.982882,0.981443,0.973648,0.978275,0.924388,0.630297 /) -XCGA_LKT(19,8,1:6)=(/ 0.719443,0.657657,0.540033,0.343257,0.114670,0.028697 /) -XEXT_COEFF_550_LKT(19,8)=1273.000000 !rg=0.0439813 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,9,1:6)=(/ 6043.400000,3612.400000,1617.800000,467.170000,65.545000,5.605000 /) -XPIZA_LKT(19,9,1:6)=(/ 0.981500,0.982639,0.978170,0.984372,0.952141,0.750332 /) -XCGA_LKT(19,9,1:6)=(/ 0.724950,0.691320,0.604357,0.440103,0.167083,0.041723 /) -XEXT_COEFF_550_LKT(19,9)=1651.700000 !rg=0.0439813 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,10,1:6)=(/ 5494.100000,3797.900000,1978.000000,658.540000,103.760000,8.876200 /) -XPIZA_LKT(19,10,1:6)=(/ 0.979107,0.982740,0.980925,0.988035,0.968291,0.839223 /) -XCGA_LKT(19,10,1:6)=(/ 0.724980,0.710933,0.653423,0.519100,0.242867,0.060400 /) -XEXT_COEFF_550_LKT(19,10)=2013.600000 !rg=0.0439813 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,11,1:6)=(/ 4840.300000,3728.300000,2269.400000,884.530000,158.510000,14.571000 /) -XPIZA_LKT(19,11,1:6)=(/ 0.976025,0.981753,0.982385,0.990372,0.977935,0.899403 /) -XCGA_LKT(19,11,1:6)=(/ 0.726367,0.718923,0.688030,0.589483,0.346267,0.087487 /) -XEXT_COEFF_550_LKT(19,11)=2303.200000 !rg=0.0439813 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,12,1:6)=(/ 4157.200000,3450.900000,2426.300000,1116.300000,237.220000,24.155000 /) -XPIZA_LKT(19,12,1:6)=(/ 0.971773,0.979792,0.982696,0.991810,0.984114,0.937169 /) -XCGA_LKT(19,12,1:6)=(/ 0.726500,0.720017,0.709130,0.642397,0.451480,0.127017 /) -XEXT_COEFF_550_LKT(19,12)=2454.200000 !rg=0.0439813 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,13,1:6)=(/ 3478.700000,3097.300000,2410.800000,1322.200000,336.040000,39.353000 /) -XPIZA_LKT(19,13,1:6)=(/ 0.966555,0.976850,0.981894,0.992638,0.987974,0.959750 /) -XCGA_LKT(19,13,1:6)=(/ 0.727387,0.719673,0.717960,0.682047,0.529793,0.185280 /) -XEXT_COEFF_550_LKT(19,13)=2430.200000 !rg=0.0439813 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,14,1:6)=(/ 2905.300000,2715.600000,2249.800000,1460.900000,450.800000,61.364000 /) -XPIZA_LKT(19,14,1:6)=(/ 0.960166,0.973501,0.979930,0.992972,0.990366,0.972829 /) -XCGA_LKT(19,14,1:6)=(/ 0.732173,0.723627,0.717400,0.707827,0.601127,0.270787 /) -XEXT_COEFF_550_LKT(19,14)=2260.500000 !rg=0.0439813 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,15,1:6)=(/ 2383.400000,2316.300000,2021.300000,1498.600000,570.320000,92.157000 /) -XPIZA_LKT(19,15,1:6)=(/ 0.953827,0.969157,0.977233,0.992844,0.991881,0.980662 /) -XCGA_LKT(19,15,1:6)=(/ 0.736630,0.726197,0.716343,0.720393,0.654983,0.384207 /) -XEXT_COEFF_550_LKT(19,15)=2033.100000 !rg=0.0439813 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,16,1:6)=(/ 1950.400000,1952.500000,1792.100000,1433.000000,681.430000,136.140000 /) -XPIZA_LKT(19,16,1:6)=(/ 0.945774,0.963422,0.973964,0.992220,0.992802,0.985850 /) -XCGA_LKT(19,16,1:6)=(/ 0.742313,0.728993,0.720277,0.721520,0.696470,0.486567 /) -XEXT_COEFF_550_LKT(19,16)=1797.400000 !rg=0.0439813 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,17,1:6)=(/ 1603.700000,1625.100000,1552.300000,1298.800000,762.390000,187.850000 /) -XPIZA_LKT(19,17,1:6)=(/ 0.935561,0.956850,0.969569,0.991195,0.993238,0.989033 /) -XCGA_LKT(19,17,1:6)=(/ 0.751253,0.731910,0.723187,0.717430,0.724190,0.558403 /) -XEXT_COEFF_550_LKT(19,17)=1550.300000 !rg=0.0439813 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,18,1:6)=(/ 1305.200000,1341.500000,1311.800000,1159.200000,794.970000,246.600000 /) -XPIZA_LKT(19,18,1:6)=(/ 0.925633,0.950843,0.964299,0.989881,0.993236,0.991045 /) -XCGA_LKT(19,18,1:6)=(/ 0.760567,0.741167,0.725757,0.717003,0.739347,0.625093 /) -XEXT_COEFF_550_LKT(19,18)=1315.800000 !rg=0.0439813 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,19,1:6)=(/ 1066.700000,1107.100000,1101.000000,1024.600000,771.110000,305.050000 /) -XPIZA_LKT(19,19,1:6)=(/ 0.913614,0.941588,0.959349,0.988206,0.992779,0.992305 /) -XCGA_LKT(19,19,1:6)=(/ 0.769370,0.747243,0.732903,0.720183,0.742720,0.673493 /) -XEXT_COEFF_550_LKT(19,19)=1104.100000 !rg=0.0439813 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(19,20,1:6)=(/ 874.710000,907.350000,918.930000,876.120000,704.810000,355.530000 /) -XPIZA_LKT(19,20,1:6)=(/ 0.899320,0.931724,0.951856,0.986029,0.991853,0.993032 /) -XCGA_LKT(19,20,1:6)=(/ 0.781093,0.753317,0.737943,0.721953,0.737553,0.709740 /) -XEXT_COEFF_550_LKT(19,20)=914.540000 !rg=0.0439813 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,1,1:6)=(/ 2785.400000,585.850000,124.500000,20.701000,4.135400,1.426700 /) -XPIZA_LKT(20,1,1:6)=(/ 0.971407,0.930641,0.813779,0.739650,0.337400,0.059235 /) -XCGA_LKT(20,1,1:6)=(/ 0.377100,0.133677,0.056380,0.022297,0.007080,0.001747 /) -XEXT_COEFF_550_LKT(20,1)=123.700000 !rg=0.0476474 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,2,1:6)=(/ 3134.500000,701.720000,150.540000,24.723000,4.505400,1.449500 /) -XPIZA_LKT(20,2,1:6)=(/ 0.973380,0.940807,0.843558,0.780373,0.390337,0.073492 /) -XCGA_LKT(20,2,1:6)=(/ 0.454770,0.169980,0.071467,0.028290,0.008997,0.002220 /) -XEXT_COEFF_550_LKT(20,2)=151.020000 !rg=0.0476474 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,3,1:6)=(/ 3832.000000,928.790000,210.560000,34.461000,5.405600,1.505000 /) -XPIZA_LKT(20,3,1:6)=(/ 0.976832,0.953382,0.884740,0.839999,0.489248,0.106488 /) -XCGA_LKT(20,3,1:6)=(/ 0.538510,0.253233,0.108093,0.042973,0.013710,0.003387 /) -XEXT_COEFF_550_LKT(20,3)=213.760000 !rg=0.0476474 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,4,1:6)=(/ 4672.800000,1284.000000,319.240000,54.502000,7.301000,1.621900 /) -XPIZA_LKT(20,4,1:6)=(/ 0.979944,0.964033,0.920564,0.896283,0.618513,0.168983 /) -XCGA_LKT(20,4,1:6)=(/ 0.603630,0.373983,0.179557,0.072737,0.023367,0.005793 /) -XEXT_COEFF_550_LKT(20,4)=326.540000 !rg=0.0476474 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,5,1:6)=(/ 5492.800000,1769.900000,489.720000,91.498000,11.019000,1.852200 /) -XPIZA_LKT(20,5,1:6)=(/ 0.982073,0.971830,0.945045,0.935992,0.743747,0.269650 /) -XCGA_LKT(20,5,1:6)=(/ 0.654407,0.485243,0.284570,0.121033,0.039147,0.009743 /) -XEXT_COEFF_550_LKT(20,5)=502.500000 !rg=0.0476474 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,6,1:6)=(/ 6122.400000,2333.800000,729.160000,151.340000,17.749000,2.274500 /) -XPIZA_LKT(20,6,1:6)=(/ 0.983192,0.976977,0.960322,0.959502,0.837758,0.401988 /) -XCGA_LKT(20,6,1:6)=(/ 0.690433,0.568747,0.394113,0.188670,0.061177,0.015280 /) -XEXT_COEFF_550_LKT(20,6)=748.220000 !rg=0.0476474 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,7,1:6)=(/ 6427.800000,2911.800000,1038.200000,241.000000,29.507000,3.034500 /) -XPIZA_LKT(20,7,1:6)=(/ 0.983358,0.980251,0.969825,0.973055,0.899752,0.548138 /) -XCGA_LKT(20,7,1:6)=(/ 0.713170,0.629840,0.489723,0.279780,0.091597,0.022933 /) -XEXT_COEFF_550_LKT(20,7)=1064.200000 !rg=0.0476474 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,8,1:6)=(/ 6326.900000,3408.800000,1397.500000,369.910000,48.983000,4.374300 /) -XPIZA_LKT(20,8,1:6)=(/ 0.982538,0.982118,0.975777,0.981135,0.937485,0.682915 /) -XCGA_LKT(20,8,1:6)=(/ 0.723940,0.672690,0.566487,0.383273,0.134317,0.033630 /) -XEXT_COEFF_550_LKT(20,8)=1428.700000 !rg=0.0476474 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,9,1:6)=(/ 5883.900000,3736.400000,1775.300000,541.800000,79.571000,6.743200 /) -XPIZA_LKT(20,9,1:6)=(/ 0.980738,0.982854,0.979502,0.986099,0.959832,0.790937 /) -XCGA_LKT(20,9,1:6)=(/ 0.726780,0.700800,0.625410,0.471827,0.195847,0.048880 /) -XEXT_COEFF_550_LKT(20,9)=1810.200000 !rg=0.0476474 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,10,1:6)=(/ 5259.900000,3816.100000,2113.900000,748.460000,123.840000,10.861000 /) -XPIZA_LKT(20,10,1:6)=(/ 0.978103,0.982516,0.981665,0.989114,0.972806,0.867267 /) -XCGA_LKT(20,10,1:6)=(/ 0.726830,0.715693,0.668607,0.549173,0.283453,0.070760 /) -XEXT_COEFF_550_LKT(20,10)=2149.300000 !rg=0.0476474 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,11,1:6)=(/ 4586.400000,3647.900000,2357.000000,978.790000,187.630000,17.954000 /) -XPIZA_LKT(20,11,1:6)=(/ 0.974432,0.981138,0.982648,0.991039,0.980789,0.917265 /) -XCGA_LKT(20,11,1:6)=(/ 0.726977,0.720497,0.697953,0.611620,0.392407,0.102540 /) -XEXT_COEFF_550_LKT(20,11)=2388.500000 !rg=0.0476474 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,12,1:6)=(/ 3873.300000,3326.700000,2444.700000,1205.400000,275.980000,29.643000 /) -XPIZA_LKT(20,12,1:6)=(/ 0.969831,0.978734,0.982517,0.992217,0.985941,0.947945 /) -XCGA_LKT(20,12,1:6)=(/ 0.727130,0.720110,0.713927,0.659793,0.485280,0.149070 /) -XEXT_COEFF_550_LKT(20,12)=2469.200000 !rg=0.0476474 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,13,1:6)=(/ 3241.700000,2951.300000,2363.900000,1389.300000,380.960000,47.551000 /) -XPIZA_LKT(20,13,1:6)=(/ 0.963807,0.975698,0.981236,0.992838,0.989072,0.966019 /) -XCGA_LKT(20,13,1:6)=(/ 0.729983,0.722077,0.718503,0.693683,0.559843,0.217777 /) -XEXT_COEFF_550_LKT(20,13)=2379.400000 !rg=0.0476474 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,14,1:6)=(/ 2670.500000,2559.900000,2162.500000,1489.700000,500.020000,72.780000 /) -XPIZA_LKT(20,14,1:6)=(/ 0.957760,0.971906,0.978996,0.992978,0.991082,0.976505 /) -XCGA_LKT(20,14,1:6)=(/ 0.733200,0.725313,0.717207,0.714013,0.624837,0.316393 /) -XEXT_COEFF_550_LKT(20,14)=2176.100000 !rg=0.0476474 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,15,1:6)=(/ 2192.400000,2162.400000,1933.800000,1484.300000,618.510000,108.730000 /) -XPIZA_LKT(20,15,1:6)=(/ 0.950925,0.966891,0.976026,0.992646,0.992328,0.983066 /) -XCGA_LKT(20,15,1:6)=(/ 0.739137,0.726490,0.718137,0.721810,0.673490,0.431627 /) -XEXT_COEFF_550_LKT(20,15)=1940.400000 !rg=0.0476474 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,16,1:6)=(/ 1800.300000,1812.100000,1700.500000,1383.200000,719.970000,157.010000 /) -XPIZA_LKT(20,16,1:6)=(/ 0.941223,0.960881,0.972201,0.991859,0.993037,0.987381 /) -XCGA_LKT(20,16,1:6)=(/ 0.746597,0.730233,0.721403,0.720367,0.709220,0.517553 /) -XEXT_COEFF_550_LKT(20,16)=1702.200000 !rg=0.0476474 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,17,1:6)=(/ 1465.000000,1501.500000,1448.900000,1243.100000,782.400000,211.610000 /) -XPIZA_LKT(20,17,1:6)=(/ 0.931581,0.954074,0.967402,0.990679,0.993292,0.989966 /) -XCGA_LKT(20,17,1:6)=(/ 0.754030,0.736667,0.723840,0.716727,0.731767,0.588023 /) -XEXT_COEFF_550_LKT(20,17)=1450.900000 !rg=0.0476474 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,18,1:6)=(/ 1194.700000,1237.300000,1222.000000,1106.000000,791.280000,270.920000 /) -XPIZA_LKT(20,18,1:6)=(/ 0.921238,0.946992,0.962918,0.989287,0.993100,0.991643 /) -XCGA_LKT(20,18,1:6)=(/ 0.764420,0.742990,0.730600,0.718143,0.741727,0.646423 /) -XEXT_COEFF_550_LKT(20,18)=1226.500000 !rg=0.0476474 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,19,1:6)=(/ 980.470000,1017.000000,1022.400000,962.950000,746.950000,327.550000 /) -XPIZA_LKT(20,19,1:6)=(/ 0.907548,0.937179,0.956101,0.987536,0.992446,0.992674 /) -XCGA_LKT(20,19,1:6)=(/ 0.775210,0.748680,0.734273,0.722477,0.741000,0.690210 /) -XEXT_COEFF_550_LKT(20,19)=1019.000000 !rg=0.0476474 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(20,20,1:6)=(/ 798.030000,832.520000,848.410000,817.220000,671.730000,371.750000 /) -XPIZA_LKT(20,20,1:6)=(/ 0.892773,0.927031,0.948477,0.985379,0.991388,0.993211 /) -XCGA_LKT(20,20,1:6)=(/ 0.784923,0.759953,0.738920,0.726457,0.735663,0.720637 /) -XEXT_COEFF_550_LKT(20,20)=848.360000 !rg=0.0476474 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,1,1:6)=(/ 3204.500000,720.600000,152.130000,24.904000,4.522000,1.450600 /) -XPIZA_LKT(21,1,1:6)=(/ 0.973903,0.941885,0.844612,0.781648,0.392299,0.074074 /) -XCGA_LKT(21,1,1:6)=(/ 0.450850,0.157647,0.066100,0.026143,0.008307,0.002050 /) -XEXT_COEFF_550_LKT(21,1)=152.720000 !rg=0.0516191 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,2,1:6)=(/ 3638.000000,853.190000,184.660000,30.005000,4.991700,1.479600 /) -XPIZA_LKT(21,2,1:6)=(/ 0.975794,0.949807,0.869752,0.817212,0.447917,0.091546 /) -XCGA_LKT(21,2,1:6)=(/ 0.517100,0.200687,0.083797,0.033160,0.010553,0.002603 /) -XEXT_COEFF_550_LKT(21,2)=186.800000 !rg=0.0516191 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,3,1:6)=(/ 4370.500000,1107.500000,258.090000,42.318000,6.134000,1.550000 /) -XPIZA_LKT(21,3,1:6)=(/ 0.978805,0.959551,0.903731,0.868107,0.548045,0.131470 /) -XCGA_LKT(21,3,1:6)=(/ 0.578200,0.295383,0.126613,0.050337,0.016077,0.003973 /) -XEXT_COEFF_550_LKT(21,3)=263.370000 !rg=0.0516191 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,4,1:6)=(/ 5178.700000,1503.000000,386.490000,67.374000,8.537300,1.698200 /) -XPIZA_LKT(21,4,1:6)=(/ 0.981292,0.968081,0.932611,0.914811,0.671952,0.205190 /) -XCGA_LKT(21,4,1:6)=(/ 0.631010,0.417257,0.208440,0.085047,0.027383,0.006793 /) -XEXT_COEFF_550_LKT(21,4)=396.260000 !rg=0.0516191 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,5,1:6)=(/ 5910.000000,2023.600000,582.780000,112.560000,13.238000,1.990500 /) -XPIZA_LKT(21,5,1:6)=(/ 0.982885,0.974424,0.952368,0.946982,0.785089,0.318988 /) -XCGA_LKT(21,5,1:6)=(/ 0.673723,0.519900,0.320830,0.141253,0.045840,0.011427 /) -XEXT_COEFF_550_LKT(21,5)=598.370000 !rg=0.0516191 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,6,1:6)=(/ 6393.100000,2599.200000,850.100000,183.570000,21.697000,2.526400 /) -XPIZA_LKT(21,6,1:6)=(/ 0.983549,0.978626,0.964794,0.965835,0.865914,0.460002 /) -XCGA_LKT(21,6,1:6)=(/ 0.703337,0.594903,0.429437,0.219510,0.071603,0.017913 /) -XEXT_COEFF_550_LKT(21,6)=872.250000 !rg=0.0516191 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,7,1:6)=(/ 6511.900000,3155.800000,1185.400000,288.600000,36.297000,3.490300 /) -XPIZA_LKT(21,7,1:6)=(/ 0.983291,0.981242,0.972642,0.976838,0.917401,0.605459 /) -XCGA_LKT(21,7,1:6)=(/ 0.720703,0.648917,0.520937,0.319583,0.107217,0.026880 /) -XEXT_COEFF_550_LKT(21,7)=1213.900000 !rg=0.0516191 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,8,1:6)=(/ 6235.400000,3591.100000,1555.900000,435.870000,59.936000,5.187200 /) -XPIZA_LKT(21,8,1:6)=(/ 0.982070,0.982605,0.977527,0.983475,0.948045,0.730982 /) -XCGA_LKT(21,8,1:6)=(/ 0.727590,0.685860,0.590710,0.419217,0.157323,0.039407 /) -XEXT_COEFF_550_LKT(21,8)=1589.500000 !rg=0.0516191 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,9,1:6)=(/ 5681.600000,3820.900000,1925.900000,622.260000,95.907000,8.178500 /) -XPIZA_LKT(21,9,1:6)=(/ 0.979852,0.982901,0.980568,0.987500,0.965987,0.826168 /) -XCGA_LKT(21,9,1:6)=(/ 0.728033,0.708630,0.644000,0.502827,0.229297,0.057263 /) -XEXT_COEFF_550_LKT(21,9)=1961.700000 !rg=0.0516191 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,10,1:6)=(/ 5016.600000,3791.900000,2232.100000,842.440000,147.160000,13.342000 /) -XPIZA_LKT(21,10,1:6)=(/ 0.976860,0.982134,0.982224,0.990017,0.976505,0.890720 /) -XCGA_LKT(21,10,1:6)=(/ 0.728227,0.719017,0.681547,0.576213,0.327917,0.082900 /) -XEXT_COEFF_550_LKT(21,10)=2266.700000 !rg=0.0516191 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,11,1:6)=(/ 4300.200000,3547.600000,2417.600000,1074.500000,221.290000,22.112000 /) -XPIZA_LKT(21,11,1:6)=(/ 0.972810,0.980301,0.982742,0.991588,0.983198,0.931831 /) -XCGA_LKT(21,11,1:6)=(/ 0.728087,0.721083,0.705537,0.632173,0.434000,0.120227 /) -XEXT_COEFF_550_LKT(21,11)=2446.900000 !rg=0.0516191 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,12,1:6)=(/ 3611.100000,3187.400000,2435.800000,1288.100000,316.800000,36.181000 /) -XPIZA_LKT(21,12,1:6)=(/ 0.967326,0.977701,0.982153,0.992519,0.987405,0.956580 /) -XCGA_LKT(21,12,1:6)=(/ 0.728610,0.721503,0.716943,0.674717,0.515607,0.175063 /) -XEXT_COEFF_550_LKT(21,12)=2456.400000 !rg=0.0516191 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,13,1:6)=(/ 2992.300000,2805.300000,2295.600000,1443.300000,429.330000,56.966000 /) -XPIZA_LKT(21,13,1:6)=(/ 0.961702,0.974342,0.980486,0.992943,0.990005,0.971014 /) -XCGA_LKT(21,13,1:6)=(/ 0.731167,0.724183,0.718690,0.703297,0.588910,0.255750 /) -XEXT_COEFF_550_LKT(21,13)=2310.800000 !rg=0.0516191 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,14,1:6)=(/ 2455.000000,2395.900000,2076.700000,1501.800000,549.010000,86.018000 /) -XPIZA_LKT(21,14,1:6)=(/ 0.955384,0.969963,0.977884,0.992901,0.991658,0.979541 /) -XCGA_LKT(21,14,1:6)=(/ 0.735847,0.725723,0.717563,0.718583,0.645687,0.365487 /) -XEXT_COEFF_550_LKT(21,14)=2084.500000 !rg=0.0516191 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,15,1:6)=(/ 2021.400000,2013.400000,1844.800000,1452.900000,662.650000,127.640000 /) -XPIZA_LKT(21,15,1:6)=(/ 0.946647,0.964664,0.974674,0.992381,0.992671,0.985106 /) -XCGA_LKT(21,15,1:6)=(/ 0.741910,0.728060,0.719537,0.721970,0.689453,0.471827 /) -XEXT_COEFF_550_LKT(21,15)=1851.500000 !rg=0.0516191 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,16,1:6)=(/ 1645.900000,1681.700000,1597.700000,1330.600000,751.070000,178.590000 /) -XPIZA_LKT(21,16,1:6)=(/ 0.937365,0.957657,0.970619,0.991392,0.993192,0.988599 /) -XCGA_LKT(21,16,1:6)=(/ 0.747913,0.733200,0.723617,0.718410,0.719670,0.546407 /) -XEXT_COEFF_550_LKT(21,16)=1600.300000 !rg=0.0516191 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,17,1:6)=(/ 1337.800000,1384.200000,1353.000000,1187.000000,793.160000,236.590000 /) -XPIZA_LKT(21,17,1:6)=(/ 0.927954,0.951384,0.965504,0.990138,0.993262,0.990764 /) -XCGA_LKT(21,17,1:6)=(/ 0.759963,0.739130,0.727340,0.716710,0.737053,0.615240 /) -XEXT_COEFF_550_LKT(21,17)=1352.700000 !rg=0.0516191 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,18,1:6)=(/ 1099.300000,1138.200000,1138.300000,1049.900000,778.530000,295.220000 /) -XPIZA_LKT(21,18,1:6)=(/ 0.915219,0.942795,0.960294,0.988665,0.992884,0.992127 /) -XCGA_LKT(21,18,1:6)=(/ 0.769327,0.744633,0.731990,0.721387,0.742380,0.665823 /) -XEXT_COEFF_550_LKT(21,18)=1141.200000 !rg=0.0516191 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(21,19,1:6)=(/ 895.210000,935.590000,944.890000,904.240000,717.560000,347.850000 /) -XPIZA_LKT(21,19,1:6)=(/ 0.901599,0.932533,0.952818,0.986194,0.992056,0.992939 /) -XCGA_LKT(21,19,1:6)=(/ 0.777837,0.754090,0.735103,0.723250,0.739117,0.704397 /) -XEXT_COEFF_550_LKT(21,19)=943.650000 !rg=0.0516191 sigma=2.85 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET2',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET2 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET3() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET3',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(21,20,1:6)=(/ 728.630000,762.500000,781.350000,762.600000,640.740000,384.220000 /) -XPIZA_LKT(21,20,1:6)=(/ 0.886500,0.922634,0.945140,0.984554,0.990860,0.993294 /) -XCGA_LKT(21,20,1:6)=(/ 0.791770,0.763860,0.744493,0.727810,0.734203,0.729583 /) -XEXT_COEFF_550_LKT(21,20)=780.930000 !rg=0.0516191 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,1,1:6)=(/ 3695.400000,880.730000,186.890000,30.239000,5.012700,1.480900 /) -XPIZA_LKT(22,1,1:6)=(/ 0.975903,0.950951,0.870743,0.818312,0.449941,0.092256 /) -XCGA_LKT(22,1,1:6)=(/ 0.528673,0.186480,0.077520,0.030647,0.009747,0.002403 /) -XEXT_COEFF_550_LKT(22,1)=189.200000 !rg=0.0559219 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,2,1:6)=(/ 4214.900000,1027.800000,227.220000,36.703000,5.608800,1.517700 /) -XPIZA_LKT(22,2,1:6)=(/ 0.977943,0.956989,0.891669,0.848839,0.506782,0.113478 /) -XCGA_LKT(22,2,1:6)=(/ 0.569943,0.237520,0.098300,0.038867,0.012380,0.003057 /) -XEXT_COEFF_550_LKT(22,2)=231.380000 !rg=0.0559219 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,3,1:6)=(/ 4929.100000,1310.200000,315.900000,52.237000,7.058400,1.606900 /) -XPIZA_LKT(22,3,1:6)=(/ 0.980479,0.964530,0.919328,0.891662,0.605349,0.161232 /) -XCGA_LKT(22,3,1:6)=(/ 0.611410,0.342427,0.148347,0.058957,0.018850,0.004663 /) -XEXT_COEFF_550_LKT(22,3)=323.570000 !rg=0.0559219 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,4,1:6)=(/ 5672.200000,1746.300000,465.620000,83.376000,10.104000,1.795100 /) -XPIZA_LKT(22,4,1:6)=(/ 0.982401,0.971418,0.942434,0.929980,0.721038,0.246803 /) -XCGA_LKT(22,4,1:6)=(/ 0.655040,0.460080,0.240920,0.099387,0.032083,0.007970 /) -XEXT_COEFF_550_LKT(22,4)=478.120000 !rg=0.0559219 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,5,1:6)=(/ 6284.200000,2293.600000,688.840000,137.990000,16.038000,2.166000 /) -XPIZA_LKT(22,5,1:6)=(/ 0.983508,0.976585,0.958359,0.955851,0.821056,0.372652 /) -XCGA_LKT(22,5,1:6)=(/ 0.690667,0.552363,0.358123,0.164637,0.053660,0.013400 /) -XEXT_COEFF_550_LKT(22,5)=707.440000 !rg=0.0559219 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,6,1:6)=(/ 6596.300000,2866.200000,984.380000,221.680000,26.627000,2.845900 /) -XPIZA_LKT(22,6,1:6)=(/ 0.983739,0.979980,0.968504,0.970980,0.889467,0.518965 /) -XCGA_LKT(22,6,1:6)=(/ 0.714263,0.618670,0.464443,0.253903,0.083783,0.021003 /) -XEXT_COEFF_550_LKT(22,6)=1009.700000 !rg=0.0559219 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,7,1:6)=(/ 6523.700000,3382.700000,1339.800000,344.010000,44.609000,4.067900 /) -XPIZA_LKT(22,7,1:6)=(/ 0.983045,0.982024,0.974969,0.979963,0.931786,0.659801 /) -XCGA_LKT(22,7,1:6)=(/ 0.726563,0.665800,0.549310,0.358480,0.125487,0.031500 /) -XEXT_COEFF_550_LKT(22,7)=1370.800000 !rg=0.0559219 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,8,1:6)=(/ 6094.000000,3739.300000,1717.000000,507.840000,72.938000,6.214900 /) -XPIZA_LKT(22,8,1:6)=(/ 0.981389,0.982920,0.978992,0.985364,0.956523,0.773901 /) -XCGA_LKT(22,8,1:6)=(/ 0.730027,0.696893,0.613230,0.452090,0.184210,0.046167 /) -XEXT_COEFF_550_LKT(22,8)=1752.100000 !rg=0.0559219 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,9,1:6)=(/ 5451.000000,3863.700000,2069.600000,710.090000,114.820000,9.983500 /) -XPIZA_LKT(22,9,1:6)=(/ 0.978842,0.982773,0.981406,0.988670,0.970941,0.856224 /) -XCGA_LKT(22,9,1:6)=(/ 0.729747,0.714640,0.660470,0.533623,0.267580,0.067077 /) -XEXT_COEFF_550_LKT(22,9)=2105.800000 !rg=0.0559219 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,10,1:6)=(/ 4743.900000,3733.700000,2332.300000,936.900000,174.480000,16.428000 /) -XPIZA_LKT(22,10,1:6)=(/ 0.975412,0.981582,0.982575,0.990750,0.979601,0.910110 /) -XCGA_LKT(22,10,1:6)=(/ 0.728967,0.721350,0.692647,0.599563,0.373290,0.097140 /) -XEXT_COEFF_550_LKT(22,10)=2365.400000 !rg=0.0559219 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,11,1:6)=(/ 4015.600000,3423.400000,2451.400000,1166.800000,258.500000,27.165000 /) -XPIZA_LKT(22,11,1:6)=(/ 0.970960,0.979420,0.982661,0.992042,0.985185,0.943615 /) -XCGA_LKT(22,11,1:6)=(/ 0.728983,0.721910,0.711537,0.650697,0.469330,0.141033 /) -XEXT_COEFF_550_LKT(22,11)=2477.800000 !rg=0.0559219 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,12,1:6)=(/ 3343.100000,3048.300000,2400.300000,1361.500000,360.320000,43.841000 /) -XPIZA_LKT(22,12,1:6)=(/ 0.965425,0.976500,0.981628,0.992754,0.988597,0.963469 /) -XCGA_LKT(22,12,1:6)=(/ 0.729443,0.723390,0.718577,0.687463,0.545793,0.205663 /) -XEXT_COEFF_550_LKT(22,12)=2419.100000 !rg=0.0559219 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,13,1:6)=(/ 2753.500000,2645.400000,2219.200000,1480.700000,478.560000,67.734000 /) -XPIZA_LKT(22,13,1:6)=(/ 0.959505,0.972694,0.979530,0.992986,0.990785,0.975026 /) -XCGA_LKT(22,13,1:6)=(/ 0.733413,0.725297,0.718493,0.710687,0.614047,0.299240 /) -XEXT_COEFF_550_LKT(22,13)=2227.800000 !rg=0.0559219 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,14,1:6)=(/ 2267.900000,2233.500000,1987.500000,1495.100000,598.110000,101.580000 /) -XPIZA_LKT(22,14,1:6)=(/ 0.951574,0.968034,0.976678,0.992745,0.992142,0.982115 /) -XCGA_LKT(22,14,1:6)=(/ 0.737963,0.726723,0.718167,0.720870,0.665050,0.413757 /) -XEXT_COEFF_550_LKT(22,14)=1997.500000 !rg=0.0559219 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,15,1:6)=(/ 1851.600000,1879.700000,1750.000000,1411.200000,703.530000,147.980000 /) -XPIZA_LKT(22,15,1:6)=(/ 0.942578,0.961668,0.973241,0.992022,0.992933,0.986775 /) -XCGA_LKT(22,15,1:6)=(/ 0.742860,0.730713,0.722533,0.720717,0.703173,0.504577 /) -XEXT_COEFF_550_LKT(22,15)=1754.700000 !rg=0.0559219 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,16,1:6)=(/ 1504.000000,1546.900000,1498.700000,1272.500000,775.150000,201.630000 /) -XPIZA_LKT(22,16,1:6)=(/ 0.933460,0.955292,0.968124,0.990921,0.993271,0.989598 /) -XCGA_LKT(22,16,1:6)=(/ 0.754717,0.734583,0.724787,0.717290,0.728307,0.576053 /) -XEXT_COEFF_550_LKT(22,16)=1495.600000 !rg=0.0559219 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,17,1:6)=(/ 1230.700000,1273.000000,1260.500000,1133.400000,793.850000,261.100000 /) -XPIZA_LKT(22,17,1:6)=(/ 0.922283,0.948332,0.963581,0.989551,0.993160,0.991416 /) -XCGA_LKT(22,17,1:6)=(/ 0.763550,0.741427,0.728940,0.718783,0.740447,0.637833 /) -XEXT_COEFF_550_LKT(22,17)=1266.900000 !rg=0.0559219 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,18,1:6)=(/ 1005.500000,1050.700000,1053.000000,993.330000,757.690000,318.560000 /) -XPIZA_LKT(22,18,1:6)=(/ 0.909242,0.938554,0.957271,0.987761,0.992593,0.992532 /) -XCGA_LKT(22,18,1:6)=(/ 0.771373,0.749483,0.732703,0.722330,0.741697,0.683460 /) -XEXT_COEFF_550_LKT(22,18)=1052.700000 !rg=0.0559219 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,19,1:6)=(/ 817.490000,856.020000,876.340000,840.270000,686.640000,365.600000 /) -XPIZA_LKT(22,19,1:6)=(/ 0.895165,0.928405,0.949190,0.985834,0.991575,0.993143 /) -XCGA_LKT(22,19,1:6)=(/ 0.785733,0.757390,0.739920,0.724753,0.736317,0.716207 /) -XEXT_COEFF_550_LKT(22,19)=872.020000 !rg=0.0559219 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(22,20,1:6)=(/ 670.540000,698.860000,718.290000,711.250000,609.750000,392.020000 /) -XPIZA_LKT(22,20,1:6)=(/ 0.879623,0.917837,0.942004,0.983534,0.990361,0.993317 /) -XCGA_LKT(22,20,1:6)=(/ 0.796407,0.767217,0.747447,0.729410,0.734550,0.736150 /) -XEXT_COEFF_550_LKT(22,20)=721.820000 !rg=0.0559219 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,1,1:6)=(/ 4322.200000,1066.200000,230.440000,37.007000,5.635500,1.519400 /) -XPIZA_LKT(23,1,1:6)=(/ 0.977847,0.958183,0.892630,0.849777,0.508810,0.114334 /) -XCGA_LKT(23,1,1:6)=(/ 0.595207,0.221453,0.090960,0.035927,0.011433,0.002820 /) -XEXT_COEFF_550_LKT(23,1)=234.860000 !rg=0.0605833 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,2,1:6)=(/ 4845.900000,1224.700000,279.930000,45.189000,6.392100,1.565900 /) -XPIZA_LKT(23,2,1:6)=(/ 0.979899,0.962672,0.909818,0.875598,0.565292,0.139835 /) -XCGA_LKT(23,2,1:6)=(/ 0.608610,0.281643,0.115400,0.045553,0.014520,0.003587 /) -XEXT_COEFF_550_LKT(23,2)=286.490000 !rg=0.0605833 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,3,1:6)=(/ 5487.400000,1539.000000,385.320000,64.726000,8.231100,1.679200 /) -XPIZA_LKT(23,3,1:6)=(/ 0.981886,0.968569,0.932041,0.911186,0.659693,0.196174 /) -XCGA_LKT(23,3,1:6)=(/ 0.639110,0.393017,0.173857,0.069043,0.022100,0.005470 /) -XEXT_COEFF_550_LKT(23,3)=395.670000 !rg=0.0605833 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,4,1:6)=(/ 6136.500000,2012.900000,557.690000,103.130000,12.086000,1.918000 /) -XPIZA_LKT(23,4,1:6)=(/ 0.983296,0.974183,0.950432,0.942312,0.765083,0.293668 /) -XCGA_LKT(23,4,1:6)=(/ 0.676133,0.501157,0.276887,0.116077,0.037577,0.009350 /) -XEXT_COEFF_550_LKT(23,4)=573.130000 !rg=0.0605833 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,5,1:6)=(/ 6600.700000,2574.700000,808.710000,168.460000,19.559000,2.388600 /) -XPIZA_LKT(23,5,1:6)=(/ 0.983955,0.978384,0.963280,0.963007,0.851813,0.429530 /) -XCGA_LKT(23,5,1:6)=(/ 0.705383,0.582200,0.396220,0.191453,0.062793,0.015713 /) -XEXT_COEFF_550_LKT(23,5)=830.550000 !rg=0.0605833 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,6,1:6)=(/ 6723.100000,3128.600000,1130.800000,266.590000,32.742000,3.251000 /) -XPIZA_LKT(23,6,1:6)=(/ 0.983763,0.981097,0.971591,0.975187,0.908940,0.577221 /) -XCGA_LKT(23,6,1:6)=(/ 0.723320,0.640137,0.497883,0.290613,0.098007,0.024617 /) -XEXT_COEFF_550_LKT(23,6)=1159.000000 !rg=0.0605833 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,7,1:6)=(/ 6459.700000,3587.500000,1500.900000,406.770000,54.670000,4.799200 /) -XPIZA_LKT(23,7,1:6)=(/ 0.982660,0.982615,0.976892,0.982514,0.943425,0.709990 /) -XCGA_LKT(23,7,1:6)=(/ 0.731183,0.680717,0.575563,0.394757,0.146827,0.036907 /) -XEXT_COEFF_550_LKT(23,7)=1534.500000 !rg=0.0605833 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,8,1:6)=(/ 5897.500000,3849.800000,1874.000000,586.110000,88.186000,7.512000 /) -XPIZA_LKT(23,8,1:6)=(/ 0.980595,0.983068,0.980180,0.986899,0.963319,0.811442 /) -XCGA_LKT(23,8,1:6)=(/ 0.731840,0.706217,0.633363,0.484100,0.215443,0.054080 /) -XEXT_COEFF_550_LKT(23,8)=1910.200000 !rg=0.0605833 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,9,1:6)=(/ 5200.500000,3862.600000,2198.600000,803.090000,136.790000,12.244000 /) -XPIZA_LKT(23,9,1:6)=(/ 0.977584,0.982497,0.982062,0.989651,0.974985,0.881492 /) -XCGA_LKT(23,9,1:6)=(/ 0.730287,0.719270,0.674747,0.561863,0.309910,0.078573 /) -XEXT_COEFF_550_LKT(23,9)=2234.100000 !rg=0.0605833 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,10,1:6)=(/ 4456.700000,3644.000000,2407.400000,1033.200000,206.230000,20.232000 /) -XPIZA_LKT(23,10,1:6)=(/ 0.973817,0.980875,0.982769,0.991351,0.982207,0.925977 /) -XCGA_LKT(23,10,1:6)=(/ 0.729723,0.722630,0.701513,0.621080,0.415450,0.113857 /) -XEXT_COEFF_550_LKT(23,10)=2438.400000 !rg=0.0605833 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,11,1:6)=(/ 3729.200000,3291.600000,2457.900000,1253.000000,298.100000,33.218000 /) -XPIZA_LKT(23,11,1:6)=(/ 0.968896,0.978422,0.982393,0.992386,0.986785,0.953082 /) -XCGA_LKT(23,11,1:6)=(/ 0.728637,0.723433,0.715557,0.666687,0.500563,0.165530 /) -XEXT_COEFF_550_LKT(23,11)=2481.100000 !rg=0.0605833 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,12,1:6)=(/ 3090.400000,2899.000000,2345.800000,1422.000000,407.450000,52.684000 /) -XPIZA_LKT(23,12,1:6)=(/ 0.963239,0.975077,0.980923,0.992898,0.989603,0.968957 /) -XCGA_LKT(23,12,1:6)=(/ 0.731363,0.724427,0.719350,0.698037,0.575623,0.241480 /) -XEXT_COEFF_550_LKT(23,12)=2359.000000 !rg=0.0605833 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,13,1:6)=(/ 2540.500000,2478.800000,2133.100000,1501.800000,527.470000,80.173000 /) -XPIZA_LKT(23,13,1:6)=(/ 0.955935,0.970949,0.978488,0.992941,0.991414,0.978313 /) -XCGA_LKT(23,13,1:6)=(/ 0.734260,0.726323,0.718300,0.716087,0.635760,0.346943 /) -XEXT_COEFF_550_LKT(23,13)=2144.100000 !rg=0.0605833 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,14,1:6)=(/ 2077.700000,2088.100000,1897.600000,1472.600000,643.820000,119.560000 /) -XPIZA_LKT(23,14,1:6)=(/ 0.947593,0.965260,0.975397,0.992511,0.992529,0.984307 /) -XCGA_LKT(23,14,1:6)=(/ 0.738817,0.728117,0.720553,0.721793,0.682003,0.456147 /) -XEXT_COEFF_550_LKT(23,14)=1903.900000 !rg=0.0605833 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,15,1:6)=(/ 1698.300000,1735.400000,1653.400000,1358.700000,737.620000,169.090000 /) -XPIZA_LKT(23,15,1:6)=(/ 0.938243,0.959313,0.971334,0.991635,0.993126,0.988105 /) -XCGA_LKT(23,15,1:6)=(/ 0.748907,0.731383,0.723640,0.719523,0.714487,0.533823 /) -XEXT_COEFF_550_LKT(23,15)=1653.200000 !rg=0.0605833 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,16,1:6)=(/ 1377.500000,1425.100000,1394.300000,1216.900000,789.660000,226.290000 /) -XPIZA_LKT(23,16,1:6)=(/ 0.928918,0.952964,0.966531,0.990433,0.993277,0.990452 /) -XCGA_LKT(23,16,1:6)=(/ 0.758243,0.738397,0.725827,0.718113,0.734370,0.604483 /) -XEXT_COEFF_550_LKT(23,16)=1401.000000 !rg=0.0605833 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,17,1:6)=(/ 1126.800000,1175.800000,1172.400000,1079.700000,785.100000,285.350000 /) -XPIZA_LKT(23,17,1:6)=(/ 0.916291,0.943869,0.961364,0.988937,0.992982,0.991937 /) -XCGA_LKT(23,17,1:6)=(/ 0.765860,0.744627,0.731120,0.720443,0.742007,0.657780 /) -XEXT_COEFF_550_LKT(23,17)=1174.300000 !rg=0.0605833 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,18,1:6)=(/ 921.100000,961.090000,977.600000,929.190000,731.070000,339.550000 /) -XPIZA_LKT(23,18,1:6)=(/ 0.902798,0.934581,0.953763,0.986997,0.992212,0.992833 /) -XCGA_LKT(23,18,1:6)=(/ 0.778717,0.750960,0.735760,0.723283,0.739483,0.698490 /) -XEXT_COEFF_550_LKT(23,18)=972.220000 !rg=0.0605833 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,19,1:6)=(/ 749.960000,782.430000,804.590000,784.700000,654.110000,379.370000 /) -XPIZA_LKT(23,19,1:6)=(/ 0.888167,0.924713,0.946357,0.984920,0.991094,0.993261 /) -XCGA_LKT(23,19,1:6)=(/ 0.790663,0.762520,0.742230,0.727240,0.734920,0.725783 /) -XEXT_COEFF_550_LKT(23,19)=807.100000 !rg=0.0605833 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(23,20,1:6)=(/ 614.740000,643.640000,660.830000,663.040000,581.550000,395.180000 /) -XPIZA_LKT(23,20,1:6)=(/ 0.872438,0.911646,0.938380,0.981909,0.989808,0.993251 /) -XCGA_LKT(23,20,1:6)=(/ 0.799347,0.772307,0.750250,0.731113,0.736353,0.740580 /) -XEXT_COEFF_550_LKT(23,20)=661.020000 !rg=0.0605833 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,1,1:6)=(/ 5099.200000,1274.300000,284.660000,45.588000,6.426000,1.568100 /) -XPIZA_LKT(24,1,1:6)=(/ 0.980017,0.963868,0.910783,0.876397,0.567270,0.140856 /) -XCGA_LKT(24,1,1:6)=(/ 0.633857,0.264210,0.106823,0.042113,0.013410,0.003310 /) -XEXT_COEFF_550_LKT(24,1)=291.630000 !rg=0.0656333 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,2,1:6)=(/ 5481.200000,1443.500000,344.530000,55.925000,7.386300,1.627200 /) -XPIZA_LKT(24,2,1:6)=(/ 0.981631,0.967142,0.924711,0.897965,0.621852,0.171104 /) -XCGA_LKT(24,2,1:6)=(/ 0.634597,0.333860,0.135633,0.053387,0.017027,0.004207 /) -XEXT_COEFF_550_LKT(24,2)=353.870000 !rg=0.0656333 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,3,1:6)=(/ 6024.100000,1795.600000,467.530000,80.388000,9.718500,1.770900 /) -XPIZA_LKT(24,3,1:6)=(/ 0.983044,0.971878,0.942344,0.927224,0.709915,0.236506 /) -XCGA_LKT(24,3,1:6)=(/ 0.662863,0.444830,0.203750,0.080847,0.025903,0.006420 /) -XEXT_COEFF_550_LKT(24,3)=480.780000 !rg=0.0656333 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,4,1:6)=(/ 6555.000000,2300.000000,663.690000,127.300000,14.593000,2.073900 /) -XPIZA_LKT(24,4,1:6)=(/ 0.983993,0.976485,0.956949,0.952288,0.803789,0.345271 /) -XCGA_LKT(24,4,1:6)=(/ 0.694670,0.539403,0.316027,0.135470,0.044000,0.010967 /) -XEXT_COEFF_550_LKT(24,4)=682.300000 !rg=0.0656333 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,5,1:6)=(/ 6846.600000,2861.500000,942.910000,204.730000,23.971000,2.671100 /) -XPIZA_LKT(24,5,1:6)=(/ 0.984228,0.979876,0.967346,0.968795,0.877727,0.488190 /) -XCGA_LKT(24,5,1:6)=(/ 0.717970,0.609300,0.434407,0.221690,0.073450,0.018420 /) -XEXT_COEFF_550_LKT(24,5)=968.060000 !rg=0.0656333 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,6,1:6)=(/ 6769.200000,3378.300000,1287.000000,318.920000,40.269000,3.764600 /) -XPIZA_LKT(24,6,1:6)=(/ 0.983619,0.981992,0.974144,0.978633,0.924886,0.633194 /) -XCGA_LKT(24,6,1:6)=(/ 0.730650,0.659293,0.529020,0.327780,0.114600,0.028847 /) -XEXT_COEFF_550_LKT(24,6)=1318.100000 !rg=0.0656333 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,7,1:6)=(/ 6332.600000,3761.200000,1666.400000,476.190000,66.698000,5.724300 /) -XPIZA_LKT(24,7,1:6)=(/ 0.982076,0.983031,0.978501,0.984581,0.952796,0.755252 /) -XCGA_LKT(24,7,1:6)=(/ 0.734520,0.693507,0.599977,0.428887,0.171700,0.043237 /) -XEXT_COEFF_550_LKT(24,7)=1701.800000 !rg=0.0656333 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,8,1:6)=(/ 5665.000000,3918.800000,2026.000000,671.920000,105.940000,9.144500 /) -XPIZA_LKT(24,8,1:6)=(/ 0.979626,0.983045,0.981130,0.988177,0.968790,0.843691 /) -XCGA_LKT(24,8,1:6)=(/ 0.733470,0.713687,0.651363,0.515810,0.251230,0.063340 /) -XEXT_COEFF_550_LKT(24,8)=2063.000000 !rg=0.0656333 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,9,1:6)=(/ 4912.000000,3824.600000,2311.100000,897.800000,162.520000,15.060000 /) -XPIZA_LKT(24,9,1:6)=(/ 0.976276,0.982034,0.982507,0.990452,0.978348,0.902473 /) -XCGA_LKT(24,9,1:6)=(/ 0.731593,0.722487,0.687127,0.586560,0.353923,0.092047 /) -XEXT_COEFF_550_LKT(24,9)=2345.600000 !rg=0.0656333 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,10,1:6)=(/ 4164.800000,3530.300000,2457.300000,1128.200000,241.770000,24.873000 /) -XPIZA_LKT(24,10,1:6)=(/ 0.971753,0.980086,0.982781,0.991852,0.984365,0.938853 /) -XCGA_LKT(24,10,1:6)=(/ 0.729050,0.724303,0.708753,0.640753,0.452040,0.133497 /) -XEXT_COEFF_550_LKT(24,10)=2485.200000 !rg=0.0656333 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,11,1:6)=(/ 3454.700000,3151.700000,2437.000000,1332.200000,340.290000,40.352000 /) -XPIZA_LKT(24,11,1:6)=(/ 0.966639,0.977206,0.981972,0.992656,0.988081,0.960649 /) -XCGA_LKT(24,11,1:6)=(/ 0.729487,0.724187,0.718380,0.680567,0.531043,0.194347 /) -XEXT_COEFF_550_LKT(24,11)=2456.600000 !rg=0.0656333 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,12,1:6)=(/ 2855.300000,2738.700000,2274.400000,1468.200000,456.390000,62.820000 /) -XPIZA_LKT(24,12,1:6)=(/ 0.960027,0.973564,0.980076,0.992976,0.990450,0.973356 /) -XCGA_LKT(24,12,1:6)=(/ 0.731887,0.726243,0.719310,0.706643,0.602150,0.282753 /) -XEXT_COEFF_550_LKT(24,12)=2288.300000 !rg=0.0656333 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,13,1:6)=(/ 2331.100000,2318.200000,2044.100000,1503.900000,577.010000,94.758000 /) -XPIZA_LKT(24,13,1:6)=(/ 0.952399,0.968580,0.977428,0.992829,0.991937,0.981080 /) -XCGA_LKT(24,13,1:6)=(/ 0.735287,0.726677,0.719833,0.719560,0.655913,0.395340 /) -XEXT_COEFF_550_LKT(24,13)=2052.400000 !rg=0.0656333 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,14,1:6)=(/ 1908.800000,1937.600000,1806.100000,1435.300000,686.490000,139.280000 /) -XPIZA_LKT(24,14,1:6)=(/ 0.943238,0.962838,0.973982,0.992217,0.992821,0.986121 /) -XCGA_LKT(24,14,1:6)=(/ 0.743580,0.728973,0.722190,0.721583,0.696657,0.490910 /) -XEXT_COEFF_550_LKT(24,14)=1809.400000 !rg=0.0656333 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,15,1:6)=(/ 1549.200000,1597.400000,1546.300000,1305.000000,765.350000,191.410000 /) -XPIZA_LKT(24,15,1:6)=(/ 0.934352,0.957280,0.969491,0.991180,0.993233,0.989184 /) -XCGA_LKT(24,15,1:6)=(/ 0.752087,0.735323,0.724673,0.718833,0.724047,0.563360 /) -XEXT_COEFF_550_LKT(24,15)=1550.900000 !rg=0.0656333 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,16,1:6)=(/ 1260.700000,1317.200000,1299.000000,1163.800000,794.760000,250.970000 /) -XPIZA_LKT(24,16,1:6)=(/ 0.923659,0.949043,0.964846,0.989844,0.993209,0.991161 /) -XCGA_LKT(24,16,1:6)=(/ 0.761000,0.740537,0.728997,0.718443,0.738780,0.628550 /) -XEXT_COEFF_550_LKT(24,16)=1303.700000 !rg=0.0656333 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,17,1:6)=(/ 1033.600000,1079.000000,1090.100000,1018.900000,767.840000,309.330000 /) -XPIZA_LKT(24,17,1:6)=(/ 0.910529,0.939936,0.958152,0.988295,0.992716,0.992376 /) -XCGA_LKT(24,17,1:6)=(/ 0.772437,0.745900,0.732970,0.723210,0.741703,0.676250 /) -XEXT_COEFF_550_LKT(24,17)=1084.800000 !rg=0.0656333 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,18,1:6)=(/ 841.200000,879.380000,901.400000,866.800000,699.960000,358.600000 /) -XPIZA_LKT(24,18,1:6)=(/ 0.896381,0.930947,0.951108,0.986385,0.991808,0.993061 /) -XCGA_LKT(24,18,1:6)=(/ 0.783383,0.757827,0.737393,0.726070,0.737747,0.711223 /) -XEXT_COEFF_550_LKT(24,18)=902.720000 !rg=0.0656333 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,19,1:6)=(/ 687.600000,720.940000,738.810000,735.140000,624.280000,389.180000 /) -XPIZA_LKT(24,19,1:6)=(/ 0.881044,0.918995,0.943672,0.983578,0.990579,0.993308 /) -XCGA_LKT(24,19,1:6)=(/ 0.793987,0.766537,0.746343,0.728897,0.734980,0.733397 /) -XEXT_COEFF_550_LKT(24,19)=740.980000 !rg=0.0656333 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(24,20,1:6)=(/ 564.260000,588.770000,610.230000,612.750000,553.860000,393.020000 /) -XPIZA_LKT(24,20,1:6)=(/ 0.866299,0.905690,0.933329,0.980655,0.989114,0.993111 /) -XCGA_LKT(24,20,1:6)=(/ 0.805837,0.774373,0.754227,0.730143,0.737357,0.742897 /) -XEXT_COEFF_550_LKT(24,20)=605.350000 !rg=0.0656333 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,1,1:6)=(/ 5876.000000,1500.400000,351.590000,56.457000,7.429400,1.629900 /) -XPIZA_LKT(25,1,1:6)=(/ 0.982226,0.968247,0.925708,0.898647,0.623726,0.172302 /) -XCGA_LKT(25,1,1:6)=(/ 0.644623,0.316663,0.125620,0.049363,0.015730,0.003883 /) -XEXT_COEFF_550_LKT(25,1)=361.550000 !rg=0.0711042 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,2,1:6)=(/ 6068.000000,1686.200000,422.610000,69.482000,8.647900,1.704900 /) -XPIZA_LKT(25,2,1:6)=(/ 0.983062,0.970664,0.936831,0.916472,0.675074,0.207637 /) -XCGA_LKT(25,2,1:6)=(/ 0.654257,0.393643,0.159667,0.062570,0.019967,0.004937 /) -XEXT_COEFF_550_LKT(25,2)=435.040000 !rg=0.0711042 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,3,1:6)=(/ 6520.500000,2081.300000,563.450000,99.930000,11.604000,1.887300 /) -XPIZA_LKT(25,3,1:6)=(/ 0.983968,0.974624,0.950660,0.940301,0.755238,0.282156 /) -XCGA_LKT(25,3,1:6)=(/ 0.684047,0.494920,0.238593,0.094670,0.030360,0.007530 /) -XEXT_COEFF_550_LKT(25,3)=579.790000 !rg=0.0711042 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,4,1:6)=(/ 6911.200000,2603.200000,784.540000,156.630000,17.757000,2.271800 /) -XPIZA_LKT(25,4,1:6)=(/ 0.984501,0.978407,0.962271,0.960333,0.837183,0.400690 /) -XCGA_LKT(25,4,1:6)=(/ 0.710883,0.574097,0.357687,0.157930,0.051507,0.012860 /) -XEXT_COEFF_550_LKT(25,4)=806.540000 !rg=0.0711042 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,5,1:6)=(/ 7010.000000,3146.900000,1090.800000,247.580000,29.472000,3.029400 /) -XPIZA_LKT(25,5,1:6)=(/ 0.984327,0.981110,0.970708,0.973491,0.899290,0.547005 /) -XCGA_LKT(25,5,1:6)=(/ 0.728497,0.633657,0.471550,0.254833,0.085877,0.021593 /) -XEXT_COEFF_550_LKT(25,5)=1119.200000 !rg=0.0711042 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,6,1:6)=(/ 6732.500000,3608.300000,1452.200000,378.680000,49.443000,4.415200 /) -XPIZA_LKT(25,6,1:6)=(/ 0.983290,0.982693,0.976265,0.981438,0.937844,0.685556 /) -XCGA_LKT(25,6,1:6)=(/ 0.736177,0.676283,0.558170,0.364153,0.133930,0.033800 /) -XEXT_COEFF_550_LKT(25,6)=1486.100000 !rg=0.0711042 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,7,1:6)=(/ 6141.700000,3898.500000,1830.700000,552.600000,80.914000,6.892400 /) -XPIZA_LKT(25,7,1:6)=(/ 0.981316,0.983279,0.979819,0.986266,0.960326,0.795192 /) -XCGA_LKT(25,7,1:6)=(/ 0.736567,0.704473,0.622027,0.462330,0.200533,0.050643 /) -XEXT_COEFF_550_LKT(25,7)=1867.600000 !rg=0.0711042 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,8,1:6)=(/ 5400.700000,3943.200000,2166.100000,763.710000,126.620000,11.192000 /) -XPIZA_LKT(25,8,1:6)=(/ 0.978405,0.982871,0.981888,0.989245,0.973245,0.870962 /) -XCGA_LKT(25,8,1:6)=(/ 0.733710,0.719690,0.667197,0.545293,0.291040,0.074183 /) -XEXT_COEFF_550_LKT(25,8)=2202.700000 !rg=0.0711042 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,9,1:6)=(/ 4615.200000,3748.300000,2400.600000,994.900000,192.500000,18.541000 /) -XPIZA_LKT(25,9,1:6)=(/ 0.974630,0.981461,0.982796,0.991109,0.981169,0.919709 /) -XCGA_LKT(25,9,1:6)=(/ 0.731717,0.724963,0.697387,0.609233,0.395943,0.107847 /) -XEXT_COEFF_550_LKT(25,9)=2433.300000 !rg=0.0711042 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,10,1:6)=(/ 3859.400000,3405.100000,2479.000000,1217.900000,280.040000,30.460000 /) -XPIZA_LKT(25,10,1:6)=(/ 0.969573,0.979065,0.982621,0.992241,0.986110,0.949225 /) -XCGA_LKT(25,10,1:6)=(/ 0.728993,0.725160,0.714003,0.657907,0.484330,0.156590 /) -XEXT_COEFF_550_LKT(25,10)=2504.600000 !rg=0.0711042 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,11,1:6)=(/ 3203.600000,2997.300000,2394.000000,1399.200000,386.090000,48.637000 /) -XPIZA_LKT(25,11,1:6)=(/ 0.963584,0.975978,0.981367,0.992842,0.989168,0.966684 /) -XCGA_LKT(25,11,1:6)=(/ 0.730313,0.726450,0.719763,0.692200,0.561467,0.228100 /) -XEXT_COEFF_550_LKT(25,11)=2411.200000 !rg=0.0711042 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,12,1:6)=(/ 2617.300000,2574.200000,2192.700000,1497.700000,505.230000,74.500000 /) -XPIZA_LKT(25,12,1:6)=(/ 0.956682,0.971610,0.979167,0.992972,0.991139,0.976938 /) -XCGA_LKT(25,12,1:6)=(/ 0.732037,0.726633,0.720213,0.712993,0.624913,0.328680 /) -XEXT_COEFF_550_LKT(25,12)=2203.700000 !rg=0.0711042 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,13,1:6)=(/ 2144.600000,2153.900000,1956.900000,1489.300000,624.270000,111.760000 /) -XPIZA_LKT(25,13,1:6)=(/ 0.948187,0.966235,0.976109,0.992640,0.992368,0.983436 /) -XCGA_LKT(25,13,1:6)=(/ 0.739297,0.727107,0.720823,0.721413,0.673890,0.439417 /) -XEXT_COEFF_550_LKT(25,13)=1962.000000 !rg=0.0711042 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,14,1:6)=(/ 1741.400000,1792.000000,1702.700000,1390.100000,723.680000,159.920000 /) -XPIZA_LKT(25,14,1:6)=(/ 0.939640,0.960835,0.972472,0.991835,0.993049,0.987574 /) -XCGA_LKT(25,14,1:6)=(/ 0.746423,0.733047,0.724563,0.720710,0.708953,0.520953 /) -XEXT_COEFF_550_LKT(25,14)=1710.000000 !rg=0.0711042 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,15,1:6)=(/ 1416.100000,1475.000000,1442.200000,1250.000000,783.860000,215.520000 /) -XPIZA_LKT(25,15,1:6)=(/ 0.930371,0.953925,0.967916,0.990664,0.993276,0.990098 /) -XCGA_LKT(25,15,1:6)=(/ 0.755960,0.736780,0.727103,0.717993,0.731083,0.592657 /) -XEXT_COEFF_550_LKT(25,15)=1445.300000 !rg=0.0711042 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,16,1:6)=(/ 1159.000000,1208.400000,1213.300000,1106.900000,790.480000,275.190000 /) -XPIZA_LKT(25,16,1:6)=(/ 0.917663,0.944946,0.961998,0.989300,0.993060,0.991728 /) -XCGA_LKT(25,16,1:6)=(/ 0.766560,0.741530,0.730487,0.721493,0.741020,0.649197 /) -XEXT_COEFF_550_LKT(25,16)=1211.400000 !rg=0.0711042 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,17,1:6)=(/ 942.040000,989.680000,1005.600000,958.250000,743.340000,331.110000 /) -XPIZA_LKT(25,17,1:6)=(/ 0.904824,0.935508,0.955029,0.987429,0.992395,0.992717 /) -XCGA_LKT(25,17,1:6)=(/ 0.775883,0.751870,0.733113,0.724603,0.740710,0.692193 /) -XEXT_COEFF_550_LKT(25,17)=1005.200000 !rg=0.0711042 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,18,1:6)=(/ 768.980000,807.180000,828.710000,810.340000,669.420000,373.760000 /) -XPIZA_LKT(25,18,1:6)=(/ 0.890167,0.925983,0.948694,0.985278,0.991327,0.993215 /) -XCGA_LKT(25,18,1:6)=(/ 0.788423,0.761103,0.742903,0.726203,0.736087,0.721523 /) -XEXT_COEFF_550_LKT(25,18)=830.930000 !rg=0.0711042 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,19,1:6)=(/ 631.880000,660.380000,683.370000,682.260000,595.300000,394.080000 /) -XPIZA_LKT(25,19,1:6)=(/ 0.873931,0.913067,0.939190,0.982327,0.990042,0.993275 /) -XCGA_LKT(25,19,1:6)=(/ 0.800207,0.768723,0.749433,0.728833,0.735697,0.738450 /) -XEXT_COEFF_550_LKT(25,19)=679.940000 !rg=0.0711042 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(25,20,1:6)=(/ 515.350000,539.360000,559.570000,567.010000,523.110000,386.150000 /) -XPIZA_LKT(25,20,1:6)=(/ 0.860698,0.899130,0.928922,0.979345,0.988534,0.992890 /) -XCGA_LKT(25,20,1:6)=(/ 0.809577,0.781777,0.755730,0.736033,0.739860,0.743393 /) -XEXT_COEFF_550_LKT(25,20)=558.740000 !rg=0.0711042 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,1,1:6)=(/ 6421.700000,1741.100000,433.160000,70.204000,8.702900,1.708300 /) -XPIZA_LKT(26,1,1:6)=(/ 0.983966,0.971541,0.937883,0.917063,0.676807,0.209022 /) -XCGA_LKT(26,1,1:6)=(/ 0.647320,0.380350,0.148010,0.057867,0.018450,0.004557 /) -XEXT_COEFF_550_LKT(26,1)=446.520000 !rg=0.0770312 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,2,1:6)=(/ 6587.100000,1959.900000,515.330000,86.553000,10.249000,1.803400 /) -XPIZA_LKT(26,2,1:6)=(/ 0.984145,0.973502,0.946615,0.931661,0.723914,0.249571 /) -XCGA_LKT(26,2,1:6)=(/ 0.674253,0.457803,0.188343,0.073343,0.023413,0.005793 /) -XEXT_COEFF_550_LKT(26,2)=531.040000 !rg=0.0770312 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,3,1:6)=(/ 6960.600000,2394.500000,673.860000,124.140000,13.993000,2.034900 /) -XPIZA_LKT(26,3,1:6)=(/ 0.984672,0.976933,0.957360,0.950900,0.795276,0.332700 /) -XCGA_LKT(26,3,1:6)=(/ 0.703377,0.540520,0.278730,0.110860,0.035577,0.008833 /) -XEXT_COEFF_550_LKT(26,3)=693.460000 !rg=0.0770312 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,4,1:6)=(/ 7189.300000,2916.000000,920.940000,191.860000,21.741000,2.522900 /) -XPIZA_LKT(26,4,1:6)=(/ 0.984826,0.980013,0.966633,0.966809,0.865543,0.458643 /) -XCGA_LKT(26,4,1:6)=(/ 0.724887,0.604997,0.400770,0.183777,0.060270,0.015080 /) -XEXT_COEFF_550_LKT(26,4)=946.490000 !rg=0.0770312 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,5,1:6)=(/ 7081.900000,3423.000000,1251.200000,297.650000,36.289000,3.483700 /) -XPIZA_LKT(26,5,1:6)=(/ 0.984248,0.982115,0.973492,0.977302,0.917049,0.604343 /) -XCGA_LKT(26,5,1:6)=(/ 0.737000,0.655370,0.506947,0.290007,0.100347,0.025307 /) -XEXT_COEFF_550_LKT(26,5)=1282.800000 !rg=0.0770312 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,6,1:6)=(/ 6612.700000,3810.000000,1623.600000,445.770000,60.506000,5.238600 /) -XPIZA_LKT(26,6,1:6)=(/ 0.982800,0.983212,0.978036,0.983717,0.948316,0.733325 /) -XCGA_LKT(26,6,1:6)=(/ 0.740373,0.691083,0.585243,0.399777,0.156393,0.039597 /) -XEXT_COEFF_550_LKT(26,6)=1659.600000 !rg=0.0770312 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,7,1:6)=(/ 5897.800000,3994.400000,1992.000000,636.830000,97.584000,8.364200 /) -XPIZA_LKT(26,7,1:6)=(/ 0.980393,0.983358,0.980888,0.987666,0.966395,0.829768 /) -XCGA_LKT(26,7,1:6)=(/ 0.738190,0.713567,0.641920,0.495347,0.233560,0.059310 /) -XEXT_COEFF_550_LKT(26,7)=2029.900000 !rg=0.0770312 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,8,1:6)=(/ 5097.200000,3926.700000,2291.600000,858.580000,150.840000,13.747000 /) -XPIZA_LKT(26,8,1:6)=(/ 0.977089,0.982516,0.982436,0.990122,0.976928,0.893723 /) -XCGA_LKT(26,8,1:6)=(/ 0.734553,0.724133,0.681087,0.571547,0.333050,0.086880 /) -XEXT_COEFF_550_LKT(26,8)=2327.600000 !rg=0.0770312 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,9,1:6)=(/ 4296.100000,3647.100000,2466.300000,1092.200000,226.380000,22.805000 /) -XPIZA_LKT(26,9,1:6)=(/ 0.972735,0.980711,0.982900,0.991658,0.983505,0.933741 /) -XCGA_LKT(26,9,1:6)=(/ 0.730890,0.726940,0.705907,0.630147,0.433377,0.126390 /) -XEXT_COEFF_550_LKT(26,9)=2496.200000 !rg=0.0770312 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,10,1:6)=(/ 3577.000000,3258.500000,2474.100000,1302.300000,320.960000,37.087000 /) -XPIZA_LKT(26,10,1:6)=(/ 0.967035,0.978060,0.982292,0.992549,0.987523,0.957534 /) -XCGA_LKT(26,10,1:6)=(/ 0.730053,0.726853,0.717893,0.672973,0.515340,0.183723 /) -XEXT_COEFF_550_LKT(26,10)=2495.600000 !rg=0.0770312 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,11,1:6)=(/ 2940.500000,2838.500000,2330.900000,1453.700000,434.440000,58.166000 /) -XPIZA_LKT(26,11,1:6)=(/ 0.960725,0.974446,0.980669,0.992954,0.990087,0.971514 /) -XCGA_LKT(26,11,1:6)=(/ 0.730197,0.727400,0.721070,0.702000,0.589250,0.267143 /) -XEXT_COEFF_550_LKT(26,11)=2346.100000 !rg=0.0770312 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,12,1:6)=(/ 2408.200000,2397.800000,2109.000000,1509.600000,554.870000,88.155000 /) -XPIZA_LKT(26,12,1:6)=(/ 0.952885,0.969553,0.978032,0.992898,0.991706,0.979929 /) -XCGA_LKT(26,12,1:6)=(/ 0.735637,0.726943,0.720577,0.717643,0.645853,0.376507 /) -XEXT_COEFF_550_LKT(26,12)=2116.000000 !rg=0.0770312 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,13,1:6)=(/ 1953.800000,2001.200000,1859.200000,1460.600000,668.440000,130.730000 /) -XPIZA_LKT(26,13,1:6)=(/ 0.944920,0.964221,0.974853,0.992373,0.992695,0.985401 /) -XCGA_LKT(26,13,1:6)=(/ 0.741337,0.730767,0.723380,0.721963,0.689487,0.476227 /) -XEXT_COEFF_550_LKT(26,13)=1868.200000 !rg=0.0770312 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,14,1:6)=(/ 1587.600000,1650.900000,1598.700000,1337.500000,754.480000,181.610000 /) -XPIZA_LKT(26,14,1:6)=(/ 0.936312,0.958079,0.970685,0.991403,0.993187,0.988743 /) -XCGA_LKT(26,14,1:6)=(/ 0.751053,0.733723,0.725993,0.719360,0.719333,0.550433 /) -XEXT_COEFF_550_LKT(26,14)=1600.500000 !rg=0.0770312 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,15,1:6)=(/ 1301.300000,1357.000000,1345.700000,1194.600000,793.750000,240.220000 /) -XPIZA_LKT(26,15,1:6)=(/ 0.924708,0.950353,0.965571,0.990164,0.993241,0.990869 /) -XCGA_LKT(26,15,1:6)=(/ 0.760553,0.738410,0.727717,0.719700,0.736470,0.618267 /) -XEXT_COEFF_550_LKT(26,15)=1349.400000 !rg=0.0770312 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,16,1:6)=(/ 1056.900000,1113.100000,1122.800000,1050.300000,776.730000,299.520000 /) -XPIZA_LKT(26,16,1:6)=(/ 0.912247,0.940713,0.959274,0.988641,0.992841,0.992200 /) -XCGA_LKT(26,16,1:6)=(/ 0.768693,0.746667,0.731303,0.723297,0.741787,0.668393 /) -XEXT_COEFF_550_LKT(26,16)=1121.700000 !rg=0.0770312 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,17,1:6)=(/ 858.790000,904.970000,929.860000,893.820000,715.520000,351.150000 /) -XPIZA_LKT(26,17,1:6)=(/ 0.899224,0.931633,0.951995,0.986695,0.991980,0.992969 /) -XCGA_LKT(26,17,1:6)=(/ 0.783290,0.755427,0.738327,0.725020,0.738580,0.705817 /) -XEXT_COEFF_550_LKT(26,17)=927.870000 !rg=0.0770312 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,18,1:6)=(/ 706.720000,740.490000,763.280000,755.900000,638.400000,385.470000 /) -XPIZA_LKT(26,18,1:6)=(/ 0.882832,0.920316,0.944792,0.984264,0.990826,0.993286 /) -XCGA_LKT(26,18,1:6)=(/ 0.794187,0.763723,0.744903,0.727453,0.735243,0.730077 /) -XEXT_COEFF_550_LKT(26,18)=765.510000 !rg=0.0770312 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,19,1:6)=(/ 577.420000,606.260000,626.870000,633.610000,566.610000,393.990000 /) -XPIZA_LKT(26,19,1:6)=(/ 0.868042,0.906913,0.934571,0.980541,0.989487,0.993168 /) -XCGA_LKT(26,19,1:6)=(/ 0.803210,0.775200,0.750787,0.731557,0.738290,0.741720 /) -XEXT_COEFF_550_LKT(26,19)=624.340000 !rg=0.0770312 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(26,20,1:6)=(/ 471.250000,493.350000,513.270000,522.760000,492.690000,375.400000 /) -XPIZA_LKT(26,20,1:6)=(/ 0.855020,0.892612,0.923897,0.978259,0.987433,0.992578 /) -XCGA_LKT(26,20,1:6)=(/ 0.816330,0.786527,0.762267,0.738617,0.740330,0.742127 /) -XEXT_COEFF_550_LKT(26,20)=512.930000 !rg=0.0770312 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,1,1:6)=(/ 6748.600000,2002.600000,530.900000,87.553000,10.319000,1.807700 /) -XPIZA_LKT(27,1,1:6)=(/ 0.984869,0.974005,0.947734,0.932185,0.725478,0.251140 /) -XCGA_LKT(27,1,1:6)=(/ 0.664543,0.454503,0.174863,0.067847,0.021633,0.005350 /) -XEXT_COEFF_550_LKT(27,1)=547.870000 !rg=0.0834522 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,2,1:6)=(/ 7053.200000,2274.600000,623.130000,107.960000,12.279000,1.928500 /) -XPIZA_LKT(27,2,1:6)=(/ 0.984915,0.975900,0.954449,0.944044,0.767708,0.296734 /) -XCGA_LKT(27,2,1:6)=(/ 0.697083,0.519850,0.222710,0.085997,0.027450,0.006797 /) -XEXT_COEFF_550_LKT(27,2)=642.140000 !rg=0.0834522 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,3,1:6)=(/ 7329.400000,2729.600000,799.590000,153.880000,17.015000,2.222300 /) -XPIZA_LKT(27,3,1:6)=(/ 0.985173,0.978890,0.962759,0.959447,0.829985,0.387311 /) -XCGA_LKT(27,3,1:6)=(/ 0.720877,0.579903,0.324013,0.129843,0.041680,0.010360 /) -XEXT_COEFF_550_LKT(27,3)=822.650000 !rg=0.0834522 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,4,1:6)=(/ 7375.200000,3230.000000,1073.100000,233.730000,26.739000,2.841500 /) -XPIZA_LKT(27,4,1:6)=(/ 0.984966,0.981349,0.970222,0.972019,0.889305,0.517579 /) -XCGA_LKT(27,4,1:6)=(/ 0.736663,0.632210,0.443920,0.213190,0.070493,0.017680 /) -XEXT_COEFF_550_LKT(27,4)=1102.300000 !rg=0.0834522 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,5,1:6)=(/ 7057.300000,3681.000000,1423.000000,355.350000,44.672000,4.059600 /) -XPIZA_LKT(27,5,1:6)=(/ 0.983983,0.982919,0.975808,0.980393,0.931552,0.658726 /) -XCGA_LKT(27,5,1:6)=(/ 0.743570,0.674570,0.540300,0.326513,0.117170,0.029653 /) -XEXT_COEFF_550_LKT(27,5)=1457.700000 !rg=0.0834522 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,6,1:6)=(/ 6421.900000,3976.300000,1797.000000,520.620000,73.707000,6.279200 /) -XPIZA_LKT(27,6,1:6)=(/ 0.982066,0.983562,0.979496,0.985580,0.956756,0.775923 /) -XCGA_LKT(27,6,1:6)=(/ 0.742787,0.703893,0.609897,0.435230,0.182373,0.046377 /) -XEXT_COEFF_550_LKT(27,6)=1834.900000 !rg=0.0834522 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,7,1:6)=(/ 5615.400000,4044.400000,2144.000000,727.690000,117.100000,10.212000 /) -XPIZA_LKT(27,7,1:6)=(/ 0.979180,0.983283,0.981753,0.988831,0.971327,0.859203 /) -XCGA_LKT(27,7,1:6)=(/ 0.738183,0.721010,0.659610,0.526367,0.270460,0.069447 /) -XEXT_COEFF_550_LKT(27,7)=2182.000000 !rg=0.0834522 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,8,1:6)=(/ 4781.700000,3867.900000,2396.400000,956.670000,179.090000,16.914000 /) -XPIZA_LKT(27,8,1:6)=(/ 0.975365,0.982040,0.982823,0.990844,0.979999,0.912499 /) -XCGA_LKT(27,8,1:6)=(/ 0.733830,0.727677,0.692903,0.595723,0.374173,0.101750 /) -XEXT_COEFF_550_LKT(27,8)=2430.900000 !rg=0.0834522 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,9,1:6)=(/ 3977.800000,3522.400000,2503.800000,1185.500000,263.280000,27.961000 /) -XPIZA_LKT(27,9,1:6)=(/ 0.970719,0.979789,0.982843,0.992095,0.985402,0.945075 /) -XCGA_LKT(27,9,1:6)=(/ 0.730593,0.728013,0.712523,0.648593,0.466737,0.148153 /) -XEXT_COEFF_550_LKT(27,9)=2531.300000 !rg=0.0834522 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,10,1:6)=(/ 3289.500000,3106.000000,2443.200000,1375.800000,365.460000,44.827000 /) -XPIZA_LKT(27,10,1:6)=(/ 0.964799,0.976816,0.981821,0.992777,0.988700,0.964170 /) -XCGA_LKT(27,10,1:6)=(/ 0.730147,0.728420,0.720550,0.685790,0.546313,0.215493 /) -XEXT_COEFF_550_LKT(27,10)=2463.100000 !rg=0.0834522 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,11,1:6)=(/ 2693.600000,2661.200000,2258.300000,1491.900000,483.200000,69.144000 /) -XPIZA_LKT(27,11,1:6)=(/ 0.958054,0.972755,0.979745,0.992991,0.990840,0.975430 /) -XCGA_LKT(27,11,1:6)=(/ 0.733447,0.728143,0.721557,0.709477,0.613213,0.311040 /) -XEXT_COEFF_550_LKT(27,11)=2268.400000 !rg=0.0834522 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,12,1:6)=(/ 2196.800000,2229.500000,2015.600000,1504.300000,603.440000,104.140000 /) -XPIZA_LKT(27,12,1:6)=(/ 0.949882,0.967826,0.976978,0.992751,0.992181,0.982467 /) -XCGA_LKT(27,12,1:6)=(/ 0.737623,0.729297,0.722503,0.720583,0.664877,0.421603 /) -XEXT_COEFF_550_LKT(27,12)=2026.500000 !rg=0.0834522 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,13,1:6)=(/ 1782.000000,1849.900000,1760.100000,1418.900000,708.540000,150.860000 /) -XPIZA_LKT(27,13,1:6)=(/ 0.941847,0.961962,0.973411,0.992044,0.992955,0.986988 /) -XCGA_LKT(27,13,1:6)=(/ 0.746260,0.731710,0.725250,0.721480,0.702830,0.507427 /) -XEXT_COEFF_550_LKT(27,13)=1763.800000 !rg=0.0834522 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,14,1:6)=(/ 1459.000000,1518.900000,1491.600000,1282.400000,777.160000,205.060000 /) -XPIZA_LKT(27,14,1:6)=(/ 0.931021,0.955137,0.968740,0.990962,0.993265,0.989722 /) -XCGA_LKT(27,14,1:6)=(/ 0.754720,0.735127,0.726300,0.719833,0.727497,0.580253 /) -XEXT_COEFF_550_LKT(27,14)=1498.500000 !rg=0.0834522 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,15,1:6)=(/ 1188.200000,1251.000000,1251.600000,1141.000000,793.600000,264.460000 /) -XPIZA_LKT(27,15,1:6)=(/ 0.919080,0.946100,0.963313,0.989601,0.993130,0.991489 /) -XCGA_LKT(27,15,1:6)=(/ 0.762380,0.741993,0.729433,0.721263,0.739583,0.639857 /) -XEXT_COEFF_550_LKT(27,15)=1252.400000 !rg=0.0834522 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,16,1:6)=(/ 964.560000,1016.600000,1040.400000,986.920000,756.160000,322.170000 /) -XPIZA_LKT(27,16,1:6)=(/ 0.906446,0.937053,0.955826,0.987883,0.992535,0.992583 /) -XCGA_LKT(27,16,1:6)=(/ 0.776967,0.749173,0.734217,0.724487,0.740917,0.685313 /) -XEXT_COEFF_550_LKT(27,16)=1034.900000 !rg=0.0834522 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,17,1:6)=(/ 789.630000,828.320000,855.200000,834.150000,684.230000,367.840000 /) -XPIZA_LKT(27,17,1:6)=(/ 0.891645,0.927414,0.949231,0.985798,0.991543,0.993158 /) -XCGA_LKT(27,17,1:6)=(/ 0.788090,0.759010,0.740827,0.726133,0.736947,0.716980 /) -XEXT_COEFF_550_LKT(27,17)=858.500000 !rg=0.0834522 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,18,1:6)=(/ 646.900000,680.430000,702.520000,706.610000,609.690000,392.190000 /) -XPIZA_LKT(27,18,1:6)=(/ 0.875539,0.914620,0.940542,0.982456,0.990288,0.993288 /) -XCGA_LKT(27,18,1:6)=(/ 0.796913,0.769400,0.746963,0.729827,0.736170,0.735927 /) -XEXT_COEFF_550_LKT(27,18)=701.410000 !rg=0.0834522 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,19,1:6)=(/ 528.150000,553.130000,576.950000,583.530000,538.050000,389.220000 /) -XPIZA_LKT(27,19,1:6)=(/ 0.861371,0.901021,0.929849,0.979533,0.988714,0.992977 /) -XCGA_LKT(27,19,1:6)=(/ 0.810800,0.779067,0.756537,0.733877,0.739373,0.742927 /) -XEXT_COEFF_550_LKT(27,19)=573.790000 !rg=0.0834522 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(27,20,1:6)=(/ 433.890000,451.680000,470.000000,481.330000,458.440000,361.080000 /) -XPIZA_LKT(27,20,1:6)=(/ 0.849070,0.886116,0.919288,0.976828,0.986920,0.992205 /) -XCGA_LKT(27,20,1:6)=(/ 0.820793,0.790910,0.766343,0.739873,0.741747,0.739897 /) -XEXT_COEFF_550_LKT(27,20)=471.620000 !rg=0.0834522 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,1,1:6)=(/ 7162.300000,2310.500000,645.280000,109.380000,12.369000,1.933900 /) -XPIZA_LKT(28,1,1:6)=(/ 0.985146,0.975993,0.955628,0.944522,0.769094,0.298472 /) -XCGA_LKT(28,1,1:6)=(/ 0.702147,0.532203,0.207323,0.079570,0.025367,0.006277 /) -XEXT_COEFF_550_LKT(28,1)=665.850000 !rg=0.0904084 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,2,1:6)=(/ 7473.600000,2634.800000,745.710000,134.650000,14.853000,2.087200 /) -XPIZA_LKT(28,2,1:6)=(/ 0.985458,0.978039,0.960668,0.954082,0.806182,0.348582 /) -XCGA_LKT(28,2,1:6)=(/ 0.720227,0.572093,0.263927,0.100887,0.032177,0.007973 /) -XEXT_COEFF_550_LKT(28,2)=767.890000 !rg=0.0904084 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,3,1:6)=(/ 7610.900000,3076.800000,941.680000,189.980000,20.836000,2.460100 /) -XPIZA_LKT(28,3,1:6)=(/ 0.985479,0.980551,0.967129,0.966313,0.859591,0.444788 /) -XCGA_LKT(28,3,1:6)=(/ 0.736170,0.612823,0.373473,0.152117,0.048827,0.012153 /) -XEXT_COEFF_550_LKT(28,3)=968.480000 !rg=0.0904084 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,4,1:6)=(/ 7456.700000,3535.800000,1240.700000,282.920000,32.984000,3.245600 /) -XPIZA_LKT(28,4,1:6)=(/ 0.984916,0.982448,0.973190,0.976213,0.908997,0.575856 /) -XCGA_LKT(28,4,1:6)=(/ 0.746160,0.656093,0.485807,0.246200,0.082410,0.020723 /) -XEXT_COEFF_550_LKT(28,4)=1273.600000 !rg=0.0904084 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,5,1:6)=(/ 6936.500000,3911.900000,1603.400000,421.040000,54.888000,4.788900 /) -XPIZA_LKT(28,5,1:6)=(/ 0.983496,0.983533,0.977739,0.982904,0.943323,0.708984 /) -XCGA_LKT(28,5,1:6)=(/ 0.748017,0.691410,0.571170,0.364043,0.136687,0.034737 /) -XEXT_COEFF_550_LKT(28,5)=1640.700000 !rg=0.0904084 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,6,1:6)=(/ 6156.400000,4100.300000,1969.500000,603.690000,89.331000,7.591500 /) -XPIZA_LKT(28,6,1:6)=(/ 0.981163,0.983744,0.980698,0.987121,0.963566,0.813136 /) -XCGA_LKT(28,6,1:6)=(/ 0.744003,0.714733,0.632250,0.470250,0.212113,0.054303 /) -XEXT_COEFF_550_LKT(28,6)=2008.600000 !rg=0.0904084 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,7,1:6)=(/ 5283.400000,4049.700000,2283.400000,823.060000,139.980000,12.523000 /) -XPIZA_LKT(28,7,1:6)=(/ 0.977843,0.983030,0.982408,0.989790,0.975383,0.883906 /) -XCGA_LKT(28,7,1:6)=(/ 0.738127,0.726827,0.675287,0.554573,0.309880,0.081307 /) -XEXT_COEFF_550_LKT(28,7)=2321.100000 !rg=0.0904084 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,8,1:6)=(/ 4437.300000,3778.100000,2478.500000,1056.200000,211.230000,20.806000 /) -XPIZA_LKT(28,8,1:6)=(/ 0.973488,0.981365,0.983028,0.991448,0.982538,0.927842 /) -XCGA_LKT(28,8,1:6)=(/ 0.732630,0.730217,0.702907,0.618107,0.411920,0.119177 /) -XEXT_COEFF_550_LKT(28,8)=2510.600000 !rg=0.0904084 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,9,1:6)=(/ 3678.600000,3377.000000,2514.300000,1274.800000,303.030000,34.111000 /) -XPIZA_LKT(28,9,1:6)=(/ 0.967989,0.978791,0.982616,0.992442,0.986940,0.954178 /) -XCGA_LKT(28,9,1:6)=(/ 0.729427,0.729777,0.717630,0.664950,0.498533,0.173690 /) -XEXT_COEFF_550_LKT(28,9)=2538.500000 !rg=0.0904084 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,10,1:6)=(/ 3017.000000,2938.800000,2393.100000,1438.300000,413.000000,53.772000 /) -XPIZA_LKT(28,10,1:6)=(/ 0.962265,0.975292,0.981164,0.992923,0.989696,0.969481 /) -XCGA_LKT(28,10,1:6)=(/ 0.731063,0.728737,0.722363,0.696803,0.575217,0.252320 /) -XEXT_COEFF_550_LKT(28,10)=2407.400000 !rg=0.0904084 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,11,1:6)=(/ 2462.900000,2482.800000,2172.400000,1513.400000,532.810000,81.942000 /) -XPIZA_LKT(28,11,1:6)=(/ 0.954889,0.971029,0.978799,0.992957,0.991457,0.978675 /) -XCGA_LKT(28,11,1:6)=(/ 0.734330,0.728980,0.722577,0.715317,0.635017,0.357710 /) -XEXT_COEFF_550_LKT(28,11)=2185.600000 !rg=0.0904084 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,12,1:6)=(/ 2002.000000,2068.400000,1922.100000,1483.200000,649.040000,122.250000 /) -XPIZA_LKT(28,12,1:6)=(/ 0.946809,0.965539,0.975698,0.992526,0.992549,0.984596 /) -XCGA_LKT(28,12,1:6)=(/ 0.740970,0.729690,0.724520,0.721887,0.681463,0.460257 /) -XEXT_COEFF_550_LKT(28,12)=1927.300000 !rg=0.0904084 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,13,1:6)=(/ 1635.400000,1703.400000,1652.600000,1369.900000,742.240000,171.960000 /) -XPIZA_LKT(28,13,1:6)=(/ 0.936758,0.959259,0.971623,0.991677,0.993130,0.988259 /) -XCGA_LKT(28,13,1:6)=(/ 0.749077,0.732680,0.726010,0.721557,0.714053,0.537057 /) -XEXT_COEFF_550_LKT(28,13)=1659.200000 !rg=0.0904084 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,14,1:6)=(/ 1331.600000,1403.900000,1389.100000,1229.700000,791.390000,229.630000 /) -XPIZA_LKT(28,14,1:6)=(/ 0.925457,0.951171,0.966696,0.990419,0.993260,0.990555 /) -XCGA_LKT(28,14,1:6)=(/ 0.756557,0.738107,0.727620,0.719960,0.733657,0.607310 /) -XEXT_COEFF_550_LKT(28,14)=1390.800000 !rg=0.0904084 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,15,1:6)=(/ 1087.100000,1144.200000,1165.600000,1081.000000,784.560000,288.880000 /) -XPIZA_LKT(28,15,1:6)=(/ 0.913075,0.942601,0.960038,0.988985,0.992944,0.991998 /) -XCGA_LKT(28,15,1:6)=(/ 0.769827,0.743420,0.731773,0.723537,0.741130,0.659700 /) -XEXT_COEFF_550_LKT(28,15)=1159.900000 !rg=0.0904084 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,16,1:6)=(/ 882.350000,928.270000,957.050000,922.990000,729.170000,342.980000 /) -XPIZA_LKT(28,16,1:6)=(/ 0.900405,0.933723,0.953408,0.987175,0.992184,0.992864 /) -XCGA_LKT(28,16,1:6)=(/ 0.781967,0.754607,0.736037,0.725743,0.739690,0.699807 /) -XEXT_COEFF_550_LKT(28,16)=959.660000 !rg=0.0904084 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,17,1:6)=(/ 723.330000,762.320000,785.110000,781.610000,653.960000,381.110000 /) -XPIZA_LKT(28,17,1:6)=(/ 0.883635,0.921705,0.946103,0.984478,0.991076,0.993256 /) -XCGA_LKT(28,17,1:6)=(/ 0.791140,0.763760,0.743220,0.727800,0.736570,0.726300 /) -XEXT_COEFF_550_LKT(28,17)=785.770000 !rg=0.0904084 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,18,1:6)=(/ 592.930000,620.990000,647.540000,651.580000,581.670000,394.290000 /) -XPIZA_LKT(28,18,1:6)=(/ 0.869019,0.909173,0.935961,0.981873,0.989720,0.993213 /) -XCGA_LKT(28,18,1:6)=(/ 0.804090,0.771860,0.751540,0.730290,0.737510,0.740173 /) -XEXT_COEFF_550_LKT(28,18)=642.880000 !rg=0.0904084 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,19,1:6)=(/ 484.570000,504.900000,527.240000,538.820000,505.310000,379.790000 /) -XPIZA_LKT(28,19,1:6)=(/ 0.855914,0.895174,0.925496,0.978626,0.988058,0.992707 /) -XCGA_LKT(28,19,1:6)=(/ 0.815727,0.785627,0.759627,0.737410,0.740840,0.742400 /) -XEXT_COEFF_550_LKT(28,19)=528.830000 !rg=0.0904084 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(28,20,1:6)=(/ 398.290000,415.230000,430.340000,446.390000,428.100000,345.570000 /) -XPIZA_LKT(28,20,1:6)=(/ 0.842885,0.878705,0.914493,0.974272,0.986104,0.991762 /) -XCGA_LKT(28,20,1:6)=(/ 0.823630,0.796563,0.769993,0.742730,0.744287,0.737573 /) -XEXT_COEFF_550_LKT(28,20)=430.250000 !rg=0.0904084 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,1,1:6)=(/ 7779.100000,2704.400000,775.280000,136.710000,14.970000,2.094100 /) -XPIZA_LKT(29,1,1:6)=(/ 0.985570,0.977944,0.961871,0.954536,0.807391,0.350463 /) -XCGA_LKT(29,1,1:6)=(/ 0.738977,0.597737,0.246903,0.093377,0.029743,0.007363 /) -XEXT_COEFF_550_LKT(29,1)=799.020000 !rg=0.0979445 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,2,1:6)=(/ 7822.200000,3027.500000,882.470000,167.670000,18.114000,2.288600 /) -XPIZA_LKT(29,2,1:6)=(/ 0.985836,0.979986,0.965567,0.962182,0.839380,0.404175 /) -XCGA_LKT(29,2,1:6)=(/ 0.739750,0.610080,0.313023,0.118447,0.037717,0.009353 /) -XEXT_COEFF_550_LKT(29,2)=907.770000 !rg=0.0979445 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,3,1:6)=(/ 7788.200000,3423.000000,1101.400000,233.270000,25.654000,2.761900 /) -XPIZA_LKT(29,3,1:6)=(/ 0.985594,0.981946,0.970693,0.971810,0.884498,0.503636 /) -XCGA_LKT(29,3,1:6)=(/ 0.748833,0.640300,0.425150,0.178247,0.057183,0.014253 /) -XEXT_COEFF_550_LKT(29,3)=1132.300000 !rg=0.0979445 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,4,1:6)=(/ 7425.100000,3822.900000,1422.600000,340.050000,40.743000,3.758200 /) -XPIZA_LKT(29,4,1:6)=(/ 0.984655,0.983333,0.975657,0.979593,0.925165,0.631893 /) -XCGA_LKT(29,4,1:6)=(/ 0.753260,0.677060,0.525240,0.282680,0.096283,0.024290 /) -XEXT_COEFF_550_LKT(29,4)=1458.900000 !rg=0.0979445 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,5,1:6)=(/ 6718.800000,4106.400000,1788.800000,495.240000,67.223000,5.711400 /) -XPIZA_LKT(29,5,1:6)=(/ 0.982806,0.983972,0.979340,0.984956,0.952839,0.754323 /) -XCGA_LKT(29,5,1:6)=(/ 0.750673,0.706020,0.599310,0.402330,0.159240,0.040683 /) -XEXT_COEFF_550_LKT(29,5)=1828.400000 !rg=0.0979445 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,6,1:6)=(/ 5838.800000,4176.800000,2135.300000,694.130000,107.740000,9.242300 /) -XPIZA_LKT(29,6,1:6)=(/ 0.979979,0.983759,0.981676,0.988398,0.969092,0.845074 /) -XCGA_LKT(29,6,1:6)=(/ 0.743973,0.723693,0.652257,0.503567,0.245493,0.063570 /) -XEXT_COEFF_550_LKT(29,6)=2175.100000 !rg=0.0979445 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,7,1:6)=(/ 4934.800000,4008.100000,2404.200000,922.740000,166.680000,15.396000 /) -XPIZA_LKT(29,7,1:6)=(/ 0.976159,0.982633,0.982894,0.990584,0.978741,0.904387 /) -XCGA_LKT(29,7,1:6)=(/ 0.736863,0.731317,0.688857,0.580763,0.349427,0.095183 /) -XEXT_COEFF_550_LKT(29,7)=2440.700000 !rg=0.0979445 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,8,1:6)=(/ 4095.700000,3656.100000,2533.200000,1153.400000,246.650000,25.535000 /) -XPIZA_LKT(29,8,1:6)=(/ 0.971469,0.980539,0.983075,0.991936,0.984605,0.940276 /) -XCGA_LKT(29,8,1:6)=(/ 0.731787,0.731820,0.711033,0.638090,0.446290,0.139597 /) -XEXT_COEFF_550_LKT(29,8)=2563.000000 !rg=0.0979445 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,9,1:6)=(/ 3373.100000,3221.000000,2497.600000,1354.800000,346.360000,41.339000 /) -XPIZA_LKT(29,9,1:6)=(/ 0.965208,0.977542,0.982244,0.992710,0.988216,0.961461 /) -XCGA_LKT(29,9,1:6)=(/ 0.728927,0.730543,0.721493,0.679087,0.530170,0.203557 /) -XEXT_COEFF_550_LKT(29,9)=2518.700000 !rg=0.0979445 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,10,1:6)=(/ 2768.200000,2758.700000,2325.000000,1485.300000,461.580000,64.093000 /) -XPIZA_LKT(29,10,1:6)=(/ 0.958656,0.973687,0.980369,0.993001,0.990517,0.973773 /) -XCGA_LKT(29,10,1:6)=(/ 0.730947,0.729597,0.723347,0.705527,0.600457,0.294017 /) -XEXT_COEFF_550_LKT(29,10)=2339.200000 !rg=0.0979445 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,11,1:6)=(/ 2249.300000,2310.300000,2083.300000,1518.000000,582.360000,96.950000 /) -XPIZA_LKT(29,11,1:6)=(/ 0.951420,0.968639,0.977712,0.992848,0.991977,0.981416 /) -XCGA_LKT(29,11,1:6)=(/ 0.735987,0.728373,0.724270,0.719263,0.655080,0.403103 /) -XEXT_COEFF_550_LKT(29,11)=2090.900000 !rg=0.0979445 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,12,1:6)=(/ 1837.000000,1912.000000,1820.500000,1448.600000,691.650000,141.750000 /) -XPIZA_LKT(29,12,1:6)=(/ 0.942035,0.963069,0.974154,0.992249,0.992842,0.986328 /) -XCGA_LKT(29,12,1:6)=(/ 0.743680,0.730840,0.725457,0.722707,0.695877,0.492840 /) -XEXT_COEFF_550_LKT(29,12)=1826.500000 !rg=0.0979445 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,13,1:6)=(/ 1491.900000,1572.900000,1543.400000,1318.800000,769.060000,194.700000 /) -XPIZA_LKT(29,13,1:6)=(/ 0.931499,0.955572,0.969801,0.991214,0.993238,0.989313 /) -XCGA_LKT(29,13,1:6)=(/ 0.750870,0.734397,0.726850,0.720827,0.723360,0.567160 /) -XEXT_COEFF_550_LKT(29,13)=1545.300000 !rg=0.0979445 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,14,1:6)=(/ 1219.800000,1285.400000,1297.600000,1171.900000,795.780000,253.940000 /) -XPIZA_LKT(29,14,1:6)=(/ 0.919707,0.947427,0.963887,0.989926,0.993187,0.991233 /) -XCGA_LKT(29,14,1:6)=(/ 0.763400,0.738707,0.729403,0.722127,0.737860,0.630080 /) -XEXT_COEFF_550_LKT(29,14)=1292.700000 !rg=0.0979445 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,15,1:6)=(/ 990.960000,1045.600000,1073.300000,1019.700000,767.030000,312.340000 /) -XPIZA_LKT(29,15,1:6)=(/ 0.907426,0.939351,0.957521,0.988345,0.992691,0.992422 /) -XCGA_LKT(29,15,1:6)=(/ 0.774507,0.749883,0.732160,0.725280,0.741337,0.677613 /) -XEXT_COEFF_550_LKT(29,15)=1074.500000 !rg=0.0979445 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,16,1:6)=(/ 807.480000,854.080000,880.460000,863.470000,700.470000,361.220000 /) -XPIZA_LKT(29,16,1:6)=(/ 0.893352,0.928379,0.951004,0.985970,0.991758,0.993085 /) -XCGA_LKT(29,16,1:6)=(/ 0.785670,0.758040,0.740343,0.725430,0.738237,0.711943 /) -XEXT_COEFF_550_LKT(29,16)=882.820000 !rg=0.0979445 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,17,1:6)=(/ 663.480000,696.640000,725.580000,726.680000,624.600000,389.780000 /) -XPIZA_LKT(29,17,1:6)=(/ 0.877097,0.916104,0.941552,0.983293,0.990554,0.993293 /) -XCGA_LKT(29,17,1:6)=(/ 0.798243,0.765537,0.746810,0.727747,0.736353,0.733173 /) -XEXT_COEFF_550_LKT(29,17)=719.980000 !rg=0.0979445 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,18,1:6)=(/ 542.260000,566.880000,592.550000,600.700000,551.160000,391.440000 /) -XPIZA_LKT(29,18,1:6)=(/ 0.862305,0.903488,0.931830,0.981030,0.989169,0.993054 /) -XCGA_LKT(29,18,1:6)=(/ 0.808873,0.779780,0.753207,0.735153,0.740307,0.742010 /) -XEXT_COEFF_550_LKT(29,18)=593.140000 !rg=0.0979445 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,19,1:6)=(/ 444.810000,464.560000,481.860000,498.500000,473.110000,367.330000 /) -XPIZA_LKT(29,19,1:6)=(/ 0.849837,0.887736,0.921659,0.976912,0.987215,0.992355 /) -XCGA_LKT(29,19,1:6)=(/ 0.819087,0.790440,0.765350,0.739000,0.742907,0.740717 /) -XEXT_COEFF_550_LKT(29,19)=483.240000 !rg=0.0979445 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(29,20,1:6)=(/ 365.970000,380.280000,396.180000,409.920000,400.090000,329.510000 /) -XPIZA_LKT(29,20,1:6)=(/ 0.837715,0.872187,0.908165,0.972828,0.985072,0.991253 /) -XCGA_LKT(29,20,1:6)=(/ 0.829337,0.799223,0.775127,0.742987,0.745653,0.734847 /) -XEXT_COEFF_550_LKT(29,20)=392.790000 !rg=0.0979445 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,1,1:6)=(/ 8176.600000,3189.800000,918.170000,170.710000,18.267000,2.297300 /) -XPIZA_LKT(30,1,1:6)=(/ 0.986259,0.980123,0.966721,0.962628,0.840424,0.406157 /) -XCGA_LKT(30,1,1:6)=(/ 0.754750,0.634890,0.295443,0.109677,0.034870,0.008637 /) -XEXT_COEFF_550_LKT(30,1)=944.410000 !rg=0.106109 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,2,1:6)=(/ 8061.900000,3421.200000,1033.900000,208.070000,22.242000,2.544300 /) -XPIZA_LKT(30,2,1:6)=(/ 0.986047,0.981706,0.969418,0.968689,0.867592,0.462216 /) -XCGA_LKT(30,2,1:6)=(/ 0.754210,0.635603,0.370133,0.139230,0.044210,0.010973 /) -XEXT_COEFF_550_LKT(30,2)=1062.700000 !rg=0.106109 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,3,1:6)=(/ 7845.400000,3755.400000,1280.000000,284.410000,31.715000,3.144900 /) -XPIZA_LKT(30,3,1:6)=(/ 0.985505,0.983092,0.973637,0.976203,0.905214,0.562220 /) -XCGA_LKT(30,3,1:6)=(/ 0.758603,0.663907,0.476253,0.208837,0.066963,0.016713 /) -XEXT_COEFF_550_LKT(30,3)=1315.100000 !rg=0.106109 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,4,1:6)=(/ 7276.200000,4081.200000,1616.100000,405.750000,50.318000,4.408000 /) -XPIZA_LKT(30,4,1:6)=(/ 0.984164,0.984021,0.977716,0.982325,0.938344,0.684361 /) -XCGA_LKT(30,4,1:6)=(/ 0.757850,0.695483,0.561340,0.322287,0.112423,0.028463 /) -XEXT_COEFF_550_LKT(30,4)=1655.600000 !rg=0.106109 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,5,1:6)=(/ 6419.900000,4256.900000,1975.400000,578.240000,81.991000,6.876800 /) -XPIZA_LKT(30,5,1:6)=(/ 0.981825,0.984236,0.980669,0.986645,0.960525,0.794355 /) -XCGA_LKT(30,5,1:6)=(/ 0.751253,0.718510,0.624713,0.440577,0.185123,0.047637 /) -XEXT_COEFF_550_LKT(30,5)=2016.500000 !rg=0.106109 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,6,1:6)=(/ 5474.500000,4202.800000,2290.500000,790.630000,129.390000,11.311000 /) -XPIZA_LKT(30,6,1:6)=(/ 0.978452,0.983610,0.982447,0.989452,0.973609,0.872064 /) -XCGA_LKT(30,6,1:6)=(/ 0.741920,0.730963,0.670087,0.534583,0.281653,0.074400 /) -XEXT_COEFF_550_LKT(30,6)=2330.200000 !rg=0.106109 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,7,1:6)=(/ 4562.100000,3926.500000,2503.300000,1025.000000,197.190000,18.938000 /) -XPIZA_LKT(30,7,1:6)=(/ 0.974138,0.982052,0.983203,0.991247,0.981506,0.921191 /) -XCGA_LKT(30,7,1:6)=(/ 0.734253,0.734700,0.700547,0.605033,0.387003,0.111413 /) -XEXT_COEFF_550_LKT(30,7)=2537.700000 !rg=0.106109 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,8,1:6)=(/ 3768.700000,3509.500000,2560.500000,1247.700000,285.190000,31.208000 /) -XPIZA_LKT(30,8,1:6)=(/ 0.968675,0.979573,0.982953,0.992328,0.986286,0.950290 /) -XCGA_LKT(30,8,1:6)=(/ 0.729340,0.733493,0.717550,0.655973,0.479143,0.163503 /) -XEXT_COEFF_550_LKT(30,8)=2587.100000 !rg=0.106109 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,9,1:6)=(/ 3090.000000,3041.400000,2458.800000,1424.900000,393.060000,49.739000 /) -XPIZA_LKT(30,9,1:6)=(/ 0.962263,0.976182,0.981673,0.992894,0.989293,0.967294 /) -XCGA_LKT(30,9,1:6)=(/ 0.730247,0.731467,0.724007,0.691383,0.560120,0.238197 /) -XEXT_COEFF_550_LKT(30,9)=2475.400000 !rg=0.106109 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,10,1:6)=(/ 2522.300000,2578.200000,2244.000000,1516.600000,511.170000,76.107000 /) -XPIZA_LKT(30,10,1:6)=(/ 0.954942,0.971566,0.979502,0.993007,0.991191,0.977310 /) -XCGA_LKT(30,10,1:6)=(/ 0.731050,0.729170,0.725040,0.712640,0.623277,0.339053 /) -XEXT_COEFF_550_LKT(30,10)=2255.400000 !rg=0.106109 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,11,1:6)=(/ 2061.200000,2138.200000,1988.400000,1505.200000,629.390000,114.140000 /) -XPIZA_LKT(30,11,1:6)=(/ 0.946682,0.966294,0.976432,0.992675,0.992389,0.983721 /) -XCGA_LKT(30,11,1:6)=(/ 0.738673,0.729077,0.725130,0.721870,0.672730,0.443170 /) -XEXT_COEFF_550_LKT(30,11)=1995.000000 !rg=0.106109 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,12,1:6)=(/ 1674.000000,1767.500000,1712.200000,1406.200000,728.280000,162.270000 /) -XPIZA_LKT(30,12,1:6)=(/ 0.937117,0.959614,0.972537,0.991876,0.993056,0.987717 /) -XCGA_LKT(30,12,1:6)=(/ 0.745123,0.731970,0.726797,0.722267,0.708040,0.522910 /) -XEXT_COEFF_550_LKT(30,12)=1714.300000 !rg=0.106109 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,13,1:6)=(/ 1365.900000,1442.900000,1441.800000,1262.600000,787.310000,218.950000 /) -XPIZA_LKT(30,13,1:6)=(/ 0.926129,0.952074,0.967232,0.990769,0.993269,0.990210 /) -XCGA_LKT(30,13,1:6)=(/ 0.757347,0.735050,0.727357,0.721820,0.730370,0.595457 /) -XEXT_COEFF_550_LKT(30,13)=1437.500000 !rg=0.106109 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,14,1:6)=(/ 1109.500000,1176.200000,1201.300000,1115.000000,790.980000,278.340000 /) -XPIZA_LKT(30,14,1:6)=(/ 0.914554,0.943897,0.961285,0.989360,0.993041,0.991784 /) -XCGA_LKT(30,14,1:6)=(/ 0.767330,0.744660,0.730030,0.724173,0.740347,0.650570 /) -XEXT_COEFF_550_LKT(30,14)=1202.200000 !rg=0.106109 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,15,1:6)=(/ 903.850000,957.980000,987.580000,955.760000,744.120000,333.840000 /) -XPIZA_LKT(30,15,1:6)=(/ 0.902109,0.934745,0.955369,0.987465,0.992352,0.992741 /) -XCGA_LKT(30,15,1:6)=(/ 0.779763,0.752673,0.736757,0.725207,0.740357,0.693007 /) -XEXT_COEFF_550_LKT(30,15)=989.570000 !rg=0.106109 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,16,1:6)=(/ 741.850000,781.270000,811.950000,804.230000,670.070000,375.890000 /) -XPIZA_LKT(30,16,1:6)=(/ 0.885371,0.922704,0.946879,0.984940,0.991290,0.993216 /) -XCGA_LKT(30,16,1:6)=(/ 0.792150,0.760093,0.742230,0.726097,0.736857,0.721983 /) -XEXT_COEFF_550_LKT(30,16)=809.500000 !rg=0.106109 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,17,1:6)=(/ 605.200000,638.060000,664.880000,673.410000,595.470000,394.080000 /) -XPIZA_LKT(30,17,1:6)=(/ 0.870728,0.910094,0.937317,0.981979,0.990031,0.993244 /) -XCGA_LKT(30,17,1:6)=(/ 0.802003,0.772917,0.747953,0.731907,0.738393,0.738157 /) -XEXT_COEFF_550_LKT(30,17)=663.320000 !rg=0.106109 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,18,1:6)=(/ 495.850000,519.890000,541.720000,556.380000,521.230000,384.070000 /) -XPIZA_LKT(30,18,1:6)=(/ 0.857329,0.896897,0.927855,0.979396,0.988257,0.992818 /) -XCGA_LKT(30,18,1:6)=(/ 0.814057,0.784507,0.760190,0.736477,0.741173,0.742367 /) -XEXT_COEFF_550_LKT(30,18)=543.170000 !rg=0.106109 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,19,1:6)=(/ 408.720000,425.570000,443.700000,458.800000,440.430000,352.320000 /) -XPIZA_LKT(30,19,1:6)=(/ 0.843641,0.880194,0.915670,0.974862,0.986485,0.991931 /) -XCGA_LKT(30,19,1:6)=(/ 0.824537,0.793360,0.769230,0.739027,0.743510,0.737980 /) -XEXT_COEFF_550_LKT(30,19)=441.850000 !rg=0.106109 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(30,20,1:6)=(/ 334.660000,348.430000,362.600000,376.490000,373.690000,313.680000 /) -XPIZA_LKT(30,20,1:6)=(/ 0.832496,0.866194,0.901783,0.970416,0.983760,0.990756 /) -XCGA_LKT(30,20,1:6)=(/ 0.832523,0.806213,0.777340,0.748673,0.745660,0.734367 /) -XEXT_COEFF_550_LKT(30,20)=361.780000 !rg=0.106109 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET3',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET3 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET4() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET4',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(31,1,1:6)=(/ 8217.700000,3668.300000,1071.000000,212.620000,22.443000,2.555300 /) -XPIZA_LKT(31,1,1:6)=(/ 0.986440,0.982322,0.970401,0.969142,0.868490,0.464248 /) -XCGA_LKT(31,1,1:6)=(/ 0.758317,0.644733,0.354757,0.129003,0.040880,0.010133 /) -XEXT_COEFF_550_LKT(31,1)=1099.400000 !rg=0.114954 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,2,1:6)=(/ 8171.600000,3783.600000,1203.400000,256.800000,27.459000,2.868800 /) -XPIZA_LKT(31,2,1:6)=(/ 0.986060,0.983121,0.972487,0.973894,0.891260,0.521150 /) -XCGA_LKT(31,2,1:6)=(/ 0.764690,0.655150,0.433227,0.163923,0.051813,0.012870 /) -XEXT_COEFF_550_LKT(31,2)=1236.800000 !rg=0.114954 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,3,1:6)=(/ 7769.400000,4062.200000,1477.000000,343.950000,39.310000,3.630900 /) -XPIZA_LKT(31,3,1:6)=(/ 0.985189,0.984006,0.976099,0.979710,0.922280,0.618930 /) -XCGA_LKT(31,3,1:6)=(/ 0.765350,0.684993,0.523843,0.244443,0.078407,0.019597 /) -XEXT_COEFF_550_LKT(31,3)=1516.400000 !rg=0.114954 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,4,1:6)=(/ 7011.600000,4300.300000,1817.700000,480.560000,62.036000,5.231100 /) -XPIZA_LKT(31,4,1:6)=(/ 0.983410,0.984521,0.979436,0.984544,0.949027,0.732263 /) -XCGA_LKT(31,4,1:6)=(/ 0.759940,0.711590,0.593687,0.364297,0.131163,0.033343 /) -XEXT_COEFF_550_LKT(31,4)=1859.700000 !rg=0.114954 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,5,1:6)=(/ 6043.800000,4355.700000,2157.700000,669.610000,99.543000,8.345800 /) -XPIZA_LKT(31,5,1:6)=(/ 0.980555,0.984328,0.981758,0.988036,0.966744,0.829028 /) -XCGA_LKT(31,5,1:6)=(/ 0.749740,0.728947,0.647410,0.477673,0.214430,0.055760 /) -XEXT_COEFF_550_LKT(31,5)=2199.800000 !rg=0.114954 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,6,1:6)=(/ 5071.600000,4177.900000,2429.100000,892.750000,154.660000,13.890000 /) -XPIZA_LKT(31,6,1:6)=(/ 0.976718,0.983268,0.983036,0.990327,0.977317,0.894573 /) -XCGA_LKT(31,6,1:6)=(/ 0.739773,0.736403,0.685687,0.563640,0.318990,0.087053 /) -XEXT_COEFF_550_LKT(31,6)=2467.900000 !rg=0.114954 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,7,1:6)=(/ 4186.800000,3807.700000,2575.800000,1126.600000,231.210000,23.262000 /) -XPIZA_LKT(31,7,1:6)=(/ 0.971890,0.981265,0.983348,0.991788,0.983759,0.934859 /) -XCGA_LKT(31,7,1:6)=(/ 0.732163,0.736600,0.710300,0.626933,0.422327,0.130390 /) -XEXT_COEFF_550_LKT(31,7)=2608.100000 !rg=0.114954 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,8,1:6)=(/ 3440.100000,3345.700000,2559.300000,1334.500000,327.410000,37.920000 /) -XPIZA_LKT(31,8,1:6)=(/ 0.965917,0.978339,0.982680,0.992639,0.987678,0.958321 /) -XCGA_LKT(31,8,1:6)=(/ 0.728437,0.733800,0.722680,0.671660,0.511697,0.191413 /) -XEXT_COEFF_550_LKT(31,8)=2582.400000 !rg=0.114954 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,9,1:6)=(/ 2809.300000,2855.000000,2396.800000,1480.800000,441.430000,59.464000 /) -XPIZA_LKT(31,9,1:6)=(/ 0.959285,0.974601,0.981021,0.993012,0.990185,0.972002 /) -XCGA_LKT(31,9,1:6)=(/ 0.729760,0.731793,0.726123,0.701477,0.586697,0.277593 /) -XEXT_COEFF_550_LKT(31,9)=2413.800000 !rg=0.114954 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,10,1:6)=(/ 2306.300000,2388.200000,2157.200000,1530.800000,561.430000,90.197000 /) -XPIZA_LKT(31,10,1:6)=(/ 0.950778,0.969356,0.978389,0.992940,0.991757,0.980279 /) -XCGA_LKT(31,10,1:6)=(/ 0.734697,0.728850,0.725933,0.717747,0.644427,0.384017 /) -XEXT_COEFF_550_LKT(31,10)=2164.600000 !rg=0.114954 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,11,1:6)=(/ 1874.700000,1981.900000,1883.700000,1479.500000,674.120000,132.930000 /) -XPIZA_LKT(31,11,1:6)=(/ 0.942355,0.963271,0.975084,0.992418,0.992716,0.985608 /) -XCGA_LKT(31,11,1:6)=(/ 0.739493,0.730570,0.727297,0.723120,0.688233,0.477187 /) -XEXT_COEFF_550_LKT(31,11)=1889.300000 !rg=0.114954 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,12,1:6)=(/ 1530.400000,1619.400000,1603.800000,1354.500000,759.030000,184.280000 /) -XPIZA_LKT(31,12,1:6)=(/ 0.931838,0.956472,0.970417,0.991499,0.993194,0.988857 /) -XCGA_LKT(31,12,1:6)=(/ 0.751217,0.731933,0.727000,0.722653,0.718450,0.553207 /) -XEXT_COEFF_550_LKT(31,12)=1601.100000 !rg=0.114954 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,13,1:6)=(/ 1241.300000,1322.500000,1338.200000,1208.000000,796.430000,243.310000 /) -XPIZA_LKT(31,13,1:6)=(/ 0.921329,0.948637,0.964803,0.990254,0.993232,0.990951 /) -XCGA_LKT(31,13,1:6)=(/ 0.760830,0.740293,0.728017,0.723360,0.735660,0.619563 /) -XEXT_COEFF_550_LKT(31,13)=1340.000000 !rg=0.114954 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,14,1:6)=(/ 1009.700000,1075.400000,1108.400000,1052.900000,778.010000,302.430000 /) -XPIZA_LKT(31,14,1:6)=(/ 0.909846,0.940240,0.958939,0.988643,0.992816,0.992247 /) -XCGA_LKT(31,14,1:6)=(/ 0.774173,0.747603,0.733873,0.725077,0.741223,0.669427 /) -XEXT_COEFF_550_LKT(31,14)=1107.600000 !rg=0.114954 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,15,1:6)=(/ 830.240000,876.930000,911.090000,891.430000,716.050000,353.480000 /) -XPIZA_LKT(31,15,1:6)=(/ 0.894798,0.929645,0.951938,0.986582,0.991970,0.992989 /) -XCGA_LKT(31,15,1:6)=(/ 0.785757,0.755177,0.738610,0.725663,0.738947,0.706147 /) -XEXT_COEFF_550_LKT(31,15)=913.680000 !rg=0.114954 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,16,1:6)=(/ 677.620000,716.670000,745.180000,751.840000,640.400000,386.650000 /) -XPIZA_LKT(31,16,1:6)=(/ 0.878532,0.917149,0.942573,0.983467,0.990810,0.993281 /) -XCGA_LKT(31,16,1:6)=(/ 0.795173,0.766587,0.743597,0.728910,0.737387,0.729973 /) -XEXT_COEFF_550_LKT(31,16)=742.230000 !rg=0.114954 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,17,1:6)=(/ 552.700000,582.400000,609.910000,619.910000,567.010000,393.160000 /) -XPIZA_LKT(31,17,1:6)=(/ 0.864466,0.904335,0.932660,0.981038,0.989412,0.993123 /) -XCGA_LKT(31,17,1:6)=(/ 0.809657,0.777483,0.754037,0.733283,0.739987,0.740957 /) -XEXT_COEFF_550_LKT(31,17)=608.510000 !rg=0.114954 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,18,1:6)=(/ 456.050000,476.460000,496.990000,513.170000,486.610000,372.770000 /) -XPIZA_LKT(31,18,1:6)=(/ 0.851195,0.889378,0.922886,0.977228,0.987723,0.992507 /) -XCGA_LKT(31,18,1:6)=(/ 0.819527,0.787840,0.763857,0.736833,0.742567,0.741107 /) -XEXT_COEFF_550_LKT(31,18)=498.630000 !rg=0.114954 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,19,1:6)=(/ 374.380000,390.530000,406.610000,423.570000,411.870000,336.420000 /) -XPIZA_LKT(31,19,1:6)=(/ 0.838298,0.873596,0.909511,0.972488,0.985532,0.991477 /) -XCGA_LKT(31,19,1:6)=(/ 0.827663,0.800110,0.771647,0.743723,0.744287,0.736273 /) -XEXT_COEFF_550_LKT(31,19)=404.710000 !rg=0.114954 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(31,20,1:6)=(/ 306.770000,318.970000,332.250000,344.540000,347.860000,299.380000 /) -XPIZA_LKT(31,20,1:6)=(/ 0.827072,0.859694,0.894837,0.968770,0.982169,0.990209 /) -XCGA_LKT(31,20,1:6)=(/ 0.838360,0.811013,0.784667,0.752720,0.747703,0.734800 /) -XEXT_COEFF_550_LKT(31,20)=331.900000 !rg=0.114954 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,1,1:6)=(/ 8362.400000,3998.600000,1234.700000,263.590000,27.726000,2.882800 /) -XPIZA_LKT(32,1,1:6)=(/ 0.986184,0.984028,0.973146,0.974365,0.892031,0.523168 /) -XCGA_LKT(32,1,1:6)=(/ 0.768243,0.647667,0.425307,0.152037,0.047923,0.011887 /) -XEXT_COEFF_550_LKT(32,1)=1266.300000 !rg=0.124536 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,2,1:6)=(/ 8139.200000,4104.000000,1397.100000,314.480000,34.039000,3.280600 /) -XPIZA_LKT(32,2,1:6)=(/ 0.985842,0.984188,0.975026,0.978038,0.910901,0.579323 /) -XCGA_LKT(32,2,1:6)=(/ 0.772363,0.675267,0.497000,0.193393,0.060730,0.015093 /) -XEXT_COEFF_550_LKT(32,2)=1436.400000 !rg=0.124536 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,3,1:6)=(/ 7553.000000,4333.600000,1690.100000,412.350000,48.778000,4.247300 /) -XPIZA_LKT(32,3,1:6)=(/ 0.984606,0.984700,0.978183,0.982510,0.936229,0.672359 /) -XCGA_LKT(32,3,1:6)=(/ 0.768977,0.704243,0.565700,0.285350,0.091797,0.022973 /) -XEXT_COEFF_550_LKT(32,3)=1733.200000 !rg=0.124536 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,4,1:6)=(/ 6642.700000,4470.500000,2022.200000,564.900000,76.248000,6.272800 /) -XPIZA_LKT(32,4,1:6)=(/ 0.982317,0.984837,0.980870,0.986354,0.957656,0.775021 /) -XCGA_LKT(32,4,1:6)=(/ 0.759137,0.725490,0.622273,0.407587,0.152863,0.039053 /) -XEXT_COEFF_550_LKT(32,4)=2066.100000 !rg=0.124536 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,5,1:6)=(/ 5612.600000,4397.700000,2330.600000,768.720000,120.260000,10.192000 /) -XPIZA_LKT(32,5,1:6)=(/ 0.978957,0.984238,0.982636,0.989186,0.971790,0.858563 /) -XCGA_LKT(32,5,1:6)=(/ 0.746873,0.737343,0.667560,0.512970,0.246850,0.065243 /) -XEXT_COEFF_550_LKT(32,5)=2372.800000 !rg=0.124536 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,6,1:6)=(/ 4663.400000,4101.000000,2546.500000,998.590000,183.680000,17.084000 /) -XPIZA_LKT(32,6,1:6)=(/ 0.974434,0.982771,0.983449,0.991056,0.980352,0.913134 /) -XCGA_LKT(32,6,1:6)=(/ 0.735620,0.740503,0.699270,0.590547,0.356030,0.101823 /) -XEXT_COEFF_550_LKT(32,6)=2583.600000 !rg=0.124536 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,7,1:6)=(/ 3830.800000,3653.700000,2620.200000,1226.500000,268.670000,28.481000 /) -XPIZA_LKT(32,7,1:6)=(/ 0.968953,0.980347,0.983328,0.992229,0.985597,0.945903 /) -XCGA_LKT(32,7,1:6)=(/ 0.728763,0.738207,0.718353,0.646687,0.456560,0.152550 /) -XEXT_COEFF_550_LKT(32,7)=2649.100000 !rg=0.124536 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,8,1:6)=(/ 3142.600000,3155.200000,2532.400000,1412.600000,373.220000,45.773000 /) -XPIZA_LKT(32,8,1:6)=(/ 0.962381,0.977021,0.982219,0.992865,0.988848,0.964763 /) -XCGA_LKT(32,8,1:6)=(/ 0.727957,0.734493,0.726317,0.685447,0.542767,0.223757 /) -XEXT_COEFF_550_LKT(32,8)=2551.800000 !rg=0.124536 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,9,1:6)=(/ 2553.200000,2659.900000,2321.600000,1521.800000,491.100000,70.784000 /) -XPIZA_LKT(32,9,1:6)=(/ 0.956040,0.972597,0.980185,0.993057,0.990919,0.975861 /) -XCGA_LKT(32,9,1:6)=(/ 0.730623,0.730610,0.727910,0.709900,0.610730,0.320620 /) -XEXT_COEFF_550_LKT(32,9)=2333.000000 !rg=0.124536 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,10,1:6)=(/ 2090.200000,2208.100000,2056.800000,1527.900000,609.870000,106.450000 /) -XPIZA_LKT(32,10,1:6)=(/ 0.947281,0.967452,0.977289,0.992806,0.992216,0.982774 /) -XCGA_LKT(32,10,1:6)=(/ 0.736510,0.730613,0.727687,0.721540,0.663223,0.424900 /) -XEXT_COEFF_550_LKT(32,10)=2067.100000 !rg=0.124536 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,11,1:6)=(/ 1706.300000,1817.100000,1776.600000,1440.300000,713.710000,152.840000 /) -XPIZA_LKT(32,11,1:6)=(/ 0.938086,0.960785,0.973297,0.992121,0.992970,0.987125 /) -XCGA_LKT(32,11,1:6)=(/ 0.746477,0.730847,0.727777,0.723857,0.701460,0.507973 /) -XEXT_COEFF_550_LKT(32,11)=1777.200000 !rg=0.124536 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,12,1:6)=(/ 1389.800000,1484.200000,1490.700000,1302.200000,781.420000,208.020000 /) -XPIZA_LKT(32,12,1:6)=(/ 0.927343,0.953684,0.968155,0.991057,0.993263,0.989825 /) -XCGA_LKT(32,12,1:6)=(/ 0.754997,0.736700,0.727143,0.723447,0.726470,0.582487 /) -XEXT_COEFF_550_LKT(32,12)=1493.200000 !rg=0.124536 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,13,1:6)=(/ 1128.400000,1206.700000,1241.200000,1149.700000,796.470000,267.640000 /) -XPIZA_LKT(32,13,1:6)=(/ 0.916919,0.945214,0.962579,0.989644,0.993121,0.991549 /) -XCGA_LKT(32,13,1:6)=(/ 0.768080,0.742507,0.731700,0.724233,0.739097,0.640807 /) -XEXT_COEFF_550_LKT(32,13)=1239.900000 !rg=0.124536 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,14,1:6)=(/ 927.640000,982.530000,1019.500000,987.820000,757.220000,324.660000 /) -XPIZA_LKT(32,14,1:6)=(/ 0.902927,0.935983,0.956179,0.987904,0.992533,0.992607 /) -XCGA_LKT(32,14,1:6)=(/ 0.779250,0.750207,0.734897,0.725870,0.741040,0.685770 /) -XEXT_COEFF_550_LKT(32,14)=1023.900000 !rg=0.124536 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,15,1:6)=(/ 759.180000,805.320000,836.430000,834.680000,686.810000,369.570000 /) -XPIZA_LKT(32,15,1:6)=(/ 0.887020,0.924052,0.948226,0.985159,0.991549,0.993159 /) -XCGA_LKT(32,15,1:6)=(/ 0.788530,0.760680,0.740113,0.726820,0.738450,0.716977 /) -XEXT_COEFF_550_LKT(32,15)=835.750000 !rg=0.124536 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,16,1:6)=(/ 619.540000,652.800000,685.810000,693.710000,611.790000,392.840000 /) -XPIZA_LKT(32,16,1:6)=(/ 0.871714,0.911930,0.938282,0.982750,0.990300,0.993266 /) -XCGA_LKT(32,16,1:6)=(/ 0.803460,0.770037,0.748840,0.730523,0.738367,0.735627 /) -XEXT_COEFF_550_LKT(32,16)=681.190000 !rg=0.124536 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,17,1:6)=(/ 508.500000,532.090000,557.460000,572.630000,534.750000,387.700000 /) -XPIZA_LKT(32,17,1:6)=(/ 0.858036,0.898637,0.928527,0.979915,0.988798,0.992923 /) -XCGA_LKT(32,17,1:6)=(/ 0.814540,0.782330,0.757763,0.734880,0.741827,0.742020 /) -XEXT_COEFF_550_LKT(32,17)=559.300000 !rg=0.124536 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,18,1:6)=(/ 418.280000,437.640000,455.620000,474.200000,454.780000,359.000000 /) -XPIZA_LKT(32,18,1:6)=(/ 0.844706,0.881887,0.917148,0.975322,0.986874,0.992127 /) -XCGA_LKT(32,18,1:6)=(/ 0.822337,0.794247,0.766537,0.740207,0.743503,0.739430 /) -XEXT_COEFF_550_LKT(32,18)=454.940000 !rg=0.124536 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,19,1:6)=(/ 343.310000,356.450000,373.240000,386.710000,385.470000,321.200000 /) -XPIZA_LKT(32,19,1:6)=(/ 0.832778,0.867452,0.903211,0.971086,0.984188,0.990951 /) -XCGA_LKT(32,19,1:6)=(/ 0.833840,0.804160,0.778170,0.746523,0.746453,0.734557 /) -XEXT_COEFF_550_LKT(32,19)=371.080000 !rg=0.124536 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(32,20,1:6)=(/ 282.790000,292.060000,303.830000,316.060000,319.990000,285.110000 /) -XPIZA_LKT(32,20,1:6)=(/ 0.822103,0.854898,0.887888,0.966801,0.981836,0.989618 /) -XCGA_LKT(32,20,1:6)=(/ 0.842177,0.815350,0.789413,0.754977,0.749923,0.736200 /) -XEXT_COEFF_550_LKT(32,20)=304.570000 !rg=0.124536 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,1,1:6)=(/ 8374.300000,4199.300000,1420.500000,324.480000,34.401000,3.298400 /) -XPIZA_LKT(33,1,1:6)=(/ 0.986178,0.984891,0.975265,0.978531,0.911574,0.581281 /) -XCGA_LKT(33,1,1:6)=(/ 0.781217,0.665920,0.503047,0.179680,0.056187,0.013943 /) -XEXT_COEFF_550_LKT(33,1)=1459.200000 !rg=0.134917 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,2,1:6)=(/ 7950.900000,4392.200000,1620.300000,381.350000,42.316000,3.803300 /) -XPIZA_LKT(33,2,1:6)=(/ 0.985354,0.984945,0.977249,0.981318,0.927063,0.635188 /) -XCGA_LKT(33,2,1:6)=(/ 0.777147,0.698197,0.553780,0.228703,0.071187,0.017703 /) -XEXT_COEFF_550_LKT(33,2)=1666.000000 !rg=0.134917 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,3,1:6)=(/ 7197.300000,4560.200000,1913.600000,490.120000,60.504000,5.029200 /) -XPIZA_LKT(33,3,1:6)=(/ 0.983701,0.985192,0.979952,0.984754,0.947558,0.721444 /) -XCGA_LKT(33,3,1:6)=(/ 0.769340,0.721650,0.601017,0.331330,0.107477,0.026927 /) -XEXT_COEFF_550_LKT(33,3)=1959.600000 !rg=0.134917 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,4,1:6)=(/ 6178.700000,4583.000000,2223.700000,658.920000,93.316000,7.589200 /) -XPIZA_LKT(33,4,1:6)=(/ 0.980894,0.984968,0.982056,0.987838,0.964611,0.812417 /) -XCGA_LKT(33,4,1:6)=(/ 0.755927,0.737163,0.647373,0.450777,0.177857,0.045727 /) -XEXT_COEFF_550_LKT(33,4)=2268.700000 !rg=0.134917 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,5,1:6)=(/ 5150.800000,4379.400000,2488.000000,874.820000,144.490000,12.503000 /) -XPIZA_LKT(33,5,1:6)=(/ 0.976854,0.983967,0.983321,0.990140,0.975895,0.883369 /) -XCGA_LKT(33,5,1:6)=(/ 0.741290,0.743830,0.685267,0.546173,0.281657,0.076310 /) -XEXT_COEFF_550_LKT(33,5)=2529.600000 !rg=0.134917 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,6,1:6)=(/ 4235.100000,3980.200000,2638.000000,1105.800000,216.390000,21.006000 /) -XPIZA_LKT(33,6,1:6)=(/ 0.971956,0.982036,0.983693,0.991656,0.982826,0.928303 /) -XCGA_LKT(33,6,1:6)=(/ 0.731430,0.742947,0.710813,0.615033,0.392377,0.119050 /) -XEXT_COEFF_550_LKT(33,6)=2672.800000 !rg=0.134917 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,7,1:6)=(/ 3470.800000,3477.300000,2634.200000,1320.600000,309.990000,34.703000 /) -XPIZA_LKT(33,7,1:6)=(/ 0.965923,0.979137,0.983154,0.992583,0.987120,0.954787 /) -XCGA_LKT(33,7,1:6)=(/ 0.726440,0.738353,0.724833,0.664220,0.490443,0.178353 /) -XEXT_COEFF_550_LKT(33,7)=2659.900000 !rg=0.134917 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,8,1:6)=(/ 2841.300000,2957.400000,2479.400000,1477.800000,421.270000,54.909000 /) -XPIZA_LKT(33,8,1:6)=(/ 0.959296,0.975372,0.981658,0.993023,0.989820,0.969960 /) -XCGA_LKT(33,8,1:6)=(/ 0.727027,0.734053,0.729337,0.697093,0.570823,0.260610 /) -XEXT_COEFF_550_LKT(33,8)=2497.700000 !rg=0.134917 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,9,1:6)=(/ 2330.800000,2460.900000,2232.800000,1545.700000,541.970000,84.053000 /) -XPIZA_LKT(33,9,1:6)=(/ 0.951602,0.970509,0.979168,0.993031,0.991535,0.979083 /) -XCGA_LKT(33,9,1:6)=(/ 0.731867,0.730290,0.728843,0.716340,0.633083,0.364497 /) -XEXT_COEFF_550_LKT(33,9)=2243.600000 !rg=0.134917 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,10,1:6)=(/ 1896.300000,2034.700000,1952.600000,1509.600000,656.490000,124.460000 /) -XPIZA_LKT(33,10,1:6)=(/ 0.943826,0.964882,0.975958,0.992602,0.992581,0.984826 /) -XCGA_LKT(33,10,1:6)=(/ 0.740150,0.730233,0.729037,0.723813,0.679877,0.460200 /) -XEXT_COEFF_550_LKT(33,10)=1956.600000 !rg=0.134917 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,11,1:6)=(/ 1549.800000,1662.200000,1658.400000,1394.600000,748.010000,174.170000 /) -XPIZA_LKT(33,11,1:6)=(/ 0.933793,0.958410,0.971499,0.991760,0.993141,0.988363 /) -XCGA_LKT(33,11,1:6)=(/ 0.749963,0.733513,0.728153,0.724633,0.712930,0.538537 /) -XEXT_COEFF_550_LKT(33,11)=1663.700000 !rg=0.134917 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,12,1:6)=(/ 1262.500000,1357.300000,1384.300000,1246.100000,795.340000,232.310000 /) -XPIZA_LKT(33,12,1:6)=(/ 0.923257,0.950299,0.966339,0.990561,0.993262,0.990632 /) -XCGA_LKT(33,12,1:6)=(/ 0.761190,0.738390,0.730063,0.724003,0.732883,0.607980 /) -XEXT_COEFF_550_LKT(33,12)=1384.500000 !rg=0.134917 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,13,1:6)=(/ 1035.700000,1102.800000,1143.500000,1088.100000,787.310000,292.130000 /) -XPIZA_LKT(33,13,1:6)=(/ 0.910317,0.941465,0.960152,0.989003,0.992939,0.992052 /) -XCGA_LKT(33,13,1:6)=(/ 0.772810,0.745317,0.732483,0.725863,0.740867,0.660537 /) -XEXT_COEFF_550_LKT(33,13)=1147.900000 !rg=0.134917 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,14,1:6)=(/ 848.020000,903.470000,937.810000,924.900000,732.260000,345.390000 /) -XPIZA_LKT(33,14,1:6)=(/ 0.895623,0.930349,0.953176,0.986775,0.992186,0.992883 /) -XCGA_LKT(33,14,1:6)=(/ 0.782157,0.754960,0.736827,0.725870,0.740553,0.699890 /) -XEXT_COEFF_550_LKT(33,14)=938.290000 !rg=0.134917 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,15,1:6)=(/ 695.350000,733.970000,770.860000,774.790000,657.880000,382.350000 /) -XPIZA_LKT(33,15,1:6)=(/ 0.879556,0.919060,0.943760,0.984414,0.991055,0.993252 /) -XCGA_LKT(33,15,1:6)=(/ 0.796490,0.762827,0.743897,0.727743,0.737760,0.726027 /) -XEXT_COEFF_550_LKT(33,15)=765.140000 !rg=0.134917 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,16,1:6)=(/ 567.240000,594.700000,625.760000,639.470000,581.400000,394.160000 /) -XPIZA_LKT(33,16,1:6)=(/ 0.865326,0.906939,0.934378,0.981777,0.989760,0.993179 /) -XCGA_LKT(33,16,1:6)=(/ 0.808947,0.777203,0.751197,0.733147,0.740607,0.739457 /) -XEXT_COEFF_550_LKT(33,16)=627.510000 !rg=0.134917 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,17,1:6)=(/ 466.750000,488.970000,509.650000,530.600000,502.240000,378.270000 /) -XPIZA_LKT(33,17,1:6)=(/ 0.851237,0.891131,0.924329,0.977905,0.988084,0.992646 /) -XCGA_LKT(33,17,1:6)=(/ 0.817587,0.788180,0.761677,0.737313,0.743353,0.741657 /) -XEXT_COEFF_550_LKT(33,17)=509.900000 !rg=0.134917 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,18,1:6)=(/ 383.840000,399.730000,418.850000,434.510000,425.410000,343.950000 /) -XPIZA_LKT(33,18,1:6)=(/ 0.838987,0.875673,0.911122,0.974272,0.985634,0.991664 /) -XCGA_LKT(33,18,1:6)=(/ 0.828397,0.797313,0.772290,0.741580,0.744213,0.736753 /) -XEXT_COEFF_550_LKT(33,18)=415.420000 !rg=0.134917 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,19,1:6)=(/ 315.110000,325.730000,340.430000,354.190000,357.390000,305.840000 /) -XPIZA_LKT(33,19,1:6)=(/ 0.827591,0.861956,0.896994,0.969643,0.983339,0.990469 /) -XCGA_LKT(33,19,1:6)=(/ 0.838187,0.810927,0.781970,0.751607,0.746953,0.735203 /) -XEXT_COEFF_550_LKT(33,19)=341.170000 !rg=0.134917 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(33,20,1:6)=(/ 259.760000,268.480000,278.020000,291.590000,296.190000,270.820000 /) -XPIZA_LKT(33,20,1:6)=(/ 0.816470,0.848637,0.881927,0.963651,0.980713,0.989084 /) -XCGA_LKT(33,20,1:6)=(/ 0.844800,0.820750,0.794083,0.758830,0.753560,0.738917 /) -XEXT_COEFF_550_LKT(33,20)=277.820000 !rg=0.134917 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,1,1:6)=(/ 8021.400000,4463.100000,1652.500000,395.470000,42.815000,3.825900 /) -XPIZA_LKT(34,1,1:6)=(/ 0.985488,0.985157,0.977180,0.981829,0.927658,0.637028 /) -XCGA_LKT(34,1,1:6)=(/ 0.784750,0.704137,0.575467,0.213120,0.065880,0.016353 /) -XEXT_COEFF_550_LKT(34,1)=1703.500000 !rg=0.146163 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,2,1:6)=(/ 7598.400000,4651.600000,1869.400000,457.100000,52.685000,4.466600 /) -XPIZA_LKT(34,2,1:6)=(/ 0.984533,0.985480,0.979268,0.983899,0.940266,0.687424 /) -XCGA_LKT(34,2,1:6)=(/ 0.778280,0.721250,0.597333,0.271010,0.083467,0.020757 /) -XEXT_COEFF_550_LKT(34,2)=1919.900000 !rg=0.146163 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,3,1:6)=(/ 6713.200000,4732.100000,2140.000000,577.920000,74.901000,6.020100 /) -XPIZA_LKT(34,3,1:6)=(/ 0.982385,0.985489,0.981445,0.986561,0.956713,0.765500 /) -XCGA_LKT(34,3,1:6)=(/ 0.766147,0.736827,0.630393,0.381293,0.125840,0.031557 /) -XEXT_COEFF_550_LKT(34,3)=2187.500000 !rg=0.146163 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,4,1:6)=(/ 5655.400000,4630.400000,2415.700000,762.430000,113.600000,9.249800 /) -XPIZA_LKT(34,4,1:6)=(/ 0.978964,0.984908,0.983020,0.989063,0.970215,0.844550 /) -XCGA_LKT(34,4,1:6)=(/ 0.749777,0.746547,0.669400,0.492537,0.206380,0.053520 /) -XEXT_COEFF_550_LKT(34,4)=2460.900000 !rg=0.146163 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,5,1:6)=(/ 4658.900000,4301.800000,2624.200000,986.140000,172.460000,15.380000 /) -XPIZA_LKT(34,5,1:6)=(/ 0.974471,0.983469,0.983825,0.990934,0.979232,0.903952 /) -XCGA_LKT(34,5,1:6)=(/ 0.735573,0.748200,0.700720,0.576830,0.318093,0.089207 /) -XEXT_COEFF_550_LKT(34,5)=2664.200000 !rg=0.146163 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,6,1:6)=(/ 3830.100000,3814.300000,2699.800000,1212.400000,252.910000,25.775000 /) -XPIZA_LKT(34,6,1:6)=(/ 0.969203,0.981105,0.983773,0.992150,0.984850,0.940610 /) -XCGA_LKT(34,6,1:6)=(/ 0.727710,0.743940,0.720513,0.637213,0.428447,0.139107 /) -XEXT_COEFF_550_LKT(34,6)=2731.400000 !rg=0.146163 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,7,1:6)=(/ 3142.500000,3270.700000,2619.500000,1407.200000,355.080000,42.037000 /) -XPIZA_LKT(34,7,1:6)=(/ 0.962720,0.977752,0.982791,0.992853,0.988393,0.961928 /) -XCGA_LKT(34,7,1:6)=(/ 0.725730,0.737943,0.729717,0.679763,0.522950,0.208203 /) -XEXT_COEFF_550_LKT(34,7)=2640.700000 !rg=0.146163 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,8,1:6)=(/ 2569.800000,2745.600000,2409.000000,1529.000000,471.110000,65.566000 /) -XPIZA_LKT(34,8,1:6)=(/ 0.956152,0.973424,0.980884,0.993109,0.990622,0.974206 /) -XCGA_LKT(34,8,1:6)=(/ 0.728563,0.732477,0.731450,0.706993,0.596390,0.301190 /) -XEXT_COEFF_550_LKT(34,8)=2421.400000 !rg=0.146163 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,9,1:6)=(/ 2110.700000,2276.200000,2132.000000,1552.700000,591.820000,99.429000 /) -XPIZA_LKT(34,9,1:6)=(/ 0.947042,0.967674,0.978050,0.992937,0.992041,0.981782 /) -XCGA_LKT(34,9,1:6)=(/ 0.732280,0.729603,0.730483,0.721320,0.653150,0.405533 /) -XEXT_COEFF_550_LKT(34,9)=2139.800000 !rg=0.146163 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,10,1:6)=(/ 1734.000000,1866.000000,1838.500000,1477.700000,698.970000,143.730000 /) -XPIZA_LKT(34,10,1:6)=(/ 0.938564,0.962023,0.974328,0.992347,0.992873,0.986482 /) -XCGA_LKT(34,10,1:6)=(/ 0.743493,0.730503,0.729210,0.725683,0.694290,0.491907 /) -XEXT_COEFF_550_LKT(34,10)=1843.600000 !rg=0.146163 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,11,1:6)=(/ 1410.800000,1525.200000,1542.400000,1343.500000,774.580000,197.310000 /) -XPIZA_LKT(34,11,1:6)=(/ 0.929013,0.954612,0.969783,0.991321,0.993247,0.989408 /) -XCGA_LKT(34,11,1:6)=(/ 0.753613,0.734110,0.729337,0.724650,0.722097,0.568593 /) -XEXT_COEFF_550_LKT(34,11)=1544.800000 !rg=0.146163 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,12,1:6)=(/ 1158.200000,1238.500000,1281.400000,1187.500000,800.210000,256.590000 /) -XPIZA_LKT(34,12,1:6)=(/ 0.916957,0.946520,0.964043,0.990010,0.993187,0.991286 /) -XCGA_LKT(34,12,1:6)=(/ 0.766127,0.740147,0.730693,0.725977,0.737237,0.630143 /) -XEXT_COEFF_550_LKT(34,12)=1286.200000 !rg=0.146163 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,13,1:6)=(/ 946.350000,1012.800000,1051.000000,1024.100000,770.930000,315.130000 /) -XPIZA_LKT(34,13,1:6)=(/ 0.903309,0.936170,0.957411,0.988155,0.992688,0.992456 /) -XCGA_LKT(34,13,1:6)=(/ 0.775703,0.749317,0.733683,0.726070,0.741600,0.677890 /) -XEXT_COEFF_550_LKT(34,13)=1051.400000 !rg=0.146163 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,14,1:6)=(/ 777.210000,823.330000,865.250000,860.220000,704.370000,362.970000 /) -XPIZA_LKT(34,14,1:6)=(/ 0.888103,0.925396,0.948996,0.985772,0.991771,0.993091 /) -XCGA_LKT(34,14,1:6)=(/ 0.790067,0.756430,0.739783,0.725597,0.739367,0.711620 /) -XEXT_COEFF_550_LKT(34,14)=859.430000 !rg=0.146163 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,15,1:6)=(/ 634.670000,668.850000,704.950000,716.890000,628.090000,390.490000 /) -XPIZA_LKT(34,15,1:6)=(/ 0.872445,0.913933,0.940099,0.983731,0.990581,0.993273 /) -XCGA_LKT(34,15,1:6)=(/ 0.801607,0.771033,0.745417,0.732203,0.739180,0.732530 /) -XEXT_COEFF_550_LKT(34,15)=705.480000 !rg=0.146163 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,16,1:6)=(/ 520.060000,546.650000,571.440000,592.410000,551.150000,390.830000 /) -XPIZA_LKT(34,16,1:6)=(/ 0.859198,0.899914,0.930907,0.980132,0.989126,0.993016 /) -XCGA_LKT(34,16,1:6)=(/ 0.812873,0.781893,0.757300,0.733870,0.742350,0.741427 /) -XEXT_COEFF_550_LKT(34,16)=573.350000 !rg=0.146163 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,17,1:6)=(/ 428.610000,447.330000,468.950000,487.220000,468.920000,365.580000 /) -XPIZA_LKT(34,17,1:6)=(/ 0.845541,0.883470,0.918526,0.976262,0.987217,0.992290 /) -XCGA_LKT(34,17,1:6)=(/ 0.823987,0.790893,0.766537,0.736680,0.743253,0.739863 /) -XEXT_COEFF_550_LKT(34,17)=464.970000 !rg=0.146163 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,18,1:6)=(/ 351.800000,365.330000,382.230000,397.560000,397.020000,328.130000 /) -XPIZA_LKT(34,18,1:6)=(/ 0.832817,0.868835,0.905410,0.972678,0.984674,0.991201 /) -XCGA_LKT(34,18,1:6)=(/ 0.832667,0.805253,0.774710,0.748023,0.744433,0.735677 /) -XEXT_COEFF_550_LKT(34,18)=382.190000 !rg=0.146163 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,19,1:6)=(/ 289.690000,299.840000,310.710000,326.610000,330.770000,291.800000 /) -XPIZA_LKT(34,19,1:6)=(/ 0.822287,0.855818,0.890792,0.967074,0.982086,0.989936 /) -XCGA_LKT(34,19,1:6)=(/ 0.841170,0.815557,0.788913,0.753860,0.750360,0.736917 /) -XEXT_COEFF_550_LKT(34,19)=311.790000 !rg=0.146163 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(34,20,1:6)=(/ 238.770000,246.350000,255.590000,266.940000,273.760000,255.730000 /) -XPIZA_LKT(34,20,1:6)=(/ 0.812061,0.842637,0.874955,0.961206,0.979131,0.988332 /) -XCGA_LKT(34,20,1:6)=(/ 0.849113,0.823490,0.799660,0.759410,0.755320,0.740200 /) -XEXT_COEFF_550_LKT(34,20)=253.540000 !rg=0.146163 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,1,1:6)=(/ 7695.500000,4847.200000,1948.700000,475.750000,53.387000,4.495500 /) -XPIZA_LKT(35,1,1:6)=(/ 0.984488,0.985601,0.979269,0.984413,0.940806,0.689118 /) -XCGA_LKT(35,1,1:6)=(/ 0.782563,0.740233,0.624567,0.253913,0.077270,0.019180 /) -XEXT_COEFF_550_LKT(35,1)=2011.500000 !rg=0.158347 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,2,1:6)=(/ 7084.000000,4865.300000,2127.900000,541.430000,65.603000,5.308100 /) -XPIZA_LKT(35,2,1:6)=(/ 0.983280,0.985850,0.981083,0.985919,0.950989,0.735080 /) -XCGA_LKT(35,2,1:6)=(/ 0.775093,0.740543,0.627007,0.321267,0.097910,0.024340 /) -XEXT_COEFF_550_LKT(35,2)=2179.500000 !rg=0.158347 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,3,1:6)=(/ 6121.900000,4839.000000,2360.400000,676.610000,92.391000,7.275200 /) -XPIZA_LKT(35,3,1:6)=(/ 0.980560,0.985594,0.982684,0.988033,0.964079,0.804230 /) -XCGA_LKT(35,3,1:6)=(/ 0.759010,0.749360,0.655287,0.433153,0.147363,0.036980 /) -XEXT_COEFF_550_LKT(35,3)=2408.400000 !rg=0.158347 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,4,1:6)=(/ 5086.000000,4607.300000,2591.600000,874.670000,137.430000,11.339000 /) -XPIZA_LKT(35,4,1:6)=(/ 0.976520,0.984638,0.983781,0.990080,0.974731,0.871745 /) -XCGA_LKT(35,4,1:6)=(/ 0.740763,0.753540,0.688757,0.531713,0.238520,0.062620 /) -XEXT_COEFF_550_LKT(35,4)=2636.000000 !rg=0.158347 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,5,1:6)=(/ 4188.300000,4164.000000,2733.500000,1100.700000,204.350000,18.940000 /) -XPIZA_LKT(35,5,1:6)=(/ 0.971454,0.982764,0.984156,0.991593,0.981948,0.920867 /) -XCGA_LKT(35,5,1:6)=(/ 0.728390,0.750710,0.714003,0.604743,0.355743,0.104223 /) -XEXT_COEFF_550_LKT(35,5)=2771.100000 !rg=0.158347 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,6,1:6)=(/ 3447.800000,3614.500000,2729.300000,1315.100000,293.530000,31.510000 /) -XPIZA_LKT(35,6,1:6)=(/ 0.965663,0.979917,0.983686,0.992552,0.986524,0.950546 /) -XCGA_LKT(35,6,1:6)=(/ 0.722173,0.743943,0.728367,0.657040,0.464323,0.162393 /) -XEXT_COEFF_550_LKT(35,6)=2757.700000 !rg=0.158347 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,7,1:6)=(/ 2829.200000,3052.100000,2575.000000,1482.300000,402.970000,50.630000 /) -XPIZA_LKT(35,7,1:6)=(/ 0.959131,0.976093,0.982295,0.993052,0.989450,0.967691 /) -XCGA_LKT(35,7,1:6)=(/ 0.723527,0.736833,0.733453,0.693160,0.552830,0.242237 /) -XEXT_COEFF_550_LKT(35,7)=2594.700000 !rg=0.158347 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,8,1:6)=(/ 2334.600000,2533.000000,2319.200000,1563.500000,522.610000,78.056000 /) -XPIZA_LKT(35,8,1:6)=(/ 0.951510,0.971305,0.979955,0.993126,0.991295,0.977730 /) -XCGA_LKT(35,8,1:6)=(/ 0.728617,0.731443,0.732713,0.714933,0.620213,0.343283 /) -XEXT_COEFF_550_LKT(35,8)=2331.700000 !rg=0.158347 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,9,1:6)=(/ 1917.900000,2085.700000,2024.300000,1542.700000,640.290000,116.640000 /) -XPIZA_LKT(35,9,1:6)=(/ 0.942296,0.965123,0.976695,0.992782,0.992447,0.984005 /) -XCGA_LKT(35,9,1:6)=(/ 0.737977,0.729027,0.730960,0.724903,0.671063,0.441807 /) -XEXT_COEFF_550_LKT(35,9)=2028.000000 !rg=0.158347 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,10,1:6)=(/ 1573.800000,1713.100000,1718.300000,1437.200000,736.600000,164.430000 /) -XPIZA_LKT(35,10,1:6)=(/ 0.933126,0.958210,0.972578,0.991998,0.993080,0.987829 /) -XCGA_LKT(35,10,1:6)=(/ 0.745093,0.731043,0.729637,0.726327,0.706867,0.522933 /) -XEXT_COEFF_550_LKT(35,10)=1719.600000 !rg=0.158347 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,11,1:6)=(/ 1292.900000,1392.300000,1433.000000,1287.100000,793.360000,221.410000 /) -XPIZA_LKT(35,11,1:6)=(/ 0.922646,0.950673,0.967226,0.990881,0.993281,0.990286 /) -XCGA_LKT(35,11,1:6)=(/ 0.759463,0.735193,0.728887,0.726253,0.729620,0.595410 /) -XEXT_COEFF_550_LKT(35,11)=1433.100000 !rg=0.158347 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,12,1:6)=(/ 1056.400000,1137.400000,1181.200000,1127.100000,795.860000,281.260000 /) -XPIZA_LKT(35,12,1:6)=(/ 0.910404,0.941466,0.961390,0.989320,0.993046,0.991831 /) -XCGA_LKT(35,12,1:6)=(/ 0.768727,0.743907,0.731610,0.726457,0.740170,0.650720 /) -XEXT_COEFF_550_LKT(35,12)=1181.300000 !rg=0.158347 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,13,1:6)=(/ 866.790000,922.940000,970.190000,955.270000,748.540000,336.720000 /) -XPIZA_LKT(35,13,1:6)=(/ 0.896567,0.931300,0.953617,0.987231,0.992364,0.992764 /) -XCGA_LKT(35,13,1:6)=(/ 0.783703,0.750600,0.735867,0.725930,0.741070,0.692970 /) -XEXT_COEFF_550_LKT(35,13)=964.520000 !rg=0.158347 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,14,1:6)=(/ 707.880000,751.600000,791.320000,799.940000,674.730000,377.490000 /) -XPIZA_LKT(35,14,1:6)=(/ 0.881127,0.920022,0.945052,0.984973,0.991349,0.993212 /) -XCGA_LKT(35,14,1:6)=(/ 0.794700,0.764420,0.740357,0.729943,0.739590,0.721590 /) -XEXT_COEFF_550_LKT(35,14)=790.460000 !rg=0.158347 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,15,1:6)=(/ 579.850000,612.050000,643.520000,662.520000,599.030000,394.090000 /) -XPIZA_LKT(35,15,1:6)=(/ 0.866902,0.908130,0.936446,0.982292,0.990076,0.993222 /) -XCGA_LKT(35,15,1:6)=(/ 0.807560,0.775740,0.751977,0.732047,0.740950,0.737410 /) -XEXT_COEFF_550_LKT(35,15)=644.860000 !rg=0.158347 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,16,1:6)=(/ 478.060000,500.410000,525.090000,545.680000,517.570000,383.120000 /) -XPIZA_LKT(35,16,1:6)=(/ 0.852000,0.892288,0.925351,0.978531,0.988439,0.992772 /) -XCGA_LKT(35,16,1:6)=(/ 0.818987,0.784837,0.760637,0.734287,0.743183,0.741577 /) -XEXT_COEFF_550_LKT(35,16)=523.760000 !rg=0.158347 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,17,1:6)=(/ 391.700000,409.780000,428.680000,448.370000,438.000000,350.810000 /) -XPIZA_LKT(35,17,1:6)=(/ 0.839961,0.876477,0.912591,0.974054,0.986216,0.991900 /) -XCGA_LKT(35,17,1:6)=(/ 0.827340,0.798440,0.768470,0.742173,0.743073,0.738500 /) -XEXT_COEFF_550_LKT(35,17)=427.190000 !rg=0.158347 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,18,1:6)=(/ 322.150000,335.180000,349.030000,365.200000,370.410000,313.500000 /) -XPIZA_LKT(35,18,1:6)=(/ 0.828300,0.862985,0.899267,0.970386,0.983047,0.990690 /) -XCGA_LKT(35,18,1:6)=(/ 0.837440,0.810370,0.782753,0.750337,0.746910,0.735530 /) -XEXT_COEFF_550_LKT(35,18)=349.890000 !rg=0.158347 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,19,1:6)=(/ 266.450000,275.090000,285.880000,299.680000,305.080000,277.660000 /) -XPIZA_LKT(35,19,1:6)=(/ 0.816859,0.849322,0.883536,0.964348,0.980750,0.989288 /) -XCGA_LKT(35,19,1:6)=(/ 0.845593,0.818510,0.793643,0.754863,0.752253,0.738123 /) -XEXT_COEFF_550_LKT(35,19)=285.110000 !rg=0.158347 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(35,20,1:6)=(/ 218.970000,225.910000,234.150000,244.810000,253.090000,239.760000 /) -XPIZA_LKT(35,20,1:6)=(/ 0.807614,0.837418,0.868340,0.957940,0.976631,0.987573 /) -XCGA_LKT(35,20,1:6)=(/ 0.851753,0.829300,0.802337,0.766007,0.754050,0.740803 /) -XEXT_COEFF_550_LKT(35,20)=233.450000 !rg=0.158347 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,1,1:6)=(/ 7035.200000,5081.100000,2273.300000,563.570000,66.610000,5.345200 /) -XPIZA_LKT(36,1,1:6)=(/ 0.983319,0.986285,0.981515,0.986402,0.951495,0.736600 /) -XCGA_LKT(36,1,1:6)=(/ 0.777573,0.755030,0.643170,0.303900,0.090677,0.022490 /) -XEXT_COEFF_550_LKT(36,1)=2333.600000 !rg=0.171546 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,2,1:6)=(/ 6427.000000,5010.600000,2372.900000,634.760000,81.572000,6.375300 /) -XPIZA_LKT(36,2,1:6)=(/ 0.981449,0.986052,0.982623,0.987502,0.959655,0.777587 /) -XCGA_LKT(36,2,1:6)=(/ 0.767047,0.754780,0.647943,0.379377,0.114923,0.028533 /) -XEXT_COEFF_550_LKT(36,2)=2422.600000 !rg=0.171546 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,3,1:6)=(/ 5456.900000,4870.700000,2566.900000,786.840000,113.370000,8.863200 /) -XPIZA_LKT(36,3,1:6)=(/ 0.978101,0.985496,0.983685,0.989247,0.969988,0.837666 /) -XCGA_LKT(36,3,1:6)=(/ 0.748080,0.758990,0.677207,0.484063,0.172590,0.043323 /) -XEXT_COEFF_550_LKT(36,3)=2614.600000 !rg=0.171546 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,4,1:6)=(/ 4511.900000,4511.600000,2744.400000,994.070000,165.110000,13.958000 /) -XPIZA_LKT(36,4,1:6)=(/ 0.973501,0.984133,0.984352,0.990926,0.978375,0.894465 /) -XCGA_LKT(36,4,1:6)=(/ 0.730613,0.757993,0.705723,0.567467,0.274220,0.073233 /) -XEXT_COEFF_550_LKT(36,4)=2787.200000 !rg=0.171546 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,5,1:6)=(/ 3725.600000,3975.500000,2810.900000,1215.900000,240.400000,23.307000 /) -XPIZA_LKT(36,5,1:6)=(/ 0.968020,0.981780,0.984314,0.992139,0.984170,0.934656 /) -XCGA_LKT(36,5,1:6)=(/ 0.720350,0.751290,0.725210,0.629900,0.394327,0.121670 /) -XEXT_COEFF_550_LKT(36,5)=2845.400000 !rg=0.171546 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,6,1:6)=(/ 3086.700000,3389.000000,2725.500000,1411.200000,338.140000,38.337000 /) -XPIZA_LKT(36,6,1:6)=(/ 0.961927,0.978356,0.983427,0.992868,0.987917,0.958554 /) -XCGA_LKT(36,6,1:6)=(/ 0.719233,0.741783,0.734603,0.674690,0.498987,0.189277 /) -XEXT_COEFF_550_LKT(36,6)=2749.400000 !rg=0.171546 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,7,1:6)=(/ 2547.300000,2823.700000,2506.700000,1543.900000,453.250000,60.692000 /) -XPIZA_LKT(36,7,1:6)=(/ 0.955233,0.973978,0.981606,0.993179,0.990327,0.972389 /) -XCGA_LKT(36,7,1:6)=(/ 0.723353,0.733897,0.736193,0.704710,0.580423,0.279923 /) -XEXT_COEFF_550_LKT(36,7)=2520.700000 !rg=0.171546 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,8,1:6)=(/ 2107.700000,2332.100000,2215.500000,1580.900000,573.870000,92.561000 /) -XPIZA_LKT(36,8,1:6)=(/ 0.946860,0.968493,0.978856,0.993075,0.991852,0.980666 /) -XCGA_LKT(36,8,1:6)=(/ 0.729603,0.729383,0.734047,0.721303,0.641793,0.383740 /) -XEXT_COEFF_550_LKT(36,8)=2223.100000 !rg=0.171546 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,9,1:6)=(/ 1734.000000,1905.800000,1902.100000,1518.700000,685.550000,135.280000 /) -XPIZA_LKT(36,9,1:6)=(/ 0.938171,0.962753,0.975194,0.992553,0.992777,0.985806 /) -XCGA_LKT(36,9,1:6)=(/ 0.741387,0.730683,0.731600,0.727473,0.686780,0.474543 /) -XEXT_COEFF_550_LKT(36,9)=1909.200000 !rg=0.171546 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,10,1:6)=(/ 1436.000000,1560.000000,1601.100000,1386.300000,767.380000,186.940000 /) -XPIZA_LKT(36,10,1:6)=(/ 0.927391,0.954746,0.970214,0.991637,0.993223,0.988959 /) -XCGA_LKT(36,10,1:6)=(/ 0.752603,0.731020,0.729077,0.727490,0.717290,0.553660 /) -XEXT_COEFF_550_LKT(36,10)=1597.000000 !rg=0.171546 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,11,1:6)=(/ 1176.000000,1274.900000,1323.800000,1229.500000,802.940000,245.640000 /) -XPIZA_LKT(36,11,1:6)=(/ 0.916931,0.946104,0.964801,0.990353,0.993246,0.991001 /) -XCGA_LKT(36,11,1:6)=(/ 0.761530,0.738813,0.729693,0.727310,0.735083,0.618660 /) -XEXT_COEFF_550_LKT(36,11)=1322.900000 !rg=0.171546 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,12,1:6)=(/ 966.800000,1035.100000,1089.700000,1058.300000,783.610000,304.970000 /) -XPIZA_LKT(36,12,1:6)=(/ 0.903737,0.937013,0.957778,0.988642,0.992831,0.992280 /) -XCGA_LKT(36,12,1:6)=(/ 0.776950,0.745000,0.732753,0.727593,0.741490,0.669127 /) -XEXT_COEFF_550_LKT(36,12)=1083.300000 !rg=0.171546 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,13,1:6)=(/ 788.950000,842.490000,888.930000,889.810000,721.810000,355.810000 /) -XPIZA_LKT(36,13,1:6)=(/ 0.889768,0.926061,0.949862,0.986404,0.992009,0.993007 /) -XCGA_LKT(36,13,1:6)=(/ 0.788037,0.758080,0.736517,0.728463,0.741027,0.705717 /) -XEXT_COEFF_550_LKT(36,13)=887.760000 !rg=0.171546 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,14,1:6)=(/ 645.420000,685.130000,724.570000,740.900000,646.110000,387.610000 /) -XPIZA_LKT(36,14,1:6)=(/ 0.874851,0.914917,0.941180,0.984097,0.990865,0.993270 /) -XCGA_LKT(36,14,1:6)=(/ 0.802477,0.769090,0.746657,0.730773,0.740150,0.729107 /) -XEXT_COEFF_550_LKT(36,14)=723.920000 !rg=0.171546 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,15,1:6)=(/ 533.130000,560.060000,589.310000,610.710000,567.600000,393.060000 /) -XPIZA_LKT(36,15,1:6)=(/ 0.860102,0.901355,0.931883,0.980632,0.989465,0.993091 /) -XCGA_LKT(36,15,1:6)=(/ 0.813533,0.779093,0.755253,0.732133,0.742437,0.740107 /) -XEXT_COEFF_550_LKT(36,15)=591.300000 !rg=0.171546 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,16,1:6)=(/ 437.590000,458.780000,480.690000,503.550000,484.300000,371.920000 /) -XPIZA_LKT(36,16,1:6)=(/ 0.846047,0.885059,0.919460,0.976296,0.987662,0.992465 /) -XCGA_LKT(36,16,1:6)=(/ 0.822080,0.792217,0.763017,0.737757,0.743567,0.740960 /) -XEXT_COEFF_550_LKT(36,16)=478.440000 !rg=0.171546 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,17,1:6)=(/ 358.850000,374.490000,392.710000,409.640000,410.030000,335.970000 /) -XPIZA_LKT(36,17,1:6)=(/ 0.833858,0.869545,0.906301,0.972535,0.984815,0.991427 /) -XCGA_LKT(36,17,1:6)=(/ 0.833967,0.803407,0.775757,0.745523,0.745107,0.736730 /) -XEXT_COEFF_550_LKT(36,17)=391.790000 !rg=0.171546 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,18,1:6)=(/ 296.560000,307.520000,319.890000,335.530000,340.650000,298.880000 /) -XPIZA_LKT(36,18,1:6)=(/ 0.823392,0.856638,0.892479,0.967557,0.982400,0.990166 /) -XCGA_LKT(36,18,1:6)=(/ 0.841807,0.813760,0.787713,0.751443,0.749370,0.736383 /) -XEXT_COEFF_550_LKT(36,18)=321.040000 !rg=0.171546 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,19,1:6)=(/ 244.390000,252.660000,262.000000,275.370000,282.390000,262.650000 /) -XPIZA_LKT(36,19,1:6)=(/ 0.812269,0.843567,0.876071,0.961115,0.979562,0.988692 /) -XCGA_LKT(36,19,1:6)=(/ 0.848397,0.824583,0.796617,0.760083,0.753273,0.740260 /) -XEXT_COEFF_550_LKT(36,19)=261.100000 !rg=0.171546 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(36,20,1:6)=(/ 201.060000,207.380000,214.590000,223.480000,234.010000,224.770000 /) -XPIZA_LKT(36,20,1:6)=(/ 0.802173,0.831316,0.862351,0.954974,0.975028,0.986187 /) -XCGA_LKT(36,20,1:6)=(/ 0.856147,0.833640,0.809093,0.770477,0.758077,0.741150 /) -XEXT_COEFF_550_LKT(36,20)=214.450000 !rg=0.171546 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,1,1:6)=(/ 6328.200000,5103.300000,2531.500000,657.200000,83.045000,6.423100 /) -XPIZA_LKT(37,1,1:6)=(/ 0.980862,0.986430,0.983468,0.987902,0.960145,0.778928 /) -XCGA_LKT(37,1,1:6)=(/ 0.768640,0.758550,0.645757,0.364793,0.106493,0.026373 /) -XEXT_COEFF_550_LKT(37,1)=2573.900000 !rg=0.185845 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,2,1:6)=(/ 5659.500000,5074.700000,2591.300000,739.400000,101.110000,7.728200 /) -XPIZA_LKT(37,2,1:6)=(/ 0.978824,0.986055,0.983822,0.988764,0.966628,0.814759 /) -XCGA_LKT(37,2,1:6)=(/ 0.753113,0.765107,0.667277,0.442953,0.135037,0.033450 /) -XEXT_COEFF_550_LKT(37,2)=2638.900000 !rg=0.185845 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,3,1:6)=(/ 4768.400000,4819.500000,2752.800000,908.450000,138.160000,10.869000 /) -XPIZA_LKT(37,3,1:6)=(/ 0.974728,0.985168,0.984461,0.990261,0.974717,0.866081 /) -XCGA_LKT(37,3,1:6)=(/ 0.731870,0.765590,0.697123,0.531117,0.202100,0.050747 /) -XEXT_COEFF_550_LKT(37,3)=2799.300000 !rg=0.185845 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,4,1:6)=(/ 3970.000000,4343.800000,2867.800000,1118.400000,196.930000,17.226000 /) -XPIZA_LKT(37,4,1:6)=(/ 0.969596,0.983368,0.984738,0.991633,0.981323,0.913245 /) -XCGA_LKT(37,4,1:6)=(/ 0.717043,0.759967,0.720460,0.599433,0.313213,0.085600 /) -XEXT_COEFF_550_LKT(37,4)=2908.000000 !rg=0.185845 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,5,1:6)=(/ 3306.200000,3741.400000,2852.700000,1328.600000,280.820000,28.618000 /) -XPIZA_LKT(37,5,1:6)=(/ 0.964148,0.980474,0.984295,0.992586,0.986000,0.945834 /) -XCGA_LKT(37,5,1:6)=(/ 0.714377,0.749547,0.734403,0.652357,0.433257,0.141893 /) -XEXT_COEFF_550_LKT(37,5)=2883.000000 !rg=0.185845 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,6,1:6)=(/ 2775.700000,3136.400000,2689.000000,1497.200000,386.140000,46.406000 /) -XPIZA_LKT(37,6,1:6)=(/ 0.957214,0.976628,0.982967,0.993110,0.989071,0.965021 /) -XCGA_LKT(37,6,1:6)=(/ 0.716670,0.739587,0.739013,0.690103,0.531510,0.219937 /) -XEXT_COEFF_550_LKT(37,6)=2708.700000 !rg=0.185845 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,7,1:6)=(/ 2307.300000,2588.600000,2416.000000,1589.400000,505.610000,72.490000 /) -XPIZA_LKT(37,7,1:6)=(/ 0.950211,0.971711,0.980695,0.993238,0.991062,0.976262 /) -XCGA_LKT(37,7,1:6)=(/ 0.724123,0.731890,0.737463,0.714283,0.606163,0.319613 /) -XEXT_COEFF_550_LKT(37,7)=2427.500000 !rg=0.185845 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,8,1:6)=(/ 1916.200000,2127.500000,2101.300000,1580.400000,624.340000,108.930000 /) -XPIZA_LKT(37,8,1:6)=(/ 0.941420,0.965620,0.977490,0.992963,0.992304,0.983083 /) -XCGA_LKT(37,8,1:6)=(/ 0.734467,0.728130,0.733930,0.726210,0.661207,0.420557 /) -XEXT_COEFF_550_LKT(37,8)=2105.000000 !rg=0.185845 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,9,1:6)=(/ 1570.900000,1737.800000,1777.200000,1481.800000,726.450000,155.390000 /) -XPIZA_LKT(37,9,1:6)=(/ 0.933951,0.959269,0.973458,0.992255,0.993021,0.987272 /) -XCGA_LKT(37,9,1:6)=(/ 0.745880,0.729663,0.731630,0.728863,0.700580,0.506277 /) -XEXT_COEFF_550_LKT(37,9)=1778.300000 !rg=0.185845 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,10,1:6)=(/ 1300.900000,1420.400000,1479.600000,1332.200000,790.860000,210.730000 /) -XPIZA_LKT(37,10,1:6)=(/ 0.922504,0.951682,0.967899,0.991201,0.993292,0.989912 /) -XCGA_LKT(37,10,1:6)=(/ 0.757257,0.735827,0.728817,0.728710,0.725930,0.581700 /) -XEXT_COEFF_550_LKT(37,10)=1481.900000 !rg=0.185845 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,11,1:6)=(/ 1071.600000,1157.600000,1224.000000,1164.200000,803.730000,270.380000 /) -XPIZA_LKT(37,11,1:6)=(/ 0.910827,0.942350,0.961518,0.989754,0.993141,0.991593 /) -XCGA_LKT(37,11,1:6)=(/ 0.771133,0.740577,0.731077,0.728467,0.739020,0.640113 /) -XEXT_COEFF_550_LKT(37,11)=1217.500000 !rg=0.185845 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,12,1:6)=(/ 879.280000,942.650000,998.030000,989.790000,764.190000,327.320000 /) -XPIZA_LKT(37,12,1:6)=(/ 0.897560,0.932402,0.954416,0.987843,0.992567,0.992626 /) -XCGA_LKT(37,12,1:6)=(/ 0.781833,0.752397,0.733003,0.728580,0.742297,0.685190 /) -XEXT_COEFF_550_LKT(37,12)=997.490000 !rg=0.185845 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,13,1:6)=(/ 718.570000,766.760000,813.910000,825.780000,694.180000,371.850000 /) -XPIZA_LKT(37,13,1:6)=(/ 0.883193,0.921271,0.946025,0.985569,0.991583,0.993161 /) -XCGA_LKT(37,13,1:6)=(/ 0.796610,0.762553,0.741730,0.728930,0.740717,0.716547 /) -XEXT_COEFF_550_LKT(37,13)=811.560000 !rg=0.185845 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,14,1:6)=(/ 593.780000,625.490000,661.290000,683.830000,616.140000,393.570000 /) -XPIZA_LKT(37,14,1:6)=(/ 0.867750,0.909383,0.937386,0.982882,0.990327,0.993250 /) -XCGA_LKT(37,14,1:6)=(/ 0.807947,0.773190,0.749687,0.731010,0.741150,0.734947 /) -XEXT_COEFF_550_LKT(37,14)=663.980000 !rg=0.185845 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,15,1:6)=(/ 488.730000,514.090000,539.030000,565.590000,535.090000,387.370000 /) -XPIZA_LKT(37,15,1:6)=(/ 0.853028,0.893968,0.926699,0.978805,0.988828,0.992890 /) -XCGA_LKT(37,15,1:6)=(/ 0.816577,0.785780,0.757903,0.734877,0.743690,0.741373 /) -XEXT_COEFF_550_LKT(37,15)=538.390000 !rg=0.185845 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,16,1:6)=(/ 401.240000,418.210000,440.670000,459.830000,452.810000,358.650000 /) -XPIZA_LKT(37,16,1:6)=(/ 0.840078,0.878407,0.913824,0.975235,0.986511,0.992069 /) -XCGA_LKT(37,16,1:6)=(/ 0.828943,0.796183,0.769513,0.740197,0.743930,0.739047 /) -XEXT_COEFF_550_LKT(37,16)=437.540000 !rg=0.185845 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,17,1:6)=(/ 330.350000,342.370000,358.380000,375.270000,379.820000,320.550000 /) -XPIZA_LKT(37,17,1:6)=(/ 0.828436,0.864327,0.900177,0.971001,0.984373,0.990953 /) -XCGA_LKT(37,17,1:6)=(/ 0.838203,0.808733,0.780357,0.748017,0.747340,0.736260 /) -XEXT_COEFF_550_LKT(37,17)=359.290000 !rg=0.185845 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,18,1:6)=(/ 272.480000,282.500000,293.130000,308.850000,315.280000,284.710000 /) -XPIZA_LKT(37,18,1:6)=(/ 0.817498,0.850142,0.885178,0.964926,0.981144,0.989626 /) -XCGA_LKT(37,18,1:6)=(/ 0.844407,0.819593,0.791183,0.755907,0.750743,0.738693 /) -XEXT_COEFF_550_LKT(37,18)=292.630000 !rg=0.185845 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,19,1:6)=(/ 224.640000,231.010000,240.400000,250.610000,261.170000,247.140000 /) -XPIZA_LKT(37,19,1:6)=(/ 0.807713,0.838363,0.869760,0.959222,0.977478,0.987796 /) -XCGA_LKT(37,19,1:6)=(/ 0.852793,0.828040,0.803293,0.763807,0.755300,0.741120 /) -XEXT_COEFF_550_LKT(37,19)=239.500000 !rg=0.185845 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(37,20,1:6)=(/ 185.320000,189.940000,196.550000,204.670000,214.080000,208.830000 /) -XPIZA_LKT(37,20,1:6)=(/ 0.797945,0.827278,0.855922,0.952060,0.974053,0.985797 /) -XCGA_LKT(37,20,1:6)=(/ 0.859117,0.837570,0.813753,0.773967,0.761157,0.743277 /) -XEXT_COEFF_550_LKT(37,20)=196.800000 !rg=0.185845 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,1,1:6)=(/ 5417.500000,5197.800000,2682.800000,757.760000,103.290000,7.790100 /) -XPIZA_LKT(38,1,1:6)=(/ 0.977965,0.986179,0.984664,0.989019,0.967117,0.815926 /) -XCGA_LKT(38,1,1:6)=(/ 0.747317,0.768917,0.656273,0.436650,0.125223,0.030920 /) -XEXT_COEFF_550_LKT(38,1)=2716.100000 !rg=0.201336 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,2,1:6)=(/ 4837.300000,5050.200000,2785.700000,859.310000,124.700000,9.441800 /) -XPIZA_LKT(38,2,1:6)=(/ 0.975075,0.985826,0.984688,0.989813,0.972217,0.846707 /) -XCGA_LKT(38,2,1:6)=(/ 0.732047,0.772660,0.689233,0.506293,0.158887,0.039207 /) -XEXT_COEFF_550_LKT(38,2)=2833.100000 !rg=0.201336 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,3,1:6)=(/ 4079.400000,4681.000000,2911.900000,1039.800000,167.050000,13.398000 /) -XPIZA_LKT(38,3,1:6)=(/ 0.970585,0.984571,0.985028,0.991120,0.978497,0.889917 /) -XCGA_LKT(38,3,1:6)=(/ 0.713590,0.769067,0.715263,0.572253,0.236470,0.059430 /) -XEXT_COEFF_550_LKT(38,3)=2956.500000 !rg=0.201336 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,4,1:6)=(/ 3452.800000,4112.100000,2955.900000,1244.500000,233.160000,21.280000 /) -XPIZA_LKT(38,4,1:6)=(/ 0.965331,0.982259,0.984941,0.992222,0.983719,0.928635 /) -XCGA_LKT(38,4,1:6)=(/ 0.706100,0.759073,0.732990,0.627643,0.354943,0.100000 /) -XEXT_COEFF_550_LKT(38,4)=2992.500000 !rg=0.201336 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,5,1:6)=(/ 2942.000000,3471.000000,2856.000000,1435.600000,325.570000,35.017000 /) -XPIZA_LKT(38,5,1:6)=(/ 0.959373,0.978873,0.984088,0.992946,0.987512,0.954867 /) -XCGA_LKT(38,5,1:6)=(/ 0.707527,0.746670,0.741550,0.672277,0.471467,0.165237 /) -XEXT_COEFF_550_LKT(38,5)=2882.000000 !rg=0.201336 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,6,1:6)=(/ 2476.400000,2882.000000,2619.700000,1570.200000,437.230000,55.911000 /) -XPIZA_LKT(38,6,1:6)=(/ 0.952871,0.974356,0.982350,0.993279,0.990032,0.970278 /) -XCGA_LKT(38,6,1:6)=(/ 0.715647,0.735750,0.742220,0.703503,0.561983,0.254110 /) -XEXT_COEFF_550_LKT(38,6)=2636.200000 !rg=0.201336 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,7,1:6)=(/ 2075.200000,2368.400000,2304.500000,1617.300000,558.530000,86.205000 /) -XPIZA_LKT(38,7,1:6)=(/ 0.945222,0.968723,0.979642,0.993229,0.991673,0.979467 /) -XCGA_LKT(38,7,1:6)=(/ 0.724897,0.728957,0.738560,0.722180,0.629640,0.358817 /) -XEXT_COEFF_550_LKT(38,7)=2313.000000 !rg=0.201336 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,8,1:6)=(/ 1727.600000,1938.700000,1971.200000,1564.400000,672.420000,126.870000 /) -XPIZA_LKT(38,8,1:6)=(/ 0.937216,0.962623,0.976020,0.992773,0.992674,0.985047 /) -XCGA_LKT(38,8,1:6)=(/ 0.737780,0.728653,0.734233,0.729790,0.678443,0.454363 /) -XEXT_COEFF_550_LKT(38,8)=1977.000000 !rg=0.201336 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,9,1:6)=(/ 1436.700000,1579.200000,1649.100000,1434.200000,761.370000,177.340000 /) -XPIZA_LKT(38,9,1:6)=(/ 0.927949,0.955610,0.971322,0.991922,0.993200,0.988496 /) -XCGA_LKT(38,9,1:6)=(/ 0.751593,0.729953,0.730237,0.730593,0.712337,0.537727 /) -XEXT_COEFF_550_LKT(38,9)=1651.800000 !rg=0.201336 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,10,1:6)=(/ 1180.600000,1291.100000,1365.400000,1272.000000,805.410000,234.910000 /) -XPIZA_LKT(38,10,1:6)=(/ 0.918199,0.947742,0.965811,0.990693,0.993296,0.990693 /) -XCGA_LKT(38,10,1:6)=(/ 0.764370,0.737243,0.730913,0.729180,0.732643,0.606173 /) -XEXT_COEFF_550_LKT(38,10)=1364.800000 !rg=0.201336 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,11,1:6)=(/ 975.700000,1050.800000,1119.300000,1096.500000,795.690000,294.690000 /) -XPIZA_LKT(38,11,1:6)=(/ 0.905188,0.938991,0.958855,0.989120,0.992976,0.992088 /) -XCGA_LKT(38,11,1:6)=(/ 0.777093,0.747013,0.731223,0.729380,0.741570,0.659603 /) -XEXT_COEFF_550_LKT(38,11)=1120.900000 !rg=0.201336 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,12,1:6)=(/ 800.300000,857.890000,914.120000,920.240000,740.870000,347.800000 /) -XPIZA_LKT(38,12,1:6)=(/ 0.891624,0.927925,0.951341,0.987017,0.992221,0.992903 /) -XCGA_LKT(38,12,1:6)=(/ 0.789910,0.756530,0.738137,0.728070,0.742180,0.699023 /) -XEXT_COEFF_550_LKT(38,12)=912.590000 !rg=0.201336 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,13,1:6)=(/ 660.860000,698.890000,742.290000,765.650000,664.150000,384.050000 /) -XPIZA_LKT(38,13,1:6)=(/ 0.875582,0.916324,0.942550,0.984524,0.991157,0.993253 /) -XCGA_LKT(38,13,1:6)=(/ 0.802260,0.766953,0.744463,0.729873,0.741377,0.725213 /) -XEXT_COEFF_550_LKT(38,13)=745.250000 !rg=0.201336 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,14,1:6)=(/ 544.520000,574.420000,604.000000,632.580000,585.390000,394.590000 /) -XPIZA_LKT(38,14,1:6)=(/ 0.860179,0.902277,0.933135,0.981100,0.989807,0.993158 /) -XCGA_LKT(38,14,1:6)=(/ 0.811257,0.779437,0.752750,0.732180,0.743087,0.738587 /) -XEXT_COEFF_550_LKT(38,14)=603.980000 !rg=0.201336 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,15,1:6)=(/ 448.360000,468.940000,495.210000,517.910000,501.410000,378.080000 /) -XPIZA_LKT(38,15,1:6)=(/ 0.846631,0.886994,0.920848,0.977727,0.987968,0.992607 /) -XCGA_LKT(38,15,1:6)=(/ 0.823367,0.788873,0.763510,0.735480,0.743767,0.740967 /) -XEXT_COEFF_550_LKT(38,15)=490.820000 !rg=0.201336 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,16,1:6)=(/ 367.960000,381.590000,401.480000,420.670000,421.950000,343.530000 /) -XPIZA_LKT(38,16,1:6)=(/ 0.834317,0.872002,0.908330,0.973944,0.985521,0.991655 /) -XCGA_LKT(38,16,1:6)=(/ 0.833780,0.804050,0.772897,0.745423,0.744053,0.737873 /) -XEXT_COEFF_550_LKT(38,16)=402.330000 !rg=0.201336 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,17,1:6)=(/ 303.780000,314.780000,327.290000,346.050000,351.600000,306.280000 /) -XPIZA_LKT(38,17,1:6)=(/ 0.822976,0.857890,0.894295,0.968324,0.983379,0.990435 /) -XCGA_LKT(38,17,1:6)=(/ 0.840997,0.814450,0.785680,0.751663,0.750223,0.737127 /) -XEXT_COEFF_550_LKT(38,17)=327.360000 !rg=0.201336 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,18,1:6)=(/ 250.650000,258.630000,269.370000,281.650000,291.970000,270.260000 /) -XPIZA_LKT(38,18,1:6)=(/ 0.812853,0.844604,0.877675,0.962986,0.979816,0.988903 /) -XCGA_LKT(38,18,1:6)=(/ 0.848997,0.822783,0.797477,0.757437,0.752633,0.739773 /) -XEXT_COEFF_550_LKT(38,18)=267.150000 !rg=0.201336 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,19,1:6)=(/ 206.430000,211.710000,219.480000,228.610000,240.180000,230.800000 /) -XPIZA_LKT(38,19,1:6)=(/ 0.802956,0.832888,0.863968,0.956719,0.976310,0.986923 /) -XCGA_LKT(38,19,1:6)=(/ 0.856237,0.834227,0.807113,0.770163,0.756160,0.740860 /) -XEXT_COEFF_550_LKT(38,19)=220.070000 !rg=0.201336 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(38,20,1:6)=(/ 170.410000,174.670000,179.840000,188.190000,196.350000,195.100000 /) -XPIZA_LKT(38,20,1:6)=(/ 0.793013,0.822004,0.851272,0.948015,0.972246,0.984962 /) -XCGA_LKT(38,20,1:6)=(/ 0.861180,0.842040,0.818360,0.778647,0.765717,0.746967 /) -XEXT_COEFF_550_LKT(38,20)=179.750000 !rg=0.201336 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,1,1:6)=(/ 4519.100000,5192.000000,2823.400000,873.110000,127.930000,9.522700 /) -XPIZA_LKT(39,1,1:6)=(/ 0.973137,0.986170,0.985078,0.989893,0.972716,0.847713 /) -XCGA_LKT(39,1,1:6)=(/ 0.721267,0.781630,0.688190,0.514497,0.147510,0.036250 /) -XEXT_COEFF_550_LKT(39,1)=2873.500000 !rg=0.218119 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,2,1:6)=(/ 4009.500000,4928.600000,2962.000000,997.490000,152.670000,11.610000 /) -XPIZA_LKT(39,2,1:6)=(/ 0.969949,0.985324,0.985298,0.990736,0.976676,0.873765 /) -XCGA_LKT(39,2,1:6)=(/ 0.703360,0.777287,0.712743,0.561683,0.187290,0.045953 /) -XEXT_COEFF_550_LKT(39,2)=3009.700000 !rg=0.218119 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,3,1:6)=(/ 3477.600000,4456.200000,3038.000000,1177.600000,200.220000,16.575000 /) -XPIZA_LKT(39,3,1:6)=(/ 0.965214,0.983649,0.985399,0.991847,0.981521,0.909692 /) -XCGA_LKT(39,3,1:6)=(/ 0.692357,0.769267,0.731343,0.606840,0.276077,0.069590 /) -XEXT_COEFF_550_LKT(39,3)=3079.700000 !rg=0.218119 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,4,1:6)=(/ 3024.100000,3821.800000,3003.300000,1368.900000,274.050000,26.274000 /) -XPIZA_LKT(39,4,1:6)=(/ 0.960283,0.980810,0.984954,0.992708,0.985677,0.941161 /) -XCGA_LKT(39,4,1:6)=(/ 0.696130,0.755637,0.743250,0.652413,0.398420,0.116740 /) -XEXT_COEFF_550_LKT(39,4)=3035.500000 !rg=0.218119 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,5,1:6)=(/ 2603.900000,3184.400000,2819.600000,1533.100000,374.380000,42.662000 /) -XPIZA_LKT(39,5,1:6)=(/ 0.954568,0.976752,0.983692,0.993226,0.988766,0.962165 /) -XCGA_LKT(39,5,1:6)=(/ 0.705393,0.741177,0.746823,0.689763,0.508117,0.191960 /) -XEXT_COEFF_550_LKT(39,5)=2840.700000 !rg=0.218119 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,6,1:6)=(/ 2219.000000,2617.500000,2524.100000,1627.300000,490.900000,67.075000 /) -XPIZA_LKT(39,6,1:6)=(/ 0.949053,0.971881,0.981475,0.993379,0.990837,0.974582 /) -XCGA_LKT(39,6,1:6)=(/ 0.719957,0.731150,0.743770,0.714867,0.590427,0.290720 /) -XEXT_COEFF_550_LKT(39,6)=2534.300000 !rg=0.218119 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,7,1:6)=(/ 1874.900000,2144.500000,2180.300000,1626.600000,611.320000,101.780000 /) -XPIZA_LKT(39,7,1:6)=(/ 0.940472,0.965847,0.978288,0.993156,0.992174,0.982099 /) -XCGA_LKT(39,7,1:6)=(/ 0.732393,0.726453,0.738093,0.728413,0.650920,0.395793 /) -XEXT_COEFF_550_LKT(39,7)=2183.500000 !rg=0.218119 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,8,1:6)=(/ 1560.300000,1755.300000,1838.500000,1532.500000,716.810000,146.400000 /) -XPIZA_LKT(39,8,1:6)=(/ 0.933378,0.959374,0.974159,0.992523,0.992960,0.986648 /) -XCGA_LKT(39,8,1:6)=(/ 0.745500,0.727413,0.733417,0.732183,0.693707,0.487113 /) -XEXT_COEFF_550_LKT(39,8)=1837.900000 !rg=0.218119 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,9,1:6)=(/ 1305.100000,1442.100000,1521.700000,1380.900000,789.370000,200.790000 /) -XPIZA_LKT(39,9,1:6)=(/ 0.921832,0.951007,0.969053,0.991485,0.993305,0.989527 /) -XCGA_LKT(39,9,1:6)=(/ 0.753873,0.732007,0.729940,0.731310,0.722197,0.566923 /) -XEXT_COEFF_550_LKT(39,9)=1520.800000 !rg=0.218119 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,10,1:6)=(/ 1082.900000,1173.100000,1254.400000,1206.700000,811.220000,259.670000 /) -XPIZA_LKT(39,10,1:6)=(/ 0.911527,0.943478,0.963158,0.990118,0.993233,0.991338 /) -XCGA_LKT(39,10,1:6)=(/ 0.770527,0.739267,0.730600,0.730530,0.737730,0.628617 /) -XEXT_COEFF_550_LKT(39,10)=1257.800000 !rg=0.218119 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,11,1:6)=(/ 890.140000,959.710000,1022.800000,1026.300000,780.880000,317.770000 /) -XPIZA_LKT(39,11,1:6)=(/ 0.899172,0.933650,0.956402,0.988245,0.992734,0.992475 /) -XCGA_LKT(39,11,1:6)=(/ 0.782223,0.750027,0.734590,0.728477,0.742930,0.676707 /) -XEXT_COEFF_550_LKT(39,11)=1024.400000 !rg=0.218119 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,12,1:6)=(/ 735.950000,781.680000,833.950000,854.670000,713.310000,365.320000 /) -XPIZA_LKT(39,12,1:6)=(/ 0.883769,0.922810,0.947867,0.986033,0.991845,0.993095 /) -XCGA_LKT(39,12,1:6)=(/ 0.795967,0.760213,0.739927,0.728590,0.742203,0.710767 /) -XEXT_COEFF_550_LKT(39,12)=837.220000 !rg=0.218119 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,13,1:6)=(/ 605.890000,641.590000,677.720000,709.420000,634.700000,392.160000 /) -XPIZA_LKT(39,13,1:6)=(/ 0.867541,0.909685,0.938739,0.982944,0.990665,0.993265 /) -XCGA_LKT(39,13,1:6)=(/ 0.805643,0.773033,0.747600,0.730513,0.742723,0.731870 /) -XEXT_COEFF_550_LKT(39,13)=677.730000 !rg=0.218119 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,14,1:6)=(/ 499.740000,524.290000,555.220000,581.520000,552.870000,391.210000 /) -XPIZA_LKT(39,14,1:6)=(/ 0.853661,0.895359,0.927346,0.979673,0.989096,0.992990 /) -XCGA_LKT(39,14,1:6)=(/ 0.818500,0.782030,0.757640,0.731820,0.743697,0.740637 /) -XEXT_COEFF_550_LKT(39,14)=549.900000 !rg=0.218119 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,15,1:6)=(/ 410.590000,428.090000,451.230000,473.470000,467.940000,365.590000 /) -XPIZA_LKT(39,15,1:6)=(/ 0.839989,0.879672,0.915588,0.976394,0.986989,0.992278 /) -XCGA_LKT(39,15,1:6)=(/ 0.827977,0.797673,0.765593,0.741607,0.743000,0.740267 /) -XEXT_COEFF_550_LKT(39,15)=451.080000 !rg=0.218119 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,16,1:6)=(/ 338.110000,350.980000,365.760000,387.290000,393.130000,328.850000 /) -XPIZA_LKT(39,16,1:6)=(/ 0.828986,0.865170,0.902981,0.971433,0.984479,0.991191 /) -XCGA_LKT(39,16,1:6)=(/ 0.837350,0.809100,0.780490,0.746867,0.747693,0.737383 /) -XEXT_COEFF_550_LKT(39,16)=367.240000 !rg=0.218119 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,17,1:6)=(/ 279.300000,288.550000,300.790000,316.530000,324.610000,292.210000 /) -XPIZA_LKT(39,17,1:6)=(/ 0.817719,0.851111,0.886779,0.965834,0.981961,0.989852 /) -XCGA_LKT(39,17,1:6)=(/ 0.846047,0.817340,0.791477,0.751700,0.750827,0.738050 /) -XEXT_COEFF_550_LKT(39,17)=298.460000 !rg=0.218119 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,18,1:6)=(/ 229.930000,237.000000,246.140000,257.240000,269.370000,254.170000 /) -XPIZA_LKT(39,18,1:6)=(/ 0.807232,0.838762,0.871503,0.960318,0.978135,0.988240 /) -XCGA_LKT(39,18,1:6)=(/ 0.852203,0.829410,0.800510,0.765157,0.752097,0.741130 /) -XEXT_COEFF_550_LKT(39,18)=245.800000 !rg=0.218119 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,19,1:6)=(/ 189.960000,194.970000,200.640000,210.800000,221.120000,215.510000 /) -XPIZA_LKT(39,19,1:6)=(/ 0.798421,0.827426,0.858157,0.952875,0.974386,0.986039 /) -XCGA_LKT(39,19,1:6)=(/ 0.858617,0.838363,0.814083,0.773300,0.760793,0.744197 /) -XEXT_COEFF_550_LKT(39,19)=201.510000 !rg=0.218119 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(39,20,1:6)=(/ 156.990000,160.620000,165.320000,172.440000,180.330000,181.720000 /) -XPIZA_LKT(39,20,1:6)=(/ 0.789013,0.816667,0.845377,0.944353,0.969958,0.983881 /) -XCGA_LKT(39,20,1:6)=(/ 0.864487,0.844490,0.823560,0.779707,0.768553,0.748413 /) -XEXT_COEFF_550_LKT(39,20)=164.470000 !rg=0.218119 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,1,1:6)=(/ 3571.600000,4970.700000,3055.000000,1018.600000,157.400000,11.717000 /) -XPIZA_LKT(40,1,1:6)=(/ 0.966341,0.985433,0.985377,0.990703,0.977191,0.874630 /) -XCGA_LKT(40,1,1:6)=(/ 0.677150,0.784697,0.728597,0.584770,0.174190,0.042497 /) -XEXT_COEFF_550_LKT(40,1)=3120.700000 !rg=0.236301 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,2,1:6)=(/ 3277.900000,4704.800000,3114.100000,1151.200000,185.160000,14.350000 /) -XPIZA_LKT(40,2,1:6)=(/ 0.963035,0.984485,0.985727,0.991573,0.980216,0.896401 /) -XCGA_LKT(40,2,1:6)=(/ 0.669207,0.778233,0.733803,0.603440,0.221230,0.053860 /) -XEXT_COEFF_550_LKT(40,2)=3159.800000 !rg=0.236301 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,3,1:6)=(/ 2945.300000,4152.000000,3124.300000,1317.000000,237.890000,20.553000 /) -XPIZA_LKT(40,3,1:6)=(/ 0.959099,0.982314,0.985577,0.992460,0.983946,0.925949 /) -XCGA_LKT(40,3,1:6)=(/ 0.672113,0.765927,0.744923,0.635633,0.320887,0.081483 /) -XEXT_COEFF_550_LKT(40,3)=3162.100000 !rg=0.236301 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,4,1:6)=(/ 2645.600000,3494.300000,3006.000000,1487.600000,319.730000,32.373000 /) -XPIZA_LKT(40,4,1:6)=(/ 0.954981,0.978876,0.984767,0.993103,0.987285,0.951306 /) -XCGA_LKT(40,4,1:6)=(/ 0.688960,0.749540,0.751163,0.674150,0.442340,0.136170 /) -XEXT_COEFF_550_LKT(40,4)=3033.100000 !rg=0.236301 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,5,1:6)=(/ 2331.600000,2878.500000,2745.600000,1617.700000,427.010000,51.734000 /) -XPIZA_LKT(40,5,1:6)=(/ 0.949306,0.974327,0.983049,0.993433,0.989809,0.968072 /) -XCGA_LKT(40,5,1:6)=(/ 0.707380,0.735097,0.749940,0.705003,0.542803,0.222073 /) -XEXT_COEFF_550_LKT(40,5)=2760.700000 !rg=0.236301 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,6,1:6)=(/ 2000.700000,2365.700000,2401.100000,1666.100000,545.960000,80.063000 /) -XPIZA_LKT(40,6,1:6)=(/ 0.943770,0.969026,0.980394,0.993412,0.991506,0.978115 /) -XCGA_LKT(40,6,1:6)=(/ 0.722107,0.727307,0.743917,0.724380,0.616493,0.328087 /) -XEXT_COEFF_550_LKT(40,6)=2410.600000 !rg=0.236301 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,7,1:6)=(/ 1691.500000,1938.500000,2038.300000,1617.800000,662.450000,119.060000 /) -XPIZA_LKT(40,7,1:6)=(/ 0.936031,0.962927,0.976739,0.993011,0.992588,0.984242 /) -XCGA_LKT(40,7,1:6)=(/ 0.737117,0.725817,0.737203,0.733243,0.669980,0.430727 /) -XEXT_COEFF_550_LKT(40,7)=2044.200000 !rg=0.236301 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,8,1:6)=(/ 1425.200000,1588.600000,1698.900000,1488.100000,755.990000,167.810000 /) -XPIZA_LKT(40,8,1:6)=(/ 0.927237,0.955810,0.972097,0.992217,0.993176,0.987983 /) -XCGA_LKT(40,8,1:6)=(/ 0.750703,0.727727,0.731617,0.734337,0.706950,0.519493 /) -XEXT_COEFF_550_LKT(40,8)=1702.800000 !rg=0.236301 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,9,1:6)=(/ 1190.700000,1304.400000,1404.500000,1317.500000,808.960000,224.910000 /) -XPIZA_LKT(40,9,1:6)=(/ 0.915584,0.946962,0.966056,0.991030,0.993347,0.990377 /) -XCGA_LKT(40,9,1:6)=(/ 0.763920,0.732653,0.729467,0.732427,0.730227,0.592727 /) -XEXT_COEFF_550_LKT(40,9)=1398.100000 !rg=0.236301 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,10,1:6)=(/ 988.070000,1073.300000,1147.500000,1138.700000,808.290000,284.470000 /) -XPIZA_LKT(40,10,1:6)=(/ 0.904598,0.937936,0.960135,0.989353,0.993104,0.991880 /) -XCGA_LKT(40,10,1:6)=(/ 0.773497,0.743707,0.730820,0.730087,0.741400,0.649233 /) -XEXT_COEFF_550_LKT(40,10)=1146.300000 !rg=0.236301 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,11,1:6)=(/ 817.830000,874.190000,937.620000,953.890000,759.470000,339.470000 /) -XPIZA_LKT(40,11,1:6)=(/ 0.891389,0.927856,0.952455,0.987350,0.992440,0.992786 /) -XCGA_LKT(40,11,1:6)=(/ 0.789747,0.752547,0.735573,0.728407,0.743450,0.691663 /) -XEXT_COEFF_550_LKT(40,11)=937.270000 !rg=0.236301 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,12,1:6)=(/ 673.900000,717.220000,760.800000,795.030000,684.920000,379.580000 /) -XPIZA_LKT(40,12,1:6)=(/ 0.875662,0.916253,0.944024,0.984587,0.991424,0.993219 /) -XCGA_LKT(40,12,1:6)=(/ 0.799327,0.766363,0.742150,0.729220,0.742960,0.720600 /) -XEXT_COEFF_550_LKT(40,12)=760.660000 !rg=0.236301 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,13,1:6)=(/ 555.810000,585.200000,622.040000,651.600000,604.300000,395.500000 /) -XPIZA_LKT(40,13,1:6)=(/ 0.861153,0.903082,0.933351,0.981542,0.990048,0.993210 /) -XCGA_LKT(40,13,1:6)=(/ 0.813370,0.775380,0.751740,0.729350,0.743163,0.736627 /) -XEXT_COEFF_550_LKT(40,13)=616.350000 !rg=0.236301 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,14,1:6)=(/ 456.490000,479.160000,506.020000,533.630000,518.210000,383.600000 /) -XPIZA_LKT(40,14,1:6)=(/ 0.847554,0.887891,0.922095,0.978131,0.988369,0.992759 /) -XCGA_LKT(40,14,1:6)=(/ 0.822620,0.790830,0.759207,0.737497,0.744057,0.741373 /) -XEXT_COEFF_550_LKT(40,14)=504.940000 !rg=0.236301 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,15,1:6)=(/ 375.710000,392.270000,411.520000,434.450000,437.480000,352.000000 /) -XPIZA_LKT(40,15,1:6)=(/ 0.834887,0.873212,0.910089,0.974397,0.985686,0.991867 /) -XCGA_LKT(40,15,1:6)=(/ 0.833477,0.803313,0.774047,0.743580,0.744657,0.738930 /) -XEXT_COEFF_550_LKT(40,15)=412.370000 !rg=0.236301 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,16,1:6)=(/ 310.540000,322.030000,336.120000,355.020000,362.890000,314.000000 /) -XPIZA_LKT(40,16,1:6)=(/ 0.822788,0.857813,0.895705,0.968720,0.983348,0.990702 /) -XCGA_LKT(40,16,1:6)=(/ 0.842180,0.812280,0.785270,0.747563,0.749190,0.737410 /) -XEXT_COEFF_550_LKT(40,16)=335.600000 !rg=0.236301 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,17,1:6)=(/ 255.830000,264.680000,275.240000,290.270000,300.720000,277.250000 /) -XPIZA_LKT(40,17,1:6)=(/ 0.813000,0.845064,0.879186,0.962815,0.980085,0.989302 /) -XCGA_LKT(40,17,1:6)=(/ 0.848773,0.823820,0.794263,0.758087,0.750270,0.740597 /) -XEXT_COEFF_550_LKT(40,17)=274.330000 !rg=0.236301 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,18,1:6)=(/ 210.940000,217.560000,225.080000,235.630000,248.700000,238.730000 /) -XPIZA_LKT(40,18,1:6)=(/ 0.802973,0.833395,0.864939,0.957354,0.975765,0.986966 /) -XCGA_LKT(40,18,1:6)=(/ 0.856143,0.834063,0.808253,0.769153,0.755377,0.741500 /) -XEXT_COEFF_550_LKT(40,18)=225.240000 !rg=0.236301 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,19,1:6)=(/ 174.810000,179.080000,184.700000,193.230000,201.890000,200.660000 /) -XPIZA_LKT(40,19,1:6)=(/ 0.793548,0.821861,0.852025,0.948766,0.972398,0.985330 /) -XCGA_LKT(40,19,1:6)=(/ 0.861863,0.840910,0.818673,0.774780,0.764360,0.746123 /) -XEXT_COEFF_550_LKT(40,19)=184.540000 !rg=0.236301 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(40,20,1:6)=(/ 144.110000,147.460000,151.770000,158.140000,166.240000,168.820000 /) -XPIZA_LKT(40,20,1:6)=(/ 0.784604,0.811720,0.839350,0.940455,0.966755,0.982084 /) -XCGA_LKT(40,20,1:6)=(/ 0.866417,0.848907,0.826240,0.786290,0.767627,0.747157 /) -XEXT_COEFF_550_LKT(40,20)=151.480000 !rg=0.236301 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET4',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET4 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET5() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET5',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(41,1,1:6)=(/ 2811.300000,4764.400000,3267.400000,1203.300000,191.860000,14.492000 /) -XPIZA_LKT(41,1,1:6)=(/ 0.956493,0.984454,0.986046,0.991591,0.980746,0.897146 /) -XCGA_LKT(41,1,1:6)=(/ 0.622593,0.782433,0.751803,0.629970,0.206360,0.049820 /) -XEXT_COEFF_550_LKT(41,1)=3310.300000 !rg=0.255998 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,2,1:6)=(/ 2670.200000,4381.100000,3226.900000,1309.800000,222.060000,17.803000 /) -XPIZA_LKT(41,2,1:6)=(/ 0.954477,0.983208,0.985997,0.992320,0.983012,0.915145 /) -XCGA_LKT(41,2,1:6)=(/ 0.630387,0.774830,0.749910,0.631720,0.261817,0.063130 /) -XEXT_COEFF_550_LKT(41,2)=3268.200000 !rg=0.255998 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,3,1:6)=(/ 2542.400000,3782.900000,3164.200000,1452.800000,280.330000,25.505000 /) -XPIZA_LKT(41,3,1:6)=(/ 0.952794,0.980453,0.985558,0.992967,0.985902,0.939216 /) -XCGA_LKT(41,3,1:6)=(/ 0.662367,0.758537,0.755677,0.660133,0.370117,0.095397 /) -XEXT_COEFF_550_LKT(41,3)=3196.900000 !rg=0.255998 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,4,1:6)=(/ 2347.200000,3142.500000,2961.800000,1596.500000,370.220000,39.751000 /) -XPIZA_LKT(41,4,1:6)=(/ 0.949773,0.976365,0.984356,0.993415,0.988615,0.959493 /) -XCGA_LKT(41,4,1:6)=(/ 0.689660,0.740133,0.756627,0.693250,0.485330,0.158643 /) -XEXT_COEFF_550_LKT(41,4)=2982.800000 !rg=0.255998 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,5,1:6)=(/ 2084.000000,2584.700000,2633.900000,1685.800000,482.840000,62.422000 /) -XPIZA_LKT(41,5,1:6)=(/ 0.944643,0.971405,0.982193,0.993568,0.990681,0.972871 /) -XCGA_LKT(41,5,1:6)=(/ 0.710640,0.728313,0.751260,0.718080,0.575103,0.255150 /) -XEXT_COEFF_550_LKT(41,5)=2646.000000 !rg=0.255998 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,6,1:6)=(/ 1805.400000,2132.900000,2259.400000,1685.200000,601.610000,94.905000 /) -XPIZA_LKT(41,6,1:6)=(/ 0.938461,0.965351,0.979035,0.993373,0.992062,0.981003 /) -XCGA_LKT(41,6,1:6)=(/ 0.726397,0.721787,0.743137,0.732007,0.640230,0.364950 /) -XEXT_COEFF_550_LKT(41,6)=2262.400000 !rg=0.255998 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,7,1:6)=(/ 1532.100000,1750.600000,1891.700000,1591.600000,710.620000,138.090000 /) -XPIZA_LKT(41,7,1:6)=(/ 0.931269,0.958879,0.974900,0.992789,0.992915,0.985994 /) -XCGA_LKT(41,7,1:6)=(/ 0.742703,0.723097,0.735643,0.736477,0.686987,0.464867 /) -XEXT_COEFF_550_LKT(41,7)=1890.900000 !rg=0.255998 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,8,1:6)=(/ 1295.900000,1444.900000,1562.300000,1434.600000,788.770000,190.870000 /) -XPIZA_LKT(41,8,1:6)=(/ 0.920894,0.951102,0.969804,0.991803,0.993320,0.989103 /) -XCGA_LKT(41,8,1:6)=(/ 0.754197,0.728737,0.730610,0.735083,0.718247,0.549903 /) -XEXT_COEFF_550_LKT(41,8)=1561.000000 !rg=0.255998 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,9,1:6)=(/ 1081.200000,1179.800000,1283.600000,1250.500000,819.850000,249.750000 /) -XPIZA_LKT(41,9,1:6)=(/ 0.910143,0.943474,0.963282,0.990482,0.993323,0.991079 /) -XCGA_LKT(41,9,1:6)=(/ 0.770223,0.739120,0.728840,0.733170,0.736570,0.616357 /) -XEXT_COEFF_550_LKT(41,9)=1284.300000 !rg=0.255998 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,10,1:6)=(/ 904.590000,973.130000,1052.400000,1062.600000,797.340000,308.270000 /) -XPIZA_LKT(41,10,1:6)=(/ 0.897556,0.932998,0.956149,0.988603,0.992906,0.992313 /) -XCGA_LKT(41,10,1:6)=(/ 0.783013,0.745057,0.731747,0.730040,0.743597,0.667477 /) -XEXT_COEFF_550_LKT(41,10)=1045.100000 !rg=0.255998 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,11,1:6)=(/ 747.230000,799.550000,854.680000,888.030000,734.240000,358.460000 /) -XPIZA_LKT(41,11,1:6)=(/ 0.883796,0.922100,0.948264,0.986025,0.992102,0.993017 /) -XCGA_LKT(41,11,1:6)=(/ 0.792763,0.759577,0.736673,0.728560,0.744267,0.704417 /) -XEXT_COEFF_550_LKT(41,11)=852.100000 !rg=0.255998 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,12,1:6)=(/ 617.990000,653.020000,698.520000,731.910000,655.310000,389.760000 /) -XPIZA_LKT(41,12,1:6)=(/ 0.868452,0.910288,0.938791,0.983435,0.990950,0.993268 /) -XCGA_LKT(41,12,1:6)=(/ 0.807607,0.768553,0.746193,0.728530,0.743487,0.728197 /) -XEXT_COEFF_550_LKT(41,12)=692.100000 !rg=0.255998 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,13,1:6)=(/ 507.480000,534.930000,567.040000,599.400000,570.830000,394.320000 /) -XPIZA_LKT(41,13,1:6)=(/ 0.854553,0.896023,0.928204,0.979937,0.989484,0.993084 /) -XCGA_LKT(41,13,1:6)=(/ 0.817443,0.784180,0.753277,0.733840,0.744783,0.739677 /) -XEXT_COEFF_550_LKT(41,13)=565.150000 !rg=0.255998 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,14,1:6)=(/ 417.690000,437.610000,462.160000,487.230000,485.170000,373.100000 /) -XPIZA_LKT(41,14,1:6)=(/ 0.841351,0.880889,0.916406,0.976774,0.987133,0.992440 /) -XCGA_LKT(41,14,1:6)=(/ 0.829713,0.796570,0.767247,0.739463,0.744030,0.740783 /) -XEXT_COEFF_550_LKT(41,14)=461.600000 !rg=0.255998 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,15,1:6)=(/ 346.000000,359.530000,376.280000,398.080000,405.120000,337.100000 /) -XPIZA_LKT(41,15,1:6)=(/ 0.829480,0.866296,0.904187,0.971979,0.985053,0.991428 /) -XCGA_LKT(41,15,1:6)=(/ 0.838380,0.807103,0.778970,0.744393,0.747160,0.737980 /) -XEXT_COEFF_550_LKT(41,15)=377.870000 !rg=0.255998 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,16,1:6)=(/ 285.440000,295.630000,307.810000,325.670000,335.170000,299.660000 /) -XPIZA_LKT(41,16,1:6)=(/ 0.817676,0.852082,0.887672,0.966365,0.982454,0.990173 /) -XCGA_LKT(41,16,1:6)=(/ 0.845250,0.819057,0.788350,0.753110,0.749483,0.739140 /) -XEXT_COEFF_550_LKT(41,16)=306.510000 !rg=0.255998 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,17,1:6)=(/ 234.830000,242.480000,252.290000,264.450000,278.100000,262.160000 /) -XPIZA_LKT(41,17,1:6)=(/ 0.807202,0.838685,0.872321,0.960164,0.978534,0.988444 /) -XCGA_LKT(41,17,1:6)=(/ 0.853633,0.828313,0.801597,0.762340,0.753190,0.741350 /) -XEXT_COEFF_550_LKT(41,17)=251.900000 !rg=0.255998 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,18,1:6)=(/ 194.440000,199.920000,206.400000,216.180000,227.060000,221.560000 /) -XPIZA_LKT(41,18,1:6)=(/ 0.798813,0.827824,0.859045,0.953770,0.974890,0.986600 /) -XCGA_LKT(41,18,1:6)=(/ 0.859407,0.837193,0.813433,0.770903,0.759537,0.743460 /) -XEXT_COEFF_550_LKT(41,18)=206.870000 !rg=0.255998 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,19,1:6)=(/ 160.650000,164.690000,169.540000,177.320000,185.700000,187.300000 /) -XPIZA_LKT(41,19,1:6)=(/ 0.788909,0.817234,0.845650,0.945100,0.970629,0.984313 /) -XCGA_LKT(41,19,1:6)=(/ 0.864150,0.845670,0.821593,0.780850,0.765890,0.747043 /) -XEXT_COEFF_550_LKT(41,19)=169.040000 !rg=0.255998 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(41,20,1:6)=(/ 132.530000,135.680000,139.310000,144.370000,152.930000,156.590000 /) -XPIZA_LKT(41,20,1:6)=(/ 0.779260,0.806302,0.834012,0.937250,0.964464,0.980727 /) -XCGA_LKT(41,20,1:6)=(/ 0.869547,0.852437,0.831930,0.790570,0.772313,0.749530 /) -XEXT_COEFF_550_LKT(41,20)=139.270000 !rg=0.255998 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,1,1:6)=(/ 2180.300000,4346.400000,3315.000000,1401.000000,231.020000,17.996000 /) -XPIZA_LKT(42,1,1:6)=(/ 0.945101,0.983221,0.986467,0.992523,0.983543,0.915795 /) -XCGA_LKT(42,1,1:6)=(/ 0.572387,0.777217,0.757143,0.645573,0.245437,0.058410 /) -XEXT_COEFF_550_LKT(42,1)=3342.500000 !rg=0.277337 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,2,1:6)=(/ 2239.100000,3969.200000,3289.200000,1459.700000,263.130000,22.142000 /) -XPIZA_LKT(42,2,1:6)=(/ 0.946306,0.981346,0.986079,0.992947,0.985209,0.930537 /) -XCGA_LKT(42,2,1:6)=(/ 0.613353,0.766527,0.761540,0.652163,0.310050,0.074003 /) -XEXT_COEFF_550_LKT(42,2)=3325.300000 !rg=0.277337 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,3,1:6)=(/ 2261.700000,3367.400000,3151.900000,1580.200000,327.930000,31.626000 /) -XPIZA_LKT(42,3,1:6)=(/ 0.946426,0.977972,0.985322,0.993375,0.987494,0.949975 /) -XCGA_LKT(42,3,1:6)=(/ 0.658803,0.747450,0.763440,0.681813,0.422033,0.111690 /) -XEXT_COEFF_550_LKT(42,3)=3178.300000 !rg=0.277337 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,4,1:6)=(/ 2120.500000,2783.900000,2870.500000,1691.300000,425.330000,48.591000 /) -XPIZA_LKT(42,4,1:6)=(/ 0.944000,0.973340,0.983687,0.993648,0.989721,0.966092 /) -XCGA_LKT(42,4,1:6)=(/ 0.693583,0.730020,0.759467,0.709990,0.526157,0.184480 /) -XEXT_COEFF_550_LKT(42,4)=2885.500000 !rg=0.277337 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,5,1:6)=(/ 1879.900000,2302.500000,2492.900000,1734.400000,540.960000,74.884000 /) -XPIZA_LKT(42,5,1:6)=(/ 0.940170,0.967808,0.981024,0.993632,0.991409,0.976773 /) -XCGA_LKT(42,5,1:6)=(/ 0.718123,0.719663,0.750647,0.729073,0.604697,0.290413 /) -XEXT_COEFF_550_LKT(42,5)=2497.600000 !rg=0.277337 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,6,1:6)=(/ 1649.000000,1906.800000,2104.100000,1683.200000,656.340000,111.580000 /) -XPIZA_LKT(42,6,1:6)=(/ 0.932151,0.961572,0.977266,0.993269,0.992522,0.983357 /) -XCGA_LKT(42,6,1:6)=(/ 0.735410,0.718837,0.740147,0.738043,0.661583,0.401180 /) -XEXT_COEFF_550_LKT(42,6)=2103.500000 !rg=0.277337 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,7,1:6)=(/ 1403.500000,1575.000000,1741.500000,1548.800000,754.260000,159.070000 /) -XPIZA_LKT(42,7,1:6)=(/ 0.924832,0.954706,0.972585,0.992514,0.993170,0.987451 /) -XCGA_LKT(42,7,1:6)=(/ 0.751093,0.722717,0.732327,0.739087,0.701910,0.498567 /) -XEXT_COEFF_550_LKT(42,7)=1740.700000 !rg=0.277337 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,8,1:6)=(/ 1186.000000,1304.000000,1434.800000,1369.100000,813.660000,214.920000 /) -XPIZA_LKT(42,8,1:6)=(/ 0.914621,0.946360,0.966797,0.991370,0.993400,0.990029 /) -XCGA_LKT(42,8,1:6)=(/ 0.764483,0.729173,0.728673,0.736197,0.727717,0.577233 /) -XEXT_COEFF_550_LKT(42,8)=1428.000000 !rg=0.277337 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,9,1:6)=(/ 983.620000,1071.600000,1169.900000,1177.200000,821.950000,274.960000 /) -XPIZA_LKT(42,9,1:6)=(/ 0.905275,0.938627,0.960727,0.989779,0.993231,0.991669 /) -XCGA_LKT(42,9,1:6)=(/ 0.777440,0.742037,0.730777,0.732377,0.741347,0.638200 /) -XEXT_COEFF_550_LKT(42,9)=1168.800000 !rg=0.277337 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,10,1:6)=(/ 823.300000,883.650000,957.870000,987.920000,779.170000,331.050000 /) -XPIZA_LKT(42,10,1:6)=(/ 0.891051,0.928223,0.952439,0.987817,0.992665,0.992660 /) -XCGA_LKT(42,10,1:6)=(/ 0.788720,0.754050,0.731993,0.730673,0.745390,0.683607 /) -XEXT_COEFF_550_LKT(42,10)=957.030000 !rg=0.277337 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,11,1:6)=(/ 683.580000,726.040000,782.420000,818.640000,706.940000,374.650000 /) -XPIZA_LKT(42,11,1:6)=(/ 0.876098,0.916850,0.943538,0.985236,0.991684,0.993174 /) -XCGA_LKT(42,11,1:6)=(/ 0.802350,0.762763,0.740673,0.728877,0.744423,0.715397 /) -XEXT_COEFF_550_LKT(42,11)=775.760000 !rg=0.277337 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,12,1:6)=(/ 563.950000,595.650000,635.370000,671.860000,623.460000,395.530000 /) -XPIZA_LKT(42,12,1:6)=(/ 0.861744,0.903843,0.934046,0.982263,0.990450,0.993250 /) -XCGA_LKT(42,12,1:6)=(/ 0.812337,0.777960,0.747240,0.732197,0.745317,0.734080 /) -XEXT_COEFF_550_LKT(42,12)=634.160000 !rg=0.277337 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,13,1:6)=(/ 464.050000,487.790000,517.710000,548.000000,537.130000,389.020000 /) -XPIZA_LKT(42,13,1:6)=(/ 0.847927,0.889100,0.922637,0.978750,0.988562,0.992880 /) -XCGA_LKT(42,13,1:6)=(/ 0.825250,0.789857,0.760770,0.735930,0.744803,0.741107 /) -XEXT_COEFF_550_LKT(42,13)=516.220000 !rg=0.277337 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,14,1:6)=(/ 384.830000,400.200000,421.220000,446.390000,449.820000,359.790000 /) -XPIZA_LKT(42,14,1:6)=(/ 0.835073,0.874512,0.911074,0.975076,0.986658,0.992085 /) -XCGA_LKT(42,14,1:6)=(/ 0.834560,0.801513,0.772117,0.741083,0.745483,0.739937 /) -XEXT_COEFF_550_LKT(42,14)=422.710000 !rg=0.277337 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,15,1:6)=(/ 317.730000,330.360000,344.270000,366.490000,375.860000,322.620000 /) -XPIZA_LKT(42,15,1:6)=(/ 0.823086,0.859001,0.897311,0.969264,0.984039,0.990959 /) -XCGA_LKT(42,15,1:6)=(/ 0.841210,0.813640,0.782590,0.748447,0.748607,0.738460 /) -XEXT_COEFF_550_LKT(42,15)=343.870000 !rg=0.277337 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,16,1:6)=(/ 261.880000,270.030000,282.240000,296.280000,310.300000,285.450000 /) -XPIZA_LKT(42,16,1:6)=(/ 0.812596,0.846163,0.880756,0.964481,0.980814,0.989531 /) -XCGA_LKT(42,16,1:6)=(/ 0.850030,0.822637,0.795673,0.756123,0.751127,0.740213 /) -XEXT_COEFF_550_LKT(42,16)=280.610000 !rg=0.277337 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,17,1:6)=(/ 216.400000,221.980000,230.490000,241.410000,254.360000,245.110000 /) -XPIZA_LKT(42,17,1:6)=(/ 0.803328,0.833903,0.865577,0.958241,0.977742,0.987783 /) -XCGA_LKT(42,17,1:6)=(/ 0.856810,0.833303,0.806387,0.766413,0.755467,0.742243 /) -XEXT_COEFF_550_LKT(42,17)=230.960000 !rg=0.277337 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,18,1:6)=(/ 178.650000,183.830000,189.390000,198.670000,208.280000,207.130000 /) -XPIZA_LKT(42,18,1:6)=(/ 0.793711,0.822153,0.852891,0.949635,0.973320,0.985575 /) -XCGA_LKT(42,18,1:6)=(/ 0.861403,0.841883,0.816977,0.775773,0.762680,0.745100 /) -XEXT_COEFF_550_LKT(42,18)=188.910000 !rg=0.277337 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,19,1:6)=(/ 147.840000,150.870000,155.730000,161.420000,171.070000,174.230000 /) -XPIZA_LKT(42,19,1:6)=(/ 0.784899,0.812382,0.840300,0.942028,0.967905,0.982905 /) -XCGA_LKT(42,19,1:6)=(/ 0.867140,0.848483,0.827520,0.784760,0.768970,0.748543 /) -XEXT_COEFF_550_LKT(42,19)=155.360000 !rg=0.277337 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(42,20,1:6)=(/ 122.190000,124.380000,127.830000,132.190000,139.430000,144.230000 /) -XPIZA_LKT(42,20,1:6)=(/ 0.775612,0.802647,0.827911,0.934921,0.962821,0.980276 /) -XCGA_LKT(42,20,1:6)=(/ 0.871590,0.855690,0.836067,0.794753,0.776167,0.752537 /) -XEXT_COEFF_550_LKT(42,20)=127.860000 !rg=0.277337 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,1,1:6)=(/ 1877.200000,3906.600000,3347.400000,1553.700000,274.070000,22.411000 /) -XPIZA_LKT(43,1,1:6)=(/ 0.934644,0.980751,0.986251,0.993304,0.985715,0.931117 /) -XCGA_LKT(43,1,1:6)=(/ 0.549373,0.768077,0.763830,0.648107,0.293150,0.068490 /) -XEXT_COEFF_550_LKT(43,1)=3395.200000 !rg=0.300455 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,2,1:6)=(/ 2023.200000,3490.400000,3295.800000,1593.800000,308.370000,27.572000 /) -XPIZA_LKT(43,2,1:6)=(/ 0.939777,0.978675,0.985942,0.993431,0.986934,0.943092 /) -XCGA_LKT(43,2,1:6)=(/ 0.616407,0.752283,0.770097,0.671743,0.366207,0.086777 /) -XEXT_COEFF_550_LKT(43,2)=3325.700000 !rg=0.300455 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,3,1:6)=(/ 2045.500000,2940.900000,3083.700000,1695.300000,381.130000,39.123000 /) -XPIZA_LKT(43,3,1:6)=(/ 0.941701,0.974552,0.984834,0.993692,0.988806,0.958661 /) -XCGA_LKT(43,3,1:6)=(/ 0.674197,0.731173,0.768123,0.701550,0.474033,0.130780 /) -XEXT_COEFF_550_LKT(43,3)=3103.000000 !rg=0.300455 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,4,1:6)=(/ 1918.700000,2450.000000,2734.200000,1768.300000,484.520000,59.067000 /) -XPIZA_LKT(43,4,1:6)=(/ 0.938855,0.969409,0.982735,0.993806,0.990645,0.971408 /) -XCGA_LKT(43,4,1:6)=(/ 0.704350,0.716783,0.759827,0.724510,0.563823,0.213883 /) -XEXT_COEFF_550_LKT(43,4)=2743.000000 !rg=0.300455 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,5,1:6)=(/ 1719.700000,2041.000000,2325.800000,1760.900000,600.350000,89.226000 /) -XPIZA_LKT(43,5,1:6)=(/ 0.934314,0.963889,0.979501,0.993625,0.992017,0.979946 /) -XCGA_LKT(43,5,1:6)=(/ 0.727390,0.713840,0.747673,0.738073,0.631523,0.327177 /) -XEXT_COEFF_550_LKT(43,5)=2328.200000 !rg=0.300455 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,6,1:6)=(/ 1494.200000,1713.000000,1934.700000,1661.500000,708.890000,130.180000 /) -XPIZA_LKT(43,6,1:6)=(/ 0.927208,0.956982,0.975324,0.993080,0.992894,0.985287 /) -XCGA_LKT(43,6,1:6)=(/ 0.740757,0.717273,0.737363,0.742320,0.680720,0.437240 /) -XEXT_COEFF_550_LKT(43,6)=1934.700000 !rg=0.300455 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,7,1:6)=(/ 1276.900000,1426.800000,1590.500000,1494.000000,792.050000,181.830000 /) -XPIZA_LKT(43,7,1:6)=(/ 0.918745,0.949582,0.970090,0.992130,0.993353,0.988670 /) -XCGA_LKT(43,7,1:6)=(/ 0.754310,0.724430,0.730217,0.740190,0.714857,0.530493 /) -XEXT_COEFF_550_LKT(43,7)=1587.600000 !rg=0.300455 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,8,1:6)=(/ 1077.000000,1181.000000,1305.400000,1298.600000,830.000000,239.890000 /) -XPIZA_LKT(43,8,1:6)=(/ 0.909379,0.941645,0.963708,0.990824,0.993416,0.990797 /) -XCGA_LKT(43,8,1:6)=(/ 0.769933,0.735607,0.727473,0.736353,0.735457,0.602377 /) -XEXT_COEFF_550_LKT(43,8)=1304.100000 !rg=0.300455 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,9,1:6)=(/ 904.460000,972.300000,1064.900000,1098.800000,815.090000,299.510000 /) -XPIZA_LKT(43,9,1:6)=(/ 0.898160,0.933335,0.957115,0.989048,0.993080,0.992148 /) -XCGA_LKT(43,9,1:6)=(/ 0.785387,0.744910,0.730157,0.732130,0.744773,0.657707 /) -XEXT_COEFF_550_LKT(43,9)=1066.500000 !rg=0.300455 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,10,1:6)=(/ 749.930000,802.810000,871.250000,914.030000,756.750000,351.500000 /) -XPIZA_LKT(43,10,1:6)=(/ 0.885022,0.923279,0.949028,0.986868,0.992345,0.992931 /) -XCGA_LKT(43,10,1:6)=(/ 0.797257,0.758980,0.737143,0.729417,0.746310,0.697503 /) -XEXT_COEFF_550_LKT(43,10)=869.620000 !rg=0.300455 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,11,1:6)=(/ 624.960000,659.040000,710.460000,753.000000,676.490000,386.910000 /) -XPIZA_LKT(43,11,1:6)=(/ 0.868927,0.911966,0.939570,0.984369,0.991260,0.993261 /) -XCGA_LKT(43,11,1:6)=(/ 0.808653,0.772203,0.742547,0.731337,0.745693,0.724070 /) -XEXT_COEFF_550_LKT(43,11)=711.260000 !rg=0.300455 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,12,1:6)=(/ 515.150000,543.040000,579.140000,615.240000,591.290000,396.850000 /) -XPIZA_LKT(43,12,1:6)=(/ 0.855316,0.897774,0.929107,0.981030,0.989766,0.993160 /) -XCGA_LKT(43,12,1:6)=(/ 0.820173,0.783880,0.755007,0.732877,0.745810,0.738147 /) -XEXT_COEFF_550_LKT(43,12)=578.200000 !rg=0.300455 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,13,1:6)=(/ 427.410000,445.380000,471.220000,501.070000,500.000000,379.740000 /) -XPIZA_LKT(43,13,1:6)=(/ 0.841424,0.882668,0.917605,0.977306,0.987932,0.992621 /) -XCGA_LKT(43,13,1:6)=(/ 0.830347,0.795563,0.765450,0.737220,0.745250,0.741507 /) -XEXT_COEFF_550_LKT(43,13)=472.670000 !rg=0.300455 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,14,1:6)=(/ 353.650000,367.840000,384.380000,411.050000,418.620000,345.810000 /) -XPIZA_LKT(43,14,1:6)=(/ 0.828608,0.866813,0.905507,0.972173,0.985760,0.991679 /) -XCGA_LKT(43,14,1:6)=(/ 0.837510,0.808170,0.776580,0.744090,0.747793,0.739610 /) -XEXT_COEFF_550_LKT(43,14)=384.220000 !rg=0.300455 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,15,1:6)=(/ 292.280000,302.160000,316.150000,333.760000,347.400000,308.310000 /) -XPIZA_LKT(43,15,1:6)=(/ 0.817943,0.852900,0.889500,0.967604,0.982728,0.990454 /) -XCGA_LKT(43,15,1:6)=(/ 0.846277,0.816910,0.789260,0.749540,0.748993,0.739160 /) -XEXT_COEFF_550_LKT(43,15)=313.440000 !rg=0.300455 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,16,1:6)=(/ 240.770000,247.150000,257.400000,269.780000,286.110000,269.320000 /) -XPIZA_LKT(43,16,1:6)=(/ 0.807548,0.839931,0.874183,0.962391,0.979330,0.988947 /) -XCGA_LKT(43,16,1:6)=(/ 0.853800,0.829677,0.799463,0.763103,0.750923,0.742220 /) -XEXT_COEFF_550_LKT(43,16)=257.840000 !rg=0.300455 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,17,1:6)=(/ 199.260000,204.310000,210.700000,221.970000,233.600000,228.830000 /) -XPIZA_LKT(43,17,1:6)=(/ 0.798536,0.828769,0.860238,0.954778,0.976089,0.987047 /) -XCGA_LKT(43,17,1:6)=(/ 0.859190,0.838053,0.812107,0.771230,0.760057,0.744533 /) -XEXT_COEFF_550_LKT(43,17)=210.940000 !rg=0.300455 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,18,1:6)=(/ 164.800000,168.610000,174.010000,181.400000,191.580000,193.510000 /) -XPIZA_LKT(43,18,1:6)=(/ 0.789680,0.817227,0.846414,0.946504,0.971198,0.984420 /) -XCGA_LKT(43,18,1:6)=(/ 0.864697,0.844847,0.822580,0.778303,0.765053,0.746660 /) -XEXT_COEFF_550_LKT(43,18)=172.540000 !rg=0.300455 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,19,1:6)=(/ 136.050000,138.480000,142.390000,147.280000,156.980000,160.990000 /) -XPIZA_LKT(43,19,1:6)=(/ 0.780310,0.807156,0.834950,0.939180,0.965943,0.981747 /) -XCGA_LKT(43,19,1:6)=(/ 0.869697,0.853153,0.830807,0.791473,0.770070,0.748030 /) -XEXT_COEFF_550_LKT(43,19)=142.730000 !rg=0.300455 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(43,20,1:6)=(/ 112.500000,114.600000,117.070000,121.430000,127.780000,133.140000 /) -XPIZA_LKT(43,20,1:6)=(/ 0.770754,0.798080,0.824010,0.931539,0.959974,0.978975 /) -XCGA_LKT(43,20,1:6)=(/ 0.873343,0.859133,0.840187,0.799423,0.781677,0.756567 /) -XEXT_COEFF_550_LKT(43,20)=117.000000 !rg=0.300455 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,1,1:6)=(/ 1776.500000,3337.000000,3400.500000,1644.800000,320.050000,27.952000 /) -XPIZA_LKT(44,1,1:6)=(/ 0.930939,0.977772,0.986187,0.993760,0.987371,0.943623 /) -XCGA_LKT(44,1,1:6)=(/ 0.581197,0.746027,0.777597,0.661043,0.351203,0.080340 /) -XEXT_COEFF_550_LKT(44,1)=3428.900000 !rg=0.3255 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,2,1:6)=(/ 1910.700000,2978.600000,3241.400000,1714.300000,358.560000,34.326000 /) -XPIZA_LKT(44,2,1:6)=(/ 0.937285,0.974874,0.985550,0.993781,0.988307,0.953277 /) -XCGA_LKT(44,2,1:6)=(/ 0.653630,0.730980,0.775920,0.694053,0.428713,0.101803 /) -XEXT_COEFF_550_LKT(44,2)=3263.700000 !rg=0.3255 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,3,1:6)=(/ 1908.100000,2513.900000,2958.600000,1794.200000,440.110000,48.203000 /) -XPIZA_LKT(44,3,1:6)=(/ 0.937548,0.970343,0.984041,0.993924,0.989903,0.965643 /) -XCGA_LKT(44,3,1:6)=(/ 0.697603,0.712327,0.769583,0.719500,0.523173,0.153153 /) -XEXT_COEFF_550_LKT(44,3)=2970.100000 !rg=0.3255 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,4,1:6)=(/ 1763.600000,2129.900000,2560.700000,1823.600000,546.920000,71.342000 /) -XPIZA_LKT(44,4,1:6)=(/ 0.933673,0.965084,0.981391,0.993889,0.991421,0.975693 /) -XCGA_LKT(44,4,1:6)=(/ 0.722103,0.705270,0.757180,0.736820,0.597793,0.246907 /) -XEXT_COEFF_550_LKT(44,4)=2562.200000 !rg=0.3255 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,5,1:6)=(/ 1566.000000,1817.600000,2140.100000,1764.000000,659.570000,105.540000 /) -XPIZA_LKT(44,5,1:6)=(/ 0.928540,0.959027,0.977664,0.993539,0.992523,0.982531 /) -XCGA_LKT(44,5,1:6)=(/ 0.734573,0.707750,0.743787,0.744997,0.655583,0.365080 /) -XEXT_COEFF_550_LKT(44,5)=2138.100000 !rg=0.3255 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,6,1:6)=(/ 1354.100000,1528.300000,1768.800000,1619.300000,757.510000,150.840000 /) -XPIZA_LKT(44,6,1:6)=(/ 0.923620,0.952854,0.972766,0.992817,0.993191,0.986887 /) -XCGA_LKT(44,6,1:6)=(/ 0.756023,0.716407,0.733073,0.745047,0.697610,0.472940 /) -XEXT_COEFF_550_LKT(44,6)=1762.100000 !rg=0.3255 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,7,1:6)=(/ 1165.300000,1281.400000,1451.200000,1424.700000,822.370000,205.870000 /) -XPIZA_LKT(44,7,1:6)=(/ 0.912761,0.945205,0.966864,0.991693,0.993472,0.989679 /) -XCGA_LKT(44,7,1:6)=(/ 0.767817,0.725733,0.727400,0.740707,0.725897,0.559737 /) -XEXT_COEFF_550_LKT(44,7)=1443.000000 !rg=0.3255 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,8,1:6)=(/ 978.280000,1066.200000,1187.200000,1219.400000,837.380000,265.490000 /) -XPIZA_LKT(44,8,1:6)=(/ 0.904681,0.937369,0.960367,0.990156,0.993365,0.991442 /) -XCGA_LKT(44,8,1:6)=(/ 0.781053,0.739447,0.728223,0.735357,0.741540,0.625697 /) -XEXT_COEFF_550_LKT(44,8)=1182.000000 !rg=0.3255 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,9,1:6)=(/ 827.220000,889.310000,967.260000,1022.100000,800.940000,323.310000 /) -XPIZA_LKT(44,9,1:6)=(/ 0.890631,0.927123,0.953335,0.987953,0.992868,0.992535 /) -XCGA_LKT(44,9,1:6)=(/ 0.788320,0.751727,0.730927,0.730500,0.747390,0.675110 /) -XEXT_COEFF_550_LKT(44,9)=965.440000 !rg=0.3255 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,10,1:6)=(/ 690.550000,731.040000,790.950000,843.440000,729.420000,369.500000 /) -XPIZA_LKT(44,10,1:6)=(/ 0.877204,0.917735,0.945064,0.985806,0.991986,0.993122 /) -XCGA_LKT(44,10,1:6)=(/ 0.804023,0.763317,0.739040,0.729277,0.747093,0.709643 /) -XEXT_COEFF_550_LKT(44,10)=794.090000 !rg=0.3255 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,11,1:6)=(/ 572.070000,603.510000,644.390000,692.150000,645.250000,395.080000 /) -XPIZA_LKT(44,11,1:6)=(/ 0.862714,0.905413,0.935991,0.982822,0.990779,0.993280 /) -XCGA_LKT(44,11,1:6)=(/ 0.814053,0.777693,0.749517,0.730210,0.746880,0.731117 /) -XEXT_COEFF_550_LKT(44,11)=646.290000 !rg=0.3255 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,12,1:6)=(/ 474.660000,495.980000,526.600000,563.710000,554.680000,393.620000 /) -XPIZA_LKT(44,12,1:6)=(/ 0.848420,0.891150,0.924460,0.979559,0.989153,0.993001 /) -XCGA_LKT(44,12,1:6)=(/ 0.825637,0.788887,0.759377,0.733833,0.746470,0.740560 /) -XEXT_COEFF_550_LKT(44,12)=528.830000 !rg=0.3255 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,13,1:6)=(/ 392.880000,409.270000,429.240000,461.110000,465.520000,368.210000 /) -XPIZA_LKT(44,13,1:6)=(/ 0.834511,0.875060,0.912681,0.974764,0.987134,0.992293 /) -XCGA_LKT(44,13,1:6)=(/ 0.833463,0.802370,0.770320,0.739693,0.746907,0.741417 /) -XEXT_COEFF_550_LKT(44,13)=429.400000 !rg=0.3255 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,14,1:6)=(/ 325.040000,336.780000,353.020000,374.880000,388.300000,331.470000 /) -XPIZA_LKT(44,14,1:6)=(/ 0.823337,0.860002,0.898244,0.970395,0.984622,0.991206 /) -XCGA_LKT(44,14,1:6)=(/ 0.843107,0.811177,0.782920,0.744063,0.748347,0.739033 /) -XEXT_COEFF_550_LKT(44,14)=349.600000 !rg=0.3255 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,15,1:6)=(/ 267.920000,276.750000,288.570000,304.210000,320.330000,293.190000 /) -XPIZA_LKT(44,15,1:6)=(/ 0.812106,0.846465,0.882428,0.965216,0.981413,0.989935 /) -XCGA_LKT(44,15,1:6)=(/ 0.849727,0.824383,0.792353,0.757497,0.748263,0.741527 /) -XEXT_COEFF_550_LKT(44,15)=288.220000 !rg=0.3255 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,16,1:6)=(/ 221.280000,227.610000,234.950000,248.210000,263.290000,253.390000 /) -XPIZA_LKT(44,16,1:6)=(/ 0.803354,0.834180,0.867764,0.958925,0.977500,0.988027 /) -XCGA_LKT(44,16,1:6)=(/ 0.856257,0.834173,0.807430,0.765987,0.754680,0.743223 /) -XEXT_COEFF_550_LKT(44,16)=235.960000 !rg=0.3255 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,17,1:6)=(/ 183.300000,187.650000,193.810000,203.260000,214.110000,213.370000 /) -XPIZA_LKT(44,17,1:6)=(/ 0.793715,0.822585,0.853987,0.950786,0.973890,0.986127 /) -XCGA_LKT(44,17,1:6)=(/ 0.862800,0.840757,0.817607,0.772000,0.762310,0.745043 /) -XEXT_COEFF_550_LKT(44,17)=192.850000 !rg=0.3255 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,18,1:6)=(/ 151.260000,154.830000,159.390000,165.720000,176.320000,179.730000 /) -XPIZA_LKT(44,18,1:6)=(/ 0.784917,0.812512,0.840893,0.942581,0.968536,0.983381 /) -XCGA_LKT(44,18,1:6)=(/ 0.866753,0.849683,0.825730,0.785773,0.764800,0.746327 /) -XEXT_COEFF_550_LKT(44,18)=159.070000 !rg=0.3255 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,19,1:6)=(/ 125.200000,127.740000,130.490000,135.840000,143.960000,149.070000 /) -XPIZA_LKT(44,19,1:6)=(/ 0.775786,0.802763,0.829407,0.935353,0.963104,0.980332 /) -XCGA_LKT(44,19,1:6)=(/ 0.871350,0.856420,0.836883,0.794973,0.775160,0.752330 /) -XEXT_COEFF_550_LKT(44,19)=131.030000 !rg=0.3255 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(44,20,1:6)=(/ 103.610000,105.310000,107.750000,111.540000,116.890000,122.450000 /) -XPIZA_LKT(44,20,1:6)=(/ 0.765966,0.792976,0.818913,0.928326,0.956673,0.977228 /) -XCGA_LKT(44,20,1:6)=(/ 0.875813,0.860943,0.844453,0.800817,0.785310,0.758157 /) -XEXT_COEFF_550_LKT(44,20)=107.500000 !rg=0.3255 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,1,1:6)=(/ 1851.500000,2776.600000,3286.000000,1738.500000,368.870000,34.873000 /) -XPIZA_LKT(45,1,1:6)=(/ 0.934500,0.972892,0.985839,0.993917,0.988617,0.953778 /) -XCGA_LKT(45,1,1:6)=(/ 0.660900,0.719943,0.784697,0.695133,0.420183,0.094297 /) -XEXT_COEFF_550_LKT(45,1)=3299.800000 !rg=0.352632 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,2,1:6)=(/ 1884.100000,2467.700000,3121.200000,1824.400000,415.450000,42.656000 /) -XPIZA_LKT(45,2,1:6)=(/ 0.937434,0.969635,0.984849,0.994030,0.989437,0.961499 /) -XCGA_LKT(45,2,1:6)=(/ 0.702643,0.701507,0.778347,0.717463,0.493017,0.119523 /) -XEXT_COEFF_550_LKT(45,2)=3134.900000 !rg=0.352632 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,3,1:6)=(/ 1780.600000,2140.200000,2779.600000,1873.000000,504.500000,59.057000 /) -XPIZA_LKT(45,3,1:6)=(/ 0.934657,0.965005,0.982879,0.994075,0.990832,0.971240 /) -XCGA_LKT(45,3,1:6)=(/ 0.721913,0.691907,0.767627,0.735340,0.567030,0.179367 /) -XEXT_COEFF_550_LKT(45,3)=2783.700000 !rg=0.352632 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,4,1:6)=(/ 1613.200000,1862.800000,2353.800000,1853.900000,611.260000,85.561000 /) -XPIZA_LKT(45,4,1:6)=(/ 0.930213,0.960228,0.979678,0.993895,0.992071,0.979152 /) -XCGA_LKT(45,4,1:6)=(/ 0.737197,0.696213,0.752100,0.746860,0.627940,0.283440 /) -XEXT_COEFF_550_LKT(45,4)=2353.400000 !rg=0.352632 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,5,1:6)=(/ 1437.800000,1607.900000,1949.400000,1742.300000,717.150000,123.940000 /) -XPIZA_LKT(45,5,1:6)=(/ 0.922665,0.954273,0.975246,0.993375,0.992937,0.984649 /) -XCGA_LKT(45,5,1:6)=(/ 0.751103,0.705217,0.737273,0.749993,0.677043,0.403827 /) -XEXT_COEFF_550_LKT(45,5)=1941.800000 !rg=0.352632 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,6,1:6)=(/ 1240.000000,1370.200000,1598.900000,1560.000000,800.780000,173.400000 /) -XPIZA_LKT(45,6,1:6)=(/ 0.917961,0.948729,0.970076,0.992466,0.993415,0.988218 /) -XCGA_LKT(45,6,1:6)=(/ 0.764693,0.719180,0.728343,0.746593,0.712427,0.507127 /) -XEXT_COEFF_550_LKT(45,6)=1599.300000 !rg=0.352632 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,7,1:6)=(/ 1060.800000,1153.300000,1310.400000,1347.500000,844.290000,231.110000 /) -XPIZA_LKT(45,7,1:6)=(/ 0.907741,0.941552,0.963742,0.991145,0.993526,0.990518 /) -XCGA_LKT(45,7,1:6)=(/ 0.775970,0.733213,0.725050,0.740427,0.735130,0.586883 /) -XEXT_COEFF_550_LKT(45,7)=1310.600000 !rg=0.352632 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,8,1:6)=(/ 900.050000,965.420000,1073.000000,1136.200000,835.360000,290.820000 /) -XPIZA_LKT(45,8,1:6)=(/ 0.897537,0.932800,0.957005,0.989404,0.993255,0.991971 /) -XCGA_LKT(45,8,1:6)=(/ 0.788170,0.744160,0.727503,0.734353,0.746230,0.646717 /) -XEXT_COEFF_550_LKT(45,8)=1075.500000 !rg=0.352632 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,9,1:6)=(/ 758.110000,806.510000,882.700000,941.390000,780.580000,345.220000 /) -XPIZA_LKT(45,9,1:6)=(/ 0.882910,0.921829,0.948468,0.987027,0.992582,0.992844 /) -XCGA_LKT(45,9,1:6)=(/ 0.798550,0.754387,0.733353,0.729263,0.748780,0.690297 /) -XEXT_COEFF_550_LKT(45,9)=874.930000 !rg=0.352632 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,10,1:6)=(/ 633.120000,670.690000,718.860000,778.600000,700.100000,383.860000 /) -XPIZA_LKT(45,10,1:6)=(/ 0.869086,0.910726,0.940735,0.984204,0.991563,0.993246 /) -XCGA_LKT(45,10,1:6)=(/ 0.807377,0.770760,0.741627,0.728850,0.748113,0.719523 /) -XEXT_COEFF_550_LKT(45,10)=718.250000 !rg=0.352632 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,11,1:6)=(/ 526.220000,552.000000,588.490000,633.320000,610.930000,398.870000 /) -XPIZA_LKT(45,11,1:6)=(/ 0.855070,0.897853,0.930609,0.981034,0.990192,0.993226 /) -XCGA_LKT(45,11,1:6)=(/ 0.821040,0.781240,0.753023,0.729697,0.747453,0.736187 /) -XEXT_COEFF_550_LKT(45,11)=589.060000 !rg=0.352632 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,12,1:6)=(/ 436.020000,455.760000,479.900000,517.950000,518.300000,386.680000 /) -XPIZA_LKT(45,12,1:6)=(/ 0.841014,0.882954,0.919377,0.977246,0.988443,0.992775 /) -XCGA_LKT(45,12,1:6)=(/ 0.828910,0.796167,0.763537,0.735673,0.747217,0.741920 /) -XEXT_COEFF_550_LKT(45,12)=479.750000 !rg=0.352632 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,13,1:6)=(/ 360.930000,374.650000,394.060000,420.800000,432.640000,354.860000 /) -XPIZA_LKT(45,13,1:6)=(/ 0.828818,0.867477,0.905935,0.972844,0.986147,0.991901 /) -XCGA_LKT(45,13,1:6)=(/ 0.839570,0.805407,0.776480,0.739483,0.747120,0.740623 /) -XEXT_COEFF_550_LKT(45,13)=390.330000 !rg=0.352632 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,14,1:6)=(/ 297.570000,308.440000,322.420000,342.470000,358.930000,316.810000 /) -XPIZA_LKT(45,14,1:6)=(/ 0.817905,0.853443,0.890851,0.967677,0.982933,0.990733 /) -XCGA_LKT(45,14,1:6)=(/ 0.846273,0.818763,0.785627,0.751073,0.747077,0.740347 /) -XEXT_COEFF_550_LKT(45,14)=321.440000 !rg=0.352632 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,15,1:6)=(/ 245.770000,253.880000,263.640000,277.970000,296.450000,278.240000 /) -XPIZA_LKT(45,15,1:6)=(/ 0.807533,0.840504,0.875467,0.962616,0.979200,0.989229 /) -XCGA_LKT(45,15,1:6)=(/ 0.854210,0.829613,0.800983,0.761427,0.750897,0.742640 /) -XEXT_COEFF_550_LKT(45,15)=263.850000 !rg=0.352632 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,16,1:6)=(/ 203.420000,209.190000,216.070000,227.620000,240.250000,235.880000 /) -XPIZA_LKT(45,16,1:6)=(/ 0.798046,0.827996,0.861121,0.954847,0.975881,0.987469 /) -XCGA_LKT(45,16,1:6)=(/ 0.860120,0.837120,0.812483,0.767083,0.758127,0.744000 /) -XEXT_COEFF_550_LKT(45,16)=216.070000 !rg=0.352632 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,17,1:6)=(/ 168.210000,172.470000,177.710000,186.380000,197.040000,199.300000 /) -XPIZA_LKT(45,17,1:6)=(/ 0.789444,0.817547,0.847343,0.946519,0.971457,0.985000 /) -XCGA_LKT(45,17,1:6)=(/ 0.864817,0.845710,0.820490,0.778763,0.761873,0.745333 /) -XEXT_COEFF_550_LKT(45,17)=177.310000 !rg=0.352632 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,18,1:6)=(/ 139.070000,142.190000,146.100000,151.830000,161.990000,166.880000 /) -XPIZA_LKT(45,18,1:6)=(/ 0.780514,0.807531,0.835380,0.939677,0.965796,0.981342 /) -XCGA_LKT(45,18,1:6)=(/ 0.869873,0.853297,0.832067,0.790767,0.769203,0.748067 /) -XEXT_COEFF_550_LKT(45,18)=145.940000 !rg=0.352632 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,19,1:6)=(/ 115.220000,117.380000,120.250000,124.750000,131.050000,137.170000 /) -XPIZA_LKT(45,19,1:6)=(/ 0.771140,0.797561,0.824278,0.931668,0.960085,0.978851 /) -XCGA_LKT(45,19,1:6)=(/ 0.873780,0.858610,0.840793,0.796423,0.780000,0.755130 /) -XEXT_COEFF_550_LKT(45,19)=120.130000 !rg=0.352632 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(45,20,1:6)=(/ 95.276000,97.053000,99.023000,102.440000,107.610000,113.370000 /) -XPIZA_LKT(45,20,1:6)=(/ 0.761329,0.788766,0.813565,0.924857,0.952594,0.974675 /) -XCGA_LKT(45,20,1:6)=(/ 0.877270,0.864313,0.846840,0.806420,0.785487,0.757603 /) -XEXT_COEFF_550_LKT(45,20)=99.013000 !rg=0.352632 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,1,1:6)=(/ 1999.000000,2192.300000,3156.500000,1887.700000,423.140000,43.460000 /) -XPIZA_LKT(46,1,1:6)=(/ 0.938500,0.965919,0.984755,0.994067,0.989579,0.961988 /) -XCGA_LKT(46,1,1:6)=(/ 0.731800,0.674110,0.783413,0.734333,0.496907,0.110773 /) -XEXT_COEFF_550_LKT(46,1)=3176.700000 !rg=0.382026 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,2,1:6)=(/ 1855.100000,2011.900000,2935.200000,1919.500000,480.980000,52.819000 /) -XPIZA_LKT(46,2,1:6)=(/ 0.936632,0.962726,0.983755,0.994208,0.990416,0.968108 /) -XCGA_LKT(46,2,1:6)=(/ 0.742310,0.667930,0.776687,0.737990,0.551957,0.140480 /) -XEXT_COEFF_550_LKT(46,2)=2939.200000 !rg=0.382026 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,3,1:6)=(/ 1659.800000,1818.500000,2554.400000,1927.600000,573.110000,71.843000 /) -XPIZA_LKT(46,3,1:6)=(/ 0.932209,0.958725,0.981236,0.994149,0.991623,0.975718 /) -XCGA_LKT(46,3,1:6)=(/ 0.744037,0.670703,0.761930,0.748650,0.604447,0.210017 /) -XEXT_COEFF_550_LKT(46,3)=2550.400000 !rg=0.382026 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,4,1:6)=(/ 1479.900000,1635.600000,2130.700000,1856.800000,675.980000,101.870000 /) -XPIZA_LKT(46,4,1:6)=(/ 0.926872,0.954691,0.977417,0.993817,0.992615,0.981953 /) -XCGA_LKT(46,4,1:6)=(/ 0.751903,0.688190,0.744400,0.754527,0.654490,0.323173 /) -XEXT_COEFF_550_LKT(46,4)=2122.000000 !rg=0.382026 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,5,1:6)=(/ 1309.300000,1434.900000,1750.700000,1697.200000,771.300000,144.530000 /) -XPIZA_LKT(46,5,1:6)=(/ 0.918802,0.949930,0.972525,0.993116,0.993272,0.986396 /) -XCGA_LKT(46,5,1:6)=(/ 0.761887,0.708317,0.730657,0.753013,0.696000,0.442683 /) -XEXT_COEFF_550_LKT(46,5)=1748.500000 !rg=0.382026 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,6,1:6)=(/ 1134.600000,1240.100000,1440.300000,1486.000000,836.940000,197.590000 /) -XPIZA_LKT(46,6,1:6)=(/ 0.911714,0.943081,0.967014,0.991992,0.993572,0.989322 /) -XCGA_LKT(46,6,1:6)=(/ 0.770210,0.721810,0.724717,0.746080,0.725193,0.539117 /) -XEXT_COEFF_550_LKT(46,6)=1435.400000 !rg=0.382026 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,7,1:6)=(/ 968.220000,1046.800000,1182.000000,1262.100000,857.020000,257.220000 /) -XPIZA_LKT(46,7,1:6)=(/ 0.902619,0.936058,0.960673,0.990436,0.993514,0.991222 /) -XCGA_LKT(46,7,1:6)=(/ 0.783093,0.737350,0.725030,0.738237,0.742653,0.612107 /) -XEXT_COEFF_550_LKT(46,7)=1179.400000 !rg=0.382026 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,8,1:6)=(/ 825.230000,883.130000,970.680000,1053.100000,825.240000,315.690000 /) -XPIZA_LKT(46,8,1:6)=(/ 0.889608,0.926532,0.953345,0.988402,0.993079,0.992402 /) -XCGA_LKT(46,8,1:6)=(/ 0.791693,0.751000,0.728517,0.731777,0.749780,0.665623 /) -XEXT_COEFF_550_LKT(46,8)=969.180000 !rg=0.382026 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,9,1:6)=(/ 692.160000,731.650000,798.240000,865.460000,754.440000,364.930000 /) -XPIZA_LKT(46,9,1:6)=(/ 0.875553,0.916918,0.944157,0.986161,0.992261,0.993071 /) -XCGA_LKT(46,9,1:6)=(/ 0.804800,0.765607,0.734143,0.730423,0.750237,0.703670 /) -XEXT_COEFF_550_LKT(46,9)=797.420000 !rg=0.382026 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,10,1:6)=(/ 581.010000,610.760000,657.470000,710.930000,668.320000,394.460000 /) -XPIZA_LKT(46,10,1:6)=(/ 0.861663,0.904539,0.934959,0.982937,0.991061,0.993301 /) -XCGA_LKT(46,10,1:6)=(/ 0.815933,0.773423,0.746303,0.727577,0.748453,0.727770 /) -XEXT_COEFF_550_LKT(46,10)=650.750000 !rg=0.382026 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,11,1:6)=(/ 482.700000,506.080000,536.090000,581.900000,574.950000,398.060000 /) -XPIZA_LKT(46,11,1:6)=(/ 0.847797,0.890785,0.924621,0.979108,0.989563,0.993108 /) -XCGA_LKT(46,11,1:6)=(/ 0.824243,0.789820,0.755743,0.732003,0.747960,0.739813 /) -XEXT_COEFF_550_LKT(46,11)=534.170000 !rg=0.382026 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,12,1:6)=(/ 400.490000,416.660000,440.290000,472.100000,482.540000,376.590000 /) -XPIZA_LKT(46,12,1:6)=(/ 0.834664,0.875485,0.912675,0.975513,0.987425,0.992476 /) -XCGA_LKT(46,12,1:6)=(/ 0.835510,0.799260,0.769777,0.735210,0.746293,0.741987 /) -XEXT_COEFF_550_LKT(46,12)=435.650000 !rg=0.382026 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,13,1:6)=(/ 330.360000,343.320000,359.720000,384.390000,401.570000,340.470000 /) -XPIZA_LKT(46,13,1:6)=(/ 0.823177,0.860499,0.898962,0.970214,0.984819,0.991497 /) -XCGA_LKT(46,13,1:6)=(/ 0.842863,0.813420,0.779000,0.745553,0.746613,0.741037 /) -XEXT_COEFF_550_LKT(46,13)=358.280000 !rg=0.382026 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,14,1:6)=(/ 273.130000,282.600000,294.900000,311.510000,331.470000,302.240000 /) -XPIZA_LKT(46,14,1:6)=(/ 0.812215,0.846453,0.883281,0.965606,0.981397,0.990230 /) -XCGA_LKT(46,14,1:6)=(/ 0.851650,0.824137,0.794257,0.755547,0.748703,0.741847 /) -XEXT_COEFF_550_LKT(46,14)=294.600000 !rg=0.382026 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,15,1:6)=(/ 226.500000,233.210000,241.440000,254.520000,270.410000,261.150000 /) -XPIZA_LKT(46,15,1:6)=(/ 0.803129,0.834621,0.868877,0.959530,0.978422,0.988613 /) -XCGA_LKT(46,15,1:6)=(/ 0.857707,0.833177,0.806673,0.763163,0.754217,0.743760 /) -XEXT_COEFF_550_LKT(46,15)=242.130000 !rg=0.382026 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,16,1:6)=(/ 187.240000,192.220000,198.350000,208.500000,220.560000,220.280000 /) -XPIZA_LKT(46,16,1:6)=(/ 0.793488,0.822868,0.854061,0.951886,0.974684,0.986520 /) -XCGA_LKT(46,16,1:6)=(/ 0.862483,0.842487,0.815637,0.773797,0.760003,0.744477 /) -XEXT_COEFF_550_LKT(46,16)=197.700000 !rg=0.382026 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,17,1:6)=(/ 154.710000,158.250000,163.070000,169.730000,181.390000,185.820000 /) -XPIZA_LKT(46,17,1:6)=(/ 0.784357,0.811871,0.841406,0.942920,0.969010,0.983540 /) -XCGA_LKT(46,17,1:6)=(/ 0.868100,0.849143,0.826733,0.783270,0.765757,0.747253 /) -XEXT_COEFF_550_LKT(46,17)=163.110000 !rg=0.382026 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,18,1:6)=(/ 128.180000,130.950000,134.110000,139.410000,147.100000,153.240000 /) -XPIZA_LKT(46,18,1:6)=(/ 0.776444,0.803116,0.829825,0.936003,0.964224,0.980834 /) -XCGA_LKT(46,18,1:6)=(/ 0.872200,0.855853,0.836660,0.792947,0.774300,0.751243 /) -XEXT_COEFF_550_LKT(46,18)=134.200000 !rg=0.382026 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,19,1:6)=(/ 106.030000,108.060000,110.470000,114.440000,119.950000,126.340000 /) -XPIZA_LKT(46,19,1:6)=(/ 0.766491,0.793581,0.818487,0.929013,0.957839,0.977706 /) -XCGA_LKT(46,19,1:6)=(/ 0.875453,0.862057,0.843490,0.802273,0.782683,0.756013 /) -XEXT_COEFF_550_LKT(46,19)=110.170000 !rg=0.382026 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(46,20,1:6)=(/ 87.758000,89.230000,91.069000,93.586000,98.702000,104.620000 /) -XPIZA_LKT(46,20,1:6)=(/ 0.755969,0.783685,0.808810,0.921959,0.949164,0.972781 /) -XCGA_LKT(46,20,1:6)=(/ 0.879540,0.866760,0.851133,0.810007,0.790503,0.761263 /) -XEXT_COEFF_550_LKT(46,20)=91.099000 !rg=0.382026 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,1,1:6)=(/ 2010.700000,1727.500000,2940.100000,2012.400000,489.250000,54.010000 /) -XPIZA_LKT(47,1,1:6)=(/ 0.940632,0.955996,0.983884,0.994355,0.990421,0.968599 /) -XCGA_LKT(47,1,1:6)=(/ 0.784223,0.620833,0.779807,0.754760,0.570850,0.130303 /) -XEXT_COEFF_550_LKT(47,1)=2932.200000 !rg=0.41387 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,2,1:6)=(/ 1763.500000,1647.700000,2687.800000,1990.200000,555.280000,65.037000 /) -XPIZA_LKT(47,2,1:6)=(/ 0.934318,0.954009,0.982135,0.994320,0.991298,0.973400 /) -XCGA_LKT(47,2,1:6)=(/ 0.766057,0.628753,0.770303,0.753537,0.598913,0.165360 /) -XEXT_COEFF_550_LKT(47,2)=2683.200000 !rg=0.41387 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,3,1:6)=(/ 1548.700000,1567.500000,2294.600000,1953.700000,643.970000,86.682000 /) -XPIZA_LKT(47,3,1:6)=(/ 0.926990,0.952435,0.978980,0.994141,0.992294,0.979298 /) -XCGA_LKT(47,3,1:6)=(/ 0.763177,0.661773,0.751890,0.759127,0.635710,0.245640 /) -XEXT_COEFF_550_LKT(47,3)=2285.900000 !rg=0.41387 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,4,1:6)=(/ 1372.900000,1450.100000,1898.700000,1830.600000,739.250000,120.390000 /) -XPIZA_LKT(47,4,1:6)=(/ 0.921018,0.949371,0.974522,0.993651,0.993064,0.984233 /) -XCGA_LKT(47,4,1:6)=(/ 0.766847,0.689223,0.733467,0.759780,0.677837,0.365433 /) -XEXT_COEFF_550_LKT(47,4)=1891.000000 !rg=0.41387 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,5,1:6)=(/ 1194.200000,1288.400000,1565.000000,1629.500000,820.280000,167.230000 /) -XPIZA_LKT(47,5,1:6)=(/ 0.915187,0.944712,0.969310,0.992749,0.993532,0.987840 /) -XCGA_LKT(47,5,1:6)=(/ 0.772897,0.710837,0.723747,0.753797,0.712663,0.480570 /) -XEXT_COEFF_550_LKT(47,5)=1555.800000 !rg=0.41387 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,6,1:6)=(/ 1046.600000,1117.900000,1295.900000,1397.100000,864.740000,223.290000 /) -XPIZA_LKT(47,6,1:6)=(/ 0.904871,0.937567,0.963042,0.991446,0.993663,0.990241 /) -XCGA_LKT(47,6,1:6)=(/ 0.782370,0.725660,0.719490,0.745163,0.736050,0.569123 /) -XEXT_COEFF_550_LKT(47,6)=1287.600000 !rg=0.41387 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,7,1:6)=(/ 892.950000,948.980000,1066.300000,1169.800000,859.930000,283.470000 /) -XPIZA_LKT(47,7,1:6)=(/ 0.895355,0.930267,0.956438,0.989675,0.993441,0.991804 /) -XCGA_LKT(47,7,1:6)=(/ 0.792710,0.741513,0.722960,0.736547,0.748567,0.635023 /) -XEXT_COEFF_550_LKT(47,7)=1064.800000 !rg=0.41387 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,8,1:6)=(/ 757.370000,802.340000,882.550000,966.720000,807.400000,339.100000 /) -XPIZA_LKT(47,8,1:6)=(/ 0.882724,0.920438,0.948425,0.987334,0.992833,0.992752 /) -XCGA_LKT(47,8,1:6)=(/ 0.802067,0.753637,0.730093,0.729807,0.752003,0.682327 /) -XEXT_COEFF_550_LKT(47,8)=874.480000 !rg=0.41387 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,9,1:6)=(/ 632.140000,667.360000,722.430000,793.110000,725.290000,381.400000 /) -XPIZA_LKT(47,9,1:6)=(/ 0.869513,0.911140,0.940429,0.984900,0.991860,0.993232 /) -XCGA_LKT(47,9,1:6)=(/ 0.812180,0.771923,0.741507,0.728633,0.751137,0.714873 /) -XEXT_COEFF_550_LKT(47,9)=722.800000 !rg=0.41387 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,10,1:6)=(/ 530.860000,556.940000,596.610000,648.420000,632.910000,400.670000 /) -XPIZA_LKT(47,10,1:6)=(/ 0.854496,0.897863,0.929802,0.981683,0.990544,0.993286 /) -XCGA_LKT(47,10,1:6)=(/ 0.820850,0.784230,0.747883,0.731107,0.749643,0.734007 /) -XEXT_COEFF_550_LKT(47,10)=595.380000 !rg=0.41387 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,11,1:6)=(/ 442.550000,461.210000,490.720000,528.490000,537.860000,393.330000 /) -XPIZA_LKT(47,11,1:6)=(/ 0.840955,0.883756,0.918662,0.977954,0.988713,0.992917 /) -XCGA_LKT(47,11,1:6)=(/ 0.831423,0.793687,0.762993,0.732903,0.747317,0.741857 /) -XEXT_COEFF_550_LKT(47,11)=486.110000 !rg=0.41387 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,12,1:6)=(/ 366.480000,381.370000,401.210000,430.610000,448.160000,364.060000 /) -XPIZA_LKT(47,12,1:6)=(/ 0.828701,0.868015,0.906408,0.973303,0.986471,0.992144 /) -XCGA_LKT(47,12,1:6)=(/ 0.839210,0.808217,0.772120,0.741827,0.745893,0.742370 /) -XEXT_COEFF_550_LKT(47,12)=400.040000 !rg=0.41387 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,13,1:6)=(/ 303.130000,314.200000,329.050000,349.230000,371.620000,326.280000 /) -XPIZA_LKT(47,13,1:6)=(/ 0.816867,0.853292,0.891548,0.968270,0.983314,0.991023 /) -XCGA_LKT(47,13,1:6)=(/ 0.848700,0.818787,0.787680,0.749860,0.747617,0.741513 /) -XEXT_COEFF_550_LKT(47,13)=328.280000 !rg=0.41387 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,14,1:6)=(/ 251.890000,258.930000,269.320000,284.470000,303.330000,286.300000 /) -XPIZA_LKT(47,14,1:6)=(/ 0.807348,0.841265,0.876136,0.963395,0.980850,0.989642 /) -XCGA_LKT(47,14,1:6)=(/ 0.855247,0.828713,0.799900,0.758347,0.751393,0.743423 /) -XEXT_COEFF_550_LKT(47,14)=269.950000 !rg=0.41387 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,15,1:6)=(/ 208.280000,214.390000,221.310000,233.870000,247.850000,244.320000 /) -XPIZA_LKT(47,15,1:6)=(/ 0.798131,0.828133,0.862282,0.955766,0.976992,0.987899 /) -XCGA_LKT(47,15,1:6)=(/ 0.860007,0.838420,0.810637,0.768133,0.756877,0.744757 /) -XEXT_COEFF_550_LKT(47,15)=220.790000 !rg=0.41387 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,16,1:6)=(/ 172.120000,176.060000,182.090000,189.720000,202.910000,205.890000 /) -XPIZA_LKT(47,16,1:6)=(/ 0.789267,0.817887,0.848190,0.948565,0.972212,0.985256 /) -XCGA_LKT(47,16,1:6)=(/ 0.865687,0.845433,0.822257,0.777270,0.762387,0.745820 /) -XEXT_COEFF_550_LKT(47,16)=181.330000 !rg=0.41387 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,17,1:6)=(/ 142.580000,145.130000,149.400000,155.030000,165.200000,171.150000 /) -XPIZA_LKT(47,17,1:6)=(/ 0.780788,0.807551,0.835140,0.940517,0.967770,0.982970 /) -XCGA_LKT(47,17,1:6)=(/ 0.870303,0.853320,0.830973,0.788460,0.769060,0.748527 /) -XEXT_COEFF_550_LKT(47,17)=149.680000 !rg=0.41387 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,18,1:6)=(/ 117.890000,120.560000,123.230000,128.070000,134.500000,141.680000 /) -XPIZA_LKT(47,18,1:6)=(/ 0.771487,0.798017,0.824873,0.932340,0.961974,0.979603 /) -XCGA_LKT(47,18,1:6)=(/ 0.873700,0.859467,0.839760,0.797483,0.779180,0.753827 /) -XEXT_COEFF_550_LKT(47,18)=122.910000 !rg=0.41387 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,19,1:6)=(/ 97.618000,99.179000,101.550000,104.540000,110.460000,116.900000 /) -XPIZA_LKT(47,19,1:6)=(/ 0.762036,0.789221,0.814052,0.926163,0.954204,0.975424 /) -XCGA_LKT(47,19,1:6)=(/ 0.877557,0.864117,0.848007,0.805700,0.786883,0.758423 /) -XEXT_COEFF_550_LKT(47,19)=101.400000 !rg=0.41387 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(47,20,1:6)=(/ 80.878000,81.917000,83.654000,85.814000,90.137000,95.603000 /) -XPIZA_LKT(47,20,1:6)=(/ 0.751746,0.779518,0.803566,0.919906,0.946309,0.971633 /) -XCGA_LKT(47,20,1:6)=(/ 0.881060,0.869403,0.854290,0.814203,0.794590,0.764193 /) -XEXT_COEFF_550_LKT(47,20)=83.687000 !rg=0.41387 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,1,1:6)=(/ 1840.200000,1338.400000,2649.700000,2039.800000,573.870000,66.800000 /) -XPIZA_LKT(48,1,1:6)=(/ 0.938109,0.944449,0.981700,0.994502,0.991297,0.973903 /) -XCGA_LKT(48,1,1:6)=(/ 0.800133,0.568417,0.772177,0.759477,0.625370,0.153577 /) -XEXT_COEFF_550_LKT(48,1)=2647.500000 !rg=0.448369 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,2,1:6)=(/ 1609.500000,1378.600000,2391.300000,2030.200000,634.820000,79.459000 /) -XPIZA_LKT(48,2,1:6)=(/ 0.926989,0.945919,0.979800,0.994354,0.992094,0.977617 /) -XCGA_LKT(48,2,1:6)=(/ 0.782857,0.612347,0.758457,0.764830,0.631980,0.195017 /) -XEXT_COEFF_550_LKT(48,2)=2377.800000 !rg=0.448369 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,3,1:6)=(/ 1418.600000,1398.600000,2015.000000,1947.600000,714.720000,103.670000 /) -XPIZA_LKT(48,3,1:6)=(/ 0.920864,0.946185,0.976021,0.994046,0.992857,0.982162 /) -XCGA_LKT(48,3,1:6)=(/ 0.767833,0.660067,0.738337,0.766633,0.662113,0.286543 /) -XEXT_COEFF_550_LKT(48,3)=2001.500000 !rg=0.448369 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,4,1:6)=(/ 1260.400000,1312.000000,1670.300000,1775.500000,799.120000,141.250000 /) -XPIZA_LKT(48,4,1:6)=(/ 0.914530,0.943470,0.971087,0.993374,0.993430,0.986098 /) -XCGA_LKT(48,4,1:6)=(/ 0.769523,0.694587,0.722577,0.762370,0.698400,0.409143 /) -XEXT_COEFF_550_LKT(48,4)=1659.700000 !rg=0.448369 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,5,1:6)=(/ 1104.300000,1163.200000,1389.900000,1541.900000,862.290000,191.920000 /) -XPIZA_LKT(48,5,1:6)=(/ 0.908762,0.939664,0.965408,0.992277,0.993723,0.989038 /) -XCGA_LKT(48,5,1:6)=(/ 0.784080,0.717203,0.715350,0.753087,0.727130,0.516770 /) -XEXT_COEFF_550_LKT(48,5)=1385.500000 !rg=0.448369 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,6,1:6)=(/ 956.470000,1019.000000,1157.300000,1301.800000,882.910000,250.130000 /) -XPIZA_LKT(48,6,1:6)=(/ 0.899391,0.931398,0.959002,0.990720,0.993691,0.991012 /) -XCGA_LKT(48,6,1:6)=(/ 0.785667,0.736020,0.717160,0.742290,0.745083,0.597007 /) -XEXT_COEFF_550_LKT(48,6)=1152.600000 !rg=0.448369 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,7,1:6)=(/ 817.990000,868.750000,959.560000,1079.000000,853.460000,309.560000 /) -XPIZA_LKT(48,7,1:6)=(/ 0.888225,0.923908,0.952074,0.988591,0.993304,0.992283 /) -XCGA_LKT(48,7,1:6)=(/ 0.795043,0.751200,0.723273,0.733083,0.753213,0.655780 /) -XEXT_COEFF_550_LKT(48,7)=955.800000 !rg=0.448369 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,8,1:6)=(/ 691.490000,731.680000,796.590000,886.410000,782.730000,360.620000 /) -XPIZA_LKT(48,8,1:6)=(/ 0.875700,0.914281,0.943440,0.986131,0.992540,0.993018 /) -XCGA_LKT(48,8,1:6)=(/ 0.806670,0.765273,0.730893,0.729307,0.753927,0.697150 /) -XEXT_COEFF_550_LKT(48,8)=793.700000 !rg=0.448369 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,9,1:6)=(/ 582.410000,609.480000,655.730000,723.300000,691.880000,394.350000 /) -XPIZA_LKT(48,9,1:6)=(/ 0.861951,0.904613,0.935552,0.983373,0.991386,0.993322 /) -XCGA_LKT(48,9,1:6)=(/ 0.819230,0.776467,0.744923,0.727527,0.751527,0.724370 /) -XEXT_COEFF_550_LKT(48,9)=658.270000 !rg=0.448369 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,10,1:6)=(/ 485.460000,508.280000,542.150000,590.550000,596.710000,402.490000 /) -XPIZA_LKT(48,10,1:6)=(/ 0.848063,0.891563,0.924613,0.980208,0.989785,0.993206 /) -XCGA_LKT(48,10,1:6)=(/ 0.828393,0.791017,0.757140,0.731480,0.749277,0.738760 /) -XEXT_COEFF_550_LKT(48,10)=541.510000 !rg=0.448369 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,11,1:6)=(/ 406.300000,420.490000,445.750000,479.850000,499.930000,384.790000 /) -XPIZA_LKT(48,11,1:6)=(/ 0.833683,0.876687,0.913176,0.976615,0.987796,0.992678 /) -XCGA_LKT(48,11,1:6)=(/ 0.836597,0.803583,0.766043,0.738487,0.746273,0.743243 /) -XEXT_COEFF_550_LKT(48,11)=445.950000 !rg=0.448369 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,12,1:6)=(/ 336.120000,348.940000,366.290000,390.910000,416.490000,350.750000 /) -XPIZA_LKT(48,12,1:6)=(/ 0.822502,0.861186,0.899615,0.971651,0.984945,0.991741 /) -XCGA_LKT(48,12,1:6)=(/ 0.845457,0.814177,0.781460,0.745167,0.746777,0.742393 /) -XEXT_COEFF_550_LKT(48,12)=365.900000 !rg=0.448369 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,13,1:6)=(/ 279.360000,287.420000,300.080000,318.320000,340.100000,311.150000 /) -XPIZA_LKT(48,13,1:6)=(/ 0.811711,0.847876,0.884304,0.966396,0.982690,0.990504 /) -XCGA_LKT(48,13,1:6)=(/ 0.852590,0.824287,0.793287,0.752993,0.748800,0.742567 /) -XEXT_COEFF_550_LKT(48,13)=300.750000 !rg=0.448369 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,14,1:6)=(/ 231.590000,238.070000,246.250000,261.480000,278.440000,269.950000 /) -XPIZA_LKT(48,14,1:6)=(/ 0.801873,0.834679,0.870158,0.959751,0.979520,0.989001 /) -XCGA_LKT(48,14,1:6)=(/ 0.857727,0.834487,0.805140,0.763070,0.754763,0.744703 /) -XEXT_COEFF_550_LKT(48,14)=246.030000 !rg=0.448369 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,15,1:6)=(/ 191.870000,196.560000,203.380000,213.110000,227.830000,228.220000 /) -XPIZA_LKT(48,15,1:6)=(/ 0.793775,0.822968,0.854926,0.953107,0.974991,0.986716 /) -XCGA_LKT(48,15,1:6)=(/ 0.863363,0.841590,0.816963,0.770243,0.758890,0.744327 /) -XEXT_COEFF_550_LKT(48,15)=201.550000 !rg=0.448369 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,16,1:6)=(/ 158.540000,161.590000,166.420000,172.760000,186.210000,191.380000 /) -XPIZA_LKT(48,16,1:6)=(/ 0.784543,0.812021,0.842416,0.945324,0.969940,0.984216 /) -XCGA_LKT(48,16,1:6)=(/ 0.868317,0.850760,0.825703,0.785097,0.762483,0.745833 /) -XEXT_COEFF_550_LKT(48,16)=166.530000 !rg=0.448369 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,17,1:6)=(/ 131.330000,133.760000,136.760000,142.560000,151.270000,158.050000 /) -XPIZA_LKT(48,17,1:6)=(/ 0.776392,0.803257,0.830322,0.936810,0.965002,0.981811 /) -XCGA_LKT(48,17,1:6)=(/ 0.872097,0.856833,0.836233,0.793467,0.774623,0.751863 /) -XEXT_COEFF_550_LKT(48,17)=136.930000 !rg=0.448369 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,18,1:6)=(/ 108.760000,110.620000,113.410000,117.180000,123.660000,130.640000 /) -XPIZA_LKT(48,18,1:6)=(/ 0.767430,0.793328,0.819056,0.929580,0.958457,0.978016 /) -XCGA_LKT(48,18,1:6)=(/ 0.875907,0.861790,0.844420,0.800173,0.782110,0.755327 /) -XEXT_COEFF_550_LKT(48,18)=112.460000 !rg=0.448369 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,19,1:6)=(/ 89.994000,91.211000,93.095000,95.377000,101.370000,107.510000 /) -XPIZA_LKT(48,19,1:6)=(/ 0.757341,0.783988,0.809512,0.923711,0.950639,0.973897 /) -XCGA_LKT(48,19,1:6)=(/ 0.879457,0.867460,0.850693,0.811747,0.787987,0.758923 /) -XEXT_COEFF_550_LKT(48,19)=93.174000 !rg=0.448369 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(48,20,1:6)=(/ 74.502000,75.534000,76.717000,78.901000,82.652000,87.727000 /) -XPIZA_LKT(48,20,1:6)=(/ 0.746626,0.775532,0.799474,0.916772,0.942483,0.969495 /) -XCGA_LKT(48,20,1:6)=(/ 0.882513,0.871710,0.857820,0.818287,0.800283,0.769340 /) -XEXT_COEFF_550_LKT(48,20)=76.755000 !rg=0.448369 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,1,1:6)=(/ 1509.800000,1153.300000,2313.700000,2071.200000,672.190000,82.023000 /) -XPIZA_LKT(49,1,1:6)=(/ 0.928189,0.934502,0.979168,0.994418,0.992234,0.978136 /) -XCGA_LKT(49,1,1:6)=(/ 0.808493,0.552460,0.756477,0.767483,0.650747,0.181480 /) -XEXT_COEFF_550_LKT(49,1)=2289.900000 !rg=0.485743 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,2,1:6)=(/ 1424.300000,1249.100000,2062.600000,2036.200000,713.380000,96.120000 /) -XPIZA_LKT(49,2,1:6)=(/ 0.918021,0.939794,0.976494,0.994300,0.992780,0.980961 /) -XCGA_LKT(49,2,1:6)=(/ 0.775037,0.619503,0.740033,0.773207,0.655120,0.230473 /) -XEXT_COEFF_550_LKT(49,2)=2044.400000 !rg=0.485743 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,3,1:6)=(/ 1301.500000,1264.500000,1741.200000,1907.000000,782.980000,122.920000 /) -XPIZA_LKT(49,3,1:6)=(/ 0.913265,0.941394,0.971980,0.993847,0.993321,0.984462 /) -XCGA_LKT(49,3,1:6)=(/ 0.785007,0.674967,0.719377,0.771083,0.685190,0.332533 /) -XEXT_COEFF_550_LKT(49,3)=1721.900000 !rg=0.485743 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,4,1:6)=(/ 1158.700000,1186.600000,1464.800000,1692.000000,853.570000,164.500000 /) -XPIZA_LKT(49,4,1:6)=(/ 0.908110,0.938471,0.966700,0.992984,0.993717,0.987633 /) -XCGA_LKT(49,4,1:6)=(/ 0.786327,0.705013,0.708997,0.762407,0.716520,0.452960 /) -XEXT_COEFF_550_LKT(49,4)=1449.700000 !rg=0.485743 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,5,1:6)=(/ 1013.200000,1065.300000,1231.100000,1440.300000,895.550000,218.450000 /) -XPIZA_LKT(49,5,1:6)=(/ 0.901709,0.933395,0.961199,0.991634,0.993847,0.990037 /) -XCGA_LKT(49,5,1:6)=(/ 0.785140,0.727877,0.710363,0.749763,0.739533,0.550920 /) -XEXT_COEFF_550_LKT(49,5)=1223.800000 !rg=0.485743 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,6,1:6)=(/ 871.480000,921.330000,1040.400000,1197.200000,890.840000,277.550000 /) -XPIZA_LKT(49,6,1:6)=(/ 0.893888,0.927143,0.954075,0.989879,0.993650,0.991652 /) -XCGA_LKT(49,6,1:6)=(/ 0.799400,0.743763,0.716723,0.738293,0.752293,0.622497 /) -XEXT_COEFF_550_LKT(49,6)=1031.200000 !rg=0.485743 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,7,1:6)=(/ 749.650000,788.640000,869.920000,983.780000,838.250000,334.590000 /) -XPIZA_LKT(49,7,1:6)=(/ 0.880605,0.918811,0.946681,0.987585,0.993090,0.992675 /) -XCGA_LKT(49,7,1:6)=(/ 0.806140,0.755747,0.725880,0.729997,0.756280,0.674300 /) -XEXT_COEFF_550_LKT(49,7)=860.910000 !rg=0.485743 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,8,1:6)=(/ 631.160000,665.030000,722.570000,806.280000,753.500000,379.290000 /) -XPIZA_LKT(49,8,1:6)=(/ 0.868854,0.909021,0.938384,0.985010,0.992158,0.993218 /) -XCGA_LKT(49,8,1:6)=(/ 0.816337,0.772497,0.738073,0.727347,0.754813,0.709850 /) -XEXT_COEFF_550_LKT(49,8)=718.550000 !rg=0.485743 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,9,1:6)=(/ 534.720000,560.150000,595.330000,661.420000,655.760000,403.020000 /) -XPIZA_LKT(49,9,1:6)=(/ 0.853833,0.897241,0.930249,0.981365,0.990870,0.993347 /) -XCGA_LKT(49,9,1:6)=(/ 0.822420,0.785440,0.748293,0.727177,0.752130,0.731900 /) -XEXT_COEFF_550_LKT(49,9)=594.620000 !rg=0.485743 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,10,1:6)=(/ 447.590000,464.880000,492.570000,537.440000,556.230000,399.910000 /) -XPIZA_LKT(49,10,1:6)=(/ 0.840896,0.884606,0.919618,0.978517,0.989149,0.993063 /) -XCGA_LKT(49,10,1:6)=(/ 0.833907,0.796250,0.762530,0.732033,0.749067,0.742000 /) -XEXT_COEFF_550_LKT(49,10)=495.060000 !rg=0.485743 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,11,1:6)=(/ 372.480000,386.350000,404.960000,438.490000,464.640000,374.040000 /) -XPIZA_LKT(49,11,1:6)=(/ 0.828363,0.869540,0.907969,0.974333,0.986594,0.992361 /) -XCGA_LKT(49,11,1:6)=(/ 0.841140,0.809807,0.775947,0.739827,0.746983,0.743823 /) -XEXT_COEFF_550_LKT(49,11)=406.690000 !rg=0.485743 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,12,1:6)=(/ 309.870000,319.570000,333.930000,356.590000,382.040000,335.980000 /) -XPIZA_LKT(49,12,1:6)=(/ 0.816696,0.855085,0.893201,0.969567,0.984395,0.991328 /) -XCGA_LKT(49,12,1:6)=(/ 0.849723,0.819190,0.787430,0.747540,0.748110,0.743097 /) -XEXT_COEFF_550_LKT(49,12)=335.100000 !rg=0.485743 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,13,1:6)=(/ 257.150000,264.480000,273.910000,292.330000,312.500000,295.620000 /) -XPIZA_LKT(49,13,1:6)=(/ 0.806619,0.841293,0.878162,0.963261,0.981454,0.989990 /) -XCGA_LKT(49,13,1:6)=(/ 0.855147,0.830260,0.799403,0.757670,0.752000,0.744337 /) -XEXT_COEFF_550_LKT(49,13)=274.050000 !rg=0.485743 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,14,1:6)=(/ 213.090000,218.710000,226.360000,238.610000,254.920000,252.730000 /) -XPIZA_LKT(49,14,1:6)=(/ 0.797778,0.828444,0.862872,0.956916,0.977677,0.988203 /) -XCGA_LKT(49,14,1:6)=(/ 0.861403,0.837463,0.811670,0.763887,0.755927,0.744587 /) -XEXT_COEFF_550_LKT(49,14)=224.400000 !rg=0.485743 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,15,1:6)=(/ 176.090000,180.530000,186.120000,194.440000,209.090000,212.660000 /) -XPIZA_LKT(49,15,1:6)=(/ 0.789075,0.817700,0.848969,0.949106,0.972670,0.985814 /) -XCGA_LKT(49,15,1:6)=(/ 0.865590,0.846920,0.820173,0.778613,0.758177,0.744290 /) -XEXT_COEFF_550_LKT(49,15)=185.800000 !rg=0.485743 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,16,1:6)=(/ 145.660000,148.900000,152.400000,159.150000,170.690000,177.410000 /) -XPIZA_LKT(49,16,1:6)=(/ 0.780814,0.807711,0.836117,0.941151,0.967190,0.982809 /) -XCGA_LKT(49,16,1:6)=(/ 0.869910,0.854180,0.832597,0.788990,0.767287,0.748603 /) -XEXT_COEFF_550_LKT(49,16)=152.920000 !rg=0.485743 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,17,1:6)=(/ 120.980000,122.940000,125.930000,130.730000,138.140000,145.850000 /) -XPIZA_LKT(49,17,1:6)=(/ 0.771925,0.798129,0.825271,0.933297,0.962018,0.980228 /) -XCGA_LKT(49,17,1:6)=(/ 0.874597,0.859017,0.840693,0.794850,0.778273,0.753440 /) -XEXT_COEFF_550_LKT(49,17)=125.670000 !rg=0.485743 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,18,1:6)=(/ 99.938000,101.860000,103.980000,107.340000,113.760000,120.470000 /) -XPIZA_LKT(49,18,1:6)=(/ 0.762529,0.789371,0.814106,0.926064,0.954744,0.976012 /) -XCGA_LKT(49,18,1:6)=(/ 0.877383,0.865077,0.847247,0.806223,0.782373,0.754743 /) -XEXT_COEFF_550_LKT(49,18)=103.740000 !rg=0.485743 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,19,1:6)=(/ 82.730000,84.124000,85.467000,88.165000,93.050000,98.739000 /) -XPIZA_LKT(49,19,1:6)=(/ 0.752482,0.780061,0.804008,0.920044,0.946498,0.971809 /) -XCGA_LKT(49,19,1:6)=(/ 0.880510,0.869837,0.855227,0.815130,0.793347,0.763423 /) -XEXT_COEFF_550_LKT(49,19)=85.715000 !rg=0.485743 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(49,20,1:6)=(/ 68.721000,69.450000,70.699000,72.535000,75.518000,80.391000 /) -XPIZA_LKT(49,20,1:6)=(/ 0.741658,0.770126,0.795370,0.913972,0.939307,0.966936 /) -XCGA_LKT(49,20,1:6)=(/ 0.884463,0.873217,0.860847,0.819837,0.804457,0.772363 /) -XEXT_COEFF_550_LKT(49,20)=70.679000 !rg=0.485743 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,1,1:6)=(/ 1182.500000,1108.700000,1944.200000,2101.100000,760.820000,99.710000 /) -XPIZA_LKT(50,1,1:6)=(/ 0.915194,0.930989,0.974844,0.994417,0.993085,0.981492 /) -XCGA_LKT(50,1,1:6)=(/ 0.784587,0.585623,0.729213,0.781093,0.656810,0.215190 /) -XEXT_COEFF_550_LKT(50,1)=1925.400000 !rg=0.526233 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,2,1:6)=(/ 1241.300000,1184.500000,1730.600000,2004.500000,786.030000,114.940000 /) -XPIZA_LKT(50,2,1:6)=(/ 0.914318,0.937231,0.971795,0.994141,0.993331,0.983598 /) -XCGA_LKT(50,2,1:6)=(/ 0.795640,0.655350,0.713817,0.778847,0.675127,0.272847 /) -XEXT_COEFF_550_LKT(50,2)=1704.000000 !rg=0.526233 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,3,1:6)=(/ 1173.500000,1175.700000,1476.400000,1831.100000,846.690000,144.580000 /) -XPIZA_LKT(50,3,1:6)=(/ 0.910092,0.938242,0.967167,0.993525,0.993693,0.986320 /) -XCGA_LKT(50,3,1:6)=(/ 0.790547,0.699727,0.699380,0.772330,0.706053,0.382617 /) -XEXT_COEFF_550_LKT(50,3)=1466.800000 !rg=0.526233 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,4,1:6)=(/ 1053.900000,1083.500000,1271.900000,1585.000000,900.600000,190.120000 /) -XPIZA_LKT(50,4,1:6)=(/ 0.903849,0.935206,0.962011,0.992440,0.993931,0.988903 /) -XCGA_LKT(50,4,1:6)=(/ 0.793400,0.724243,0.698667,0.759727,0.732397,0.495533 /) -XEXT_COEFF_550_LKT(50,4)=1268.400000 !rg=0.526233 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,5,1:6)=(/ 930.240000,969.280000,1097.900000,1324.400000,918.620000,246.460000 /) -XPIZA_LKT(50,5,1:6)=(/ 0.894965,0.928244,0.956042,0.990875,0.993903,0.990871 /) -XCGA_LKT(50,5,1:6)=(/ 0.798227,0.735117,0.705733,0.745283,0.749907,0.582577 /) -XEXT_COEFF_550_LKT(50,5)=1086.200000 !rg=0.526233 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,6,1:6)=(/ 800.390000,836.190000,928.970000,1092.700000,887.770000,305.130000 /) -XPIZA_LKT(50,6,1:6)=(/ 0.887389,0.923380,0.949868,0.988902,0.993546,0.992183 /) -XCGA_LKT(50,6,1:6)=(/ 0.806683,0.755060,0.717143,0.734190,0.757920,0.645657 /) -XEXT_COEFF_550_LKT(50,6)=930.780000 !rg=0.526233 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,7,1:6)=(/ 685.840000,715.330000,782.080000,894.680000,814.360000,358.050000 /) -XPIZA_LKT(50,7,1:6)=(/ 0.873489,0.914606,0.942097,0.986518,0.992822,0.992983 /) -XCGA_LKT(50,7,1:6)=(/ 0.812833,0.769560,0.727687,0.728267,0.758570,0.690837 /) -XEXT_COEFF_550_LKT(50,7)=781.690000 !rg=0.526233 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,8,1:6)=(/ 581.900000,605.990000,652.370000,732.180000,718.600000,394.680000 /) -XPIZA_LKT(50,8,1:6)=(/ 0.861039,0.903953,0.933985,0.983640,0.991712,0.993346 /) -XCGA_LKT(50,8,1:6)=(/ 0.822553,0.779560,0.742490,0.726027,0.755260,0.720760 /) -XEXT_COEFF_550_LKT(50,8)=654.970000 !rg=0.526233 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,9,1:6)=(/ 491.070000,510.990000,545.020000,599.150000,617.120000,407.380000 /) -XPIZA_LKT(50,9,1:6)=(/ 0.846303,0.890685,0.923791,0.980005,0.990189,0.993305 /) -XCGA_LKT(50,9,1:6)=(/ 0.829990,0.788727,0.755463,0.726653,0.751320,0.737850 /) -XEXT_COEFF_550_LKT(50,9)=539.020000 !rg=0.526233 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,10,1:6)=(/ 411.460000,427.720000,448.570000,491.620000,516.920000,393.670000 /) -XPIZA_LKT(50,10,1:6)=(/ 0.833345,0.876257,0.914094,0.975902,0.988361,0.992854 /) -XCGA_LKT(50,10,1:6)=(/ 0.837187,0.804233,0.767233,0.734017,0.749050,0.744270 /) -XEXT_COEFF_550_LKT(50,10)=448.500000 !rg=0.526233 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,11,1:6)=(/ 342.540000,354.770000,370.700000,399.790000,427.920000,360.980000 /) -XPIZA_LKT(50,11,1:6)=(/ 0.821975,0.861649,0.901366,0.971164,0.985794,0.992002 /) -XCGA_LKT(50,11,1:6)=(/ 0.846483,0.813483,0.781670,0.740137,0.747833,0.744083 /) -XEXT_COEFF_550_LKT(50,11)=371.700000 !rg=0.526233 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,12,1:6)=(/ 284.930000,293.850000,305.000000,327.340000,350.920000,321.190000 /) -XPIZA_LKT(50,12,1:6)=(/ 0.810561,0.847712,0.886533,0.966144,0.983255,0.990847 /) -XCGA_LKT(50,12,1:6)=(/ 0.852443,0.825750,0.792860,0.751723,0.749763,0.744370 /) -XEXT_COEFF_550_LKT(50,12)=304.810000 !rg=0.526233 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,13,1:6)=(/ 236.440000,242.780000,251.770000,266.750000,286.520000,279.060000 /) -XPIZA_LKT(50,13,1:6)=(/ 0.801557,0.834415,0.870743,0.960230,0.979775,0.989299 /) -XCGA_LKT(50,13,1:6)=(/ 0.859300,0.833280,0.806043,0.758033,0.753057,0.744807 /) -XEXT_COEFF_550_LKT(50,13)=249.810000 !rg=0.526233 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,14,1:6)=(/ 195.520000,200.670000,207.390000,218.160000,234.630000,235.870000 /) -XPIZA_LKT(50,14,1:6)=(/ 0.793555,0.822993,0.855857,0.953136,0.974891,0.987237 /) -XCGA_LKT(50,14,1:6)=(/ 0.863700,0.843017,0.814687,0.771850,0.754940,0.744007 /) -XEXT_COEFF_550_LKT(50,14)=206.730000 !rg=0.526233 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,15,1:6)=(/ 162.020000,165.840000,170.600000,177.790000,192.050000,198.480000 /) -XPIZA_LKT(50,15,1:6)=(/ 0.784983,0.812494,0.842748,0.945726,0.970159,0.984390 /) -XCGA_LKT(50,15,1:6)=(/ 0.868867,0.850983,0.827350,0.784033,0.762547,0.746363 /) -XEXT_COEFF_550_LKT(50,15)=170.470000 !rg=0.526233 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,16,1:6)=(/ 134.090000,137.010000,140.340000,146.230000,154.910000,162.980000 /) -XPIZA_LKT(50,16,1:6)=(/ 0.776490,0.802750,0.830801,0.936507,0.965116,0.981629 /) -XCGA_LKT(50,16,1:6)=(/ 0.872723,0.856610,0.837013,0.790200,0.772633,0.750387 /) -XEXT_COEFF_550_LKT(50,16)=140.320000 !rg=0.526233 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,17,1:6)=(/ 111.120000,113.320000,115.670000,120.120000,126.790000,134.620000 /) -XPIZA_LKT(50,17,1:6)=(/ 0.767481,0.793952,0.819472,0.929345,0.959022,0.978481 /) -XCGA_LKT(50,17,1:6)=(/ 0.876110,0.862503,0.843343,0.800643,0.778837,0.753040 /) -XEXT_COEFF_550_LKT(50,17)=115.650000 !rg=0.526233 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,18,1:6)=(/ 92.122000,93.696000,95.555000,98.419000,104.200000,111.160000 /) -XPIZA_LKT(50,18,1:6)=(/ 0.758311,0.784863,0.809488,0.923483,0.951142,0.973829 /) -XCGA_LKT(50,18,1:6)=(/ 0.879657,0.867687,0.851803,0.811073,0.787610,0.758717 /) -XEXT_COEFF_550_LKT(50,18)=95.356000 !rg=0.526233 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,19,1:6)=(/ 76.255000,77.362000,78.782000,81.125000,84.529000,90.156000 /) -XPIZA_LKT(50,19,1:6)=(/ 0.747530,0.775205,0.799750,0.916567,0.943037,0.969581 /) -XCGA_LKT(50,19,1:6)=(/ 0.882697,0.871527,0.858307,0.816400,0.799170,0.767733 /) -XEXT_COEFF_550_LKT(50,19)=78.845000 !rg=0.526233 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(50,20,1:6)=(/ 63.190000,64.130000,64.982000,66.741000,69.529000,73.999000 /) -XPIZA_LKT(50,20,1:6)=(/ 0.736140,0.766301,0.790015,0.910733,0.935556,0.964046 /) -XCGA_LKT(50,20,1:6)=(/ 0.885757,0.875653,0.862747,0.824037,0.805483,0.772120 /) -XEXT_COEFF_550_LKT(50,20)=65.069000 !rg=0.526233 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET5',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET5 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET6() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET6',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(51,1,1:6)=(/ 1070.100000,1162.800000,1569.700000,2030.200000,820.670000,119.650000 /) -XPIZA_LKT(51,1,1:6)=(/ 0.902505,0.934400,0.968857,0.994241,0.993670,0.984126 /) -XCGA_LKT(51,1,1:6)=(/ 0.781037,0.663077,0.693750,0.787200,0.665610,0.256210 /) -XEXT_COEFF_550_LKT(51,1)=1536.100000 !rg=0.570098 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,2,1:6)=(/ 1128.700000,1170.700000,1412.800000,1932.100000,852.240000,135.810000 /) -XPIZA_LKT(51,2,1:6)=(/ 0.910202,0.937154,0.965524,0.993857,0.993748,0.985668 /) -XCGA_LKT(51,2,1:6)=(/ 0.797117,0.702913,0.679930,0.781053,0.696900,0.323037 /) -XEXT_COEFF_550_LKT(51,2)=1397.700000 !rg=0.570098 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,3,1:6)=(/ 1061.300000,1101.900000,1257.400000,1721.700000,903.980000,168.850000 /) -XPIZA_LKT(51,3,1:6)=(/ 0.906660,0.934863,0.961287,0.993047,0.993980,0.987837 /) -XCGA_LKT(51,3,1:6)=(/ 0.798900,0.723187,0.679757,0.770087,0.725117,0.434823 /) -XEXT_COEFF_550_LKT(51,3)=1238.800000 !rg=0.570098 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,4,1:6)=(/ 958.470000,997.150000,1116.000000,1458.600000,938.200000,217.980000 /) -XPIZA_LKT(51,4,1:6)=(/ 0.899939,0.930776,0.956962,0.991710,0.994074,0.989962 /) -XCGA_LKT(51,4,1:6)=(/ 0.800920,0.738720,0.692110,0.753837,0.746117,0.535663 /) -XEXT_COEFF_550_LKT(51,4)=1106.400000 !rg=0.570098 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,5,1:6)=(/ 849.080000,881.690000,973.840000,1205.600000,930.160000,275.500000 /) -XPIZA_LKT(51,5,1:6)=(/ 0.889071,0.924837,0.951079,0.989916,0.993892,0.991568 /) -XCGA_LKT(51,5,1:6)=(/ 0.804353,0.753737,0.704977,0.739217,0.758350,0.611497 /) -XEXT_COEFF_550_LKT(51,5)=972.680000 !rg=0.570098 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,6,1:6)=(/ 735.340000,769.920000,833.830000,991.660000,874.500000,332.070000 /) -XPIZA_LKT(51,6,1:6)=(/ 0.879661,0.916996,0.945775,0.987584,0.993366,0.992621 /) -XCGA_LKT(51,6,1:6)=(/ 0.810153,0.764553,0.721540,0.727800,0.761977,0.666447 /) -XEXT_COEFF_550_LKT(51,6)=833.940000 !rg=0.570098 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,7,1:6)=(/ 627.740000,655.620000,704.740000,811.000000,784.240000,379.020000 /) -XPIZA_LKT(51,7,1:6)=(/ 0.867216,0.908461,0.938392,0.985017,0.992463,0.993221 /) -XCGA_LKT(51,7,1:6)=(/ 0.818890,0.777273,0.736617,0.724027,0.759697,0.705227 /) -XEXT_COEFF_550_LKT(51,7)=706.110000 !rg=0.570098 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,8,1:6)=(/ 535.580000,557.940000,591.000000,666.150000,680.490000,406.000000 /) -XPIZA_LKT(51,8,1:6)=(/ 0.852387,0.896758,0.929523,0.981676,0.991202,0.993410 /) -XCGA_LKT(51,8,1:6)=(/ 0.825793,0.788443,0.748043,0.724567,0.755427,0.729743 /) -XEXT_COEFF_550_LKT(51,8)=591.600000 !rg=0.570098 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,9,1:6)=(/ 449.740000,466.300000,494.750000,542.470000,575.410000,407.220000 /) -XPIZA_LKT(51,9,1:6)=(/ 0.838452,0.883510,0.918288,0.978643,0.989463,0.993203 /) -XCGA_LKT(51,9,1:6)=(/ 0.834747,0.799957,0.758093,0.732000,0.750553,0.742343 /) -XEXT_COEFF_550_LKT(51,9)=494.030000 !rg=0.570098 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,10,1:6)=(/ 378.120000,391.360000,411.810000,446.130000,478.810000,384.230000 /) -XPIZA_LKT(51,10,1:6)=(/ 0.826776,0.868968,0.906973,0.974064,0.987277,0.992575 /) -XCGA_LKT(51,10,1:6)=(/ 0.843303,0.807433,0.774843,0.733883,0.747620,0.745307 /) -XEXT_COEFF_550_LKT(51,10)=407.200000 !rg=0.570098 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,11,1:6)=(/ 315.170000,325.820000,339.200000,365.780000,394.380000,346.950000 /) -XPIZA_LKT(51,11,1:6)=(/ 0.815484,0.854432,0.893694,0.968707,0.984745,0.991599 /) -XCGA_LKT(51,11,1:6)=(/ 0.849527,0.821137,0.785417,0.745707,0.747980,0.745050 /) -XEXT_COEFF_550_LKT(51,11)=338.270000 !rg=0.570098 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,12,1:6)=(/ 262.140000,269.680000,280.290000,298.000000,322.110000,305.770000 /) -XPIZA_LKT(51,12,1:6)=(/ 0.805992,0.840770,0.878549,0.963844,0.981686,0.990242 /) -XCGA_LKT(51,12,1:6)=(/ 0.856807,0.828953,0.800067,0.752213,0.749930,0.744673 /) -XEXT_COEFF_550_LKT(51,12)=277.590000 !rg=0.570098 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,13,1:6)=(/ 216.930000,222.930000,230.630000,243.950000,262.920000,261.540000 /) -XPIZA_LKT(51,13,1:6)=(/ 0.797268,0.828364,0.863190,0.956643,0.977478,0.988591 /) -XCGA_LKT(51,13,1:6)=(/ 0.861747,0.839297,0.809133,0.765657,0.751823,0.745167 /) -XEXT_COEFF_550_LKT(51,13)=229.810000 !rg=0.570098 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,14,1:6)=(/ 179.790000,184.470000,190.010000,198.620000,215.350000,220.280000 /) -XPIZA_LKT(51,14,1:6)=(/ 0.788311,0.816645,0.849345,0.949623,0.972851,0.986006 /) -XCGA_LKT(51,14,1:6)=(/ 0.867197,0.847223,0.821960,0.777370,0.758780,0.745130 /) -XEXT_COEFF_550_LKT(51,14)=190.000000 !rg=0.570098 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,15,1:6)=(/ 149.380000,152.610000,156.460000,163.100000,174.140000,182.720000 /) -XPIZA_LKT(51,15,1:6)=(/ 0.781087,0.807643,0.836856,0.941767,0.968747,0.983752 /) -XCGA_LKT(51,15,1:6)=(/ 0.871357,0.853860,0.832430,0.786583,0.767213,0.748607 /) -XEXT_COEFF_550_LKT(51,15)=156.640000 !rg=0.570098 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,16,1:6)=(/ 123.530000,126.030000,129.010000,133.970000,141.560000,150.520000 /) -XPIZA_LKT(51,16,1:6)=(/ 0.771998,0.797913,0.824871,0.934019,0.963178,0.980806 /) -XCGA_LKT(51,16,1:6)=(/ 0.874340,0.860470,0.839900,0.796833,0.775813,0.751627 /) -XEXT_COEFF_550_LKT(51,16)=128.670000 !rg=0.570098 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,17,1:6)=(/ 102.320000,104.010000,106.460000,109.610000,116.420000,124.250000 /) -XPIZA_LKT(51,17,1:6)=(/ 0.762519,0.789162,0.814473,0.926288,0.955711,0.976477 /) -XCGA_LKT(51,17,1:6)=(/ 0.878350,0.864703,0.848127,0.804640,0.783603,0.755680 /) -XEXT_COEFF_550_LKT(51,17)=106.450000 !rg=0.570098 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,18,1:6)=(/ 84.945000,86.266000,87.830000,90.440000,94.811000,101.230000 /) -XPIZA_LKT(51,18,1:6)=(/ 0.753617,0.780516,0.804685,0.920277,0.948101,0.972742 /) -XCGA_LKT(51,18,1:6)=(/ 0.881537,0.869487,0.855323,0.813383,0.793463,0.762633 /) -XEXT_COEFF_550_LKT(51,18)=87.738000 !rg=0.570098 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,19,1:6)=(/ 70.266000,71.314000,72.448000,74.430000,77.372000,82.611000 /) -XPIZA_LKT(51,19,1:6)=(/ 0.742395,0.771162,0.794822,0.914591,0.940306,0.968030 /) -XCGA_LKT(51,19,1:6)=(/ 0.884027,0.874027,0.860447,0.821107,0.802590,0.769847 /) -XEXT_COEFF_550_LKT(51,19)=72.376000 !rg=0.570098 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(51,20,1:6)=(/ 58.218000,58.929000,59.948000,61.107000,63.756000,68.052000 /) -XPIZA_LKT(51,20,1:6)=(/ 0.730420,0.760925,0.786242,0.908240,0.932877,0.961266 /) -XCGA_LKT(51,20,1:6)=(/ 0.887510,0.877307,0.865960,0.827137,0.810157,0.776567 /) -XEXT_COEFF_550_LKT(51,20)=59.895000 !rg=0.570098 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,1,1:6)=(/ 1089.000000,1245.700000,1224.500000,1958.700000,868.130000,141.400000 /) -XPIZA_LKT(52,1,1:6)=(/ 0.900207,0.938811,0.960342,0.993830,0.993947,0.986162 /) -XCGA_LKT(52,1,1:6)=(/ 0.782047,0.736940,0.644703,0.785907,0.693060,0.306300 /) -XEXT_COEFF_550_LKT(52,1)=1198.300000 !rg=0.617619 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,2,1:6)=(/ 1046.000000,1155.300000,1151.500000,1818.600000,913.730000,158.790000 /) -XPIZA_LKT(52,2,1:6)=(/ 0.905089,0.936083,0.957642,0.993412,0.994055,0.987298 /) -XCGA_LKT(52,2,1:6)=(/ 0.797837,0.741670,0.645890,0.779190,0.720530,0.380983 /) -XEXT_COEFF_550_LKT(52,2)=1126.000000 !rg=0.617619 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,3,1:6)=(/ 981.260000,1029.900000,1076.000000,1582.700000,952.950000,195.940000 /) -XPIZA_LKT(52,3,1:6)=(/ 0.899915,0.931634,0.954738,0.992380,0.994190,0.989091 /) -XCGA_LKT(52,3,1:6)=(/ 0.805807,0.742710,0.662303,0.764240,0.742233,0.486390 /) -XEXT_COEFF_550_LKT(52,3)=1070.300000 !rg=0.617619 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,4,1:6)=(/ 885.000000,917.120000,985.500000,1318.900000,964.520000,247.780000 /) -XPIZA_LKT(52,4,1:6)=(/ 0.892934,0.926293,0.951374,0.990795,0.994147,0.990847 /) -XCGA_LKT(52,4,1:6)=(/ 0.808793,0.750187,0.687590,0.746137,0.757667,0.572460 /) -XEXT_COEFF_550_LKT(52,4)=983.660000 !rg=0.617619 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,5,1:6)=(/ 774.350000,807.840000,872.000000,1084.800000,929.580000,305.010000 /) -XPIZA_LKT(52,5,1:6)=(/ 0.884180,0.920053,0.946727,0.988714,0.993804,0.992150 /) -XCGA_LKT(52,5,1:6)=(/ 0.811740,0.764327,0.710700,0.730723,0.764813,0.637640 /) -XEXT_COEFF_550_LKT(52,5)=869.120000 !rg=0.617619 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,6,1:6)=(/ 677.050000,704.370000,756.420000,891.140000,851.010000,357.750000 /) -XPIZA_LKT(52,6,1:6)=(/ 0.871802,0.910408,0.939975,0.986221,0.993106,0.992974 /) -XCGA_LKT(52,6,1:6)=(/ 0.818863,0.768490,0.725403,0.723473,0.764340,0.685050 /) -XEXT_COEFF_550_LKT(52,6)=750.310000 !rg=0.617619 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,7,1:6)=(/ 578.490000,600.520000,640.010000,731.280000,747.350000,396.940000 /) -XPIZA_LKT(52,7,1:6)=(/ 0.859125,0.901439,0.932899,0.983321,0.992020,0.993389 /) -XCGA_LKT(52,7,1:6)=(/ 0.826207,0.781780,0.741547,0.721660,0.759683,0.717743 /) -XEXT_COEFF_550_LKT(52,7)=641.810000 !rg=0.617619 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,8,1:6)=(/ 491.540000,510.660000,541.150000,601.830000,638.920000,413.060000 /) -XPIZA_LKT(52,8,1:6)=(/ 0.845453,0.889413,0.923211,0.979778,0.990540,0.993409 /) -XCGA_LKT(52,8,1:6)=(/ 0.833420,0.791177,0.755287,0.723040,0.754097,0.737063 /) -XEXT_COEFF_550_LKT(52,8)=535.080000 !rg=0.617619 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,9,1:6)=(/ 411.850000,427.270000,449.400000,491.820000,534.830000,403.130000 /) -XPIZA_LKT(52,9,1:6)=(/ 0.832187,0.876553,0.912961,0.976518,0.988385,0.993027 /) -XCGA_LKT(52,9,1:6)=(/ 0.840840,0.807050,0.769617,0.732707,0.749200,0.745447 /) -XEXT_COEFF_550_LKT(52,9)=450.310000 !rg=0.617619 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,10,1:6)=(/ 346.300000,358.460000,375.320000,404.860000,441.770000,372.110000 /) -XPIZA_LKT(52,10,1:6)=(/ 0.820603,0.861279,0.900472,0.971757,0.986236,0.992263 /) -XCGA_LKT(52,10,1:6)=(/ 0.846890,0.816583,0.777523,0.741600,0.746640,0.746543 /) -XEXT_COEFF_550_LKT(52,10)=374.320000 !rg=0.617619 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,11,1:6)=(/ 289.390000,297.940000,311.220000,331.450000,362.430000,332.160000 /) -XPIZA_LKT(52,11,1:6)=(/ 0.810074,0.847752,0.886228,0.966972,0.983250,0.991137 /) -XCGA_LKT(52,11,1:6)=(/ 0.854103,0.824820,0.793873,0.747810,0.747597,0.745633 /) -XEXT_COEFF_550_LKT(52,11)=308.670000 !rg=0.617619 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,12,1:6)=(/ 240.300000,247.270000,256.450000,271.760000,295.860000,288.710000 /) -XPIZA_LKT(52,12,1:6)=(/ 0.800997,0.834462,0.870988,0.960540,0.979548,0.989683 /) -XCGA_LKT(52,12,1:6)=(/ 0.859493,0.835530,0.803150,0.760650,0.748830,0.746097 /) -XEXT_COEFF_550_LKT(52,12)=255.580000 !rg=0.617619 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,13,1:6)=(/ 199.440000,204.580000,211.450000,221.730000,241.510000,244.690000 /) -XPIZA_LKT(52,13,1:6)=(/ 0.791716,0.821804,0.856258,0.953499,0.975517,0.987383 /) -XCGA_LKT(52,13,1:6)=(/ 0.865493,0.843577,0.816833,0.771043,0.755080,0.744793 /) -XEXT_COEFF_550_LKT(52,13)=211.290000 !rg=0.617619 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,14,1:6)=(/ 165.800000,169.150000,174.190000,181.570000,195.560000,203.920000 /) -XPIZA_LKT(52,14,1:6)=(/ 0.784558,0.812519,0.842414,0.946406,0.971712,0.985435 /) -XCGA_LKT(52,14,1:6)=(/ 0.869610,0.850897,0.827073,0.781453,0.762227,0.747010 /) -XEXT_COEFF_550_LKT(52,14)=174.360000 !rg=0.617619 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,15,1:6)=(/ 137.310000,140.330000,143.730000,149.880000,158.980000,168.630000 /) -XPIZA_LKT(52,15,1:6)=(/ 0.776359,0.802281,0.831199,0.937582,0.966785,0.982613 /) -XCGA_LKT(52,15,1:6)=(/ 0.872903,0.857620,0.836043,0.791593,0.772083,0.749980 /) -XEXT_COEFF_550_LKT(52,15)=143.320000 !rg=0.617619 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,16,1:6)=(/ 113.600000,115.650000,118.580000,122.270000,130.200000,139.060000 /) -XPIZA_LKT(52,16,1:6)=(/ 0.768309,0.793700,0.819435,0.930792,0.959945,0.978995 /) -XCGA_LKT(52,16,1:6)=(/ 0.876293,0.862673,0.845100,0.800133,0.779587,0.753523 /) -XEXT_COEFF_550_LKT(52,16)=118.180000 !rg=0.617619 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,17,1:6)=(/ 94.281000,95.536000,97.597000,100.310000,106.180000,113.680000 /) -XPIZA_LKT(52,17,1:6)=(/ 0.758691,0.784595,0.809308,0.923912,0.953104,0.975621 /) -XCGA_LKT(52,17,1:6)=(/ 0.879767,0.867973,0.851177,0.809940,0.787370,0.758323 /) -XEXT_COEFF_550_LKT(52,17)=97.791000 !rg=0.617619 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,18,1:6)=(/ 78.110000,79.338000,80.823000,83.085000,86.538000,92.770000 /) -XPIZA_LKT(52,18,1:6)=(/ 0.748263,0.775907,0.800215,0.917178,0.945202,0.971099 /) -XCGA_LKT(52,18,1:6)=(/ 0.882670,0.872000,0.857790,0.817363,0.799053,0.766703 /) -XEXT_COEFF_550_LKT(52,18)=80.558000 !rg=0.617619 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,19,1:6)=(/ 64.701000,65.534000,66.723000,68.184000,71.312000,76.137000 /) -XPIZA_LKT(52,19,1:6)=(/ 0.737520,0.766675,0.790814,0.911508,0.936757,0.965180 /) -XCGA_LKT(52,19,1:6)=(/ 0.885600,0.875533,0.863800,0.823907,0.806947,0.773240 /) -XEXT_COEFF_550_LKT(52,19)=66.637000 !rg=0.617619 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(52,20,1:6)=(/ 53.664000,54.200000,55.033000,56.093000,58.365000,62.086000 /) -XPIZA_LKT(52,20,1:6)=(/ 0.725363,0.756131,0.781008,0.906107,0.930363,0.959368 /) -XCGA_LKT(52,20,1:6)=(/ 0.888793,0.879407,0.868097,0.830727,0.813873,0.780297 /) -XEXT_COEFF_550_LKT(52,20)=55.167000 !rg=0.617619 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,1,1:6)=(/ 1095.900000,1249.100000,965.760000,1819.500000,936.570000,164.520000 /) -XPIZA_LKT(53,1,1:6)=(/ 0.907673,0.940059,0.948529,0.993469,0.994114,0.987708 /) -XCGA_LKT(53,1,1:6)=(/ 0.817427,0.783713,0.582280,0.782163,0.732503,0.367050 /) -XEXT_COEFF_550_LKT(53,1)=940.400000 !rg=0.669101 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,2,1:6)=(/ 982.090000,1091.800000,958.520000,1667.100000,969.820000,184.400000 /) -XPIZA_LKT(53,2,1:6)=(/ 0.899269,0.933780,0.948603,0.992752,0.994286,0.988601 /) -XCGA_LKT(53,2,1:6)=(/ 0.808130,0.767310,0.612577,0.772640,0.742607,0.444473 /) -XEXT_COEFF_550_LKT(53,2)=946.540000 !rg=0.669101 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,3,1:6)=(/ 902.240000,960.910000,942.210000,1423.300000,991.500000,225.880000 /) -XPIZA_LKT(53,3,1:6)=(/ 0.892244,0.925747,0.948643,0.991443,0.994327,0.990144 /) -XCGA_LKT(53,3,1:6)=(/ 0.802087,0.763390,0.660417,0.753843,0.757043,0.534427 /) -XEXT_COEFF_550_LKT(53,3)=934.800000 !rg=0.669101 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,4,1:6)=(/ 812.640000,851.650000,880.830000,1177.700000,977.890000,279.030000 /) -XPIZA_LKT(53,4,1:6)=(/ 0.885154,0.919626,0.946158,0.989563,0.994147,0.991590 /) -XCGA_LKT(53,4,1:6)=(/ 0.807910,0.766717,0.692133,0.734670,0.767003,0.605493 /) -XEXT_COEFF_550_LKT(53,4)=876.090000 !rg=0.669101 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,5,1:6)=(/ 714.840000,739.680000,785.500000,967.710000,916.210000,334.260000 /) -XPIZA_LKT(53,5,1:6)=(/ 0.876548,0.914704,0.941631,0.987346,0.993642,0.992632 /) -XCGA_LKT(53,5,1:6)=(/ 0.818800,0.771140,0.715387,0.723500,0.769337,0.661050 /) -XEXT_COEFF_550_LKT(53,5)=788.500000 !rg=0.669101 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,6,1:6)=(/ 619.160000,647.580000,683.650000,802.400000,818.440000,381.280000 /) -XPIZA_LKT(53,6,1:6)=(/ 0.864741,0.903794,0.934379,0.984394,0.992767,0.993252 /) -XCGA_LKT(53,6,1:6)=(/ 0.821817,0.781883,0.729967,0.719050,0.765640,0.701403 /) -XEXT_COEFF_550_LKT(53,6)=679.650000 !rg=0.669101 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,7,1:6)=(/ 531.080000,552.790000,581.150000,662.160000,705.770000,411.000000 /) -XPIZA_LKT(53,7,1:6)=(/ 0.850890,0.894526,0.927081,0.981140,0.991499,0.993491 /) -XCGA_LKT(53,7,1:6)=(/ 0.829267,0.792613,0.746170,0.720097,0.759277,0.728297 /) -XEXT_COEFF_550_LKT(53,7)=579.740000 !rg=0.669101 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,8,1:6)=(/ 449.770000,467.950000,492.270000,545.510000,594.580000,415.520000 /) -XPIZA_LKT(53,8,1:6)=(/ 0.837840,0.881754,0.916852,0.977544,0.989825,0.993346 /) -XCGA_LKT(53,8,1:6)=(/ 0.837237,0.802000,0.758057,0.727020,0.752907,0.742860 /) -XEXT_COEFF_550_LKT(53,8)=489.600000 !rg=0.669101 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,9,1:6)=(/ 379.550000,392.070000,409.880000,446.340000,491.840000,395.050000 /) -XPIZA_LKT(53,9,1:6)=(/ 0.825518,0.869041,0.907256,0.974327,0.987684,0.992800 /) -XCGA_LKT(53,9,1:6)=(/ 0.846013,0.811507,0.776270,0.733797,0.748480,0.747573 /) -XEXT_COEFF_550_LKT(53,9)=412.240000 !rg=0.669101 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,10,1:6)=(/ 317.810000,328.420000,342.650000,366.740000,407.350000,358.740000 /) -XPIZA_LKT(53,10,1:6)=(/ 0.814211,0.854316,0.893402,0.969903,0.984635,0.991875 /) -XCGA_LKT(53,10,1:6)=(/ 0.852593,0.822767,0.788167,0.745650,0.746500,0.747290 /) -XEXT_COEFF_550_LKT(53,10)=342.620000 !rg=0.669101 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,11,1:6)=(/ 266.310000,272.890000,283.830000,300.480000,331.750000,315.790000 /) -XPIZA_LKT(53,11,1:6)=(/ 0.803700,0.840374,0.879187,0.964932,0.981767,0.990645 /) -XCGA_LKT(53,11,1:6)=(/ 0.857773,0.832580,0.797600,0.757087,0.746147,0.747180 /) -XEXT_COEFF_550_LKT(53,11)=283.790000 !rg=0.669101 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,12,1:6)=(/ 220.870000,227.030000,234.860000,247.000000,271.330000,271.550000 /) -XPIZA_LKT(53,12,1:6)=(/ 0.795675,0.827407,0.863792,0.957897,0.977640,0.988767 /) -XCGA_LKT(53,12,1:6)=(/ 0.863553,0.840457,0.811710,0.766430,0.751287,0.745913 /) -XEXT_COEFF_550_LKT(53,12)=234.800000 !rg=0.669101 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,13,1:6)=(/ 183.810000,187.510000,193.490000,202.240000,219.460000,226.850000 /) -XPIZA_LKT(53,13,1:6)=(/ 0.788376,0.817066,0.849166,0.950961,0.974419,0.986819 /) -XCGA_LKT(53,13,1:6)=(/ 0.867927,0.848153,0.821923,0.776013,0.757860,0.745660 /) -XEXT_COEFF_550_LKT(53,13)=193.840000 !rg=0.669101 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,14,1:6)=(/ 152.550000,155.510000,159.500000,166.800000,178.460000,188.840000 /) -XPIZA_LKT(53,14,1:6)=(/ 0.780170,0.807264,0.837411,0.942287,0.969693,0.984499 /) -XCGA_LKT(53,14,1:6)=(/ 0.871427,0.855080,0.831883,0.787033,0.767763,0.749483 /) -XEXT_COEFF_550_LKT(53,14)=159.350000 !rg=0.669101 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,15,1:6)=(/ 126.590000,129.060000,132.120000,137.080000,145.760000,155.730000 /) -XPIZA_LKT(53,15,1:6)=(/ 0.772522,0.797923,0.824843,0.934580,0.963645,0.981080 /) -XCGA_LKT(53,15,1:6)=(/ 0.875047,0.860297,0.841107,0.794150,0.775057,0.750847 /) -XEXT_COEFF_550_LKT(53,15)=131.110000 !rg=0.669101 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,16,1:6)=(/ 104.860000,106.370000,108.630000,111.550000,119.440000,127.830000 /) -XPIZA_LKT(53,16,1:6)=(/ 0.763453,0.788479,0.814532,0.928051,0.956688,0.977162 /) -XCGA_LKT(53,16,1:6)=(/ 0.878297,0.866220,0.847930,0.807070,0.779997,0.752800 /) -XEXT_COEFF_550_LKT(53,16)=108.600000 !rg=0.669101 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,17,1:6)=(/ 86.838000,88.114000,89.526000,92.344000,97.269000,104.220000 /) -XPIZA_LKT(53,17,1:6)=(/ 0.753955,0.780859,0.804442,0.920613,0.948922,0.973554 /) -XCGA_LKT(53,17,1:6)=(/ 0.881237,0.870457,0.855537,0.814140,0.793507,0.762973 /) -XEXT_COEFF_550_LKT(53,17)=89.650000 !rg=0.669101 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,18,1:6)=(/ 72.045000,73.040000,74.271000,76.243000,79.671000,85.260000 /) -XPIZA_LKT(53,18,1:6)=(/ 0.743570,0.771395,0.795204,0.914653,0.940776,0.968494 /) -XCGA_LKT(53,18,1:6)=(/ 0.884303,0.873910,0.861123,0.819830,0.802327,0.769120 /) -XEXT_COEFF_550_LKT(53,18)=73.898000 !rg=0.669101 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,19,1:6)=(/ 59.680000,60.331000,61.249000,62.322000,65.522000,69.934000 /) -XPIZA_LKT(53,19,1:6)=(/ 0.731877,0.761365,0.786453,0.909294,0.933596,0.962473 /) -XCGA_LKT(53,19,1:6)=(/ 0.887277,0.877880,0.865783,0.828773,0.807673,0.773707 /) -XEXT_COEFF_550_LKT(53,19)=61.275000 !rg=0.669101 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(53,20,1:6)=(/ 49.459000,49.998000,50.563000,51.668000,53.617000,56.930000 /) -XPIZA_LKT(53,20,1:6)=(/ 0.719652,0.751685,0.776620,0.903078,0.926688,0.956004 /) -XCGA_LKT(53,20,1:6)=(/ 0.890210,0.881257,0.870823,0.833737,0.818403,0.786037 /) -XEXT_COEFF_550_LKT(53,20)=50.583000 !rg=0.669101 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,1,1:6)=(/ 986.360000,1138.300000,772.230000,1647.700000,1013.700000,189.210000 /) -XPIZA_LKT(54,1,1:6)=(/ 0.897858,0.937675,0.937647,0.992570,0.994391,0.988872 /) -XCGA_LKT(54,1,1:6)=(/ 0.816437,0.798877,0.549613,0.774817,0.760017,0.438437 /) -XEXT_COEFF_550_LKT(54,1)=778.990000 !rg=0.724875 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,2,1:6)=(/ 898.900000,996.230000,831.920000,1483.900000,1016.600000,213.600000 /) -XPIZA_LKT(54,2,1:6)=(/ 0.895142,0.925175,0.941687,0.991798,0.994455,0.989686 /) -XCGA_LKT(54,2,1:6)=(/ 0.807410,0.782427,0.613243,0.760597,0.760330,0.508183 /) -XEXT_COEFF_550_LKT(54,2)=830.390000 !rg=0.724875 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,3,1:6)=(/ 826.850000,880.990000,855.600000,1249.100000,1017.400000,258.400000 /) -XPIZA_LKT(54,3,1:6)=(/ 0.886022,0.919866,0.942975,0.990225,0.994391,0.991037 /) -XCGA_LKT(54,3,1:6)=(/ 0.811910,0.767137,0.667007,0.739637,0.769250,0.576760 /) -XEXT_COEFF_550_LKT(54,3)=846.640000 !rg=0.724875 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,4,1:6)=(/ 744.020000,781.060000,803.040000,1033.800000,977.050000,311.070000 /) -XPIZA_LKT(54,4,1:6)=(/ 0.878070,0.914390,0.940344,0.988136,0.994067,0.992213 /) -XCGA_LKT(54,4,1:6)=(/ 0.816943,0.769863,0.701183,0.722727,0.774017,0.634733 /) -XEXT_COEFF_550_LKT(54,4)=793.660000 !rg=0.724875 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,5,1:6)=(/ 656.740000,684.380000,711.710000,862.620000,890.720000,362.490000 /) -XPIZA_LKT(54,5,1:6)=(/ 0.868268,0.907608,0.936674,0.985552,0.993392,0.993026 /) -XCGA_LKT(54,5,1:6)=(/ 0.820723,0.783973,0.722983,0.714493,0.772053,0.681890 /) -XEXT_COEFF_550_LKT(54,5)=710.380000 !rg=0.724875 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,6,1:6)=(/ 567.320000,590.280000,624.650000,715.090000,778.570000,401.950000 /) -XPIZA_LKT(54,6,1:6)=(/ 0.855905,0.898716,0.928069,0.982858,0.992318,0.993460 /) -XCGA_LKT(54,6,1:6)=(/ 0.829563,0.788730,0.741213,0.715503,0.765157,0.715730 /) -XEXT_COEFF_550_LKT(54,6)=617.510000 !rg=0.724875 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,7,1:6)=(/ 487.360000,504.970000,532.910000,593.740000,660.670000,420.810000 /) -XPIZA_LKT(54,7,1:6)=(/ 0.842677,0.888338,0.920539,0.979630,0.990818,0.993528 /) -XCGA_LKT(54,7,1:6)=(/ 0.836167,0.796080,0.756257,0.719323,0.757153,0.737110 /) -XEXT_COEFF_550_LKT(54,7)=526.610000 !rg=0.724875 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,8,1:6)=(/ 412.360000,427.760000,449.610000,490.770000,550.850000,413.690000 /) -XPIZA_LKT(54,8,1:6)=(/ 0.829845,0.874507,0.910448,0.975851,0.988767,0.993212 /) -XCGA_LKT(54,8,1:6)=(/ 0.843963,0.808623,0.769670,0.729207,0.750473,0.747113 /) -XEXT_COEFF_550_LKT(54,8)=447.490000 !rg=0.724875 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,9,1:6)=(/ 348.910000,360.870000,374.470000,408.070000,452.670000,384.210000 /) -XPIZA_LKT(54,9,1:6)=(/ 0.818356,0.860780,0.900756,0.971244,0.986586,0.992515 /) -XCGA_LKT(54,9,1:6)=(/ 0.849287,0.819317,0.781057,0.737913,0.747883,0.749343 /) -XEXT_COEFF_550_LKT(54,9)=374.450000 !rg=0.724875 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,10,1:6)=(/ 293.070000,301.250000,312.770000,333.840000,370.750000,343.400000 /) -XPIZA_LKT(54,10,1:6)=(/ 0.808370,0.847874,0.886806,0.967544,0.983872,0.991451 /) -XCGA_LKT(54,10,1:6)=(/ 0.856627,0.827490,0.794973,0.748367,0.747050,0.748143 /) -XEXT_COEFF_550_LKT(54,10)=314.030000 !rg=0.724875 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,11,1:6)=(/ 244.340000,251.070000,259.010000,274.660000,304.590000,299.130000 /) -XPIZA_LKT(54,11,1:6)=(/ 0.799861,0.834299,0.871911,0.961895,0.979517,0.990014 /) -XCGA_LKT(54,11,1:6)=(/ 0.861047,0.837883,0.807390,0.761053,0.748370,0.747787 /) -XEXT_COEFF_550_LKT(54,11)=259.970000 !rg=0.724875 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,12,1:6)=(/ 203.790000,208.290000,214.930000,225.410000,246.080000,252.590000 /) -XPIZA_LKT(54,12,1:6)=(/ 0.791575,0.822604,0.856512,0.955252,0.976810,0.988155 /) -XCGA_LKT(54,12,1:6)=(/ 0.866427,0.844550,0.817500,0.770153,0.754243,0.746253 /) -XEXT_COEFF_550_LKT(54,12)=215.260000 !rg=0.724875 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,13,1:6)=(/ 169.330000,172.670000,177.020000,185.780000,200.120000,210.770000 /) -XPIZA_LKT(54,13,1:6)=(/ 0.784130,0.812151,0.843647,0.946898,0.972268,0.985952 /) -XCGA_LKT(54,13,1:6)=(/ 0.869940,0.852413,0.827747,0.781923,0.762987,0.748173 /) -XEXT_COEFF_550_LKT(54,13)=177.170000 !rg=0.724875 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,14,1:6)=(/ 140.610000,143.200000,146.660000,152.810000,162.950000,174.110000 /) -XPIZA_LKT(54,14,1:6)=(/ 0.776626,0.802127,0.831217,0.938594,0.966943,0.983163 /) -XCGA_LKT(54,14,1:6)=(/ 0.873850,0.857507,0.837360,0.788367,0.770957,0.749487 /) -XEXT_COEFF_550_LKT(54,14)=145.960000 !rg=0.724875 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,15,1:6)=(/ 116.300000,118.600000,121.330000,125.410000,133.990000,143.560000 /) -XPIZA_LKT(54,15,1:6)=(/ 0.768011,0.793582,0.819699,0.930815,0.960034,0.979492 /) -XCGA_LKT(54,15,1:6)=(/ 0.876577,0.863670,0.844217,0.801163,0.774713,0.750430 /) -XEXT_COEFF_550_LKT(54,15)=120.960000 !rg=0.724875 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,16,1:6)=(/ 96.372000,98.005000,99.752000,103.030000,109.590000,117.620000 /) -XPIZA_LKT(54,16,1:6)=(/ 0.759354,0.785002,0.808778,0.924444,0.952433,0.975076 /) -XCGA_LKT(54,16,1:6)=(/ 0.879560,0.868513,0.852987,0.811080,0.785313,0.756930 /) -XEXT_COEFF_550_LKT(54,16)=99.913000 !rg=0.724875 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,17,1:6)=(/ 80.131000,81.039000,82.528000,84.797000,88.699000,95.315000 /) -XPIZA_LKT(54,17,1:6)=(/ 0.749554,0.776011,0.800303,0.917896,0.945189,0.971300 /) -XCGA_LKT(54,17,1:6)=(/ 0.883093,0.872070,0.858850,0.815860,0.798107,0.765857 /) -XEXT_COEFF_550_LKT(54,17)=82.461000 !rg=0.724875 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,18,1:6)=(/ 66.260000,67.192000,68.336000,69.961000,73.433000,78.503000 /) -XPIZA_LKT(54,18,1:6)=(/ 0.738392,0.767039,0.790748,0.911426,0.936968,0.965455 /) -XCGA_LKT(54,18,1:6)=(/ 0.885477,0.875977,0.863483,0.824287,0.802763,0.768780 /) -XEXT_COEFF_550_LKT(54,18)=68.210000 !rg=0.724875 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,19,1:6)=(/ 54.916000,55.652000,56.328000,57.670000,60.180000,64.178000 /) -XPIZA_LKT(54,19,1:6)=(/ 0.726468,0.757465,0.781145,0.906402,0.930000,0.959225 /) -XCGA_LKT(54,19,1:6)=(/ 0.888337,0.879490,0.868993,0.831910,0.812510,0.778780 /) -XEXT_COEFF_550_LKT(54,19)=56.400000 !rg=0.724875 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(54,20,1:6)=(/ 45.638000,46.013000,46.630000,47.509000,49.025000,51.992000 /) -XPIZA_LKT(54,20,1:6)=(/ 0.714207,0.746182,0.772515,0.900771,0.924013,0.952367 /) -XCGA_LKT(54,20,1:6)=(/ 0.891900,0.882563,0.873103,0.835320,0.822767,0.789913 /) -XEXT_COEFF_550_LKT(54,20)=46.612000 !rg=0.724875 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,1,1:6)=(/ 809.490000,931.860000,710.300000,1435.100000,1051.700000,217.210000 /) -XPIZA_LKT(55,1,1:6)=(/ 0.886720,0.926547,0.932052,0.991553,0.994636,0.989789 /) -XCGA_LKT(55,1,1:6)=(/ 0.795933,0.805500,0.573180,0.757893,0.769503,0.515787 /) -XEXT_COEFF_550_LKT(55,1)=708.270000 !rg=0.785298 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,2,1:6)=(/ 819.120000,871.300000,783.780000,1280.900000,1050.200000,247.220000 /) -XPIZA_LKT(55,2,1:6)=(/ 0.886666,0.919742,0.937875,0.990435,0.994557,0.990639 /) -XCGA_LKT(55,2,1:6)=(/ 0.810413,0.783223,0.639860,0.741723,0.773643,0.564690 /) -XEXT_COEFF_550_LKT(55,2)=782.450000 !rg=0.785298 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,3,1:6)=(/ 757.430000,794.680000,785.340000,1078.400000,1028.400000,292.810000 /) -XPIZA_LKT(55,3,1:6)=(/ 0.878786,0.916628,0.938806,0.988587,0.994378,0.991797 /) -XCGA_LKT(55,3,1:6)=(/ 0.816573,0.789177,0.687767,0.721330,0.778713,0.612600 /) -XEXT_COEFF_550_LKT(55,3)=789.070000 !rg=0.785298 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,4,1:6)=(/ 681.490000,709.150000,730.850000,904.750000,961.120000,343.090000 /) -XPIZA_LKT(55,4,1:6)=(/ 0.870215,0.910941,0.935407,0.986398,0.993903,0.992733 /) -XCGA_LKT(55,4,1:6)=(/ 0.821677,0.789510,0.713110,0.710287,0.778713,0.660463 /) -XEXT_COEFF_550_LKT(55,4)=731.150000 !rg=0.785298 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,5,1:6)=(/ 601.680000,626.770000,653.860000,761.270000,853.950000,388.820000 /) -XPIZA_LKT(55,5,1:6)=(/ 0.860287,0.901987,0.930378,0.983772,0.993034,0.993342 /) -XCGA_LKT(55,5,1:6)=(/ 0.828317,0.785460,0.734930,0.708180,0.772557,0.700270 /) -XEXT_COEFF_550_LKT(55,5)=645.410000 !rg=0.785298 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,6,1:6)=(/ 521.460000,537.700000,565.730000,639.750000,731.120000,418.960000 /) -XPIZA_LKT(55,6,1:6)=(/ 0.848325,0.894075,0.923850,0.981144,0.991781,0.993600 /) -XCGA_LKT(55,6,1:6)=(/ 0.835817,0.799147,0.749150,0.714663,0.763793,0.728010 /) -XEXT_COEFF_550_LKT(55,6)=567.890000 !rg=0.785298 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,7,1:6)=(/ 447.380000,460.750000,484.500000,533.630000,611.720000,425.890000 /) -XPIZA_LKT(55,7,1:6)=(/ 0.833999,0.881662,0.915271,0.978141,0.990067,0.993504 /) -XCGA_LKT(55,7,1:6)=(/ 0.840983,0.807740,0.760493,0.724403,0.754983,0.744260 /) -XEXT_COEFF_550_LKT(55,7)=484.070000 !rg=0.785298 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,8,1:6)=(/ 380.220000,391.170000,408.930000,444.050000,504.980000,407.420000 /) -XPIZA_LKT(55,8,1:6)=(/ 0.822755,0.868409,0.904946,0.974102,0.987955,0.993026 /) -XCGA_LKT(55,8,1:6)=(/ 0.848883,0.815273,0.776880,0.731873,0.748690,0.750317 /) -XEXT_COEFF_550_LKT(55,8)=410.430000 !rg=0.785298 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,9,1:6)=(/ 321.030000,330.300000,344.410000,369.310000,415.150000,371.120000 /) -XPIZA_LKT(55,9,1:6)=(/ 0.811968,0.853828,0.893093,0.969369,0.985266,0.992148 /) -XCGA_LKT(55,9,1:6)=(/ 0.854063,0.822763,0.789910,0.739010,0.746267,0.750070 /) -XEXT_COEFF_550_LKT(55,9)=340.790000 !rg=0.785298 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,10,1:6)=(/ 269.600000,277.120000,286.060000,306.300000,338.580000,327.230000 /) -XPIZA_LKT(55,10,1:6)=(/ 0.802590,0.839978,0.879975,0.963841,0.982578,0.990970 /) -XCGA_LKT(55,10,1:6)=(/ 0.859267,0.834033,0.800507,0.753717,0.748283,0.749250 /) -XEXT_COEFF_550_LKT(55,10)=285.880000 !rg=0.785298 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,11,1:6)=(/ 224.930000,231.060000,237.870000,251.590000,275.840000,280.500000 /) -XPIZA_LKT(55,11,1:6)=(/ 0.795135,0.827571,0.864993,0.957441,0.978478,0.989373 /) -XCGA_LKT(55,11,1:6)=(/ 0.864573,0.841117,0.813640,0.762297,0.751297,0.747920 /) -XEXT_COEFF_550_LKT(55,11)=238.520000 !rg=0.785298 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,12,1:6)=(/ 187.410000,191.430000,196.790000,207.160000,224.380000,234.950000 /) -XPIZA_LKT(55,12,1:6)=(/ 0.786760,0.816520,0.850776,0.951034,0.975086,0.987339 /) -XCGA_LKT(55,12,1:6)=(/ 0.868533,0.849510,0.822753,0.776027,0.758843,0.747440 /) -XEXT_COEFF_550_LKT(55,12)=196.590000 !rg=0.785298 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,13,1:6)=(/ 155.900000,158.790000,162.960000,170.140000,182.440000,195.060000 /) -XPIZA_LKT(55,13,1:6)=(/ 0.779815,0.806230,0.837295,0.942696,0.969797,0.984843 /) -XCGA_LKT(55,13,1:6)=(/ 0.872653,0.855077,0.833410,0.782990,0.766110,0.748540 /) -XEXT_COEFF_550_LKT(55,13)=162.270000 !rg=0.785298 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,14,1:6)=(/ 129.150000,131.580000,134.800000,140.030000,149.690000,160.650000 /) -XPIZA_LKT(55,14,1:6)=(/ 0.772718,0.797498,0.824961,0.934538,0.963263,0.981288 /) -XCGA_LKT(55,14,1:6)=(/ 0.875357,0.861157,0.840240,0.795687,0.770107,0.748353 /) -XEXT_COEFF_550_LKT(55,14)=134.600000 !rg=0.785298 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,15,1:6)=(/ 107.220000,109.110000,111.360000,114.840000,122.570000,132.270000 /) -XPIZA_LKT(55,15,1:6)=(/ 0.764131,0.788996,0.814481,0.927910,0.957213,0.977406 /) -XCGA_LKT(55,15,1:6)=(/ 0.878797,0.866520,0.849220,0.806520,0.780487,0.753240 /) -XEXT_COEFF_550_LKT(55,15)=111.150000 !rg=0.785298 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,16,1:6)=(/ 88.832000,90.278000,91.840000,94.690000,99.286000,107.070000 /) -XPIZA_LKT(55,16,1:6)=(/ 0.755150,0.780608,0.804715,0.920099,0.949603,0.973674 /) -XCGA_LKT(55,16,1:6)=(/ 0.881607,0.870400,0.856223,0.812130,0.792183,0.761200 /) -XEXT_COEFF_550_LKT(55,16)=91.913000 !rg=0.785298 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,17,1:6)=(/ 73.686000,74.744000,75.868000,78.104000,81.450000,87.600000 /) -XPIZA_LKT(55,17,1:6)=(/ 0.744430,0.772056,0.795273,0.914119,0.941405,0.968974 /) -XCGA_LKT(55,17,1:6)=(/ 0.884307,0.874360,0.860973,0.820437,0.799733,0.766047 /) -XEXT_COEFF_550_LKT(55,17)=75.907000 !rg=0.785298 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,18,1:6)=(/ 61.159000,61.920000,62.803000,64.248000,67.171000,71.989000 /) -XPIZA_LKT(55,18,1:6)=(/ 0.733356,0.762494,0.786431,0.908747,0.933959,0.962940 /) -XCGA_LKT(55,18,1:6)=(/ 0.887323,0.877950,0.866453,0.828030,0.808017,0.773687 /) -XEXT_COEFF_550_LKT(55,18)=62.645000 !rg=0.785298 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,19,1:6)=(/ 50.678000,51.246000,51.934000,52.963000,54.805000,58.293000 /) -XPIZA_LKT(55,19,1:6)=(/ 0.721236,0.752399,0.777600,0.902995,0.927273,0.956439 /) -XCGA_LKT(55,19,1:6)=(/ 0.890217,0.881037,0.871077,0.832523,0.818143,0.784343 /) -XEXT_COEFF_550_LKT(55,19)=51.989000 !rg=0.785298 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(55,20,1:6)=(/ 42.020000,42.475000,42.892000,43.799000,45.161000,47.804000 /) -XPIZA_LKT(55,20,1:6)=(/ 0.708263,0.741513,0.767416,0.897646,0.920724,0.948292 /) -XCGA_LKT(55,20,1:6)=(/ 0.893177,0.884337,0.874593,0.838437,0.824443,0.790830 /) -XEXT_COEFF_550_LKT(55,20)=42.942000 !rg=0.785298 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,1,1:6)=(/ 754.920000,730.860000,729.130000,1211.400000,1070.800000,252.030000 /) -XPIZA_LKT(56,1,1:6)=(/ 0.879025,0.912839,0.933514,0.989775,0.994660,0.990627 /) -XCGA_LKT(56,1,1:6)=(/ 0.806477,0.772977,0.640473,0.732203,0.776533,0.586567 /) -XEXT_COEFF_550_LKT(56,1)=732.060000 !rg=0.850757 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,2,1:6)=(/ 749.450000,758.750000,764.080000,1072.600000,1068.300000,284.950000 /) -XPIZA_LKT(56,2,1:6)=(/ 0.878888,0.916407,0.936951,0.988530,0.994583,0.991501 /) -XCGA_LKT(56,2,1:6)=(/ 0.818133,0.795450,0.685207,0.715877,0.783873,0.608197 /) -XEXT_COEFF_550_LKT(56,2)=775.530000 !rg=0.850757 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,3,1:6)=(/ 692.510000,721.910000,734.200000,916.380000,1022.800000,328.060000 /) -XPIZA_LKT(56,3,1:6)=(/ 0.873115,0.912233,0.936100,0.986488,0.994282,0.992441 /) -XCGA_LKT(56,3,1:6)=(/ 0.822413,0.795293,0.715403,0.698407,0.785387,0.642537 /) -XEXT_COEFF_550_LKT(56,3)=737.110000 !rg=0.850757 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,4,1:6)=(/ 623.340000,649.180000,668.940000,788.150000,930.380000,374.150000 /) -XPIZA_LKT(56,4,1:6)=(/ 0.864127,0.905833,0.932280,0.984298,0.993635,0.993161 /) -XCGA_LKT(56,4,1:6)=(/ 0.827787,0.796870,0.734180,0.696430,0.780907,0.683093 /) -XEXT_COEFF_550_LKT(56,4)=670.830000 !rg=0.850757 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,5,1:6)=(/ 551.420000,571.380000,596.500000,675.700000,806.670000,412.350000 /) -XPIZA_LKT(56,5,1:6)=(/ 0.851461,0.896400,0.925050,0.981956,0.992579,0.993585 /) -XCGA_LKT(56,5,1:6)=(/ 0.832777,0.800243,0.741673,0.705687,0.771600,0.716390 /) -XEXT_COEFF_550_LKT(56,5)=594.970000 !rg=0.850757 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,6,1:6)=(/ 480.250000,496.630000,513.690000,576.380000,680.200000,431.620000 /) -XPIZA_LKT(56,6,1:6)=(/ 0.839755,0.886648,0.920140,0.978744,0.991100,0.993676 /) -XCGA_LKT(56,6,1:6)=(/ 0.839447,0.806633,0.761327,0.712860,0.761113,0.738427 /) -XEXT_COEFF_550_LKT(56,6)=517.480000 !rg=0.850757 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,7,1:6)=(/ 410.210000,423.490000,439.990000,482.230000,563.570000,426.330000 /) -XPIZA_LKT(56,7,1:6)=(/ 0.827341,0.874487,0.910730,0.975759,0.989045,0.993410 /) -XCGA_LKT(56,7,1:6)=(/ 0.846130,0.814693,0.774660,0.725277,0.751963,0.749813 /) -XEXT_COEFF_550_LKT(56,7)=442.460000 !rg=0.850757 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,8,1:6)=(/ 350.280000,360.440000,372.590000,405.270000,462.430000,397.820000 /) -XPIZA_LKT(56,8,1:6)=(/ 0.815607,0.860536,0.899973,0.971169,0.986918,0.992772 /) -XCGA_LKT(56,8,1:6)=(/ 0.851913,0.822650,0.784447,0.736110,0.747883,0.752690 /) -XEXT_COEFF_550_LKT(56,8)=373.500000 !rg=0.850757 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,9,1:6)=(/ 294.440000,302.860000,314.450000,334.450000,378.550000,355.750000 /) -XPIZA_LKT(56,9,1:6)=(/ 0.805672,0.846038,0.886232,0.967079,0.983904,0.991753 /) -XCGA_LKT(56,9,1:6)=(/ 0.857297,0.830743,0.793103,0.749707,0.744273,0.751310 /) -XEXT_COEFF_550_LKT(56,9)=314.070000 !rg=0.850757 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,10,1:6)=(/ 247.980000,254.450000,263.210000,278.590000,309.050000,309.870000 /) -XPIZA_LKT(56,10,1:6)=(/ 0.797602,0.833061,0.871756,0.961485,0.980823,0.990345 /) -XCGA_LKT(56,10,1:6)=(/ 0.862980,0.837387,0.808313,0.754553,0.748223,0.749073 /) -XEXT_COEFF_550_LKT(56,10)=260.560000 !rg=0.850757 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,11,1:6)=(/ 207.010000,212.320000,218.470000,230.500000,251.450000,261.850000 /) -XPIZA_LKT(56,11,1:6)=(/ 0.790183,0.821034,0.857355,0.954455,0.976905,0.988640 /) -XCGA_LKT(56,11,1:6)=(/ 0.866813,0.846630,0.817410,0.769777,0.752913,0.747947 /) -XEXT_COEFF_550_LKT(56,11)=217.900000 !rg=0.850757 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,12,1:6)=(/ 172.570000,176.280000,180.930000,189.390000,204.440000,218.100000 /) -XPIZA_LKT(56,12,1:6)=(/ 0.783302,0.810670,0.843693,0.947374,0.972730,0.986305 /) -XCGA_LKT(56,12,1:6)=(/ 0.871123,0.852373,0.829057,0.777283,0.760983,0.747287 /) -XEXT_COEFF_550_LKT(56,12)=179.630000 !rg=0.850757 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,13,1:6)=(/ 143.210000,146.140000,149.630000,156.010000,167.150000,180.080000 /) -XPIZA_LKT(56,13,1:6)=(/ 0.776079,0.801763,0.830599,0.938446,0.966885,0.983299 /) -XCGA_LKT(56,13,1:6)=(/ 0.874280,0.858983,0.836390,0.790410,0.765740,0.747320 /) -XEXT_COEFF_550_LKT(56,13)=149.410000 !rg=0.850757 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,14,1:6)=(/ 118.880000,121.200000,123.770000,127.830000,137.120000,148.320000 /) -XPIZA_LKT(56,14,1:6)=(/ 0.767772,0.792215,0.819468,0.931032,0.960593,0.979693 /) -XCGA_LKT(56,14,1:6)=(/ 0.877540,0.864183,0.845550,0.800577,0.775680,0.750887 /) -XEXT_COEFF_550_LKT(56,14)=123.840000 !rg=0.850757 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,15,1:6)=(/ 98.910000,100.440000,102.350000,105.570000,111.300000,120.450000 /) -XPIZA_LKT(56,15,1:6)=(/ 0.760019,0.784823,0.809242,0.924543,0.954641,0.976462 /) -XCGA_LKT(56,15,1:6)=(/ 0.880623,0.868423,0.853147,0.809187,0.786330,0.756750 /) -XEXT_COEFF_550_LKT(56,15)=102.270000 !rg=0.850757 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,16,1:6)=(/ 81.829000,83.162000,84.602000,86.907000,90.742000,98.074000 /) -XPIZA_LKT(56,16,1:6)=(/ 0.750228,0.776314,0.799917,0.917824,0.946200,0.972213 /) -XCGA_LKT(56,16,1:6)=(/ 0.882683,0.873063,0.858647,0.817503,0.796230,0.763353 /) -XEXT_COEFF_550_LKT(56,16)=84.404000 !rg=0.850757 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,17,1:6)=(/ 67.955000,68.662000,69.914000,71.449000,74.815000,80.573000 /) -XPIZA_LKT(56,17,1:6)=(/ 0.739541,0.767286,0.791032,0.911534,0.938155,0.966206 /) -XCGA_LKT(56,17,1:6)=(/ 0.885993,0.875870,0.864217,0.823697,0.804637,0.769833 /) -XEXT_COEFF_550_LKT(56,17)=69.939000 !rg=0.850757 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,18,1:6)=(/ 56.420000,56.974000,57.834000,59.138000,61.299000,65.431000 /) -XPIZA_LKT(56,18,1:6)=(/ 0.728147,0.758002,0.781972,0.906075,0.931370,0.960941 /) -XCGA_LKT(56,18,1:6)=(/ 0.888903,0.879080,0.869073,0.830220,0.813397,0.778750 /) -XEXT_COEFF_550_LKT(56,18)=57.756000 !rg=0.850757 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,19,1:6)=(/ 46.692000,47.239000,47.811000,48.768000,50.143000,53.327000 /) -XPIZA_LKT(56,19,1:6)=(/ 0.715348,0.747494,0.772826,0.900901,0.924483,0.953729 /) -XCGA_LKT(56,19,1:6)=(/ 0.891470,0.883000,0.872847,0.836293,0.821443,0.787643 /) -XEXT_COEFF_550_LKT(56,19)=47.772000 !rg=0.850757 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(56,20,1:6)=(/ 38.775000,39.066000,39.587000,40.173000,41.430000,43.896000 /) -XPIZA_LKT(56,20,1:6)=(/ 0.702564,0.735861,0.763169,0.894986,0.918181,0.944881 /) -XCGA_LKT(56,20,1:6)=(/ 0.894810,0.885623,0.876847,0.840497,0.828297,0.795647 /) -XEXT_COEFF_550_LKT(56,20)=39.569000 !rg=0.850757 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,1,1:6)=(/ 751.890000,676.490000,783.480000,973.640000,1101.100000,296.260000 /) -XPIZA_LKT(57,1,1:6)=(/ 0.880264,0.895121,0.938389,0.987331,0.994674,0.991523 /) -XCGA_LKT(57,1,1:6)=(/ 0.830903,0.777947,0.716433,0.695690,0.789690,0.634220 /) -XEXT_COEFF_550_LKT(57,1)=787.620000 !rg=0.921673 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,2,1:6)=(/ 690.750000,701.620000,754.170000,878.910000,1069.000000,324.580000 /) -XPIZA_LKT(57,2,1:6)=(/ 0.871952,0.908644,0.937199,0.985844,0.994524,0.992273 /) -XCGA_LKT(57,2,1:6)=(/ 0.824470,0.798797,0.729517,0.679870,0.791667,0.638293 /) -XEXT_COEFF_550_LKT(57,2)=762.360000 !rg=0.921673 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,3,1:6)=(/ 639.270000,656.460000,686.850000,775.560000,999.260000,362.960000 /) -XPIZA_LKT(57,3,1:6)=(/ 0.865038,0.906435,0.932924,0.984061,0.994086,0.992979 /) -XCGA_LKT(57,3,1:6)=(/ 0.828500,0.796310,0.738370,0.679237,0.789203,0.667997 /) -XEXT_COEFF_550_LKT(57,3)=694.470000 !rg=0.921673 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,4,1:6)=(/ 575.170000,593.410000,615.510000,689.000000,885.140000,403.290000 /) -XPIZA_LKT(57,4,1:6)=(/ 0.855666,0.899578,0.928107,0.982083,0.993252,0.993507 /) -XCGA_LKT(57,4,1:6)=(/ 0.833777,0.799263,0.748660,0.689077,0.780553,0.703037 /) -XEXT_COEFF_550_LKT(57,4)=622.130000 !rg=0.921673 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,5,1:6)=(/ 504.820000,523.340000,543.400000,601.180000,752.500000,432.200000 /) -XPIZA_LKT(57,5,1:6)=(/ 0.843922,0.890670,0.921338,0.979762,0.991967,0.993759 /) -XCGA_LKT(57,5,1:6)=(/ 0.839083,0.807347,0.760723,0.702347,0.768420,0.730347 /) -XEXT_COEFF_550_LKT(57,5)=544.740000 !rg=0.921673 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,6,1:6)=(/ 441.220000,456.310000,473.380000,516.870000,625.550000,439.430000 /) -XPIZA_LKT(57,6,1:6)=(/ 0.830845,0.878486,0.913644,0.976485,0.990276,0.993687 /) -XCGA_LKT(57,6,1:6)=(/ 0.845327,0.808723,0.770587,0.713633,0.756733,0.746977 /) -XEXT_COEFF_550_LKT(57,6)=470.510000 !rg=0.921673 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,7,1:6)=(/ 377.440000,389.480000,403.170000,436.380000,513.620000,421.900000 /) -XPIZA_LKT(57,7,1:6)=(/ 0.819571,0.866255,0.904688,0.972878,0.988126,0.993255 /) -XCGA_LKT(57,7,1:6)=(/ 0.851490,0.818273,0.782473,0.726920,0.748740,0.753937 /) -XEXT_COEFF_550_LKT(57,7)=405.520000 !rg=0.921673 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,8,1:6)=(/ 321.800000,330.940000,343.190000,367.630000,421.400000,385.070000 /) -XPIZA_LKT(57,8,1:6)=(/ 0.809017,0.852407,0.892716,0.968395,0.985635,0.992442 /) -XCGA_LKT(57,8,1:6)=(/ 0.856917,0.825707,0.793103,0.736360,0.745333,0.753880 /) -XEXT_COEFF_550_LKT(57,8)=339.760000 !rg=0.921673 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,9,1:6)=(/ 270.380000,278.050000,287.310000,304.030000,345.810000,339.180000 /) -XPIZA_LKT(57,9,1:6)=(/ 0.800079,0.838972,0.878721,0.964549,0.981852,0.991282 /) -XCGA_LKT(57,9,1:6)=(/ 0.861823,0.836623,0.803967,0.754890,0.744167,0.751927 /) -XEXT_COEFF_550_LKT(57,9)=287.960000 !rg=0.921673 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,10,1:6)=(/ 227.470000,233.510000,241.050000,253.890000,281.950000,290.850000 /) -XPIZA_LKT(57,10,1:6)=(/ 0.793184,0.826344,0.864370,0.957992,0.978551,0.989720 /) -XCGA_LKT(57,10,1:6)=(/ 0.865397,0.843463,0.811477,0.764707,0.746760,0.749373 /) -XEXT_COEFF_550_LKT(57,10)=240.300000 !rg=0.921673 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,11,1:6)=(/ 190.360000,194.700000,200.760000,209.550000,229.900000,243.700000 /) -XPIZA_LKT(57,11,1:6)=(/ 0.786089,0.815565,0.849979,0.951883,0.974709,0.987558 /) -XCGA_LKT(57,11,1:6)=(/ 0.869517,0.849920,0.824690,0.772837,0.755080,0.746953 /) -XEXT_COEFF_550_LKT(57,11)=199.430000 !rg=0.921673 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,12,1:6)=(/ 158.500000,161.830000,166.220000,173.290000,187.550000,202.000000 /) -XPIZA_LKT(57,12,1:6)=(/ 0.779669,0.805689,0.836726,0.942954,0.969331,0.985026 /) -XCGA_LKT(57,12,1:6)=(/ 0.872820,0.856647,0.832237,0.785723,0.760013,0.746633 /) -XEXT_COEFF_550_LKT(57,12)=165.780000 !rg=0.921673 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,13,1:6)=(/ 131.810000,134.210000,137.460000,142.210000,153.280000,166.030000 /) -XPIZA_LKT(57,13,1:6)=(/ 0.771424,0.796169,0.824685,0.934798,0.964020,0.981775 /) -XCGA_LKT(57,13,1:6)=(/ 0.876523,0.861850,0.842097,0.795330,0.770707,0.748607 /) -XEXT_COEFF_550_LKT(57,13)=137.620000 !rg=0.921673 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,14,1:6)=(/ 109.700000,111.210000,113.770000,117.120000,124.560000,135.320000 /) -XPIZA_LKT(57,14,1:6)=(/ 0.764517,0.788883,0.813193,0.928444,0.958638,0.978981 /) -XCGA_LKT(57,14,1:6)=(/ 0.879070,0.866780,0.849540,0.805103,0.780343,0.753323 /) -XEXT_COEFF_550_LKT(57,14)=113.770000 !rg=0.921673 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,15,1:6)=(/ 90.936000,92.384000,94.154000,96.967000,101.510000,110.310000 /) -XPIZA_LKT(57,15,1:6)=(/ 0.755195,0.780329,0.804617,0.920958,0.951652,0.974989 /) -XCGA_LKT(57,15,1:6)=(/ 0.881687,0.871113,0.855927,0.813627,0.792413,0.760523 /) -XEXT_COEFF_550_LKT(57,15)=93.852000 !rg=0.921673 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,16,1:6)=(/ 75.326000,76.354000,77.837000,79.539000,83.609000,90.214000 /) -XPIZA_LKT(57,16,1:6)=(/ 0.745544,0.771973,0.795153,0.914895,0.942430,0.969620 /) -XCGA_LKT(57,16,1:6)=(/ 0.884253,0.874660,0.862310,0.820480,0.800623,0.766277 /) -XEXT_COEFF_550_LKT(57,16)=77.670000 !rg=0.921673 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,17,1:6)=(/ 62.572000,63.272000,64.165000,65.463000,68.477000,73.475000 /) -XPIZA_LKT(57,17,1:6)=(/ 0.734440,0.763063,0.786338,0.909058,0.935494,0.964655 /) -XCGA_LKT(57,17,1:6)=(/ 0.887313,0.878247,0.866313,0.827993,0.808207,0.773070 /) -XEXT_COEFF_550_LKT(57,17)=64.313000 !rg=0.921673 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,18,1:6)=(/ 51.927000,52.477000,53.181000,54.333000,56.067000,59.757000 /) -XPIZA_LKT(57,18,1:6)=(/ 0.722423,0.753141,0.777881,0.903508,0.928869,0.958569 /) -XCGA_LKT(57,18,1:6)=(/ 0.889997,0.881240,0.870577,0.833510,0.818887,0.784187 /) -XEXT_COEFF_550_LKT(57,18)=53.111000 !rg=0.921673 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,19,1:6)=(/ 43.026000,43.445000,44.049000,44.694000,46.307000,49.136000 /) -XPIZA_LKT(57,19,1:6)=(/ 0.709887,0.742240,0.768225,0.898042,0.921638,0.949736 /) -XCGA_LKT(57,19,1:6)=(/ 0.892933,0.884200,0.875343,0.838343,0.825603,0.791920 /) -XEXT_COEFF_550_LKT(57,19)=43.974000 !rg=0.921673 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(57,20,1:6)=(/ 35.721000,36.012000,36.385000,36.922000,38.041000,40.114000 /) -XPIZA_LKT(57,20,1:6)=(/ 0.696585,0.730756,0.758045,0.892460,0.915622,0.942242 /) -XCGA_LKT(57,20,1:6)=(/ 0.896223,0.887393,0.878357,0.843283,0.831183,0.799377 /) -XEXT_COEFF_550_LKT(57,20)=36.434000 !rg=0.921673 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,1,1:6)=(/ 665.790000,675.900000,813.840000,757.730000,1092.300000,345.170000 /) -XPIZA_LKT(58,1,1:6)=(/ 0.867802,0.904200,0.941608,0.983725,0.994660,0.992457 /) -XCGA_LKT(58,1,1:6)=(/ 0.830813,0.787103,0.773773,0.643930,0.799963,0.653237 /) -XEXT_COEFF_550_LKT(58,1)=827.540000 !rg=0.9985 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,2,1:6)=(/ 638.410000,653.090000,728.790000,708.330000,1050.000000,362.990000 /) -XPIZA_LKT(58,2,1:6)=(/ 0.862864,0.902251,0.934850,0.982603,0.994366,0.992927 /) -XCGA_LKT(58,2,1:6)=(/ 0.831550,0.792557,0.760900,0.645350,0.796650,0.660037 /) -XEXT_COEFF_550_LKT(58,2)=726.120000 !rg=0.9985 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,3,1:6)=(/ 588.320000,607.680000,637.710000,668.140000,957.570000,396.360000 /) -XPIZA_LKT(58,3,1:6)=(/ 0.856362,0.898830,0.929466,0.981200,0.993771,0.993420 /) -XCGA_LKT(58,3,1:6)=(/ 0.833877,0.805570,0.754547,0.660340,0.790043,0.690457 /) -XEXT_COEFF_550_LKT(58,3)=639.010000 !rg=0.9985 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,4,1:6)=(/ 528.800000,547.950000,565.460000,612.260000,827.780000,429.500000 /) -XPIZA_LKT(58,4,1:6)=(/ 0.846840,0.891907,0.923610,0.979428,0.992728,0.993776 /) -XCGA_LKT(58,4,1:6)=(/ 0.838580,0.808697,0.758940,0.683900,0.777790,0.720593 /) -XEXT_COEFF_550_LKT(58,4)=566.900000 !rg=0.9985 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,5,1:6)=(/ 465.460000,479.950000,497.510000,538.340000,691.490000,447.540000 /) -XPIZA_LKT(58,5,1:6)=(/ 0.834977,0.883804,0.916775,0.977546,0.991221,0.993866 /) -XCGA_LKT(58,5,1:6)=(/ 0.844607,0.810843,0.771073,0.703837,0.763513,0.742240 /) -XEXT_COEFF_550_LKT(58,5)=502.560000 !rg=0.9985 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,6,1:6)=(/ 404.270000,418.500000,433.470000,469.520000,570.430000,442.000000 /) -XPIZA_LKT(58,6,1:6)=(/ 0.822852,0.871291,0.906866,0.973201,0.989312,0.993634 /) -XCGA_LKT(58,6,1:6)=(/ 0.849893,0.818293,0.774263,0.719163,0.752383,0.753880 /) -XEXT_COEFF_550_LKT(58,6)=430.380000 !rg=0.9985 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,7,1:6)=(/ 347.070000,358.190000,369.430000,398.520000,467.350000,413.240000 /) -XPIZA_LKT(58,7,1:6)=(/ 0.811813,0.858276,0.897741,0.969816,0.986931,0.993035 /) -XCGA_LKT(58,7,1:6)=(/ 0.855263,0.826253,0.787043,0.733457,0.745850,0.757063 /) -XEXT_COEFF_550_LKT(58,7)=369.280000 !rg=0.9985 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,8,1:6)=(/ 294.870000,303.770000,314.370000,335.020000,382.980000,369.620000 /) -XPIZA_LKT(58,8,1:6)=(/ 0.802931,0.844559,0.885016,0.965140,0.984038,0.992060 /) -XCGA_LKT(58,8,1:6)=(/ 0.860153,0.833053,0.795873,0.746137,0.742783,0.755090 /) -XEXT_COEFF_550_LKT(58,8)=312.590000 !rg=0.9985 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,9,1:6)=(/ 249.080000,255.760000,263.190000,277.400000,312.210000,320.520000 /) -XPIZA_LKT(58,9,1:6)=(/ 0.795334,0.832150,0.871780,0.961634,0.980885,0.990718 /) -XCGA_LKT(58,9,1:6)=(/ 0.865150,0.840427,0.811003,0.757800,0.745903,0.752003 /) -XEXT_COEFF_550_LKT(58,9)=264.370000 !rg=0.9985 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,10,1:6)=(/ 209.260000,214.600000,220.920000,230.790000,257.420000,271.980000 /) -XPIZA_LKT(58,10,1:6)=(/ 0.788141,0.819364,0.856795,0.955326,0.976372,0.988708 /) -XCGA_LKT(58,10,1:6)=(/ 0.868890,0.848117,0.820157,0.771487,0.749417,0.748350 /) -XEXT_COEFF_550_LKT(58,10)=220.980000 !rg=0.9985 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,11,1:6)=(/ 175.230000,178.890000,183.680000,190.690000,209.690000,225.770000 /) -XPIZA_LKT(58,11,1:6)=(/ 0.781463,0.808844,0.843595,0.948334,0.972422,0.986494 /) -XCGA_LKT(58,11,1:6)=(/ 0.871817,0.854963,0.828250,0.782837,0.754327,0.745997 /) -XEXT_COEFF_550_LKT(58,11)=183.490000 !rg=0.9985 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,12,1:6)=(/ 145.900000,149.000000,152.480000,158.040000,171.530000,186.650000 /) -XPIZA_LKT(58,12,1:6)=(/ 0.774872,0.799792,0.830528,0.939201,0.966965,0.983429 /) -XCGA_LKT(58,12,1:6)=(/ 0.875277,0.860070,0.838503,0.791617,0.765187,0.747327 /) -XEXT_COEFF_550_LKT(58,12)=152.590000 !rg=0.9985 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,13,1:6)=(/ 121.480000,123.230000,126.100000,129.960000,139.180000,151.910000 /) -XPIZA_LKT(58,13,1:6)=(/ 0.768306,0.792107,0.818343,0.932398,0.962382,0.980979 /) -XCGA_LKT(58,13,1:6)=(/ 0.877987,0.865240,0.846013,0.801000,0.774907,0.750337 /) -XEXT_COEFF_550_LKT(58,13)=126.310000 !rg=0.9985 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,14,1:6)=(/ 100.990000,102.490000,104.300000,107.580000,113.790000,123.820000 /) -XPIZA_LKT(58,14,1:6)=(/ 0.760335,0.784767,0.809294,0.924834,0.955422,0.977448 /) -XCGA_LKT(58,14,1:6)=(/ 0.880457,0.869627,0.853353,0.810330,0.787053,0.757270 /) -XEXT_COEFF_550_LKT(58,14)=104.220000 !rg=0.9985 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,15,1:6)=(/ 83.904000,85.026000,86.518000,88.915000,93.280000,101.110000 /) -XPIZA_LKT(58,15,1:6)=(/ 0.751171,0.776188,0.799331,0.918175,0.946861,0.972592 /) -XCGA_LKT(58,15,1:6)=(/ 0.883273,0.872983,0.859593,0.815943,0.796127,0.762350 /) -XEXT_COEFF_550_LKT(58,15)=86.072000 !rg=0.9985 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,16,1:6)=(/ 69.492000,70.294000,71.409000,72.870000,76.804000,82.782000 /) -XPIZA_LKT(58,16,1:6)=(/ 0.740368,0.767141,0.790765,0.912327,0.938943,0.966976 /) -XCGA_LKT(58,16,1:6)=(/ 0.885813,0.876977,0.864477,0.825663,0.801447,0.766070 /) -XEXT_COEFF_550_LKT(58,16)=71.385000 !rg=0.9985 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,17,1:6)=(/ 57.667000,58.355000,59.058000,60.309000,62.836000,67.278000 /) -XPIZA_LKT(58,17,1:6)=(/ 0.728971,0.758779,0.782169,0.906112,0.931708,0.961616 /) -XCGA_LKT(58,17,1:6)=(/ 0.888517,0.880163,0.869537,0.831103,0.813477,0.778830 /) -XEXT_COEFF_550_LKT(58,17)=59.103000 !rg=0.9985 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,18,1:6)=(/ 47.921000,48.349000,48.941000,49.937000,51.608000,54.940000 /) -XPIZA_LKT(58,18,1:6)=(/ 0.717174,0.748129,0.773110,0.900906,0.924604,0.954388 /) -XCGA_LKT(58,18,1:6)=(/ 0.891593,0.882683,0.873303,0.835230,0.821523,0.787263 /) -XEXT_COEFF_550_LKT(58,18)=48.855000 !rg=0.9985 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,19,1:6)=(/ 39.694000,40.038000,40.484000,41.052000,42.608000,45.122000 /) -XPIZA_LKT(58,19,1:6)=(/ 0.703790,0.736644,0.763582,0.895822,0.918871,0.946020 /) -XCGA_LKT(58,19,1:6)=(/ 0.894460,0.885977,0.876787,0.841810,0.826473,0.792633 /) -XEXT_COEFF_550_LKT(58,19)=40.487000 !rg=0.9985 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(58,20,1:6)=(/ 32.932000,33.220000,33.517000,33.991000,34.995000,36.815000 /) -XPIZA_LKT(58,20,1:6)=(/ 0.690510,0.725418,0.753423,0.889483,0.912473,0.938406 /) -XCGA_LKT(58,20,1:6)=(/ 0.897637,0.889103,0.880523,0.845450,0.834767,0.804827 /) -XEXT_COEFF_550_LKT(58,20)=33.533000 !rg=0.9985 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,1,1:6)=(/ 585.780000,677.650000,776.400000,596.740000,1065.800000,386.010000 /) -XPIZA_LKT(59,1,1:6)=(/ 0.851316,0.908914,0.937781,0.978919,0.994381,0.993257 /) -XCGA_LKT(59,1,1:6)=(/ 0.827483,0.815957,0.798303,0.587227,0.803117,0.657853 /) -XEXT_COEFF_550_LKT(59,1)=779.030000 !rg=1.08173 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,2,1:6)=(/ 580.150000,607.440000,669.650000,592.780000,1009.900000,398.200000 /) -XPIZA_LKT(59,2,1:6)=(/ 0.856673,0.898885,0.930817,0.978807,0.994087,0.993444 /) -XCGA_LKT(59,2,1:6)=(/ 0.838210,0.807000,0.775503,0.613377,0.798237,0.680183 /) -XEXT_COEFF_550_LKT(59,2)=663.160000 !rg=1.08173 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,3,1:6)=(/ 537.420000,557.500000,591.710000,579.980000,898.770000,427.270000 /) -XPIZA_LKT(59,3,1:6)=(/ 0.848344,0.893296,0.922984,0.978587,0.993305,0.993771 /) -XCGA_LKT(59,3,1:6)=(/ 0.839817,0.802830,0.772753,0.656310,0.787537,0.710867 /) -XEXT_COEFF_550_LKT(59,3)=581.880000 !rg=1.08173 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,4,1:6)=(/ 484.750000,501.310000,524.570000,544.030000,761.020000,451.770000 /) -XPIZA_LKT(59,4,1:6)=(/ 0.837683,0.886063,0.916780,0.977132,0.992017,0.993972 /) -XCGA_LKT(59,4,1:6)=(/ 0.844050,0.808787,0.774427,0.686587,0.771843,0.735943 /) -XEXT_COEFF_550_LKT(59,4)=516.910000 !rg=1.08173 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,5,1:6)=(/ 428.140000,442.670000,455.440000,488.970000,628.640000,457.630000 /) -XPIZA_LKT(59,5,1:6)=(/ 0.825856,0.875540,0.911471,0.974530,0.990304,0.993907 /) -XCGA_LKT(59,5,1:6)=(/ 0.849297,0.818983,0.777560,0.708637,0.757570,0.752160 /) -XEXT_COEFF_550_LKT(59,5)=456.940000 !rg=1.08173 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,6,1:6)=(/ 371.670000,382.690000,398.590000,421.510000,517.490000,439.370000 /) -XPIZA_LKT(59,6,1:6)=(/ 0.814152,0.863680,0.900330,0.971712,0.988052,0.993505 /) -XCGA_LKT(59,6,1:6)=(/ 0.854503,0.822680,0.787270,0.725663,0.746617,0.758987 /) -XEXT_COEFF_550_LKT(59,6)=394.450000 !rg=1.08173 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,7,1:6)=(/ 319.100000,327.720000,340.310000,360.190000,423.880000,400.830000 /) -XPIZA_LKT(59,7,1:6)=(/ 0.805003,0.850896,0.890479,0.968168,0.985445,0.992728 /) -XCGA_LKT(59,7,1:6)=(/ 0.859397,0.829773,0.797410,0.736783,0.742053,0.758667 /) -XEXT_COEFF_550_LKT(59,7)=336.890000 !rg=1.08173 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,8,1:6)=(/ 271.180000,278.570000,288.270000,302.980000,348.180000,352.320000 /) -XPIZA_LKT(59,8,1:6)=(/ 0.796126,0.836370,0.877230,0.962825,0.982165,0.991594 /) -XCGA_LKT(59,8,1:6)=(/ 0.864327,0.837870,0.806193,0.753297,0.741787,0.755310 /) -XEXT_COEFF_550_LKT(59,8)=287.670000 !rg=1.08173 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,9,1:6)=(/ 229.120000,235.140000,241.480000,255.130000,283.540000,300.940000 /) -XPIZA_LKT(59,9,1:6)=(/ 0.790255,0.824390,0.864568,0.957604,0.979282,0.990087 /) -XCGA_LKT(59,9,1:6)=(/ 0.867710,0.846003,0.815580,0.764813,0.747667,0.751843 /) -XEXT_COEFF_550_LKT(59,9)=241.120000 !rg=1.08173 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,10,1:6)=(/ 193.130000,197.080000,202.450000,210.900000,232.350000,251.540000 /) -XPIZA_LKT(59,10,1:6)=(/ 0.784297,0.814314,0.849464,0.952425,0.975373,0.988083 /) -XCGA_LKT(59,10,1:6)=(/ 0.871587,0.851720,0.826080,0.775493,0.753017,0.748120 /) -XEXT_COEFF_550_LKT(59,10)=202.760000 !rg=1.08173 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,11,1:6)=(/ 161.070000,164.610000,168.380000,175.010000,191.850000,209.170000 /) -XPIZA_LKT(59,11,1:6)=(/ 0.778285,0.804382,0.836044,0.944316,0.969104,0.985159 /) -XCGA_LKT(59,11,1:6)=(/ 0.874020,0.858763,0.835657,0.788377,0.759143,0.747033 /) -XEXT_COEFF_550_LKT(59,11)=168.650000 !rg=1.08173 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,12,1:6)=(/ 134.580000,136.710000,140.070000,144.640000,155.370000,170.450000 /) -XPIZA_LKT(59,12,1:6)=(/ 0.771705,0.796120,0.823584,0.936237,0.965492,0.982821 /) -XCGA_LKT(59,12,1:6)=(/ 0.877040,0.862957,0.843090,0.796157,0.769897,0.748513 /) -XEXT_COEFF_550_LKT(59,12)=140.080000 !rg=1.08173 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,13,1:6)=(/ 111.940000,113.580000,115.610000,119.550000,127.110000,139.230000 /) -XPIZA_LKT(59,13,1:6)=(/ 0.764372,0.788372,0.813531,0.928573,0.959128,0.979525 /) -XCGA_LKT(59,13,1:6)=(/ 0.879413,0.868017,0.850750,0.806410,0.781607,0.754177 /) -XEXT_COEFF_550_LKT(59,13)=115.730000 !rg=1.08173 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,14,1:6)=(/ 93.050000,94.275000,96.018000,98.932000,103.840000,113.330000 /) -XPIZA_LKT(59,14,1:6)=(/ 0.755913,0.780143,0.804300,0.921384,0.951533,0.975401 /) -XCGA_LKT(59,14,1:6)=(/ 0.882250,0.871233,0.857273,0.811930,0.791563,0.759300 /) -XEXT_COEFF_550_LKT(59,14)=95.849000 !rg=1.08173 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,15,1:6)=(/ 77.125000,78.220000,79.596000,81.600000,85.982000,92.952000 /) -XPIZA_LKT(59,15,1:6)=(/ 0.746425,0.772200,0.794923,0.914734,0.942222,0.969785 /) -XCGA_LKT(59,15,1:6)=(/ 0.884330,0.875127,0.862063,0.821213,0.796100,0.761813 /) -XEXT_COEFF_550_LKT(59,15)=79.471000 !rg=1.08173 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,16,1:6)=(/ 63.934000,64.762000,65.668000,67.272000,70.527000,75.935000 /) -XPIZA_LKT(59,16,1:6)=(/ 0.735521,0.763465,0.785760,0.909388,0.934699,0.963768 /) -XCGA_LKT(59,16,1:6)=(/ 0.887013,0.878440,0.867790,0.829097,0.806437,0.770987 /) -XEXT_COEFF_550_LKT(59,16)=65.680000 !rg=1.08173 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,17,1:6)=(/ 53.220000,53.659000,54.452000,55.473000,57.377000,61.330000 /) -XPIZA_LKT(59,17,1:6)=(/ 0.723883,0.753634,0.778128,0.903664,0.928379,0.958460 /) -XCGA_LKT(59,17,1:6)=(/ 0.890037,0.881323,0.871970,0.832943,0.818117,0.782933 /) -XEXT_COEFF_550_LKT(59,17)=54.397000 !rg=1.08173 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,18,1:6)=(/ 44.090000,44.538000,45.079000,45.901000,47.648000,50.613000 /) -XPIZA_LKT(59,18,1:6)=(/ 0.711187,0.743359,0.768501,0.898236,0.921108,0.949857 /) -XCGA_LKT(59,18,1:6)=(/ 0.892740,0.884353,0.875023,0.838713,0.822220,0.787157 /) -XEXT_COEFF_550_LKT(59,18)=45.057000 !rg=1.08173 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,19,1:6)=(/ 36.576000,36.921000,37.291000,37.960000,39.180000,41.442000 /) -XPIZA_LKT(59,19,1:6)=(/ 0.697842,0.731984,0.758337,0.893014,0.915266,0.941797 /) -XCGA_LKT(59,19,1:6)=(/ 0.895813,0.887333,0.879063,0.844033,0.830353,0.797617 /) -XEXT_COEFF_550_LKT(59,19)=37.281000 !rg=1.08173 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(59,20,1:6)=(/ 30.387000,30.581000,30.906000,31.300000,32.062000,33.621000 /) -XPIZA_LKT(59,20,1:6)=(/ 0.684673,0.719332,0.748615,0.886791,0.909689,0.935379 /) -XCGA_LKT(59,20,1:6)=(/ 0.899287,0.890317,0.882390,0.846943,0.838403,0.809217 /) -XEXT_COEFF_550_LKT(59,20)=30.874000 !rg=1.08173 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,1,1:6)=(/ 568.900000,602.110000,657.130000,479.260000,1022.700000,412.720000 /) -XPIZA_LKT(60,1,1:6)=(/ 0.853410,0.902301,0.932169,0.973830,0.994158,0.993763 /) -XCGA_LKT(60,1,1:6)=(/ 0.842340,0.816167,0.800420,0.539677,0.802000,0.670367 /) -XEXT_COEFF_550_LKT(60,1)=659.810000 !rg=1.1719 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,2,1:6)=(/ 533.440000,555.450000,601.630000,510.790000,948.600000,430.400000 /) -XPIZA_LKT(60,2,1:6)=(/ 0.844946,0.894055,0.919656,0.975653,0.993653,0.993831 /) -XCGA_LKT(60,2,1:6)=(/ 0.840243,0.808830,0.785333,0.606350,0.796027,0.702593 /) -XEXT_COEFF_550_LKT(60,2)=584.330000 !rg=1.1719 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,3,1:6)=(/ 493.250000,510.170000,540.810000,523.840000,824.770000,454.780000 /) -XPIZA_LKT(60,3,1:6)=(/ 0.838174,0.886236,0.916388,0.976428,0.992658,0.994038 /) -XCGA_LKT(60,3,1:6)=(/ 0.843820,0.812070,0.772007,0.665740,0.781653,0.729483 /) -XEXT_COEFF_550_LKT(60,3)=536.010000 !rg=1.1719 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,4,1:6)=(/ 444.760000,458.630000,480.980000,491.690000,687.170000,469.140000 /) -XPIZA_LKT(60,4,1:6)=(/ 0.827494,0.878194,0.911129,0.975335,0.991135,0.994099 /) -XCGA_LKT(60,4,1:6)=(/ 0.848280,0.817453,0.775437,0.699127,0.764127,0.749137 /) -XEXT_COEFF_550_LKT(60,4)=478.320000 !rg=1.1719 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,5,1:6)=(/ 393.510000,404.820000,421.310000,441.700000,565.940000,461.940000 /) -XPIZA_LKT(60,5,1:6)=(/ 0.816755,0.868799,0.904227,0.972357,0.989118,0.993876 /) -XCGA_LKT(60,5,1:6)=(/ 0.854140,0.821450,0.789630,0.713437,0.749160,0.760073 /) -XEXT_COEFF_550_LKT(60,5)=416.050000 !rg=1.1719 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,6,1:6)=(/ 342.200000,349.820000,363.520000,381.540000,464.910000,431.320000 /) -XPIZA_LKT(60,6,1:6)=(/ 0.806454,0.856492,0.895012,0.969863,0.986778,0.993312 /) -XCGA_LKT(60,6,1:6)=(/ 0.859413,0.830200,0.793300,0.735400,0.741633,0.762687 /) -XEXT_COEFF_550_LKT(60,6)=364.550000 !rg=1.1719 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,7,1:6)=(/ 293.230000,300.520000,311.030000,325.770000,382.150000,384.660000 /) -XPIZA_LKT(60,7,1:6)=(/ 0.797607,0.841991,0.884048,0.966357,0.983922,0.992368 /) -XCGA_LKT(60,7,1:6)=(/ 0.862777,0.836897,0.800550,0.750670,0.738730,0.759840 /) -XEXT_COEFF_550_LKT(60,7)=310.900000 !rg=1.1719 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,8,1:6)=(/ 249.950000,255.310000,263.570000,275.630000,313.660000,332.460000 /) -XPIZA_LKT(60,8,1:6)=(/ 0.791864,0.829898,0.869747,0.961165,0.981003,0.991050 /) -XCGA_LKT(60,8,1:6)=(/ 0.867387,0.843443,0.812390,0.759430,0.742020,0.755170 /) -XEXT_COEFF_550_LKT(60,8)=264.090000 !rg=1.1719 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,9,1:6)=(/ 211.110000,215.870000,222.320000,232.240000,257.560000,280.520000 /) -XPIZA_LKT(60,9,1:6)=(/ 0.786025,0.817970,0.856219,0.955344,0.977080,0.989271 /) -XCGA_LKT(60,9,1:6)=(/ 0.870247,0.849677,0.823083,0.766863,0.748390,0.750257 /) -XEXT_COEFF_550_LKT(60,9)=220.220000 !rg=1.1719 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,10,1:6)=(/ 177.490000,181.150000,185.630000,194.150000,210.970000,232.730000 /) -XPIZA_LKT(60,10,1:6)=(/ 0.780042,0.808016,0.843418,0.947795,0.973515,0.987174 /) -XCGA_LKT(60,10,1:6)=(/ 0.873330,0.856400,0.830970,0.782050,0.758017,0.748540 /) -XEXT_COEFF_550_LKT(60,10)=185.320000 !rg=1.1719 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,11,1:6)=(/ 148.490000,151.590000,154.810000,160.900000,172.960000,191.430000 /) -XPIZA_LKT(60,11,1:6)=(/ 0.775319,0.799230,0.830209,0.939488,0.967662,0.984319 /) -XCGA_LKT(60,11,1:6)=(/ 0.875987,0.861193,0.840880,0.790290,0.765217,0.748047 /) -XEXT_COEFF_550_LKT(60,11)=155.020000 !rg=1.1719 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,12,1:6)=(/ 123.800000,125.800000,128.390000,132.980000,141.580000,156.330000 /) -XPIZA_LKT(60,12,1:6)=(/ 0.767725,0.791596,0.818936,0.932382,0.962826,0.981563 /) -XCGA_LKT(60,12,1:6)=(/ 0.878477,0.866317,0.847347,0.801950,0.776573,0.751293 /) -XEXT_COEFF_550_LKT(60,12)=128.240000 !rg=1.1719 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,13,1:6)=(/ 103.190000,104.420000,106.510000,109.830000,115.790000,127.110000 /) -XPIZA_LKT(60,13,1:6)=(/ 0.760330,0.783675,0.808754,0.924968,0.955609,0.977632 /) -XCGA_LKT(60,13,1:6)=(/ 0.881220,0.869867,0.854757,0.808050,0.786320,0.755457 /) -XEXT_COEFF_550_LKT(60,13)=106.410000 !rg=1.1719 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,14,1:6)=(/ 85.625000,86.914000,88.329000,90.845000,95.527000,104.080000 /) -XPIZA_LKT(60,14,1:6)=(/ 0.751635,0.776483,0.799116,0.917699,0.946889,0.972471 /) -XCGA_LKT(60,14,1:6)=(/ 0.883340,0.873670,0.859583,0.817477,0.791853,0.758177 /) -XEXT_COEFF_550_LKT(60,14)=88.389000 !rg=1.1719 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,15,1:6)=(/ 71.163000,72.102000,73.146000,74.906000,78.563000,85.175000 /) -XPIZA_LKT(60,15,1:6)=(/ 0.741482,0.767988,0.790622,0.911773,0.939268,0.967445 /) -XCGA_LKT(60,15,1:6)=(/ 0.885990,0.877060,0.865277,0.825387,0.802400,0.766563 /) -XEXT_COEFF_550_LKT(60,15)=72.992000 !rg=1.1719 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,16,1:6)=(/ 59.010000,59.661000,60.489000,61.847000,64.107000,68.765000 /) -XPIZA_LKT(60,16,1:6)=(/ 0.730634,0.758978,0.782160,0.905905,0.931990,0.961918 /) -XCGA_LKT(60,16,1:6)=(/ 0.888590,0.879863,0.869990,0.830357,0.812887,0.776850 /) -XEXT_COEFF_550_LKT(60,16)=60.582000 !rg=1.1719 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,17,1:6)=(/ 48.976000,49.492000,50.039000,51.129000,52.725000,56.277000 /) -XPIZA_LKT(60,17,1:6)=(/ 0.717959,0.749157,0.773225,0.900906,0.925320,0.955209 /) -XCGA_LKT(60,17,1:6)=(/ 0.891363,0.882987,0.873403,0.835993,0.820127,0.784230 /) -XEXT_COEFF_550_LKT(60,17)=50.065000 !rg=1.1719 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,18,1:6)=(/ 40.660000,41.065000,41.503000,42.176000,43.612000,46.291000 /) -XPIZA_LKT(60,18,1:6)=(/ 0.705199,0.738093,0.764239,0.895351,0.918589,0.946599 /) -XCGA_LKT(60,18,1:6)=(/ 0.894270,0.885867,0.877170,0.841040,0.826707,0.792927 /) -XEXT_COEFF_550_LKT(60,18)=41.402000 !rg=1.1719 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,19,1:6)=(/ 33.747000,34.017000,34.368000,34.874000,35.786000,37.640000 /) -XPIZA_LKT(60,19,1:6)=(/ 0.692154,0.726397,0.754264,0.889895,0.912795,0.939164 /) -XCGA_LKT(60,19,1:6)=(/ 0.897540,0.888707,0.880587,0.845000,0.834947,0.804027 /) -XEXT_COEFF_550_LKT(60,19)=34.406000 !rg=1.1719 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(60,20,1:6)=(/ 27.992000,28.211000,28.432000,28.893000,29.540000,30.930000 /) -XPIZA_LKT(60,20,1:6)=(/ 0.678323,0.713943,0.742970,0.884074,0.906958,0.931889 /) -XCGA_LKT(60,20,1:6)=(/ 0.900757,0.891850,0.883590,0.849117,0.840013,0.810717 /) -XEXT_COEFF_550_LKT(60,20)=28.442000 !rg=1.1719 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET6',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET6 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET7() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET7',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(61,1,1:6)=(/ 511.090000,502.070000,520.650000,430.770000,946.590000,437.600000 /) -XPIZA_LKT(61,1,1:6)=(/ 0.842644,0.881515,0.918709,0.971421,0.993616,0.993986 /) -XCGA_LKT(61,1,1:6)=(/ 0.844147,0.792317,0.795810,0.562880,0.799427,0.702427 /) -XEXT_COEFF_550_LKT(61,1)=542.750000 !rg=1.26958 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,2,1:6)=(/ 490.760000,505.380000,525.210000,478.140000,867.890000,460.360000 /) -XPIZA_LKT(61,2,1:6)=(/ 0.836999,0.887094,0.914290,0.974009,0.993010,0.994117 /) -XCGA_LKT(61,2,1:6)=(/ 0.846640,0.811337,0.780853,0.633940,0.789457,0.726207 /) -XEXT_COEFF_550_LKT(61,2)=523.510000 !rg=1.26958 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,3,1:6)=(/ 452.030000,467.400000,488.290000,483.250000,740.690000,477.900000 /) -XPIZA_LKT(61,3,1:6)=(/ 0.829314,0.879829,0.912404,0.974485,0.991755,0.994230 /) -XCGA_LKT(61,3,1:6)=(/ 0.850230,0.818490,0.793013,0.681607,0.771577,0.746073 /) -XEXT_COEFF_550_LKT(61,3)=487.850000 !rg=1.26958 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,4,1:6)=(/ 407.810000,420.440000,437.130000,448.850000,612.920000,480.710000 /) -XPIZA_LKT(61,4,1:6)=(/ 0.818154,0.871427,0.906903,0.973244,0.989965,0.994153 /) -XCGA_LKT(61,4,1:6)=(/ 0.854460,0.823887,0.793887,0.709977,0.753403,0.760150 /) -XEXT_COEFF_550_LKT(61,4)=438.490000 !rg=1.26958 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,5,1:6)=(/ 360.690000,371.230000,385.950000,400.450000,504.360000,460.040000 /) -XPIZA_LKT(61,5,1:6)=(/ 0.807495,0.859678,0.898330,0.970687,0.987808,0.993775 /) -XCGA_LKT(61,5,1:6)=(/ 0.858093,0.828360,0.790413,0.730787,0.741707,0.766130 /) -XEXT_COEFF_550_LKT(61,5)=384.710000 !rg=1.26958 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,6,1:6)=(/ 315.190000,322.860000,331.170000,350.420000,417.650000,418.680000 /) -XPIZA_LKT(61,6,1:6)=(/ 0.799367,0.848000,0.890021,0.966859,0.985263,0.993033 /) -XCGA_LKT(61,6,1:6)=(/ 0.862693,0.835777,0.803820,0.742267,0.738150,0.764910 /) -XEXT_COEFF_550_LKT(61,6)=333.450000 !rg=1.26958 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,7,1:6)=(/ 269.340000,276.480000,284.120000,297.650000,345.770000,366.090000 /) -XPIZA_LKT(61,7,1:6)=(/ 0.792410,0.834693,0.876780,0.963348,0.981676,0.991909 /) -XCGA_LKT(61,7,1:6)=(/ 0.866567,0.842713,0.811660,0.756987,0.737463,0.759840 /) -XEXT_COEFF_550_LKT(61,7)=285.510000 !rg=1.26958 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,8,1:6)=(/ 230.360000,235.060000,240.960000,253.550000,283.710000,311.640000 /) -XPIZA_LKT(61,8,1:6)=(/ 0.787291,0.822939,0.863607,0.957769,0.979306,0.990405 /) -XCGA_LKT(61,8,1:6)=(/ 0.869737,0.848693,0.819363,0.767207,0.745300,0.754450 /) -XEXT_COEFF_550_LKT(61,8)=241.310000 !rg=1.26958 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,9,1:6)=(/ 193.840000,198.390000,203.620000,211.700000,234.330000,259.690000 /) -XPIZA_LKT(61,9,1:6)=(/ 0.781859,0.811609,0.849155,0.951591,0.974697,0.988351 /) -XCGA_LKT(61,9,1:6)=(/ 0.872237,0.854513,0.826497,0.778207,0.747643,0.748697 /) -XEXT_COEFF_550_LKT(61,9)=203.280000 !rg=1.26958 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,10,1:6)=(/ 163.570000,166.760000,170.770000,177.600000,191.890000,214.650000 /) -XPIZA_LKT(61,10,1:6)=(/ 0.777137,0.802310,0.835927,0.944335,0.970964,0.986026 /) -XCGA_LKT(61,10,1:6)=(/ 0.875257,0.859353,0.837253,0.783577,0.760923,0.747550 /) -XEXT_COEFF_550_LKT(61,10)=169.480000 !rg=1.26958 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,11,1:6)=(/ 136.600000,139.390000,142.450000,147.740000,157.550000,175.590000 /) -XPIZA_LKT(61,11,1:6)=(/ 0.770906,0.794134,0.823688,0.935825,0.965482,0.983044 /) -XCGA_LKT(61,11,1:6)=(/ 0.877373,0.864657,0.844070,0.797017,0.769610,0.748160 /) -XEXT_COEFF_550_LKT(61,11)=142.070000 !rg=1.26958 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,12,1:6)=(/ 114.160000,115.850000,118.090000,122.090000,129.130000,143.120000 /) -XPIZA_LKT(61,12,1:6)=(/ 0.764346,0.787050,0.813144,0.928653,0.959540,0.979865 /) -XCGA_LKT(61,12,1:6)=(/ 0.880197,0.868283,0.852033,0.803540,0.781077,0.752113 /) -XEXT_COEFF_550_LKT(61,12)=117.710000 !rg=1.26958 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,13,1:6)=(/ 94.836000,96.379000,97.928000,101.030000,106.240000,116.670000 /) -XPIZA_LKT(61,13,1:6)=(/ 0.756140,0.780185,0.803298,0.920847,0.951900,0.975426 /) -XCGA_LKT(61,13,1:6)=(/ 0.882357,0.872350,0.857313,0.813633,0.787353,0.755017 /) -XEXT_COEFF_550_LKT(61,13)=98.007000 !rg=1.26958 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,14,1:6)=(/ 78.893000,79.974000,81.301000,83.137000,87.544000,95.542000 /) -XPIZA_LKT(61,14,1:6)=(/ 0.746570,0.771842,0.794762,0.914578,0.943462,0.970273 /) -XCGA_LKT(61,14,1:6)=(/ 0.884890,0.875550,0.863090,0.820980,0.797897,0.762407 /) -XEXT_COEFF_550_LKT(61,14)=81.317000 !rg=1.26958 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,15,1:6)=(/ 65.637000,66.276000,67.367000,68.906000,71.644000,77.274000 /) -XPIZA_LKT(61,15,1:6)=(/ 0.736733,0.763865,0.786160,0.909114,0.936432,0.965806 /) -XCGA_LKT(61,15,1:6)=(/ 0.887533,0.878043,0.867973,0.827863,0.808073,0.771473 /) -XEXT_COEFF_550_LKT(61,15)=67.317000 !rg=1.26958 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,16,1:6)=(/ 54.335000,55.015000,55.705000,56.857000,58.599000,62.836000 /) -XPIZA_LKT(61,16,1:6)=(/ 0.724834,0.754485,0.777882,0.903513,0.928967,0.959486 /) -XCGA_LKT(61,16,1:6)=(/ 0.889660,0.881850,0.871713,0.833940,0.817157,0.780580 /) -XEXT_COEFF_550_LKT(61,16)=55.656000 !rg=1.26958 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,17,1:6)=(/ 45.183000,45.508000,46.138000,46.903000,48.475000,51.690000 /) -XPIZA_LKT(61,17,1:6)=(/ 0.712697,0.744135,0.769122,0.898202,0.922333,0.951492 /) -XCGA_LKT(61,17,1:6)=(/ 0.892773,0.884167,0.875573,0.838580,0.824747,0.788930 /) -XEXT_COEFF_550_LKT(61,17)=46.169000 !rg=1.26958 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,18,1:6)=(/ 37.529000,37.779000,38.261000,38.921000,39.944000,42.178000 /) -XPIZA_LKT(61,18,1:6)=(/ 0.699516,0.732918,0.759380,0.893097,0.916137,0.943660 /) -XCGA_LKT(61,18,1:6)=(/ 0.895900,0.886807,0.879050,0.843410,0.831283,0.798427 /) -XEXT_COEFF_550_LKT(61,18)=38.286000 !rg=1.26958 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,19,1:6)=(/ 31.097000,31.392000,31.659000,32.141000,32.806000,34.411000 /) -XPIZA_LKT(61,19,1:6)=(/ 0.686010,0.721112,0.749278,0.887303,0.910087,0.936204 /) -XCGA_LKT(61,19,1:6)=(/ 0.898770,0.890447,0.882037,0.847520,0.837900,0.807450 /) -XEXT_COEFF_550_LKT(61,19)=31.643000 !rg=1.26958 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(61,20,1:6)=(/ 25.831000,25.971000,26.225000,26.540000,27.147000,28.383000 /) -XPIZA_LKT(61,20,1:6)=(/ 0.672772,0.707799,0.738096,0.880636,0.904463,0.929209 /) -XCGA_LKT(61,20,1:6)=(/ 0.902323,0.893187,0.885253,0.850820,0.843280,0.815220 /) -XEXT_COEFF_550_LKT(61,20)=26.222000 !rg=1.26958 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,1,1:6)=(/ 468.690000,467.500000,428.760000,443.900000,857.720000,474.520000 /) -XPIZA_LKT(62,1,1:6)=(/ 0.832770,0.879949,0.906923,0.972118,0.992898,0.994170 /) -XCGA_LKT(62,1,1:6)=(/ 0.847993,0.807813,0.772673,0.633503,0.791613,0.741077 /) -XEXT_COEFF_550_LKT(62,1)=435.830000 !rg=1.37541 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,2,1:6)=(/ 452.580000,464.420000,464.220000,472.630000,771.270000,487.260000 /) -XPIZA_LKT(62,2,1:6)=(/ 0.827678,0.878765,0.912562,0.973315,0.992084,0.994333 /) -XCGA_LKT(62,2,1:6)=(/ 0.851170,0.817977,0.798207,0.673597,0.777680,0.747377 /) -XEXT_COEFF_550_LKT(62,2)=476.490000 !rg=1.37541 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,3,1:6)=(/ 416.780000,429.550000,443.690000,453.640000,649.490000,495.600000 /) -XPIZA_LKT(62,3,1:6)=(/ 0.818899,0.872931,0.908334,0.972984,0.990563,0.994349 /) -XCGA_LKT(62,3,1:6)=(/ 0.855573,0.822577,0.798267,0.703503,0.757377,0.760270 /) -XEXT_COEFF_550_LKT(62,3)=448.980000 !rg=1.37541 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,4,1:6)=(/ 375.600000,386.940000,399.610000,412.840000,538.290000,485.660000 /) -XPIZA_LKT(62,4,1:6)=(/ 0.808405,0.863705,0.901939,0.971226,0.988570,0.994135 /) -XCGA_LKT(62,4,1:6)=(/ 0.859640,0.827743,0.800713,0.721710,0.741003,0.768923 /) -XEXT_COEFF_550_LKT(62,4)=403.220000 !rg=1.37541 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,5,1:6)=(/ 331.170000,340.770000,352.340000,365.270000,449.300000,452.040000 /) -XPIZA_LKT(62,5,1:6)=(/ 0.798969,0.851901,0.892010,0.968644,0.986082,0.993587 /) -XCGA_LKT(62,5,1:6)=(/ 0.863440,0.834710,0.803997,0.740637,0.733560,0.770177 /) -XEXT_COEFF_550_LKT(62,5)=353.380000 !rg=1.37541 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,6,1:6)=(/ 289.500000,297.270000,305.800000,319.870000,372.930000,401.490000 /) -XPIZA_LKT(62,6,1:6)=(/ 0.792096,0.838992,0.882388,0.963974,0.983641,0.992665 /) -XCGA_LKT(62,6,1:6)=(/ 0.866600,0.839353,0.810777,0.745217,0.733900,0.765477 /) -XEXT_COEFF_550_LKT(62,6)=304.850000 !rg=1.37541 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,7,1:6)=(/ 247.830000,254.640000,260.970000,272.540000,309.350000,344.630000 /) -XPIZA_LKT(62,7,1:6)=(/ 0.787980,0.826624,0.869717,0.959736,0.980393,0.991347 /) -XCGA_LKT(62,7,1:6)=(/ 0.869710,0.846150,0.818573,0.759900,0.738297,0.758757 /) -XEXT_COEFF_550_LKT(62,7)=262.020000 !rg=1.37541 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,8,1:6)=(/ 211.830000,216.140000,222.070000,232.180000,256.170000,289.540000 /) -XPIZA_LKT(62,8,1:6)=(/ 0.782568,0.815290,0.855923,0.953956,0.977154,0.989619 /) -XCGA_LKT(62,8,1:6)=(/ 0.872550,0.852197,0.826273,0.767683,0.746293,0.752253 /) -XEXT_COEFF_550_LKT(62,8)=220.650000 !rg=1.37541 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,9,1:6)=(/ 178.550000,182.440000,186.820000,193.310000,213.710000,240.110000 /) -XPIZA_LKT(62,9,1:6)=(/ 0.778601,0.805512,0.841453,0.948530,0.971959,0.987106 /) -XCGA_LKT(62,9,1:6)=(/ 0.874960,0.858540,0.834007,0.785410,0.752123,0.747577 /) -XEXT_COEFF_550_LKT(62,9)=186.900000 !rg=1.37541 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,10,1:6)=(/ 150.250000,153.120000,156.900000,162.580000,175.750000,197.200000 /) -XPIZA_LKT(62,10,1:6)=(/ 0.774059,0.797739,0.828892,0.939865,0.967154,0.984581 /) -XCGA_LKT(62,10,1:6)=(/ 0.876657,0.862803,0.840513,0.792483,0.759943,0.746053 /) -XEXT_COEFF_550_LKT(62,10)=156.540000 !rg=1.37541 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,11,1:6)=(/ 126.070000,128.140000,130.940000,134.950000,144.220000,161.050000 /) -XPIZA_LKT(62,11,1:6)=(/ 0.768349,0.789872,0.817197,0.932657,0.962598,0.981462 /) -XCGA_LKT(62,11,1:6)=(/ 0.879037,0.867347,0.849227,0.800360,0.773813,0.748407 /) -XEXT_COEFF_550_LKT(62,11)=130.070000 !rg=1.37541 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,12,1:6)=(/ 104.970000,106.560000,108.680000,112.040000,118.720000,131.130000 /) -XPIZA_LKT(62,12,1:6)=(/ 0.760818,0.783116,0.807446,0.924596,0.955306,0.977400 /) -XCGA_LKT(62,12,1:6)=(/ 0.881197,0.870857,0.854717,0.810153,0.780717,0.750660 /) -XEXT_COEFF_550_LKT(62,12)=108.650000 !rg=1.37541 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,13,1:6)=(/ 87.382000,88.546000,90.207000,92.289000,97.482000,107.070000 /) -XPIZA_LKT(62,13,1:6)=(/ 0.751581,0.775903,0.798706,0.917672,0.948050,0.973036 /) -XCGA_LKT(62,13,1:6)=(/ 0.883917,0.873957,0.860997,0.817373,0.793100,0.758240 /) -XEXT_COEFF_550_LKT(62,13)=90.273000 !rg=1.37541 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,14,1:6)=(/ 72.724000,73.471000,74.749000,76.287000,79.863000,86.735000 /) -XPIZA_LKT(62,14,1:6)=(/ 0.742557,0.768070,0.789694,0.912363,0.940546,0.968983 /) -XCGA_LKT(62,14,1:6)=(/ 0.885963,0.877467,0.865713,0.825087,0.802663,0.766043 /) -XEXT_COEFF_550_LKT(62,14)=74.803000 !rg=1.37541 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,15,1:6)=(/ 60.388000,61.066000,61.914000,63.294000,65.492000,70.510000 /) -XPIZA_LKT(62,15,1:6)=(/ 0.731373,0.759482,0.782306,0.906479,0.933701,0.963651 /) -XCGA_LKT(62,15,1:6)=(/ 0.888457,0.880287,0.869540,0.831347,0.814083,0.776917 /) -XEXT_COEFF_550_LKT(62,15)=61.858000 !rg=1.37541 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,16,1:6)=(/ 50.091000,50.606000,51.307000,52.195000,54.158000,57.824000 /) -XPIZA_LKT(62,16,1:6)=(/ 0.719345,0.749893,0.773488,0.900912,0.925842,0.956036 /) -XCGA_LKT(62,16,1:6)=(/ 0.891230,0.883063,0.874253,0.836330,0.821010,0.784503 /) -XEXT_COEFF_550_LKT(62,16)=51.241000 !rg=1.37541 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,17,1:6)=(/ 41.622000,41.984000,42.396000,43.035000,44.523000,47.211000 /) -XPIZA_LKT(62,17,1:6)=(/ 0.706617,0.739286,0.764664,0.895731,0.919484,0.948476 /) -XCGA_LKT(62,17,1:6)=(/ 0.894287,0.885967,0.877033,0.841880,0.827240,0.792340 /) -XEXT_COEFF_550_LKT(62,17)=42.492000 !rg=1.37541 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,18,1:6)=(/ 34.547000,34.847000,35.171000,35.767000,36.656000,38.515000 /) -XPIZA_LKT(62,18,1:6)=(/ 0.693234,0.727734,0.754907,0.890584,0.913790,0.941042 /) -XCGA_LKT(62,18,1:6)=(/ 0.897180,0.888750,0.880103,0.845747,0.835687,0.804247 /) -XEXT_COEFF_550_LKT(62,18)=35.141000 !rg=1.37541 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,19,1:6)=(/ 28.669000,28.882000,29.200000,29.505000,30.314000,31.759000 /) -XPIZA_LKT(62,19,1:6)=(/ 0.679865,0.715114,0.744404,0.884149,0.907451,0.933012 /) -XCGA_LKT(62,19,1:6)=(/ 0.900417,0.891697,0.883973,0.849010,0.841180,0.811807 /) -XEXT_COEFF_550_LKT(62,19)=29.159000 !rg=1.37541 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(62,20,1:6)=(/ 23.811000,23.957000,24.129000,24.396000,24.983000,26.033000 /) -XPIZA_LKT(62,20,1:6)=(/ 0.666463,0.702123,0.732414,0.877538,0.901590,0.926620 /) -XCGA_LKT(62,20,1:6)=(/ 0.904007,0.894813,0.886607,0.852800,0.845117,0.818343 /) -XEXT_COEFF_550_LKT(62,20)=24.166000 !rg=1.37541 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,1,1:6)=(/ 437.190000,463.930000,441.400000,478.300000,744.750000,509.680000 /) -XPIZA_LKT(63,1,1:6)=(/ 0.823671,0.881232,0.897153,0.974358,0.991785,0.994466 /) -XCGA_LKT(63,1,1:6)=(/ 0.855760,0.833647,0.791067,0.712330,0.773503,0.763577 /) -XEXT_COEFF_550_LKT(63,1)=430.720000 !rg=1.49006 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,2,1:6)=(/ 413.650000,429.490000,435.750000,468.150000,664.730000,509.020000 /) -XPIZA_LKT(63,2,1:6)=(/ 0.817692,0.869756,0.906490,0.973296,0.990756,0.994487 /) -XCGA_LKT(63,2,1:6)=(/ 0.856187,0.824047,0.802363,0.718913,0.759183,0.763937 /) -XEXT_COEFF_550_LKT(63,2)=436.640000 !rg=1.49006 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,3,1:6)=(/ 383.650000,396.150000,404.280000,428.420000,559.890000,506.740000 /) -XPIZA_LKT(63,3,1:6)=(/ 0.808700,0.863980,0.902754,0.970615,0.989002,0.994395 /) -XCGA_LKT(63,3,1:6)=(/ 0.860893,0.829180,0.799823,0.727183,0.740007,0.771813 /) -XEXT_COEFF_550_LKT(63,3)=406.930000 !rg=1.49006 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,4,1:6)=(/ 345.510000,356.270000,365.360000,384.120000,470.630000,483.440000 /) -XPIZA_LKT(63,4,1:6)=(/ 0.798834,0.854644,0.895773,0.967845,0.986905,0.994036 /) -XCGA_LKT(63,4,1:6)=(/ 0.864583,0.834100,0.803387,0.737547,0.728953,0.775403 /) -XEXT_COEFF_550_LKT(63,4)=366.720000 !rg=1.49006 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,5,1:6)=(/ 305.010000,313.600000,322.460000,334.580000,396.590000,437.830000 /) -XPIZA_LKT(63,5,1:6)=(/ 0.791906,0.843604,0.886216,0.966320,0.984499,0.993315 /) -XCGA_LKT(63,5,1:6)=(/ 0.867570,0.838827,0.810930,0.747387,0.727023,0.772307 /) -XEXT_COEFF_550_LKT(63,5)=324.230000 !rg=1.49006 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,6,1:6)=(/ 266.020000,272.650000,281.170000,294.540000,334.240000,380.590000 /) -XPIZA_LKT(63,6,1:6)=(/ 0.786484,0.831053,0.873898,0.960051,0.981862,0.992206 /) -XCGA_LKT(63,6,1:6)=(/ 0.870247,0.845497,0.813047,0.757373,0.731310,0.765177 /) -XEXT_COEFF_550_LKT(63,6)=279.210000 !rg=1.49006 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,7,1:6)=(/ 228.070000,233.900000,239.980000,251.160000,279.230000,321.700000 /) -XPIZA_LKT(63,7,1:6)=(/ 0.782574,0.818491,0.861655,0.956201,0.978492,0.990692 /) -XCGA_LKT(63,7,1:6)=(/ 0.872400,0.851473,0.822300,0.769507,0.739383,0.757220 /) -XEXT_COEFF_550_LKT(63,7)=239.610000 !rg=1.49006 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,8,1:6)=(/ 194.520000,198.810000,204.000000,212.810000,232.830000,267.260000 /) -XPIZA_LKT(63,8,1:6)=(/ 0.779251,0.808902,0.847658,0.950073,0.974645,0.988708 /) -XCGA_LKT(63,8,1:6)=(/ 0.874577,0.856640,0.829450,0.777943,0.745907,0.750250 /) -XEXT_COEFF_550_LKT(63,8)=203.280000 !rg=1.49006 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,9,1:6)=(/ 164.510000,167.970000,171.540000,177.370000,192.320000,219.690000 /) -XPIZA_LKT(63,9,1:6)=(/ 0.775305,0.800315,0.834400,0.944669,0.970630,0.986287 /) -XCGA_LKT(63,9,1:6)=(/ 0.876913,0.861397,0.839600,0.788627,0.757870,0.747280 /) -XEXT_COEFF_550_LKT(63,9)=171.760000 !rg=1.49006 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,10,1:6)=(/ 138.390000,141.150000,143.990000,148.530000,160.610000,180.930000 /) -XPIZA_LKT(63,10,1:6)=(/ 0.769804,0.792029,0.822570,0.936096,0.964609,0.982879 /) -XCGA_LKT(63,10,1:6)=(/ 0.878610,0.865943,0.846157,0.798893,0.766410,0.746020 /) -XEXT_COEFF_550_LKT(63,10)=144.130000 !rg=1.49006 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,11,1:6)=(/ 115.920000,117.930000,120.160000,123.390000,132.190000,147.270000 /) -XPIZA_LKT(63,11,1:6)=(/ 0.763887,0.785099,0.811879,0.928671,0.959290,0.979835 /) -XCGA_LKT(63,11,1:6)=(/ 0.880367,0.870300,0.852503,0.807843,0.774247,0.747377 /) -XEXT_COEFF_550_LKT(63,11)=119.890000 !rg=1.49006 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,12,1:6)=(/ 96.678000,98.185000,99.868000,102.490000,108.690000,120.220000 /) -XPIZA_LKT(63,12,1:6)=(/ 0.756109,0.778637,0.802451,0.921044,0.952134,0.975428 /) -XCGA_LKT(63,12,1:6)=(/ 0.882787,0.873093,0.858730,0.814437,0.787337,0.754003 /) -XEXT_COEFF_550_LKT(63,12)=100.020000 !rg=1.49006 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,13,1:6)=(/ 80.498000,81.387000,82.816000,84.607000,88.910000,97.244000 /) -XPIZA_LKT(63,13,1:6)=(/ 0.747701,0.771674,0.793890,0.915135,0.945219,0.971814 /) -XCGA_LKT(63,13,1:6)=(/ 0.884853,0.876407,0.863480,0.822460,0.797610,0.761020 /) -XEXT_COEFF_550_LKT(63,13)=82.986000 !rg=1.49006 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,14,1:6)=(/ 66.984000,67.769000,68.622000,70.161000,73.227000,79.189000 /) -XPIZA_LKT(63,14,1:6)=(/ 0.737500,0.764608,0.785918,0.909068,0.936620,0.966447 /) -XCGA_LKT(63,14,1:6)=(/ 0.887200,0.879137,0.868543,0.829157,0.808840,0.771953 /) -XEXT_COEFF_550_LKT(63,14)=68.621000 !rg=1.49006 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,15,1:6)=(/ 55.707000,56.281000,56.988000,58.213000,60.212000,64.629000 /) -XPIZA_LKT(63,15,1:6)=(/ 0.726503,0.755043,0.777783,0.903610,0.929206,0.960190 /) -XCGA_LKT(63,15,1:6)=(/ 0.889873,0.881607,0.872460,0.833283,0.817457,0.780250 /) -XEXT_COEFF_550_LKT(63,15)=56.873000 !rg=1.49006 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,16,1:6)=(/ 46.176000,46.654000,47.169000,48.020000,49.770000,53.059000 /) -XPIZA_LKT(63,16,1:6)=(/ 0.713564,0.744913,0.769417,0.898259,0.922531,0.952497 /) -XCGA_LKT(63,16,1:6)=(/ 0.892613,0.884737,0.875800,0.839767,0.822063,0.785130 /) -XEXT_COEFF_550_LKT(63,16)=47.098000 !rg=1.49006 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,17,1:6)=(/ 38.357000,38.747000,39.099000,39.626000,40.905000,43.285000 /) -XPIZA_LKT(63,17,1:6)=(/ 0.700631,0.734424,0.760276,0.892877,0.916445,0.944416 /) -XCGA_LKT(63,17,1:6)=(/ 0.895427,0.887580,0.879373,0.843903,0.831587,0.798390 /) -XEXT_COEFF_550_LKT(63,17)=39.114000 !rg=1.49006 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,18,1:6)=(/ 31.885000,32.115000,32.416000,32.877000,33.692000,35.417000 /) -XPIZA_LKT(63,18,1:6)=(/ 0.687627,0.722043,0.750224,0.887468,0.909860,0.936585 /) -XCGA_LKT(63,18,1:6)=(/ 0.898660,0.889957,0.882270,0.846633,0.837930,0.807387 /) -XEXT_COEFF_550_LKT(63,18)=32.377000 !rg=1.49006 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,19,1:6)=(/ 26.450000,26.616000,26.846000,27.208000,27.896000,29.195000 /) -XPIZA_LKT(63,19,1:6)=(/ 0.673863,0.709056,0.739005,0.881520,0.904785,0.929902 /) -XCGA_LKT(63,19,1:6)=(/ 0.902017,0.893273,0.885240,0.851480,0.841873,0.812410 /) -XEXT_COEFF_550_LKT(63,19)=26.838000 !rg=1.49006 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(63,20,1:6)=(/ 21.950000,22.108000,22.256000,22.475000,22.958000,23.904000 /) -XPIZA_LKT(63,20,1:6)=(/ 0.660450,0.696347,0.727248,0.873998,0.898907,0.923204 /) -XCGA_LKT(63,20,1:6)=(/ 0.905437,0.896497,0.888387,0.854417,0.848050,0.822793 /) -XEXT_COEFF_550_LKT(63,20)=22.260000 !rg=1.49006 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,1,1:6)=(/ 398.630000,408.420000,449.150000,499.530000,624.760000,523.690000 /) -XPIZA_LKT(64,1,1:6)=(/ 0.811429,0.866921,0.910631,0.975302,0.990151,0.994661 /) -XCGA_LKT(64,1,1:6)=(/ 0.857763,0.831697,0.810147,0.765477,0.751050,0.770760 /) -XEXT_COEFF_550_LKT(64,1)=455.020000 !rg=1.61427 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,2,1:6)=(/ 380.260000,391.630000,406.400000,452.330000,555.770000,523.900000 /) -XPIZA_LKT(64,2,1:6)=(/ 0.806132,0.864511,0.899904,0.971621,0.988921,0.994571 /) -XCGA_LKT(64,2,1:6)=(/ 0.861950,0.832700,0.797993,0.751623,0.734453,0.776377 /) -XEXT_COEFF_550_LKT(64,2)=405.900000 !rg=1.61427 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,3,1:6)=(/ 353.840000,361.430000,374.220000,398.130000,476.660000,510.270000 /) -XPIZA_LKT(64,3,1:6)=(/ 0.797306,0.857290,0.895270,0.968502,0.986963,0.994363 /) -XCGA_LKT(64,3,1:6)=(/ 0.864873,0.835293,0.808413,0.739200,0.717717,0.780600 /) -XEXT_COEFF_550_LKT(64,3)=370.540000 !rg=1.61427 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,4,1:6)=(/ 318.610000,325.490000,337.400000,353.160000,411.060000,473.770000 /) -XPIZA_LKT(64,4,1:6)=(/ 0.789615,0.846933,0.887895,0.965858,0.984853,0.993845 /) -XCGA_LKT(64,4,1:6)=(/ 0.868210,0.839397,0.812083,0.742897,0.715503,0.779430 /) -XEXT_COEFF_550_LKT(64,4)=333.930000 !rg=1.61427 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,5,1:6)=(/ 280.520000,288.290000,295.730000,310.050000,352.260000,418.280000 /) -XPIZA_LKT(64,5,1:6)=(/ 0.784766,0.833994,0.879405,0.962465,0.982656,0.992939 /) -XCGA_LKT(64,5,1:6)=(/ 0.871223,0.844630,0.814733,0.759420,0.723280,0.772677 /) -XEXT_COEFF_550_LKT(64,5)=295.840000 !rg=1.61427 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,6,1:6)=(/ 244.920000,249.700000,257.780000,267.050000,301.020000,357.090000 /) -XPIZA_LKT(64,6,1:6)=(/ 0.782156,0.822509,0.866844,0.958814,0.979495,0.991598 /) -XCGA_LKT(64,6,1:6)=(/ 0.872970,0.849430,0.822180,0.765910,0.730570,0.762880 /) -XEXT_COEFF_550_LKT(64,6)=256.660000 !rg=1.61427 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,7,1:6)=(/ 210.220000,214.560000,220.780000,228.880000,252.650000,297.820000 /) -XPIZA_LKT(64,7,1:6)=(/ 0.779533,0.811484,0.853312,0.954245,0.976194,0.989845 /) -XCGA_LKT(64,7,1:6)=(/ 0.874400,0.855630,0.829743,0.772473,0.740883,0.753990 /) -XEXT_COEFF_550_LKT(64,7)=219.040000 !rg=1.61427 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,8,1:6)=(/ 179.070000,182.500000,187.310000,193.750000,212.250000,246.030000 /) -XPIZA_LKT(64,8,1:6)=(/ 0.774972,0.801708,0.839865,0.946520,0.971891,0.987486 /) -XCGA_LKT(64,8,1:6)=(/ 0.876760,0.860003,0.836383,0.784897,0.750423,0.747877 /) -XEXT_COEFF_550_LKT(64,8)=187.490000 !rg=1.61427 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,9,1:6)=(/ 151.230000,154.200000,157.720000,163.500000,174.670000,201.100000 /) -XPIZA_LKT(64,9,1:6)=(/ 0.771677,0.794349,0.827803,0.939729,0.968617,0.985153 /) -XCGA_LKT(64,9,1:6)=(/ 0.878210,0.864987,0.843477,0.794983,0.764053,0.747087 /) -XEXT_COEFF_550_LKT(64,9)=157.150000 !rg=1.61427 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,10,1:6)=(/ 127.750000,129.600000,132.430000,136.150000,145.200000,164.180000 /) -XPIZA_LKT(64,10,1:6)=(/ 0.767166,0.788574,0.815441,0.932935,0.963151,0.982115 /) -XCGA_LKT(64,10,1:6)=(/ 0.880050,0.868247,0.850540,0.803127,0.772347,0.747170 /) -XEXT_COEFF_550_LKT(64,10)=132.400000 !rg=1.61427 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,11,1:6)=(/ 106.600000,108.480000,110.440000,113.470000,121.090000,134.880000 /) -XPIZA_LKT(64,11,1:6)=(/ 0.760366,0.781804,0.805440,0.925352,0.955225,0.977211 /) -XCGA_LKT(64,11,1:6)=(/ 0.881827,0.872467,0.857253,0.813303,0.780557,0.749773 /) -XEXT_COEFF_550_LKT(64,11)=110.320000 !rg=1.61427 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,12,1:6)=(/ 89.184000,90.207000,91.890000,94.009000,98.894000,109.010000 /) -XPIZA_LKT(64,12,1:6)=(/ 0.752978,0.775371,0.796940,0.918490,0.949317,0.974343 /) -XCGA_LKT(64,12,1:6)=(/ 0.883803,0.875087,0.861903,0.818857,0.792653,0.757083 /) -XEXT_COEFF_550_LKT(64,12)=91.910000 !rg=1.61427 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,13,1:6)=(/ 74.152000,75.063000,76.046000,77.936000,81.495000,88.729000 /) -XPIZA_LKT(64,13,1:6)=(/ 0.743000,0.768385,0.789288,0.911741,0.940917,0.969405 /) -XCGA_LKT(64,13,1:6)=(/ 0.886093,0.878200,0.867030,0.826423,0.804217,0.766920 /) -XEXT_COEFF_550_LKT(64,13)=76.121000 !rg=1.61427 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,14,1:6)=(/ 61.836000,62.340000,63.270000,64.611000,66.884000,72.221000 /) -XPIZA_LKT(64,14,1:6)=(/ 0.732803,0.759647,0.782383,0.906319,0.933234,0.963536 /) -XCGA_LKT(64,14,1:6)=(/ 0.888753,0.880340,0.870990,0.830900,0.813767,0.775693 /) -XEXT_COEFF_550_LKT(64,14)=63.281000 !rg=1.61427 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,15,1:6)=(/ 51.311000,51.806000,52.502000,53.480000,55.630000,59.491000 /) -XPIZA_LKT(64,15,1:6)=(/ 0.720858,0.751085,0.773620,0.900961,0.925049,0.955861 /) -XCGA_LKT(64,15,1:6)=(/ 0.890980,0.882993,0.874130,0.837117,0.817817,0.779640 /) -XEXT_COEFF_550_LKT(64,15)=52.474000 !rg=1.61427 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,16,1:6)=(/ 42.538000,42.966000,43.467000,44.231000,45.764000,48.709000 /) -XPIZA_LKT(64,16,1:6)=(/ 0.707766,0.740435,0.764693,0.895981,0.918793,0.947671 /) -XCGA_LKT(64,16,1:6)=(/ 0.893970,0.885970,0.878013,0.842543,0.826197,0.790320 /) -XEXT_COEFF_550_LKT(64,16)=43.392000 !rg=1.61427 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,17,1:6)=(/ 35.409000,35.639000,36.064000,36.596000,37.453000,39.444000 /) -XPIZA_LKT(64,17,1:6)=(/ 0.694937,0.728576,0.755822,0.890497,0.913131,0.940791 /) -XCGA_LKT(64,17,1:6)=(/ 0.896997,0.888653,0.881237,0.845557,0.835563,0.803227 /) -XEXT_COEFF_550_LKT(64,17)=36.028000 !rg=1.61427 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,18,1:6)=(/ 29.380000,29.587000,29.862000,30.292000,31.120000,32.690000 /) -XPIZA_LKT(64,18,1:6)=(/ 0.681313,0.716820,0.745026,0.884876,0.906812,0.932579 /) -XCGA_LKT(64,18,1:6)=(/ 0.900100,0.891370,0.883580,0.849637,0.838797,0.807700 /) -XEXT_COEFF_550_LKT(64,18)=29.868000 !rg=1.61427 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,19,1:6)=(/ 24.376000,24.539000,24.733000,25.064000,25.667000,26.827000 /) -XPIZA_LKT(64,19,1:6)=(/ 0.667727,0.703516,0.733386,0.878447,0.901679,0.926109 /) -XCGA_LKT(64,19,1:6)=(/ 0.903537,0.894537,0.886967,0.853267,0.844713,0.817060 /) -XEXT_COEFF_550_LKT(64,19)=24.724000 !rg=1.61427 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(64,20,1:6)=(/ 20.264000,20.358000,20.535000,20.732000,21.115000,21.869000 /) -XPIZA_LKT(64,20,1:6)=(/ 0.654824,0.690072,0.721838,0.870609,0.896029,0.920287 /) -XCGA_LKT(64,20,1:6)=(/ 0.907200,0.897763,0.890103,0.855770,0.851060,0.826950 /) -XEXT_COEFF_550_LKT(64,20)=20.512000 !rg=1.61427 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,1,1:6)=(/ 365.740000,359.430000,419.120000,484.780000,506.130000,534.960000 /) -XPIZA_LKT(65,1,1:6)=(/ 0.802088,0.855063,0.906049,0.973370,0.987728,0.994653 /) -XCGA_LKT(65,1,1:6)=(/ 0.864407,0.831057,0.812623,0.786393,0.714127,0.779373 /) -XEXT_COEFF_550_LKT(65,1)=419.280000 !rg=1.74883 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,2,1:6)=(/ 350.250000,358.680000,373.860000,414.510000,455.940000,530.880000 /) -XPIZA_LKT(65,2,1:6)=(/ 0.795447,0.853948,0.895670,0.970241,0.986332,0.994577 /) -XCGA_LKT(65,2,1:6)=(/ 0.868217,0.836007,0.808687,0.768913,0.700077,0.786000 /) -XEXT_COEFF_550_LKT(65,2)=372.240000 !rg=1.74883 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,3,1:6)=(/ 323.700000,332.020000,343.360000,362.970000,403.230000,505.350000 /) -XPIZA_LKT(65,3,1:6)=(/ 0.786565,0.846746,0.889557,0.966968,0.984645,0.994244 /) -XCGA_LKT(65,3,1:6)=(/ 0.869570,0.838890,0.807127,0.765777,0.698737,0.786587 /) -XEXT_COEFF_550_LKT(65,3)=342.630000 !rg=1.74883 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,4,1:6)=(/ 291.850000,299.240000,308.730000,321.230000,359.190000,456.600000 /) -XPIZA_LKT(65,4,1:6)=(/ 0.781324,0.836500,0.881865,0.964353,0.982746,0.993556 /) -XCGA_LKT(65,4,1:6)=(/ 0.871880,0.843750,0.812817,0.766833,0.707673,0.781110 /) -XEXT_COEFF_550_LKT(65,4)=308.580000 !rg=1.74883 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,5,1:6)=(/ 258.660000,264.200000,272.750000,284.190000,314.450000,394.100000 /) -XPIZA_LKT(65,5,1:6)=(/ 0.779189,0.825412,0.870884,0.960399,0.980372,0.992429 /) -XCGA_LKT(65,5,1:6)=(/ 0.873703,0.849780,0.822340,0.760283,0.719850,0.770683 /) -XEXT_COEFF_550_LKT(65,5)=269.930000 !rg=1.74883 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,6,1:6)=(/ 225.400000,229.170000,235.770000,243.070000,270.230000,330.670000 /) -XPIZA_LKT(65,6,1:6)=(/ 0.777723,0.813957,0.858975,0.956742,0.977497,0.990910 /) -XCGA_LKT(65,6,1:6)=(/ 0.875287,0.855117,0.826240,0.777517,0.730430,0.760057 /) -XEXT_COEFF_550_LKT(65,6)=236.560000 !rg=1.74883 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,7,1:6)=(/ 193.200000,197.290000,202.080000,208.490000,228.940000,273.150000 /) -XPIZA_LKT(65,7,1:6)=(/ 0.775117,0.804274,0.845866,0.951077,0.973867,0.988900 /) -XCGA_LKT(65,7,1:6)=(/ 0.876297,0.859797,0.833393,0.785437,0.740890,0.750937 /) -XEXT_COEFF_550_LKT(65,7)=202.040000 !rg=1.74883 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,8,1:6)=(/ 164.940000,167.560000,171.740000,176.810000,191.550000,224.280000 /) -XPIZA_LKT(65,8,1:6)=(/ 0.773003,0.796497,0.831697,0.944382,0.970528,0.986547 /) -XCGA_LKT(65,8,1:6)=(/ 0.877980,0.864060,0.840890,0.791750,0.754730,0.746230 /) -XEXT_COEFF_550_LKT(65,8)=172.000000 !rg=1.74883 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,9,1:6)=(/ 139.490000,142.060000,144.960000,149.590000,159.400000,183.490000 /) -XPIZA_LKT(65,9,1:6)=(/ 0.768960,0.789886,0.820181,0.936738,0.965463,0.983613 /) -XCGA_LKT(65,9,1:6)=(/ 0.879530,0.867987,0.848817,0.797530,0.768440,0.745407 /) -XEXT_COEFF_550_LKT(65,9)=143.860000 !rg=1.74883 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,10,1:6)=(/ 117.390000,119.150000,121.520000,125.260000,132.250000,149.690000 /) -XPIZA_LKT(65,10,1:6)=(/ 0.763606,0.784464,0.810645,0.928788,0.960517,0.980709 /) -XCGA_LKT(65,10,1:6)=(/ 0.881187,0.871183,0.854263,0.808867,0.780170,0.749730 /) -XEXT_COEFF_550_LKT(65,10)=121.240000 !rg=1.74883 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,11,1:6)=(/ 98.388000,99.937000,101.580000,104.470000,109.520000,121.900000 /) -XPIZA_LKT(65,11,1:6)=(/ 0.757270,0.777883,0.801045,0.921298,0.952990,0.976109 /) -XCGA_LKT(65,11,1:6)=(/ 0.883147,0.874017,0.860813,0.815387,0.788343,0.753503 /) -XEXT_COEFF_550_LKT(65,11)=101.570000 !rg=1.74883 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,12,1:6)=(/ 82.133000,83.182000,84.352000,86.429000,90.469000,99.242000 /) -XPIZA_LKT(65,12,1:6)=(/ 0.748511,0.771935,0.793094,0.914930,0.945327,0.972302 /) -XCGA_LKT(65,12,1:6)=(/ 0.885097,0.877097,0.865013,0.823657,0.799810,0.762293 /) -XEXT_COEFF_550_LKT(65,12)=84.290000 !rg=1.74883 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,13,1:6)=(/ 68.468000,69.063000,70.106000,71.615000,74.339000,80.774000 /) -XPIZA_LKT(65,13,1:6)=(/ 0.738716,0.763975,0.785689,0.909158,0.937199,0.966575 /) -XCGA_LKT(65,13,1:6)=(/ 0.887553,0.879430,0.869597,0.828310,0.809453,0.770513 /) -XEXT_COEFF_550_LKT(65,13)=70.118000 !rg=1.74883 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,14,1:6)=(/ 56.878000,57.600000,58.189000,59.464000,61.622000,66.292000 /) -XPIZA_LKT(65,14,1:6)=(/ 0.727229,0.756363,0.777475,0.903033,0.929232,0.960085 /) -XCGA_LKT(65,14,1:6)=(/ 0.889797,0.882087,0.872653,0.834527,0.814987,0.775533 /) -XEXT_COEFF_550_LKT(65,14)=58.308000 !rg=1.74883 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,15,1:6)=(/ 47.273000,47.781000,48.274000,49.139000,50.883000,54.384000 /) -XPIZA_LKT(65,15,1:6)=(/ 0.714829,0.745807,0.769928,0.897987,0.922408,0.953005 /) -XCGA_LKT(65,15,1:6)=(/ 0.892367,0.884700,0.876087,0.839423,0.823010,0.785860 /) -XEXT_COEFF_550_LKT(65,15)=48.195000 !rg=1.74883 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,16,1:6)=(/ 39.266000,39.587000,40.021000,40.650000,41.771000,44.149000 /) -XPIZA_LKT(65,16,1:6)=(/ 0.702237,0.735155,0.760958,0.893051,0.916074,0.944860 /) -XCGA_LKT(65,16,1:6)=(/ 0.895453,0.887140,0.879570,0.843857,0.831437,0.797293 /) -XEXT_COEFF_550_LKT(65,16)=40.036000 !rg=1.74883 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,17,1:6)=(/ 32.596000,32.897000,33.157000,33.704000,34.447000,36.197000 /) -XPIZA_LKT(65,17,1:6)=(/ 0.688452,0.723723,0.750665,0.888096,0.910407,0.937466 /) -XCGA_LKT(65,17,1:6)=(/ 0.898463,0.890163,0.882330,0.847460,0.837337,0.805280 /) -XEXT_COEFF_550_LKT(65,17)=33.125000 !rg=1.74883 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,18,1:6)=(/ 27.091000,27.305000,27.487000,27.841000,28.515000,29.896000 /) -XPIZA_LKT(65,18,1:6)=(/ 0.675178,0.710836,0.740382,0.881704,0.904459,0.929924 /) -XCGA_LKT(65,18,1:6)=(/ 0.901573,0.892930,0.885027,0.851143,0.842133,0.812887 /) -XEXT_COEFF_550_LKT(65,18)=27.466000 !rg=1.74883 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,19,1:6)=(/ 22.497000,22.622000,22.797000,23.054000,23.544000,24.439000 /) -XPIZA_LKT(65,19,1:6)=(/ 0.661934,0.697476,0.728443,0.874925,0.899001,0.923628 /) -XCGA_LKT(65,19,1:6)=(/ 0.905233,0.895990,0.888213,0.854267,0.848103,0.822347 /) -XEXT_COEFF_550_LKT(65,19)=22.840000 !rg=1.74883 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(65,20,1:6)=(/ 18.669000,18.789000,18.897000,19.132000,19.425000,20.112000 /) -XPIZA_LKT(65,20,1:6)=(/ 0.648747,0.684448,0.715794,0.867373,0.893166,0.917434 /) -XCGA_LKT(65,20,1:6)=(/ 0.908817,0.899333,0.891243,0.857300,0.852103,0.828617 /) -XEXT_COEFF_550_LKT(65,20)=18.888000 !rg=1.74883 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,1,1:6)=(/ 336.570000,356.200000,349.900000,415.980000,391.390000,547.640000 /) -XPIZA_LKT(66,1,1:6)=(/ 0.789558,0.853688,0.888681,0.970478,0.984200,0.994689 /) -XCGA_LKT(66,1,1:6)=(/ 0.870337,0.842947,0.798413,0.778583,0.664070,0.792827 /) -XEXT_COEFF_550_LKT(66,1)=345.600000 !rg=1.89461 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,2,1:6)=(/ 323.030000,328.830000,340.270000,362.830000,367.900000,528.920000 /) -XPIZA_LKT(66,2,1:6)=(/ 0.782287,0.845822,0.890010,0.968696,0.983186,0.994495 /) -XCGA_LKT(66,2,1:6)=(/ 0.872387,0.841683,0.811320,0.782583,0.665647,0.793167 /) -XEXT_COEFF_550_LKT(66,2)=340.190000 !rg=1.89461 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,3,1:6)=(/ 297.650000,305.330000,314.570000,328.910000,347.350000,491.480000 /) -XPIZA_LKT(66,3,1:6)=(/ 0.775436,0.837889,0.881686,0.965554,0.981985,0.994021 /) -XCGA_LKT(66,3,1:6)=(/ 0.875070,0.845070,0.814700,0.776487,0.682457,0.789690 /) -XEXT_COEFF_550_LKT(66,3)=315.830000 !rg=1.89461 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,4,1:6)=(/ 268.550000,275.360000,282.800000,293.500000,319.160000,432.790000 /) -XPIZA_LKT(66,4,1:6)=(/ 0.774480,0.827309,0.873376,0.962439,0.980161,0.993135 /) -XCGA_LKT(66,4,1:6)=(/ 0.876007,0.849740,0.820347,0.776287,0.703503,0.780113 /) -XEXT_COEFF_550_LKT(66,4)=284.150000 !rg=1.89461 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,5,1:6)=(/ 237.270000,242.870000,249.520000,258.870000,281.830000,365.860000 /) -XPIZA_LKT(66,5,1:6)=(/ 0.774588,0.815878,0.863877,0.957647,0.978149,0.991811 /) -XCGA_LKT(66,5,1:6)=(/ 0.876123,0.854373,0.825237,0.778117,0.719753,0.767550 /) -XEXT_COEFF_550_LKT(66,5)=249.470000 !rg=1.89461 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,6,1:6)=(/ 207.650000,211.380000,215.660000,224.840000,244.270000,303.860000 /) -XPIZA_LKT(66,6,1:6)=(/ 0.774711,0.806244,0.851297,0.953087,0.975128,0.990039 /) -XCGA_LKT(66,6,1:6)=(/ 0.876973,0.859670,0.833593,0.783487,0.737437,0.756173 /) -XEXT_COEFF_550_LKT(66,6)=216.450000 !rg=1.89461 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,7,1:6)=(/ 177.600000,181.630000,185.450000,191.300000,208.900000,249.870000 /) -XPIZA_LKT(66,7,1:6)=(/ 0.772646,0.797906,0.837233,0.947418,0.970376,0.987633 /) -XCGA_LKT(66,7,1:6)=(/ 0.878217,0.863923,0.839920,0.792300,0.746997,0.747667 /) -XEXT_COEFF_550_LKT(66,7)=185.780000 !rg=1.89461 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,8,1:6)=(/ 152.100000,154.300000,157.380000,163.050000,174.030000,204.310000 /) -XPIZA_LKT(66,8,1:6)=(/ 0.770502,0.791992,0.825181,0.940301,0.968012,0.985354 /) -XCGA_LKT(66,8,1:6)=(/ 0.879420,0.867323,0.846547,0.798687,0.763673,0.745970 /) -XEXT_COEFF_550_LKT(66,8)=157.470000 !rg=1.89461 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,9,1:6)=(/ 128.190000,130.480000,133.240000,137.040000,146.280000,166.950000 /) -XPIZA_LKT(66,9,1:6)=(/ 0.766519,0.785795,0.813875,0.932075,0.961579,0.981963 /) -XCGA_LKT(66,9,1:6)=(/ 0.880377,0.870473,0.852410,0.805317,0.768107,0.743590 /) -XEXT_COEFF_550_LKT(66,9)=132.910000 !rg=1.89461 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,10,1:6)=(/ 108.270000,109.810000,111.710000,115.100000,120.720000,136.180000 /) -XPIZA_LKT(66,10,1:6)=(/ 0.760472,0.780387,0.804925,0.925043,0.956957,0.978797 /) -XCGA_LKT(66,10,1:6)=(/ 0.882517,0.872980,0.858613,0.810733,0.785393,0.750180 /) -XEXT_COEFF_550_LKT(66,10)=111.400000 !rg=1.89461 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,11,1:6)=(/ 90.484000,92.040000,93.560000,96.015000,99.915000,111.100000 /) -XPIZA_LKT(66,11,1:6)=(/ 0.752754,0.774224,0.796127,0.917552,0.949789,0.974367 /) -XCGA_LKT(66,11,1:6)=(/ 0.884010,0.876063,0.863183,0.820027,0.794447,0.756240 /) -XEXT_COEFF_550_LKT(66,11)=93.271000 !rg=1.89461 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,12,1:6)=(/ 75.743000,76.498000,77.713000,79.563000,82.635000,90.420000 /) -XPIZA_LKT(66,12,1:6)=(/ 0.744121,0.767679,0.788978,0.911679,0.941396,0.969786 /) -XCGA_LKT(66,12,1:6)=(/ 0.886533,0.878247,0.868010,0.825380,0.805080,0.765417 /) -XEXT_COEFF_550_LKT(66,12)=77.692000 !rg=1.89461 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,13,1:6)=(/ 62.984000,63.746000,64.485000,66.047000,68.350000,73.947000 /) -XPIZA_LKT(66,13,1:6)=(/ 0.733382,0.760470,0.781151,0.905405,0.933299,0.963913 /) -XCGA_LKT(66,13,1:6)=(/ 0.888530,0.880993,0.871383,0.832030,0.811293,0.771073 /) -XEXT_COEFF_550_LKT(66,13)=64.573000 !rg=1.89461 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,14,1:6)=(/ 52.419000,52.951000,53.704000,54.495000,56.501000,60.758000 /) -XPIZA_LKT(66,14,1:6)=(/ 0.721499,0.751305,0.774285,0.900569,0.926260,0.957002 /) -XCGA_LKT(66,14,1:6)=(/ 0.891223,0.883273,0.874927,0.836993,0.820080,0.781060 /) -XEXT_COEFF_550_LKT(66,14)=53.686000 !rg=1.89461 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,15,1:6)=(/ 43.663000,43.955000,44.522000,45.333000,46.597000,49.453000 /) -XPIZA_LKT(66,15,1:6)=(/ 0.709572,0.741169,0.765074,0.895866,0.919650,0.949995 /) -XCGA_LKT(66,15,1:6)=(/ 0.893907,0.885553,0.878130,0.841933,0.827717,0.791510 /) -XEXT_COEFF_550_LKT(66,15)=44.569000 !rg=1.89461 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,16,1:6)=(/ 36.154000,36.531000,36.864000,37.468000,38.216000,40.348000 /) -XPIZA_LKT(66,16,1:6)=(/ 0.695740,0.730192,0.756264,0.890681,0.913562,0.941633 /) -XCGA_LKT(66,16,1:6)=(/ 0.896640,0.888753,0.880843,0.845877,0.835627,0.801623 /) -XEXT_COEFF_550_LKT(66,16)=36.819000 !rg=1.89461 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,17,1:6)=(/ 30.080000,30.269000,30.593000,30.976000,31.703000,33.274000 /) -XPIZA_LKT(66,17,1:6)=(/ 0.682648,0.717932,0.746399,0.885010,0.907762,0.934123 /) -XCGA_LKT(66,17,1:6)=(/ 0.899957,0.891273,0.884000,0.849327,0.841360,0.810080 /) -XEXT_COEFF_550_LKT(66,17)=30.598000 !rg=1.89461 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,18,1:6)=(/ 25.002000,25.142000,25.370000,25.712000,26.231000,27.324000 /) -XPIZA_LKT(66,18,1:6)=(/ 0.669283,0.704936,0.734858,0.878983,0.901918,0.927315 /) -XCGA_LKT(66,18,1:6)=(/ 0.903330,0.894157,0.886737,0.852780,0.845457,0.817880 /) -XEXT_COEFF_550_LKT(66,18)=25.401000 !rg=1.89461 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,19,1:6)=(/ 20.734000,20.876000,21.010000,21.260000,21.566000,22.371000 /) -XPIZA_LKT(66,19,1:6)=(/ 0.655767,0.691749,0.722827,0.871451,0.896411,0.920748 /) -XCGA_LKT(66,19,1:6)=(/ 0.906737,0.897610,0.889597,0.855813,0.850873,0.825910 /) -XEXT_COEFF_550_LKT(66,19)=21.008000 !rg=1.89461 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(66,20,1:6)=(/ 17.226000,17.305000,17.438000,17.599000,17.888000,18.496000 /) -XPIZA_LKT(66,20,1:6)=(/ 0.643195,0.678131,0.710390,0.863051,0.890354,0.914806 /) -XCGA_LKT(66,20,1:6)=(/ 0.910483,0.900747,0.892763,0.858463,0.854810,0.832623 /) -XEXT_COEFF_550_LKT(66,20)=17.433000 !rg=1.89461 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,1,1:6)=(/ 309.090000,314.680000,306.510000,333.110000,307.140000,538.230000 /) -XPIZA_LKT(67,1,1:6)=(/ 0.776053,0.840280,0.878417,0.960778,0.979754,0.994609 /) -XCGA_LKT(67,1,1:6)=(/ 0.875490,0.843333,0.795063,0.769563,0.613143,0.801320 /) -XEXT_COEFF_550_LKT(67,1)=307.240000 !rg=2.05254 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,2,1:6)=(/ 297.340000,303.570000,310.730000,321.830000,307.410000,516.970000 /) -XPIZA_LKT(67,2,1:6)=(/ 0.769262,0.837215,0.882481,0.963633,0.979708,0.994310 /) -XCGA_LKT(67,2,1:6)=(/ 0.877640,0.846830,0.814920,0.783167,0.638057,0.797363 /) -XEXT_COEFF_550_LKT(67,2)=310.860000 !rg=2.05254 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,3,1:6)=(/ 274.010000,281.160000,288.040000,298.540000,302.990000,468.640000 /) -XPIZA_LKT(67,3,1:6)=(/ 0.768300,0.828829,0.874919,0.962973,0.979488,0.993673 /) -XCGA_LKT(67,3,1:6)=(/ 0.878987,0.849757,0.821453,0.777887,0.676253,0.789733 /) -XEXT_COEFF_550_LKT(67,3)=288.090000 !rg=2.05254 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,4,1:6)=(/ 247.100000,253.560000,259.220000,268.490000,283.570000,402.810000 /) -XPIZA_LKT(67,4,1:6)=(/ 0.770346,0.817963,0.866333,0.959797,0.978316,0.992573 /) -XCGA_LKT(67,4,1:6)=(/ 0.878677,0.854073,0.826890,0.778553,0.706130,0.776500 /) -XEXT_COEFF_550_LKT(67,4)=259.680000 !rg=2.05254 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,5,1:6)=(/ 218.590000,223.670000,228.920000,236.300000,255.900000,335.900000 /) -XPIZA_LKT(67,5,1:6)=(/ 0.771457,0.807053,0.854571,0.955484,0.975156,0.990985 /) -XCGA_LKT(67,5,1:6)=(/ 0.878710,0.859150,0.831590,0.786493,0.724547,0.762120 /) -XEXT_COEFF_550_LKT(67,5)=229.840000 !rg=2.05254 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,6,1:6)=(/ 190.770000,194.570000,199.010000,206.810000,219.690000,276.280000 /) -XPIZA_LKT(67,6,1:6)=(/ 0.771482,0.798449,0.842735,0.948875,0.972961,0.989041 /) -XCGA_LKT(67,6,1:6)=(/ 0.878627,0.863263,0.839047,0.783710,0.743770,0.750810 /) -XEXT_COEFF_550_LKT(67,6)=198.740000 !rg=2.05254 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,7,1:6)=(/ 163.730000,167.290000,170.550000,176.030000,187.570000,226.140000 /) -XPIZA_LKT(67,7,1:6)=(/ 0.771111,0.792109,0.829642,0.943255,0.969140,0.986590 /) -XCGA_LKT(67,7,1:6)=(/ 0.879573,0.866603,0.845640,0.794340,0.755617,0.744823 /) -XEXT_COEFF_550_LKT(67,7)=170.780000 !rg=2.05254 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,8,1:6)=(/ 140.080000,141.920000,144.970000,149.870000,158.020000,185.190000 /) -XPIZA_LKT(67,8,1:6)=(/ 0.767581,0.786874,0.818454,0.935883,0.964957,0.983838 /) -XCGA_LKT(67,8,1:6)=(/ 0.880823,0.869953,0.851443,0.799670,0.769527,0.743683 /) -XEXT_COEFF_550_LKT(67,8)=144.680000 !rg=2.05254 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,9,1:6)=(/ 118.310000,120.200000,122.350000,125.590000,133.820000,152.400000 /) -XPIZA_LKT(67,9,1:6)=(/ 0.763313,0.781641,0.807718,0.928473,0.958833,0.979793 /) -XCGA_LKT(67,9,1:6)=(/ 0.882100,0.872887,0.856853,0.811663,0.776307,0.744627 /) -XEXT_COEFF_550_LKT(67,9)=122.190000 !rg=2.05254 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,10,1:6)=(/ 99.600000,100.980000,102.880000,105.630000,111.260000,124.280000 /) -XPIZA_LKT(67,10,1:6)=(/ 0.757413,0.777051,0.799314,0.920918,0.952135,0.976054 /) -XCGA_LKT(67,10,1:6)=(/ 0.883257,0.874990,0.861363,0.816980,0.784857,0.748697 /) -XEXT_COEFF_550_LKT(67,10)=102.830000 !rg=2.05254 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,11,1:6)=(/ 83.655000,84.603000,86.057000,87.945000,91.971000,101.410000 /) -XPIZA_LKT(67,11,1:6)=(/ 0.749536,0.770650,0.791241,0.914642,0.945728,0.972099 /) -XCGA_LKT(67,11,1:6)=(/ 0.885390,0.877860,0.866367,0.823397,0.799267,0.758680 /) -XEXT_COEFF_550_LKT(67,11)=85.426000 !rg=2.05254 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,12,1:6)=(/ 69.700000,70.554000,71.477000,73.160000,76.124000,82.861000 /) -XPIZA_LKT(67,12,1:6)=(/ 0.739402,0.764625,0.784369,0.908108,0.936956,0.966418 /) -XCGA_LKT(67,12,1:6)=(/ 0.887393,0.879940,0.869847,0.829790,0.805803,0.764640 /) -XEXT_COEFF_550_LKT(67,12)=71.627000 !rg=2.05254 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,13,1:6)=(/ 58.114000,58.600000,59.481000,60.530000,62.787000,67.844000 /) -XPIZA_LKT(67,13,1:6)=(/ 0.728529,0.756005,0.777553,0.902924,0.930062,0.960675 /) -XCGA_LKT(67,13,1:6)=(/ 0.889917,0.882060,0.873640,0.834823,0.816550,0.775970 /) -XEXT_COEFF_550_LKT(67,13)=59.537000 !rg=2.05254 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,14,1:6)=(/ 48.323000,48.726000,49.342000,50.119000,51.782000,55.286000 /) -XPIZA_LKT(67,14,1:6)=(/ 0.716291,0.746721,0.769318,0.898465,0.923491,0.954653 /) -XCGA_LKT(67,14,1:6)=(/ 0.892270,0.884787,0.876557,0.840183,0.824053,0.785570 /) -XEXT_COEFF_550_LKT(67,14)=49.459000 !rg=2.05254 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,15,1:6)=(/ 40.173000,40.552000,40.938000,41.632000,42.739000,45.122000 /) -XPIZA_LKT(67,15,1:6)=(/ 0.703295,0.736561,0.761258,0.893503,0.917192,0.946927 /) -XCGA_LKT(67,15,1:6)=(/ 0.895060,0.887370,0.879180,0.844517,0.832753,0.798000 /) -XEXT_COEFF_550_LKT(67,15)=40.862000 !rg=2.05254 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,16,1:6)=(/ 33.395000,33.622000,33.996000,34.398000,35.381000,37.196000 /) -XPIZA_LKT(67,16,1:6)=(/ 0.690348,0.724429,0.751849,0.887819,0.910580,0.938250 /) -XCGA_LKT(67,16,1:6)=(/ 0.898223,0.889987,0.882673,0.847913,0.837833,0.805790 /) -XEXT_COEFF_550_LKT(67,16)=33.851000 !rg=2.05254 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,17,1:6)=(/ 27.734000,27.923000,28.127000,28.487000,29.172000,30.518000 /) -XPIZA_LKT(67,17,1:6)=(/ 0.676562,0.712108,0.741344,0.882405,0.905248,0.931329 /) -XCGA_LKT(67,17,1:6)=(/ 0.901497,0.892817,0.885070,0.851723,0.843153,0.812967 /) -XEXT_COEFF_550_LKT(67,17)=28.189000 !rg=2.05254 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,18,1:6)=(/ 23.040000,23.202000,23.355000,23.641000,24.117000,25.029000 /) -XPIZA_LKT(67,18,1:6)=(/ 0.663004,0.699412,0.729742,0.875744,0.899558,0.924917 /) -XCGA_LKT(67,18,1:6)=(/ 0.904853,0.895857,0.887853,0.854573,0.848553,0.823313 /) -XEXT_COEFF_550_LKT(67,18)=23.328000 !rg=2.05254 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,19,1:6)=(/ 19.138000,19.233000,19.386000,19.564000,19.973000,20.673000 /) -XPIZA_LKT(67,19,1:6)=(/ 0.650089,0.685582,0.717467,0.867710,0.893713,0.917942 /) -XCGA_LKT(67,19,1:6)=(/ 0.908543,0.898970,0.891250,0.857037,0.852360,0.829790 /) -XEXT_COEFF_550_LKT(67,19)=19.363000 !rg=2.05254 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(67,20,1:6)=(/ 15.885000,15.967000,16.051000,16.207000,16.479000,17.001000 /) -XPIZA_LKT(67,20,1:6)=(/ 0.637586,0.672132,0.704296,0.859183,0.887533,0.911987 /) -XCGA_LKT(67,20,1:6)=(/ 0.912197,0.902403,0.894070,0.860240,0.856233,0.834773 /) -XEXT_COEFF_550_LKT(67,20)=16.077000 !rg=2.05254 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,1,1:6)=(/ 287.130000,291.980000,305.100000,282.490000,252.930000,525.600000 /) -XPIZA_LKT(68,1,1:6)=(/ 0.758562,0.830638,0.881864,0.951206,0.975016,0.994318 /) -XCGA_LKT(68,1,1:6)=(/ 0.882543,0.848073,0.824857,0.708547,0.571327,0.803120 /) -XEXT_COEFF_550_LKT(68,1)=310.940000 !rg=2.22363 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,2,1:6)=(/ 272.610000,279.960000,286.380000,289.970000,268.220000,494.500000 /) -XPIZA_LKT(68,2,1:6)=(/ 0.755722,0.827545,0.874166,0.959169,0.976697,0.993997 /) -XCGA_LKT(68,2,1:6)=(/ 0.883043,0.852100,0.822203,0.767027,0.629413,0.798070 /) -XEXT_COEFF_550_LKT(68,2)=285.980000 !rg=2.22363 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,3,1:6)=(/ 251.850000,257.740000,264.770000,275.950000,273.820000,437.500000 /) -XPIZA_LKT(68,3,1:6)=(/ 0.761468,0.818410,0.868051,0.958441,0.977446,0.993168 /) -XCGA_LKT(68,3,1:6)=(/ 0.881853,0.855190,0.826107,0.786730,0.684110,0.786520 /) -XEXT_COEFF_550_LKT(68,3)=263.870000 !rg=2.22363 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,4,1:6)=(/ 227.170000,232.490000,238.530000,248.660000,257.060000,368.730000 /) -XPIZA_LKT(68,4,1:6)=(/ 0.766367,0.807468,0.858646,0.955330,0.976390,0.991834 /) -XCGA_LKT(68,4,1:6)=(/ 0.880707,0.859320,0.831123,0.787487,0.715077,0.770537 /) -XEXT_COEFF_550_LKT(68,4)=237.760000 !rg=2.22363 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,5,1:6)=(/ 201.300000,205.850000,210.210000,216.690000,229.610000,303.950000 /) -XPIZA_LKT(68,5,1:6)=(/ 0.769623,0.799307,0.846336,0.952541,0.973983,0.990034 /) -XCGA_LKT(68,5,1:6)=(/ 0.880250,0.862977,0.837683,0.789023,0.733797,0.755413 /) -XEXT_COEFF_550_LKT(68,5)=210.430000 !rg=2.22363 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,6,1:6)=(/ 175.950000,179.050000,183.330000,189.700000,200.100000,249.810000 /) -XPIZA_LKT(68,6,1:6)=(/ 0.770070,0.792683,0.833533,0.945600,0.971057,0.987871 /) -XCGA_LKT(68,6,1:6)=(/ 0.880217,0.866743,0.842697,0.794083,0.748270,0.745987 /) -XEXT_COEFF_550_LKT(68,6)=182.610000 !rg=2.22363 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,7,1:6)=(/ 150.580000,153.670000,157.040000,162.230000,170.820000,204.730000 /) -XPIZA_LKT(68,7,1:6)=(/ 0.768407,0.786350,0.821839,0.938778,0.966934,0.985233 /) -XCGA_LKT(68,7,1:6)=(/ 0.880537,0.869780,0.849137,0.801333,0.762607,0.742367 /) -XEXT_COEFF_550_LKT(68,7)=156.420000 !rg=2.22363 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,8,1:6)=(/ 128.750000,130.860000,133.290000,137.700000,144.800000,167.940000 /) -XPIZA_LKT(68,8,1:6)=(/ 0.765165,0.783047,0.811259,0.931268,0.962057,0.982122 /) -XCGA_LKT(68,8,1:6)=(/ 0.881747,0.872253,0.854883,0.806810,0.770857,0.741610 /) -XEXT_COEFF_550_LKT(68,8)=133.330000 !rg=2.22363 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,9,1:6)=(/ 109.100000,110.550000,112.590000,115.510000,121.130000,137.270000 /) -XPIZA_LKT(68,9,1:6)=(/ 0.760348,0.778688,0.801798,0.924760,0.956857,0.978738 /) -XCGA_LKT(68,9,1:6)=(/ 0.883343,0.874060,0.860607,0.814577,0.783880,0.747130 /) -XEXT_COEFF_550_LKT(68,9)=112.450000 !rg=2.22363 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,10,1:6)=(/ 91.749000,93.175000,94.513000,96.782000,101.890000,113.510000 /) -XPIZA_LKT(68,10,1:6)=(/ 0.752744,0.772860,0.794645,0.916906,0.948994,0.973818 /) -XCGA_LKT(68,10,1:6)=(/ 0.884503,0.876997,0.864667,0.821083,0.792613,0.752537 /) -XEXT_COEFF_550_LKT(68,10)=94.658000 !rg=2.22363 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,11,1:6)=(/ 76.888000,77.965000,79.085000,80.795000,84.664000,92.644000 /) -XPIZA_LKT(68,11,1:6)=(/ 0.744771,0.767911,0.787131,0.910544,0.941494,0.969515 /) -XCGA_LKT(68,11,1:6)=(/ 0.886133,0.879320,0.868987,0.827650,0.800193,0.758453 /) -XEXT_COEFF_550_LKT(68,11)=78.864000 !rg=2.22363 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,12,1:6)=(/ 64.234000,64.997000,65.876000,67.045000,69.815000,75.881000 /) -XPIZA_LKT(68,12,1:6)=(/ 0.734102,0.760200,0.780846,0.905225,0.933672,0.963754 /) -XCGA_LKT(68,12,1:6)=(/ 0.888690,0.881403,0.872313,0.832497,0.811823,0.770223 /) -XEXT_COEFF_550_LKT(68,12)=65.930000 !rg=2.22363 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,13,1:6)=(/ 53.522000,54.047000,54.635000,55.505000,57.556000,61.719000 /) -XPIZA_LKT(68,13,1:6)=(/ 0.723071,0.752219,0.773315,0.900384,0.927201,0.958669 /) -XCGA_LKT(68,13,1:6)=(/ 0.891077,0.883790,0.875160,0.838367,0.820307,0.779930 /) -XEXT_COEFF_550_LKT(68,13)=54.762000 !rg=2.22363 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,14,1:6)=(/ 44.537000,44.959000,45.371000,46.164000,47.610000,50.561000 /) -XPIZA_LKT(68,14,1:6)=(/ 0.710360,0.742490,0.765495,0.895502,0.919522,0.950719 /) -XCGA_LKT(68,14,1:6)=(/ 0.893587,0.886213,0.878490,0.842830,0.828430,0.792270 /) -XEXT_COEFF_550_LKT(68,14)=45.381000 !rg=2.22363 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,15,1:6)=(/ 37.078000,37.353000,37.727000,38.338000,39.256000,41.419000 /) -XPIZA_LKT(68,15,1:6)=(/ 0.697547,0.731291,0.756930,0.890697,0.913297,0.942343 /) -XCGA_LKT(68,15,1:6)=(/ 0.896580,0.888333,0.881270,0.845483,0.835763,0.801867 /) -XEXT_COEFF_550_LKT(68,15)=37.677000 !rg=2.22363 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,16,1:6)=(/ 30.768000,31.026000,31.271000,31.724000,32.538000,34.167000 /) -XPIZA_LKT(68,16,1:6)=(/ 0.683768,0.719345,0.746850,0.885139,0.907499,0.934652 /) -XCGA_LKT(68,16,1:6)=(/ 0.899707,0.891460,0.883983,0.849963,0.839267,0.806797 /) -XEXT_COEFF_550_LKT(68,16)=31.234000 !rg=2.22363 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,17,1:6)=(/ 25.571000,25.763000,25.946000,26.197000,26.828000,28.005000 /) -XPIZA_LKT(68,17,1:6)=(/ 0.670213,0.706533,0.736082,0.879000,0.902313,0.927906 /) -XCGA_LKT(68,17,1:6)=(/ 0.902990,0.894360,0.886780,0.853050,0.845917,0.818060 /) -XEXT_COEFF_550_LKT(68,17)=25.940000 !rg=2.22363 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,18,1:6)=(/ 21.265000,21.376000,21.545000,21.775000,22.195000,22.990000 /) -XPIZA_LKT(68,18,1:6)=(/ 0.657216,0.693183,0.724667,0.872299,0.896768,0.920735 /) -XCGA_LKT(68,18,1:6)=(/ 0.906570,0.897057,0.889633,0.855350,0.851057,0.826077 /) -XEXT_COEFF_550_LKT(68,18)=21.526000 !rg=2.22363 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,19,1:6)=(/ 17.645000,17.751000,17.850000,18.065000,18.354000,19.014000 /) -XPIZA_LKT(68,19,1:6)=(/ 0.644194,0.679791,0.711619,0.864108,0.890528,0.915160 /) -XCGA_LKT(68,19,1:6)=(/ 0.910173,0.900630,0.892507,0.858840,0.853083,0.830587 /) -XEXT_COEFF_550_LKT(68,19)=17.842000 !rg=2.22363 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(68,20,1:6)=(/ 14.655000,14.732000,14.809000,14.902000,15.157000,15.623000 /) -XPIZA_LKT(68,20,1:6)=(/ 0.632115,0.666311,0.698444,0.854307,0.884299,0.909295 /) -XCGA_LKT(68,20,1:6)=(/ 0.913867,0.904087,0.895710,0.861167,0.857993,0.838507 /) -XEXT_COEFF_550_LKT(68,20)=14.809000 !rg=2.22363 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,1,1:6)=(/ 262.030000,268.390000,282.790000,260.230000,230.620000,498.400000 /) -XPIZA_LKT(69,1,1:6)=(/ 0.737229,0.822873,0.874558,0.959473,0.972628,0.994075 /) -XCGA_LKT(69,1,1:6)=(/ 0.889493,0.856203,0.834623,0.791457,0.586847,0.801397 /) -XEXT_COEFF_550_LKT(69,1)=285.290000 !rg=2.40898 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,2,1:6)=(/ 252.090000,257.110000,265.150000,271.700000,251.850000,461.650000 /) -XPIZA_LKT(69,2,1:6)=(/ 0.749565,0.817612,0.865127,0.955986,0.975134,0.993518 /) -XCGA_LKT(69,2,1:6)=(/ 0.886030,0.856103,0.828473,0.785490,0.653370,0.794850 /) -XEXT_COEFF_550_LKT(69,2)=261.290000 !rg=2.40898 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,3,1:6)=(/ 232.220000,236.910000,244.260000,253.300000,253.990000,399.480000 /) -XPIZA_LKT(69,3,1:6)=(/ 0.759261,0.807204,0.858966,0.956078,0.975460,0.992456 /) -XCGA_LKT(69,3,1:6)=(/ 0.883093,0.860887,0.832407,0.777840,0.698710,0.779373 /) -XEXT_COEFF_550_LKT(69,3)=241.260000 !rg=2.40898 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,4,1:6)=(/ 209.590000,213.860000,219.620000,227.640000,235.590000,332.170000 /) -XPIZA_LKT(69,4,1:6)=(/ 0.765276,0.797591,0.849312,0.953404,0.973988,0.990853 /) -XCGA_LKT(69,4,1:6)=(/ 0.881497,0.864657,0.837203,0.784570,0.725180,0.761150 /) -XEXT_COEFF_550_LKT(69,4)=217.440000 !rg=2.40898 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,5,1:6)=(/ 185.140000,188.760000,193.350000,200.620000,209.240000,272.970000 /) -XPIZA_LKT(69,5,1:6)=(/ 0.768059,0.790705,0.838108,0.947573,0.972106,0.988878 /) -XCGA_LKT(69,5,1:6)=(/ 0.881173,0.867417,0.842053,0.796030,0.744937,0.748253 /) -XEXT_COEFF_550_LKT(69,5)=192.540000 !rg=2.40898 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,6,1:6)=(/ 161.710000,164.070000,168.190000,172.870000,183.470000,225.250000 /) -XPIZA_LKT(69,6,1:6)=(/ 0.768906,0.786842,0.826005,0.942674,0.967875,0.986349 /) -XCGA_LKT(69,6,1:6)=(/ 0.880937,0.869747,0.848550,0.798490,0.756543,0.740257 /) -XEXT_COEFF_550_LKT(69,6)=168.140000 !rg=2.40898 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,7,1:6)=(/ 139.100000,141.280000,144.260000,148.230000,156.330000,184.970000 /) -XPIZA_LKT(69,7,1:6)=(/ 0.767101,0.782464,0.813745,0.935871,0.964111,0.983510 /) -XCGA_LKT(69,7,1:6)=(/ 0.881473,0.872740,0.854133,0.804313,0.769240,0.739057 /) -XEXT_COEFF_550_LKT(69,7)=143.270000 !rg=2.40898 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,8,1:6)=(/ 118.610000,120.220000,122.680000,125.830000,133.080000,152.640000 /) -XPIZA_LKT(69,8,1:6)=(/ 0.762103,0.779124,0.804919,0.927102,0.958580,0.980022 /) -XCGA_LKT(69,8,1:6)=(/ 0.882900,0.874010,0.859037,0.811113,0.778443,0.741860 /) -XEXT_COEFF_550_LKT(69,8)=122.920000 !rg=2.40898 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,9,1:6)=(/ 100.260000,101.620000,103.540000,106.220000,110.440000,124.450000 /) -XPIZA_LKT(69,9,1:6)=(/ 0.756935,0.774600,0.797266,0.920247,0.954268,0.977055 /) -XCGA_LKT(69,9,1:6)=(/ 0.883880,0.876553,0.863133,0.819243,0.792027,0.750263 /) -XEXT_COEFF_550_LKT(69,9)=103.200000 !rg=2.40898 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,10,1:6)=(/ 84.661000,85.564000,87.105000,88.933000,92.774000,102.420000 /) -XPIZA_LKT(69,10,1:6)=(/ 0.749703,0.770377,0.789120,0.914237,0.946114,0.972670 /) -XCGA_LKT(69,10,1:6)=(/ 0.885433,0.878283,0.867600,0.824957,0.798597,0.756353 /) -XEXT_COEFF_550_LKT(69,10)=87.037000 !rg=2.40898 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,11,1:6)=(/ 70.810000,71.763000,72.795000,74.365000,77.610000,84.743000 /) -XPIZA_LKT(69,11,1:6)=(/ 0.740041,0.763871,0.783655,0.908187,0.937354,0.966103 /) -XCGA_LKT(69,11,1:6)=(/ 0.887533,0.880843,0.871430,0.832060,0.806410,0.763617 /) -XEXT_COEFF_550_LKT(69,11)=72.536000 !rg=2.40898 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,12,1:6)=(/ 59.243000,59.736000,60.626000,61.617000,63.863000,68.808000 /) -XPIZA_LKT(69,12,1:6)=(/ 0.729556,0.756317,0.776393,0.903057,0.930865,0.962083 /) -XCGA_LKT(69,12,1:6)=(/ 0.889707,0.882710,0.874297,0.835990,0.816563,0.774923 /) -XEXT_COEFF_550_LKT(69,12)=60.693000 !rg=2.40898 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,13,1:6)=(/ 49.328000,49.837000,50.332000,51.137000,52.890000,56.438000 /) -XPIZA_LKT(69,13,1:6)=(/ 0.717278,0.747809,0.769578,0.897573,0.923223,0.955043 /) -XCGA_LKT(69,13,1:6)=(/ 0.892210,0.885307,0.877510,0.841020,0.825213,0.786877 /) -XEXT_COEFF_550_LKT(69,13)=50.358000 !rg=2.40898 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,14,1:6)=(/ 41.130000,41.384000,41.854000,42.461000,43.577000,46.112000 /) -XPIZA_LKT(69,14,1:6)=(/ 0.704800,0.737124,0.761890,0.893438,0.916668,0.946705 /) -XCGA_LKT(69,14,1:6)=(/ 0.895210,0.887240,0.880207,0.844440,0.832863,0.797113 /) -XEXT_COEFF_550_LKT(69,14)=41.856000 !rg=2.40898 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,15,1:6)=(/ 34.162000,34.414000,34.761000,35.266000,36.279000,38.228000 /) -XPIZA_LKT(69,15,1:6)=(/ 0.691351,0.726058,0.752569,0.888234,0.909828,0.937602 /) -XCGA_LKT(69,15,1:6)=(/ 0.897863,0.889770,0.882407,0.848533,0.836457,0.801653 /) -XEXT_COEFF_550_LKT(69,15)=34.776000 !rg=2.40898 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,16,1:6)=(/ 28.343000,28.569000,28.845000,29.220000,29.934000,31.382000 /) -XPIZA_LKT(69,16,1:6)=(/ 0.677314,0.713416,0.742235,0.882839,0.904565,0.930530 /) -XCGA_LKT(69,16,1:6)=(/ 0.901223,0.892787,0.885623,0.852003,0.842227,0.811623 /) -XEXT_COEFF_550_LKT(69,16)=28.771000 !rg=2.40898 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,17,1:6)=(/ 23.598000,23.711000,23.937000,24.197000,24.659000,25.584000 /) -XPIZA_LKT(69,17,1:6)=(/ 0.664387,0.700283,0.731028,0.876076,0.899134,0.924326 /) -XCGA_LKT(69,17,1:6)=(/ 0.904660,0.895597,0.888440,0.854427,0.848643,0.822793 /) -XEXT_COEFF_550_LKT(69,17)=23.926000 !rg=2.40898 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,18,1:6)=(/ 19.600000,19.707000,19.848000,20.063000,20.443000,21.238000 /) -XPIZA_LKT(69,18,1:6)=(/ 0.651125,0.687155,0.718851,0.868857,0.893390,0.917264 /) -XCGA_LKT(69,18,1:6)=(/ 0.908113,0.898643,0.890727,0.857607,0.851853,0.826740 /) -XEXT_COEFF_550_LKT(69,18)=19.861000 !rg=2.40898 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,19,1:6)=(/ 16.266000,16.359000,16.472000,16.615000,16.901000,17.492000 /) -XPIZA_LKT(69,19,1:6)=(/ 0.638414,0.673587,0.706020,0.860212,0.887463,0.911773 /) -XCGA_LKT(69,19,1:6)=(/ 0.911850,0.902120,0.894157,0.860237,0.855383,0.833817 /) -XEXT_COEFF_550_LKT(69,19)=16.453000 !rg=2.40898 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(69,20,1:6)=(/ 13.523000,13.578000,13.663000,13.758000,13.972000,14.327000 /) -XPIZA_LKT(69,20,1:6)=(/ 0.626927,0.660248,0.692669,0.849752,0.880863,0.906244 /) -XCGA_LKT(69,20,1:6)=(/ 0.915647,0.905580,0.897343,0.862497,0.859850,0.841953 /) -XEXT_COEFF_550_LKT(69,20)=13.661000 !rg=2.40898 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,1,1:6)=(/ 240.290000,247.860000,243.880000,277.750000,236.250000,460.350000 /) -XPIZA_LKT(70,1,1:6)=(/ 0.732652,0.811541,0.853904,0.961644,0.973474,0.993435 /) -XCGA_LKT(70,1,1:6)=(/ 0.892207,0.861500,0.824557,0.810337,0.654830,0.798520 /) -XEXT_COEFF_550_LKT(70,1)=248.270000 !rg=2.60978 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,2,1:6)=(/ 231.970000,234.990000,241.580000,250.750000,248.700000,419.480000 /) -XPIZA_LKT(70,2,1:6)=(/ 0.750879,0.806686,0.859553,0.956961,0.974636,0.992814 /) -XCGA_LKT(70,2,1:6)=(/ 0.886673,0.861623,0.836547,0.789553,0.693553,0.787093 /) -XEXT_COEFF_550_LKT(70,2)=241.170000 !rg=2.60978 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,3,1:6)=(/ 213.310000,218.060000,222.990000,231.140000,238.240000,356.270000 /) -XPIZA_LKT(70,3,1:6)=(/ 0.761197,0.796780,0.851768,0.952585,0.973973,0.991508 /) -XCGA_LKT(70,3,1:6)=(/ 0.883367,0.866263,0.838660,0.791723,0.718397,0.768760 /) -XEXT_COEFF_550_LKT(70,3)=223.110000 !rg=2.60978 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,4,1:6)=(/ 192.620000,196.650000,200.820000,207.780000,217.320000,294.460000 /) -XPIZA_LKT(70,4,1:6)=(/ 0.766209,0.789095,0.841127,0.949378,0.971766,0.989674 /) -XCGA_LKT(70,4,1:6)=(/ 0.881783,0.869090,0.842773,0.795523,0.733657,0.750843 /) -XEXT_COEFF_550_LKT(70,4)=200.980000 !rg=2.60978 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,5,1:6)=(/ 170.710000,173.940000,177.690000,183.400000,191.600000,243.490000 /) -XPIZA_LKT(70,5,1:6)=(/ 0.767450,0.784010,0.828461,0.945476,0.969421,0.987409 /) -XCGA_LKT(70,5,1:6)=(/ 0.881730,0.871277,0.847740,0.796680,0.754133,0.739027 /) -XEXT_COEFF_550_LKT(70,5)=176.300000 !rg=2.60978 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,6,1:6)=(/ 148.960000,151.040000,154.000000,157.630000,167.890000,201.470000 /) -XPIZA_LKT(70,6,1:6)=(/ 0.767371,0.780908,0.817416,0.939476,0.965562,0.984833 /) -XCGA_LKT(70,6,1:6)=(/ 0.881860,0.873297,0.852490,0.806903,0.759237,0.735617 /) -XEXT_COEFF_550_LKT(70,6)=154.320000 !rg=2.60978 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,7,1:6)=(/ 127.860000,130.100000,132.420000,135.860000,143.640000,166.530000 /) -XPIZA_LKT(70,7,1:6)=(/ 0.764821,0.779157,0.806962,0.930823,0.960887,0.981802 /) -XCGA_LKT(70,7,1:6)=(/ 0.881977,0.874870,0.858277,0.810993,0.770027,0.736417 /) -XEXT_COEFF_550_LKT(70,7)=132.160000 !rg=2.60978 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,8,1:6)=(/ 109.220000,110.500000,112.580000,115.100000,121.100000,137.430000 /) -XPIZA_LKT(70,8,1:6)=(/ 0.760168,0.775320,0.798693,0.924070,0.956894,0.978686 /) -XCGA_LKT(70,8,1:6)=(/ 0.883353,0.876577,0.862033,0.817253,0.784100,0.742707 /) -XEXT_COEFF_550_LKT(70,8)=112.860000 !rg=2.60978 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,9,1:6)=(/ 92.524000,93.707000,95.092000,97.538000,101.370000,113.130000 /) -XPIZA_LKT(70,9,1:6)=(/ 0.753773,0.771529,0.791385,0.916829,0.949885,0.974622 /) -XCGA_LKT(70,9,1:6)=(/ 0.884967,0.878213,0.866860,0.822010,0.797330,0.752140 /) -XEXT_COEFF_550_LKT(70,9)=94.695000 !rg=2.60978 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,10,1:6)=(/ 77.888000,78.888000,79.950000,81.678000,84.895000,93.035000 /) -XPIZA_LKT(70,10,1:6)=(/ 0.745126,0.767351,0.785985,0.910598,0.942387,0.970607 /) -XCGA_LKT(70,10,1:6)=(/ 0.886510,0.879980,0.869957,0.829467,0.806157,0.762630 /) -XEXT_COEFF_550_LKT(70,10)=79.830000 !rg=2.60978 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,11,1:6)=(/ 65.346000,66.116000,66.986000,68.491000,70.621000,76.452000 /) -XPIZA_LKT(70,11,1:6)=(/ 0.735680,0.760579,0.779300,0.904717,0.934467,0.964594 /) -XCGA_LKT(70,11,1:6)=(/ 0.888777,0.881697,0.873733,0.833870,0.813270,0.770247 /) -XEXT_COEFF_550_LKT(70,11)=66.837000 !rg=2.60978 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,12,1:6)=(/ 54.572000,55.133000,55.683000,56.672000,58.702000,62.789000 /) -XPIZA_LKT(70,12,1:6)=(/ 0.724006,0.752888,0.772873,0.899939,0.926501,0.958928 /) -XCGA_LKT(70,12,1:6)=(/ 0.890880,0.884050,0.876267,0.839313,0.821883,0.781970 /) -XEXT_COEFF_550_LKT(70,12)=55.683000 !rg=2.60978 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,13,1:6)=(/ 45.537000,45.829000,46.408000,47.095000,48.363000,51.355000 /) -XPIZA_LKT(70,13,1:6)=(/ 0.711941,0.742688,0.765937,0.895369,0.919805,0.951258 /) -XCGA_LKT(70,13,1:6)=(/ 0.893600,0.886173,0.879323,0.842853,0.829930,0.792053 /) -XEXT_COEFF_550_LKT(70,13)=46.366000 !rg=2.60978 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,14,1:6)=(/ 37.863000,38.224000,38.505000,39.165000,40.181000,42.385000 /) -XPIZA_LKT(70,14,1:6)=(/ 0.698467,0.732643,0.757052,0.890486,0.913199,0.942568 /) -XCGA_LKT(70,14,1:6)=(/ 0.896320,0.888647,0.881363,0.846810,0.834747,0.798220 /) -XEXT_COEFF_550_LKT(70,14)=38.607000 !rg=2.60978 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,15,1:6)=(/ 31.495000,31.760000,31.997000,32.381000,33.225000,34.945000 /) -XPIZA_LKT(70,15,1:6)=(/ 0.684983,0.720417,0.748088,0.885279,0.907421,0.934834 /) -XCGA_LKT(70,15,1:6)=(/ 0.899283,0.891180,0.883943,0.849797,0.840080,0.807750 /) -XEXT_COEFF_550_LKT(70,15)=31.989000 !rg=2.60978 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,16,1:6)=(/ 26.171000,26.333000,26.548000,26.876000,27.441000,28.571000 /) -XPIZA_LKT(70,16,1:6)=(/ 0.671648,0.707487,0.737131,0.879669,0.902258,0.927800 /) -XCGA_LKT(70,16,1:6)=(/ 0.902817,0.893947,0.886907,0.853247,0.846050,0.817693 /) -XEXT_COEFF_550_LKT(70,16)=26.551000 !rg=2.60978 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,17,1:6)=(/ 21.743000,21.881000,22.018000,22.292000,22.646000,23.490000 /) -XPIZA_LKT(70,17,1:6)=(/ 0.657927,0.694620,0.725385,0.873212,0.896506,0.921463 /) -XCGA_LKT(70,17,1:6)=(/ 0.906243,0.897080,0.889477,0.856047,0.850250,0.824957 /) -XEXT_COEFF_550_LKT(70,17)=22.003000 !rg=2.60978 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,18,1:6)=(/ 18.074000,18.180000,18.287000,18.441000,18.770000,19.438000 /) -XPIZA_LKT(70,18,1:6)=(/ 0.645099,0.681049,0.713126,0.864857,0.890741,0.914929 /) -XCGA_LKT(70,18,1:6)=(/ 0.909770,0.900210,0.892297,0.858537,0.853827,0.830990 /) -XEXT_COEFF_550_LKT(70,18)=18.277000 !rg=2.60978 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,19,1:6)=(/ 15.013000,15.084000,15.173000,15.295000,15.544000,15.992000 /) -XPIZA_LKT(70,19,1:6)=(/ 0.633133,0.667465,0.699989,0.855658,0.884709,0.909142 /) -XCGA_LKT(70,19,1:6)=(/ 0.913573,0.903663,0.895507,0.861400,0.858017,0.838243 /) -XEXT_COEFF_550_LKT(70,19)=15.174000 !rg=2.60978 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(70,20,1:6)=(/ 12.469000,12.529000,12.586000,12.695000,12.842000,13.184000 /) -XPIZA_LKT(70,20,1:6)=(/ 0.621587,0.654547,0.686522,0.845352,0.877480,0.903590 /) -XCGA_LKT(70,20,1:6)=(/ 0.917323,0.907317,0.898657,0.863930,0.860810,0.843393 /) -XEXT_COEFF_550_LKT(70,20)=12.574000 !rg=2.60978 sigma=2.95 wvl=0.55 - - IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET7',1,ZHOOK_HANDLE) - END SUBROUTINE DUST_OPT_LKT_SET7 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET8() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET8',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(71,1,1:6)=(/ 220.270000,228.550000,230.480000,262.220000,252.450000,411.740000 /) -XPIZA_LKT(71,1,1:6)=(/ 0.751647,0.801675,0.854372,0.958853,0.975633,0.992690 /) -XCGA_LKT(71,1,1:6)=(/ 0.886540,0.862543,0.839427,0.805113,0.728693,0.787477 /) -XEXT_COEFF_550_LKT(71,1)=233.860000 !rg=2.82732 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,2,1:6)=(/ 213.230000,216.050000,221.200000,229.780000,245.280000,369.940000 /) -XPIZA_LKT(71,2,1:6)=(/ 0.755432,0.793764,0.848813,0.954824,0.974547,0.991804 /) -XCGA_LKT(71,2,1:6)=(/ 0.885607,0.867937,0.839433,0.794993,0.734320,0.773827 /) -XEXT_COEFF_550_LKT(71,2)=223.350000 !rg=2.82732 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,3,1:6)=(/ 196.900000,200.990000,204.750000,211.060000,225.330000,311.690000 /) -XPIZA_LKT(71,3,1:6)=(/ 0.762618,0.785511,0.841506,0.950406,0.971109,0.990203 /) -XCGA_LKT(71,3,1:6)=(/ 0.883903,0.870187,0.842573,0.798280,0.739073,0.753347 /) -XEXT_COEFF_550_LKT(71,3)=206.090000 !rg=2.82732 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,4,1:6)=(/ 177.740000,181.240000,184.580000,189.720000,202.010000,259.160000 /) -XPIZA_LKT(71,4,1:6)=(/ 0.766595,0.780815,0.830812,0.946662,0.968354,0.988142 /) -XCGA_LKT(71,4,1:6)=(/ 0.882733,0.872510,0.847230,0.802463,0.748383,0.737993 /) -XEXT_COEFF_550_LKT(71,4)=185.290000 !rg=2.82732 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,5,1:6)=(/ 156.920000,159.930000,163.060000,168.090000,176.760000,215.790000 /) -XPIZA_LKT(71,5,1:6)=(/ 0.767865,0.779082,0.819566,0.940427,0.966071,0.985827 /) -XCGA_LKT(71,5,1:6)=(/ 0.881767,0.874307,0.852913,0.803530,0.756397,0.731880 /) -XEXT_COEFF_550_LKT(71,5)=162.880000 !rg=2.82732 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,6,1:6)=(/ 137.310000,139.300000,141.440000,145.890000,153.790000,180.670000 /) -XPIZA_LKT(71,6,1:6)=(/ 0.766004,0.777321,0.808753,0.934652,0.962557,0.983026 /) -XCGA_LKT(71,6,1:6)=(/ 0.882157,0.875670,0.857877,0.810867,0.771793,0.733673 /) -XEXT_COEFF_550_LKT(71,6)=141.880000 !rg=2.82732 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,7,1:6)=(/ 117.820000,119.610000,121.780000,124.760000,131.970000,150.860000 /) -XPIZA_LKT(71,7,1:6)=(/ 0.762643,0.775372,0.800467,0.927249,0.957201,0.979212 /) -XCGA_LKT(71,7,1:6)=(/ 0.883263,0.876750,0.862133,0.817380,0.779480,0.736747 /) -XEXT_COEFF_550_LKT(71,7)=121.500000 !rg=2.82732 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,8,1:6)=(/ 100.580000,101.870000,103.370000,106.130000,110.820000,124.290000 /) -XPIZA_LKT(71,8,1:6)=(/ 0.756956,0.773213,0.793031,0.919778,0.953218,0.976754 /) -XCGA_LKT(71,8,1:6)=(/ 0.884200,0.878207,0.866173,0.822093,0.793283,0.747647 /) -XEXT_COEFF_550_LKT(71,8)=103.530000 !rg=2.82732 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,9,1:6)=(/ 85.088000,86.170000,87.624000,89.562000,93.765000,103.110000 /) -XPIZA_LKT(71,9,1:6)=(/ 0.749987,0.769082,0.787009,0.912831,0.944355,0.971621 /) -XCGA_LKT(71,9,1:6)=(/ 0.885580,0.879417,0.869540,0.826830,0.796580,0.751270 /) -XEXT_COEFF_550_LKT(71,9)=87.478000 !rg=2.82732 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,10,1:6)=(/ 71.887000,72.595000,73.632000,75.236000,77.699000,84.617000 /) -XPIZA_LKT(71,10,1:6)=(/ 0.740957,0.763561,0.782207,0.907301,0.938206,0.967817 /) -XCGA_LKT(71,10,1:6)=(/ 0.887810,0.880883,0.872623,0.831383,0.811617,0.766393 /) -XEXT_COEFF_550_LKT(71,10)=73.638000 !rg=2.82732 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,11,1:6)=(/ 60.163000,60.994000,61.711000,62.885000,64.529000,69.636000 /) -XPIZA_LKT(71,11,1:6)=(/ 0.730087,0.756903,0.776128,0.901840,0.931307,0.962204 /) -XCGA_LKT(71,11,1:6)=(/ 0.889643,0.883150,0.875107,0.836883,0.819517,0.775647 /) -XEXT_COEFF_550_LKT(71,11)=61.536000 !rg=2.82732 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,12,1:6)=(/ 50.388000,50.706000,51.354000,52.193000,53.673000,57.228000 /) -XPIZA_LKT(71,12,1:6)=(/ 0.718826,0.747980,0.769766,0.897553,0.923277,0.955390 /) -XCGA_LKT(71,12,1:6)=(/ 0.892390,0.884953,0.878060,0.841020,0.826717,0.786860 /) -XEXT_COEFF_550_LKT(71,12)=51.400000 !rg=2.82732 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,13,1:6)=(/ 41.911000,42.287000,42.663000,43.427000,44.492000,47.100000 /) -XPIZA_LKT(71,13,1:6)=(/ 0.705613,0.738230,0.761440,0.892963,0.916540,0.947391 /) -XCGA_LKT(71,13,1:6)=(/ 0.894820,0.887447,0.880397,0.845087,0.831853,0.793867 /) -XEXT_COEFF_550_LKT(71,13)=42.694000 !rg=2.82732 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,14,1:6)=(/ 34.944000,35.168000,35.562000,35.981000,36.863000,38.895000 /) -XPIZA_LKT(71,14,1:6)=(/ 0.692599,0.726922,0.753431,0.888063,0.910575,0.939137 /) -XCGA_LKT(71,14,1:6)=(/ 0.897847,0.889697,0.882960,0.848333,0.838460,0.803840 /) -XEXT_COEFF_550_LKT(71,14)=35.547000 !rg=2.82732 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,15,1:6)=(/ 29.069000,29.248000,29.530000,29.939000,30.560000,31.911000 /) -XPIZA_LKT(71,15,1:6)=(/ 0.679029,0.714758,0.743021,0.883018,0.904638,0.931980 /) -XCGA_LKT(71,15,1:6)=(/ 0.900933,0.892370,0.885443,0.851693,0.843490,0.813050 /) -XEXT_COEFF_550_LKT(71,15)=29.542000 !rg=2.82732 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,16,1:6)=(/ 24.113000,24.307000,24.467000,24.765000,25.125000,26.110000 /) -XPIZA_LKT(71,16,1:6)=(/ 0.665026,0.701915,0.731827,0.876801,0.899573,0.924999 /) -XCGA_LKT(71,16,1:6)=(/ 0.904320,0.895517,0.887997,0.854503,0.849497,0.822357 /) -XEXT_COEFF_550_LKT(71,16)=24.437000 !rg=2.82732 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,17,1:6)=(/ 20.061000,20.166000,20.318000,20.492000,20.884000,21.631000 /) -XPIZA_LKT(71,17,1:6)=(/ 0.652076,0.688348,0.720241,0.869541,0.893800,0.918488 /) -XCGA_LKT(71,17,1:6)=(/ 0.907927,0.898443,0.890980,0.857177,0.853287,0.829553 /) -XEXT_COEFF_550_LKT(71,17)=20.309000 !rg=2.82732 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,18,1:6)=(/ 16.681000,16.754000,16.870000,17.035000,17.317000,17.841000 /) -XPIZA_LKT(71,18,1:6)=(/ 0.639578,0.674887,0.707178,0.861191,0.887811,0.912187 /) -XCGA_LKT(71,18,1:6)=(/ 0.911547,0.901690,0.893793,0.859923,0.856037,0.834767 /) -XEXT_COEFF_550_LKT(71,18)=16.884000 !rg=2.82732 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,19,1:6)=(/ 13.843000,13.919000,13.988000,14.112000,14.263000,14.644000 /) -XPIZA_LKT(71,19,1:6)=(/ 0.627531,0.661641,0.693903,0.851437,0.881527,0.906733 /) -XCGA_LKT(71,19,1:6)=(/ 0.915263,0.905337,0.896893,0.862340,0.860187,0.841760 /) -XEXT_COEFF_550_LKT(71,19)=13.977000 !rg=2.82732 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(71,20,1:6)=(/ 11.505000,11.548000,11.616000,11.680000,11.840000,12.141000 /) -XPIZA_LKT(71,20,1:6)=(/ 0.616698,0.648563,0.680753,0.839954,0.874046,0.901068 /) -XCGA_LKT(71,20,1:6)=(/ 0.919070,0.908857,0.900340,0.864843,0.863040,0.846953 /) -XEXT_COEFF_550_LKT(71,20)=11.602000 !rg=2.82732 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,1,1:6)=(/ 203.440000,208.990000,217.190000,215.450000,262.210000,356.280000 /) -XPIZA_LKT(72,1,1:6)=(/ 0.766075,0.789502,0.846820,0.952100,0.976658,0.991421 /) -XCGA_LKT(72,1,1:6)=(/ 0.883193,0.869100,0.844530,0.788467,0.778473,0.769180 /) -XEXT_COEFF_550_LKT(72,1)=213.360000 !rg=3.06299 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,2,1:6)=(/ 195.970000,199.800000,203.130000,210.680000,237.030000,316.700000 /) -XPIZA_LKT(72,2,1:6)=(/ 0.765139,0.781069,0.839900,0.950760,0.973035,0.990361 /) -XCGA_LKT(72,2,1:6)=(/ 0.882343,0.873727,0.844610,0.797210,0.764030,0.754010 /) -XEXT_COEFF_550_LKT(72,2)=203.220000 !rg=3.06299 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,3,1:6)=(/ 181.370000,184.860000,188.520000,193.660000,206.240000,266.840000 /) -XPIZA_LKT(72,3,1:6)=(/ 0.766103,0.776167,0.831911,0.947800,0.970904,0.988545 /) -XCGA_LKT(72,3,1:6)=(/ 0.883320,0.874413,0.848057,0.800157,0.760100,0.734407 /) -XEXT_COEFF_550_LKT(72,3)=188.500000 !rg=3.06299 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,4,1:6)=(/ 163.830000,166.800000,169.960000,174.400000,182.900000,225.480000 /) -XPIZA_LKT(72,4,1:6)=(/ 0.767799,0.775238,0.821146,0.943341,0.968114,0.986420 /) -XCGA_LKT(72,4,1:6)=(/ 0.882810,0.875247,0.852673,0.804527,0.764923,0.725130 /) -XEXT_COEFF_550_LKT(72,4)=170.030000 !rg=3.06299 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,5,1:6)=(/ 144.960000,147.270000,149.890000,153.790000,163.100000,192.040000 /) -XPIZA_LKT(72,5,1:6)=(/ 0.767170,0.774217,0.810549,0.936790,0.962952,0.983741 /) -XCGA_LKT(72,5,1:6)=(/ 0.882623,0.876497,0.857437,0.810507,0.768917,0.725163 /) -XEXT_COEFF_550_LKT(72,5)=150.030000 !rg=3.06299 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,6,1:6)=(/ 126.210000,128.100000,130.470000,134.670000,139.380000,161.170000 /) -XPIZA_LKT(72,6,1:6)=(/ 0.764291,0.773509,0.801567,0.929207,0.959561,0.981239 /) -XCGA_LKT(72,6,1:6)=(/ 0.882747,0.877620,0.862223,0.812123,0.782543,0.731697 /) -XEXT_COEFF_550_LKT(72,6)=130.370000 !rg=3.06299 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,7,1:6)=(/ 108.570000,110.320000,112.020000,115.050000,119.420000,134.880000 /) -XPIZA_LKT(72,7,1:6)=(/ 0.760311,0.773171,0.794181,0.922504,0.955531,0.977934 /) -XCGA_LKT(72,7,1:6)=(/ 0.884077,0.878060,0.865850,0.819357,0.789093,0.739577 /) -XEXT_COEFF_550_LKT(72,7)=111.930000 !rg=3.06299 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,8,1:6)=(/ 92.882000,93.727000,95.250000,97.590000,101.030000,112.290000 /) -XPIZA_LKT(72,8,1:6)=(/ 0.754131,0.770142,0.788896,0.916065,0.949283,0.974395 /) -XCGA_LKT(72,8,1:6)=(/ 0.885363,0.879443,0.869163,0.824353,0.800213,0.750337 /) -XEXT_COEFF_550_LKT(72,8)=95.330000 !rg=3.06299 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,9,1:6)=(/ 78.437000,79.478000,80.521000,82.294000,85.776000,94.122000 /) -XPIZA_LKT(72,9,1:6)=(/ 0.745748,0.765682,0.783410,0.908992,0.941467,0.969000 /) -XCGA_LKT(72,9,1:6)=(/ 0.886543,0.880933,0.871827,0.830670,0.804930,0.757093 /) -XEXT_COEFF_550_LKT(72,9)=80.347000 !rg=3.06299 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,10,1:6)=(/ 66.189000,66.858000,67.760000,69.182000,71.749000,77.595000 /) -XPIZA_LKT(72,10,1:6)=(/ 0.736256,0.760230,0.778016,0.903817,0.933386,0.963922 /) -XCGA_LKT(72,10,1:6)=(/ 0.888543,0.882227,0.874273,0.835347,0.811917,0.765683 /) -XEXT_COEFF_550_LKT(72,10)=67.900000 !rg=3.06299 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,11,1:6)=(/ 55.565000,56.052000,56.871000,57.801000,59.625000,63.815000 /) -XPIZA_LKT(72,11,1:6)=(/ 0.725392,0.752496,0.772280,0.899157,0.926875,0.958998 /) -XCGA_LKT(72,11,1:6)=(/ 0.890963,0.884387,0.877150,0.839870,0.822850,0.780050 /) -XEXT_COEFF_550_LKT(72,11)=56.479000 !rg=3.06299 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,12,1:6)=(/ 46.354000,46.874000,47.222000,48.125000,49.494000,52.579000 /) -XPIZA_LKT(72,12,1:6)=(/ 0.712670,0.744343,0.765422,0.894560,0.919395,0.951309 /) -XCGA_LKT(72,12,1:6)=(/ 0.893380,0.886393,0.879253,0.843650,0.828407,0.787353 /) -XEXT_COEFF_550_LKT(72,12)=47.358000 !rg=3.06299 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,13,1:6)=(/ 38.675000,38.907000,39.362000,39.877000,40.922000,43.273000 /) -XPIZA_LKT(72,13,1:6)=(/ 0.699945,0.733065,0.757697,0.890317,0.913616,0.943468 /) -XCGA_LKT(72,13,1:6)=(/ 0.896210,0.888430,0.881887,0.847007,0.836310,0.799303 /) -XEXT_COEFF_550_LKT(72,13)=39.388000 !rg=3.06299 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,14,1:6)=(/ 32.201000,32.432000,32.698000,33.112000,33.894000,35.538000 /) -XPIZA_LKT(72,14,1:6)=(/ 0.686285,0.721802,0.748528,0.885671,0.907880,0.936470 /) -XCGA_LKT(72,14,1:6)=(/ 0.899220,0.891103,0.884027,0.850470,0.841217,0.808250 /) -XEXT_COEFF_550_LKT(72,14)=32.741000 !rg=3.06299 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,15,1:6)=(/ 26.786000,26.984000,27.171000,27.524000,28.101000,29.213000 /) -XPIZA_LKT(72,15,1:6)=(/ 0.672498,0.709327,0.738275,0.880206,0.902249,0.929236 /) -XCGA_LKT(72,15,1:6)=(/ 0.902453,0.893910,0.886540,0.853587,0.846707,0.818970 /) -XEXT_COEFF_550_LKT(72,15)=27.133000 !rg=3.06299 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,16,1:6)=(/ 22.267000,22.372000,22.583000,22.757000,23.281000,24.140000 /) -XPIZA_LKT(72,16,1:6)=(/ 0.659326,0.695530,0.726867,0.873487,0.896965,0.921837 /) -XCGA_LKT(72,16,1:6)=(/ 0.906040,0.896843,0.889563,0.856243,0.850847,0.825440 /) -XEXT_COEFF_550_LKT(72,16)=22.478000 !rg=3.06299 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,17,1:6)=(/ 18.501000,18.594000,18.714000,18.888000,19.215000,19.879000 /) -XPIZA_LKT(72,17,1:6)=(/ 0.646124,0.682179,0.714395,0.865914,0.891457,0.915873 /) -XCGA_LKT(72,17,1:6)=(/ 0.909623,0.899927,0.892157,0.859157,0.854497,0.831533 /) -XEXT_COEFF_550_LKT(72,17)=18.743000 !rg=3.06299 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,18,1:6)=(/ 15.380000,15.463000,15.536000,15.680000,15.940000,16.392000 /) -XPIZA_LKT(72,18,1:6)=(/ 0.633902,0.669039,0.701388,0.856942,0.884944,0.909886 /) -XCGA_LKT(72,18,1:6)=(/ 0.913207,0.903360,0.895090,0.861543,0.857787,0.838960 /) -XEXT_COEFF_550_LKT(72,18)=15.523000 !rg=3.06299 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,19,1:6)=(/ 12.779000,12.826000,12.907000,12.986000,13.201000,13.557000 /) -XPIZA_LKT(72,19,1:6)=(/ 0.622608,0.655418,0.688074,0.846429,0.878426,0.904006 /) -XCGA_LKT(72,19,1:6)=(/ 0.917033,0.906903,0.898520,0.863830,0.861303,0.843663 /) -XEXT_COEFF_550_LKT(72,19)=12.877000 !rg=3.06299 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(72,20,1:6)=(/ 10.612000,10.649000,10.702000,10.776000,10.905000,11.172000 /) -XPIZA_LKT(72,20,1:6)=(/ 0.611861,0.642685,0.674506,0.834662,0.870565,0.898457 /) -XCGA_LKT(72,20,1:6)=(/ 0.920783,0.910527,0.901740,0.866567,0.864207,0.848543 /) -XEXT_COEFF_550_LKT(72,20)=10.711000 !rg=3.06299 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,1,1:6)=(/ 188.340000,192.570000,192.720000,187.800000,255.510000,295.270000 /) -XPIZA_LKT(73,1,1:6)=(/ 0.773258,0.775407,0.832234,0.947109,0.973850,0.989641 /) -XCGA_LKT(73,1,1:6)=(/ 0.881267,0.875727,0.843343,0.782217,0.789337,0.742883 /) -XEXT_COEFF_550_LKT(73,1)=192.610000 !rg=3.31831 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,2,1:6)=(/ 180.080000,183.160000,187.260000,193.930000,214.060000,262.970000 /) -XPIZA_LKT(73,2,1:6)=(/ 0.769939,0.767528,0.831177,0.943764,0.972139,0.988340 /) -XCGA_LKT(73,2,1:6)=(/ 0.881997,0.878270,0.850237,0.796290,0.786103,0.725813 /) -XEXT_COEFF_550_LKT(73,2)=186.910000 !rg=3.31831 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,3,1:6)=(/ 166.760000,169.430000,173.330000,179.400000,189.150000,226.900000 /) -XPIZA_LKT(73,3,1:6)=(/ 0.769210,0.767176,0.822623,0.942272,0.969274,0.986478 /) -XCGA_LKT(73,3,1:6)=(/ 0.882553,0.878817,0.852930,0.804703,0.778307,0.714327 /) -XEXT_COEFF_550_LKT(73,3)=172.490000 !rg=3.31831 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,4,1:6)=(/ 150.580000,152.960000,156.360000,161.400000,167.760000,196.940000 /) -XPIZA_LKT(73,4,1:6)=(/ 0.768436,0.768803,0.811907,0.937587,0.966304,0.984467 /) -XCGA_LKT(73,4,1:6)=(/ 0.882537,0.878667,0.857130,0.808870,0.778787,0.714877 /) -XEXT_COEFF_550_LKT(73,4)=155.520000 !rg=3.31831 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,5,1:6)=(/ 133.580000,135.480000,138.020000,141.420000,147.550000,169.620000 /) -XPIZA_LKT(73,5,1:6)=(/ 0.766523,0.772094,0.801693,0.933101,0.962430,0.982075 /) -XCGA_LKT(73,5,1:6)=(/ 0.883263,0.877713,0.861687,0.813347,0.780780,0.721563 /) -XEXT_COEFF_550_LKT(73,5)=137.930000 !rg=3.31831 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,6,1:6)=(/ 116.290000,118.060000,120.110000,123.180000,127.730000,144.850000 /) -XPIZA_LKT(73,6,1:6)=(/ 0.762695,0.771784,0.794078,0.926014,0.958084,0.979410 /) -XCGA_LKT(73,6,1:6)=(/ 0.883400,0.878930,0.865597,0.819067,0.787527,0.731263 /) -XEXT_COEFF_550_LKT(73,6)=120.000000 !rg=3.31831 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,7,1:6)=(/ 99.906000,101.470000,103.240000,105.700000,109.080000,121.880000 /) -XPIZA_LKT(73,7,1:6)=(/ 0.757167,0.770398,0.789363,0.917700,0.952999,0.975961 /) -XCGA_LKT(73,7,1:6)=(/ 0.884500,0.879387,0.868400,0.823563,0.797130,0.742743 /) -XEXT_COEFF_550_LKT(73,7)=102.740000 !rg=3.31831 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,8,1:6)=(/ 85.422000,86.484000,87.621000,89.912000,92.918000,102.170000 /) -XPIZA_LKT(73,8,1:6)=(/ 0.750114,0.767945,0.784231,0.911097,0.945587,0.971992 /) -XCGA_LKT(73,8,1:6)=(/ 0.885963,0.880520,0.871607,0.828443,0.802033,0.750897 /) -XEXT_COEFF_550_LKT(73,8)=87.800000 !rg=3.31831 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,9,1:6)=(/ 72.470000,73.060000,74.207000,75.781000,78.232000,84.803000 /) -XPIZA_LKT(73,9,1:6)=(/ 0.741618,0.763023,0.779005,0.905875,0.938380,0.967630 /) -XCGA_LKT(73,9,1:6)=(/ 0.887990,0.881290,0.874153,0.833547,0.811210,0.763407 /) -XEXT_COEFF_550_LKT(73,9)=74.211000 !rg=3.31831 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,10,1:6)=(/ 61.014000,61.635000,62.363000,63.471000,65.775000,70.990000 /) -XPIZA_LKT(73,10,1:6)=(/ 0.730913,0.756500,0.774693,0.900933,0.930143,0.961206 /) -XCGA_LKT(73,10,1:6)=(/ 0.889757,0.883527,0.876157,0.837587,0.818217,0.772580 /) -XEXT_COEFF_550_LKT(73,10)=62.419000 !rg=3.31831 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,11,1:6)=(/ 51.123000,51.710000,52.239000,53.160000,54.979000,58.585000 /) -XPIZA_LKT(73,11,1:6)=(/ 0.719358,0.749124,0.768445,0.896191,0.922836,0.955292 /) -XCGA_LKT(73,11,1:6)=(/ 0.891897,0.885463,0.878827,0.841993,0.824017,0.780527 /) -XEXT_COEFF_550_LKT(73,11)=52.175000 !rg=3.31831 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,12,1:6)=(/ 42.723000,43.110000,43.631000,44.127000,45.397000,48.210000 /) -XPIZA_LKT(73,12,1:6)=(/ 0.706486,0.739262,0.762373,0.892370,0.916506,0.947590 /) -XCGA_LKT(73,12,1:6)=(/ 0.894813,0.887243,0.880890,0.845530,0.832817,0.793683 /) -XEXT_COEFF_550_LKT(73,12)=43.609000 !rg=3.31831 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,13,1:6)=(/ 35.638000,35.912000,36.191000,36.632000,37.642000,39.555000 /) -XPIZA_LKT(73,13,1:6)=(/ 0.693496,0.728131,0.753456,0.887936,0.910634,0.940583 /) -XCGA_LKT(73,13,1:6)=(/ 0.897733,0.889880,0.882940,0.849417,0.838687,0.803297 /) -XEXT_COEFF_550_LKT(73,13)=36.269000 !rg=3.31831 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,14,1:6)=(/ 29.689000,29.918000,30.132000,30.470000,31.203000,32.613000 /) -XPIZA_LKT(73,14,1:6)=(/ 0.679915,0.716339,0.744014,0.882855,0.904689,0.932279 /) -XCGA_LKT(73,14,1:6)=(/ 0.900673,0.892600,0.885660,0.852210,0.844183,0.813913 /) -XEXT_COEFF_550_LKT(73,14)=30.145000 !rg=3.31831 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,15,1:6)=(/ 24.724000,24.860000,25.052000,25.339000,25.834000,26.821000 /) -XPIZA_LKT(73,15,1:6)=(/ 0.666456,0.703187,0.733405,0.877273,0.899568,0.925179 /) -XCGA_LKT(73,15,1:6)=(/ 0.904167,0.895007,0.888133,0.854360,0.849507,0.822730 /) -XEXT_COEFF_550_LKT(73,15)=25.070000 !rg=3.31831 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,16,1:6)=(/ 20.516000,20.643000,20.772000,21.032000,21.382000,22.196000 /) -XPIZA_LKT(73,16,1:6)=(/ 0.652913,0.689832,0.721038,0.870253,0.894157,0.918407 /) -XCGA_LKT(73,16,1:6)=(/ 0.907600,0.898273,0.890827,0.857520,0.852033,0.826777 /) -XEXT_COEFF_550_LKT(73,16)=20.769000 !rg=3.31831 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,17,1:6)=(/ 17.058000,17.155000,17.244000,17.396000,17.700000,18.274000 /) -XPIZA_LKT(73,17,1:6)=(/ 0.640197,0.676222,0.708332,0.861964,0.888576,0.912809 /) -XCGA_LKT(73,17,1:6)=(/ 0.911223,0.901560,0.893570,0.860297,0.856590,0.835383 /) -XEXT_COEFF_550_LKT(73,17)=17.252000 !rg=3.31831 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,18,1:6)=(/ 14.192000,14.253000,14.339000,14.439000,14.668000,15.055000 /) -XPIZA_LKT(73,18,1:6)=(/ 0.628497,0.662726,0.695700,0.852468,0.882364,0.906946 /) -XCGA_LKT(73,18,1:6)=(/ 0.915017,0.904880,0.896690,0.862227,0.860493,0.841943 /) -XEXT_COEFF_550_LKT(73,18)=14.342000 !rg=3.31831 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,19,1:6)=(/ 11.783000,11.835000,11.889000,11.996000,12.137000,12.463000 /) -XPIZA_LKT(73,19,1:6)=(/ 0.617398,0.649876,0.681690,0.841573,0.874618,0.901079 /) -XCGA_LKT(73,19,1:6)=(/ 0.918720,0.908523,0.899963,0.865197,0.862083,0.844753 /) -XEXT_COEFF_550_LKT(73,19)=11.885000 !rg=3.31831 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(73,20,1:6)=(/ 9.790400,9.830300,9.865800,9.929900,10.049000,10.270000 /) -XPIZA_LKT(73,20,1:6)=(/ 0.607205,0.637415,0.668272,0.829048,0.866644,0.895450 /) -XCGA_LKT(73,20,1:6)=(/ 0.922480,0.912303,0.903327,0.867683,0.865567,0.850787 /) -XEXT_COEFF_550_LKT(73,20)=9.868300 !rg=3.31831 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,1,1:6)=(/ 174.250000,176.140000,181.950000,189.270000,218.110000,235.440000 /) -XPIZA_LKT(74,1,1:6)=(/ 0.777475,0.758477,0.827891,0.947301,0.971233,0.987017 /) -XCGA_LKT(74,1,1:6)=(/ 0.880113,0.882613,0.854793,0.807443,0.780947,0.704023 /) -XEXT_COEFF_550_LKT(74,1)=180.820000 !rg=3.59491 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,2,1:6)=(/ 166.530000,168.980000,172.860000,176.590000,190.510000,214.230000 /) -XPIZA_LKT(74,2,1:6)=(/ 0.774337,0.755587,0.821097,0.943806,0.969361,0.985681 /) -XCGA_LKT(74,2,1:6)=(/ 0.880817,0.883133,0.855177,0.807070,0.788377,0.693683 /) -XEXT_COEFF_550_LKT(74,2)=173.020000 !rg=3.59491 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,3,1:6)=(/ 153.890000,156.480000,158.810000,163.530000,172.120000,192.960000 /) -XPIZA_LKT(74,3,1:6)=(/ 0.771387,0.761340,0.811882,0.940649,0.966467,0.983954 /) -XCGA_LKT(74,3,1:6)=(/ 0.882253,0.881583,0.858577,0.810517,0.788453,0.692223 /) -XEXT_COEFF_550_LKT(74,3)=158.220000 !rg=3.59491 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,4,1:6)=(/ 138.840000,141.210000,143.330000,147.100000,153.890000,173.080000 /) -XPIZA_LKT(74,4,1:6)=(/ 0.768761,0.766169,0.801445,0.935445,0.963299,0.982153 /) -XCGA_LKT(74,4,1:6)=(/ 0.882657,0.880540,0.862430,0.813840,0.787877,0.705273 /) -XEXT_COEFF_550_LKT(74,4)=142.650000 !rg=3.59491 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,5,1:6)=(/ 122.660000,124.410000,126.940000,130.370000,134.910000,151.430000 /) -XPIZA_LKT(74,5,1:6)=(/ 0.765451,0.768596,0.794590,0.927420,0.960319,0.980140 /) -XCGA_LKT(74,5,1:6)=(/ 0.883203,0.880020,0.865370,0.817580,0.791547,0.721873 /) -XEXT_COEFF_550_LKT(74,5)=126.340000 !rg=3.59491 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,6,1:6)=(/ 107.020000,108.420000,110.510000,112.660000,117.940000,130.940000 /) -XPIZA_LKT(74,6,1:6)=(/ 0.760617,0.770517,0.788845,0.921266,0.954321,0.976817 /) -XCGA_LKT(74,6,1:6)=(/ 0.883867,0.879890,0.868837,0.821943,0.795007,0.733153 /) -XEXT_COEFF_550_LKT(74,6)=110.580000 !rg=3.59491 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,7,1:6)=(/ 92.251000,93.471000,94.815000,96.909000,100.490000,110.610000 /) -XPIZA_LKT(74,7,1:6)=(/ 0.754471,0.768316,0.783809,0.913943,0.948888,0.973456 /) -XCGA_LKT(74,7,1:6)=(/ 0.885347,0.880923,0.871350,0.827580,0.802803,0.745953 /) -XEXT_COEFF_550_LKT(74,7)=94.217000 !rg=3.59491 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,8,1:6)=(/ 78.830000,79.502000,80.769000,82.285000,85.646000,93.385000 /) -XPIZA_LKT(74,8,1:6)=(/ 0.746571,0.765164,0.780533,0.907602,0.941450,0.968906 /) -XCGA_LKT(74,8,1:6)=(/ 0.887073,0.881300,0.873650,0.831273,0.808373,0.756370 /) -XEXT_COEFF_550_LKT(74,8)=80.993000 !rg=3.59491 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,9,1:6)=(/ 66.574000,67.286000,68.214000,69.509000,71.545000,77.096000 /) -XPIZA_LKT(74,9,1:6)=(/ 0.736593,0.759979,0.776369,0.902897,0.935147,0.965483 /) -XCGA_LKT(74,9,1:6)=(/ 0.888613,0.882860,0.875277,0.836917,0.818283,0.770773 /) -XEXT_COEFF_550_LKT(74,9)=68.057000 !rg=3.59491 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,10,1:6)=(/ 56.271000,56.720000,57.452000,58.397000,60.242000,64.331000 /) -XPIZA_LKT(74,10,1:6)=(/ 0.726143,0.753121,0.770852,0.898704,0.926868,0.959508 /) -XCGA_LKT(74,10,1:6)=(/ 0.890733,0.884583,0.877923,0.840577,0.822980,0.778437 /) -XEXT_COEFF_550_LKT(74,10)=57.506000 !rg=3.59491 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,11,1:6)=(/ 47.168000,47.621000,48.165000,48.972000,50.413000,53.647000 /) -XPIZA_LKT(74,11,1:6)=(/ 0.713888,0.744728,0.765687,0.894154,0.919444,0.951419 /) -XCGA_LKT(74,11,1:6)=(/ 0.893283,0.886563,0.880203,0.844467,0.828883,0.787247 /) -XEXT_COEFF_550_LKT(74,11)=47.987000 !rg=3.59491 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,12,1:6)=(/ 39.412000,39.691000,40.115000,40.648000,41.698000,43.943000 /) -XPIZA_LKT(74,12,1:6)=(/ 0.700824,0.734177,0.758133,0.890236,0.913621,0.944834 /) -XCGA_LKT(74,12,1:6)=(/ 0.895913,0.888647,0.881877,0.848003,0.836260,0.798727 /) -XEXT_COEFF_550_LKT(74,12)=40.178000 !rg=3.59491 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,13,1:6)=(/ 32.850000,33.149000,33.396000,33.729000,34.631000,36.290000 /) -XPIZA_LKT(74,13,1:6)=(/ 0.687169,0.723030,0.749284,0.885240,0.907632,0.936470 /) -XCGA_LKT(74,13,1:6)=(/ 0.898930,0.891347,0.884637,0.851037,0.842197,0.809563 /) -XEXT_COEFF_550_LKT(74,13)=33.396000 !rg=3.59491 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,14,1:6)=(/ 27.399000,27.545000,27.800000,28.069000,28.631000,29.794000 /) -XPIZA_LKT(74,14,1:6)=(/ 0.673756,0.710063,0.739547,0.880351,0.902027,0.928930 /) -XCGA_LKT(74,14,1:6)=(/ 0.902337,0.893680,0.887100,0.853583,0.847490,0.818867 /) -XEXT_COEFF_550_LKT(74,14)=27.768000 !rg=3.59491 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,15,1:6)=(/ 22.788000,22.920000,23.085000,23.351000,23.817000,24.775000 /) -XPIZA_LKT(74,15,1:6)=(/ 0.660114,0.697115,0.728055,0.874242,0.896298,0.921061 /) -XCGA_LKT(74,15,1:6)=(/ 0.905637,0.896553,0.889093,0.856607,0.850520,0.823093 /) -XEXT_COEFF_550_LKT(74,15)=23.110000 !rg=3.59491 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,16,1:6)=(/ 18.919000,19.029000,19.165000,19.369000,19.698000,20.408000 /) -XPIZA_LKT(74,16,1:6)=(/ 0.646924,0.683563,0.715920,0.866731,0.891477,0.915192 /) -XCGA_LKT(74,16,1:6)=(/ 0.909257,0.899823,0.892173,0.858597,0.854300,0.830697 /) -XEXT_COEFF_550_LKT(74,16)=19.119000 !rg=3.59491 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,17,1:6)=(/ 15.741000,15.809000,15.914000,16.044000,16.302000,16.741000 /) -XPIZA_LKT(74,17,1:6)=(/ 0.634748,0.669854,0.702826,0.858001,0.885489,0.909371 /) -XCGA_LKT(74,17,1:6)=(/ 0.912970,0.903070,0.895097,0.861313,0.858453,0.838953 /) -XEXT_COEFF_550_LKT(74,17)=15.921000 !rg=3.59491 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,18,1:6)=(/ 13.089000,13.147000,13.212000,13.332000,13.507000,13.887000 /) -XPIZA_LKT(74,18,1:6)=(/ 0.623112,0.656757,0.689340,0.847968,0.878763,0.903499 /) -XCGA_LKT(74,18,1:6)=(/ 0.916703,0.906613,0.898013,0.864003,0.861300,0.842687 /) -XEXT_COEFF_550_LKT(74,18)=13.221000 !rg=3.59491 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,19,1:6)=(/ 10.868000,10.914000,10.972000,11.045000,11.176000,11.474000 /) -XPIZA_LKT(74,19,1:6)=(/ 0.612435,0.643920,0.676122,0.836309,0.871138,0.898199 /) -XCGA_LKT(74,19,1:6)=(/ 0.920440,0.910313,0.901510,0.866307,0.863773,0.847487 /) -XEXT_COEFF_550_LKT(74,19)=10.956000 !rg=3.59491 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(74,20,1:6)=(/ 9.033300,9.062200,9.106900,9.159400,9.271500,9.454200 /) -XPIZA_LKT(74,20,1:6)=(/ 0.602874,0.631847,0.662603,0.823124,0.862650,0.892242 /) -XCGA_LKT(74,20,1:6)=(/ 0.924163,0.913933,0.905060,0.868833,0.867103,0.853070 /) -XEXT_COEFF_550_LKT(74,20)=9.106000 !rg=3.59491 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,1,1:6)=(/ 159.730000,162.660000,163.900000,175.100000,179.350000,184.800000 /) -XPIZA_LKT(75,1,1:6)=(/ 0.779284,0.737236,0.814689,0.944541,0.957084,0.983139 /) -XCGA_LKT(75,1,1:6)=(/ 0.879927,0.889963,0.857783,0.820543,0.756777,0.650320 /) -XEXT_COEFF_550_LKT(75,1)=164.720000 !rg=3.89457 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,2,1:6)=(/ 152.600000,155.210000,158.610000,162.120000,168.580000,175.190000 /) -XPIZA_LKT(75,2,1:6)=(/ 0.776462,0.751138,0.810868,0.938961,0.963953,0.982254 /) -XCGA_LKT(75,2,1:6)=(/ 0.880117,0.886053,0.858977,0.809980,0.792470,0.655363 /) -XEXT_COEFF_550_LKT(75,2)=158.100000 !rg=3.89457 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,3,1:6)=(/ 141.450000,143.600000,146.230000,150.120000,158.710000,165.750000 /) -XPIZA_LKT(75,3,1:6)=(/ 0.772190,0.761177,0.800344,0.934915,0.961798,0.981405 /) -XCGA_LKT(75,3,1:6)=(/ 0.881460,0.882543,0.864093,0.811253,0.780913,0.680293 /) -XEXT_COEFF_550_LKT(75,3)=146.230000 !rg=3.89457 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,4,1:6)=(/ 127.700000,129.810000,132.010000,135.270000,142.530000,153.220000 /) -XPIZA_LKT(75,4,1:6)=(/ 0.768593,0.765671,0.791816,0.929538,0.958559,0.979927 /) -XCGA_LKT(75,4,1:6)=(/ 0.882317,0.881703,0.867400,0.815777,0.783713,0.703163 /) -XEXT_COEFF_550_LKT(75,4)=131.730000 !rg=3.89457 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,5,1:6)=(/ 113.120000,114.870000,116.430000,119.350000,123.780000,136.090000 /) -XPIZA_LKT(75,5,1:6)=(/ 0.763958,0.767944,0.786358,0.923593,0.956892,0.977753 /) -XCGA_LKT(75,5,1:6)=(/ 0.883577,0.880850,0.869810,0.822067,0.798523,0.722580 /) -XEXT_COEFF_550_LKT(75,5)=115.940000 !rg=3.89457 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,6,1:6)=(/ 98.807000,99.918000,101.310000,103.030000,108.670000,118.240000 /) -XPIZA_LKT(75,6,1:6)=(/ 0.758010,0.767807,0.783801,0.916978,0.951044,0.974557 /) -XCGA_LKT(75,6,1:6)=(/ 0.884823,0.881273,0.871673,0.827503,0.795730,0.734133 /) -XEXT_COEFF_550_LKT(75,6)=101.320000 !rg=3.89457 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,7,1:6)=(/ 84.841000,86.091000,87.297000,89.107000,92.956000,100.600000 /) -XPIZA_LKT(75,7,1:6)=(/ 0.750418,0.767019,0.779934,0.909139,0.944203,0.970888 /) -XCGA_LKT(75,7,1:6)=(/ 0.885873,0.881740,0.874193,0.830657,0.802470,0.746503 /) -XEXT_COEFF_550_LKT(75,7)=86.950000 !rg=3.89457 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,8,1:6)=(/ 72.542000,73.346000,74.186000,75.440000,78.377000,84.551000 /) -XPIZA_LKT(75,8,1:6)=(/ 0.742039,0.763090,0.776910,0.904307,0.938717,0.967435 /) -XCGA_LKT(75,8,1:6)=(/ 0.887853,0.882697,0.875307,0.835807,0.813087,0.760820 /) -XEXT_COEFF_550_LKT(75,8)=74.395000 !rg=3.89457 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,9,1:6)=(/ 61.459000,62.054000,62.738000,64.063000,65.821000,70.392000 /) -XPIZA_LKT(75,9,1:6)=(/ 0.731988,0.756570,0.772944,0.899633,0.930163,0.962206 /) -XCGA_LKT(75,9,1:6)=(/ 0.889767,0.883713,0.877510,0.839010,0.822527,0.775787 /) -XEXT_COEFF_550_LKT(75,9)=62.634000 !rg=3.89457 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,10,1:6)=(/ 51.828000,52.355000,52.832000,53.689000,55.402000,58.691000 /) -XPIZA_LKT(75,10,1:6)=(/ 0.720186,0.749764,0.768074,0.895683,0.922698,0.956361 /) -XCGA_LKT(75,10,1:6)=(/ 0.891957,0.885680,0.879437,0.843770,0.827997,0.786517 /) -XEXT_COEFF_550_LKT(75,10)=52.815000 !rg=3.89457 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,11,1:6)=(/ 43.525000,43.880000,44.339000,45.109000,46.116000,48.639000 /) -XPIZA_LKT(75,11,1:6)=(/ 0.707974,0.739975,0.761970,0.891537,0.916501,0.948672 /) -XCGA_LKT(75,11,1:6)=(/ 0.894827,0.887377,0.881520,0.846293,0.834117,0.794720 /) -XEXT_COEFF_550_LKT(75,11)=44.241000 !rg=3.89457 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,12,1:6)=(/ 36.325000,36.627000,36.909000,37.429000,38.391000,40.272000 /) -XPIZA_LKT(75,12,1:6)=(/ 0.694214,0.729485,0.753808,0.887574,0.909814,0.940522 /) -XCGA_LKT(75,12,1:6)=(/ 0.897430,0.889930,0.883550,0.849913,0.839653,0.805510 /) -XEXT_COEFF_550_LKT(75,12)=36.896000 !rg=3.89457 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,13,1:6)=(/ 30.339000,30.499000,30.808000,31.181000,31.752000,33.099000 /) -XPIZA_LKT(75,13,1:6)=(/ 0.681261,0.716976,0.744900,0.883112,0.904374,0.932734 /) -XCGA_LKT(75,13,1:6)=(/ 0.900590,0.892307,0.886127,0.852637,0.845603,0.814973 /) -XEXT_COEFF_550_LKT(75,13)=30.774000 !rg=3.89457 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,14,1:6)=(/ 25.246000,25.413000,25.579000,25.926000,26.400000,27.432000 /) -XPIZA_LKT(75,14,1:6)=(/ 0.667090,0.704448,0.733997,0.877635,0.899151,0.925192 /) -XCGA_LKT(75,14,1:6)=(/ 0.903843,0.895080,0.888050,0.855197,0.848763,0.820633 /) -XEXT_COEFF_550_LKT(75,14)=25.602000 !rg=3.89457 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,15,1:6)=(/ 21.012000,21.143000,21.277000,21.427000,21.856000,22.672000 /) -XPIZA_LKT(75,15,1:6)=(/ 0.653797,0.691007,0.722617,0.870887,0.893900,0.918448 /) -XCGA_LKT(75,15,1:6)=(/ 0.907297,0.898037,0.890597,0.857397,0.852800,0.827727 /) -XEXT_COEFF_550_LKT(75,15)=21.263000 !rg=3.89457 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,16,1:6)=(/ 17.458000,17.546000,17.659000,17.822000,18.117000,18.656000 /) -XPIZA_LKT(75,16,1:6)=(/ 0.641129,0.677323,0.709962,0.862723,0.888656,0.912768 /) -XCGA_LKT(75,16,1:6)=(/ 0.911060,0.901207,0.893630,0.860007,0.856533,0.835423 /) -XEXT_COEFF_550_LKT(75,16)=17.649000 !rg=3.89457 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,17,1:6)=(/ 14.515000,14.589000,14.656000,14.797000,14.960000,15.378000 /) -XPIZA_LKT(75,17,1:6)=(/ 0.628999,0.663927,0.696539,0.853861,0.882339,0.906855 /) -XCGA_LKT(75,17,1:6)=(/ 0.914700,0.904750,0.896437,0.862813,0.859623,0.841110 /) -XEXT_COEFF_550_LKT(75,17)=14.649000 !rg=3.89457 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,18,1:6)=(/ 12.074000,12.124000,12.184000,12.245000,12.405000,12.738000 /) -XPIZA_LKT(75,18,1:6)=(/ 0.617939,0.650765,0.683234,0.842869,0.875608,0.901056 /) -XCGA_LKT(75,18,1:6)=(/ 0.918457,0.908250,0.899680,0.864877,0.862923,0.845533 /) -XEXT_COEFF_550_LKT(75,18)=12.177000 !rg=3.89457 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,19,1:6)=(/ 10.029000,10.063000,10.113000,10.173000,10.309000,10.528000 /) -XPIZA_LKT(75,19,1:6)=(/ 0.607856,0.638184,0.669756,0.830477,0.867596,0.895754 /) -XCGA_LKT(75,19,1:6)=(/ 0.922193,0.911883,0.903180,0.867453,0.865217,0.850770 /) -XEXT_COEFF_550_LKT(75,19)=10.115000 !rg=3.89457 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(75,20,1:6)=(/ 8.333000,8.362700,8.392200,8.451600,8.514900,8.686900 /) -XPIZA_LKT(75,20,1:6)=(/ 0.598506,0.626662,0.656572,0.817272,0.858068,0.889278 /) -XCGA_LKT(75,20,1:6)=(/ 0.925863,0.915697,0.906557,0.870257,0.867817,0.854240 /) -XEXT_COEFF_550_LKT(75,20)=8.389100 !rg=3.89457 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,1,1:6)=(/ 147.140000,150.170000,154.370000,150.070000,139.460000,142.520000 /) -XPIZA_LKT(76,1,1:6)=(/ 0.776457,0.736825,0.806877,0.935689,0.959522,0.978438 /) -XCGA_LKT(76,1,1:6)=(/ 0.881400,0.890853,0.864457,0.808993,0.767063,0.595993 /) -XEXT_COEFF_550_LKT(76,1)=154.720000 !rg=4.21921 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,2,1:6)=(/ 140.960000,143.110000,145.010000,147.800000,154.520000,145.840000 /) -XPIZA_LKT(76,2,1:6)=(/ 0.774974,0.749119,0.799447,0.935394,0.959466,0.978861 /) -XCGA_LKT(76,2,1:6)=(/ 0.881660,0.887480,0.865060,0.816403,0.773850,0.633140 /) -XEXT_COEFF_550_LKT(76,2)=144.390000 !rg=4.21921 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,3,1:6)=(/ 130.430000,132.360000,134.640000,137.570000,145.550000,147.160000 /) -XPIZA_LKT(76,3,1:6)=(/ 0.771782,0.759047,0.790240,0.930486,0.958173,0.978777 /) -XCGA_LKT(76,3,1:6)=(/ 0.881673,0.883907,0.869180,0.818010,0.792587,0.676857 /) -XEXT_COEFF_550_LKT(76,3)=134.620000 !rg=4.21921 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,4,1:6)=(/ 117.960000,119.500000,121.430000,124.240000,130.880000,138.420000 /) -XPIZA_LKT(76,4,1:6)=(/ 0.767143,0.764796,0.784079,0.924641,0.955881,0.977147 /) -XCGA_LKT(76,4,1:6)=(/ 0.882873,0.882420,0.871613,0.821910,0.795223,0.706283 /) -XEXT_COEFF_550_LKT(76,4)=121.110000 !rg=4.21921 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,5,1:6)=(/ 104.230000,105.450000,107.360000,109.680000,114.920000,123.150000 /) -XPIZA_LKT(76,5,1:6)=(/ 0.761576,0.768630,0.780473,0.918173,0.951097,0.975250 /) -XCGA_LKT(76,5,1:6)=(/ 0.883853,0.881073,0.873117,0.825527,0.794983,0.724917 /) -XEXT_COEFF_550_LKT(76,5)=107.150000 !rg=4.21921 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,6,1:6)=(/ 90.780000,92.095000,93.288000,95.472000,99.710000,107.480000 /) -XPIZA_LKT(76,6,1:6)=(/ 0.754330,0.766965,0.778125,0.911629,0.947148,0.971908 /) -XCGA_LKT(76,6,1:6)=(/ 0.884770,0.881770,0.874863,0.831323,0.803760,0.743497 /) -XEXT_COEFF_550_LKT(76,6)=93.484000 !rg=4.21921 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,7,1:6)=(/ 78.320000,79.230000,80.362000,81.999000,85.137000,92.047000 /) -XPIZA_LKT(76,7,1:6)=(/ 0.746839,0.764757,0.777180,0.905805,0.940818,0.967476 /) -XCGA_LKT(76,7,1:6)=(/ 0.887000,0.882530,0.876120,0.835157,0.810583,0.754157 /) -XEXT_COEFF_550_LKT(76,7)=79.892000 !rg=4.21921 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,8,1:6)=(/ 66.838000,67.609000,68.332000,69.543000,72.042000,76.989000 /) -XPIZA_LKT(76,8,1:6)=(/ 0.736911,0.760205,0.773854,0.900678,0.934035,0.964602 /) -XCGA_LKT(76,8,1:6)=(/ 0.888693,0.883823,0.877637,0.839067,0.819020,0.770483 /) -XEXT_COEFF_550_LKT(76,8)=68.452000 !rg=4.21921 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,9,1:6)=(/ 56.606000,57.106000,57.868000,58.840000,60.977000,64.809000 /) -XPIZA_LKT(76,9,1:6)=(/ 0.726341,0.753706,0.769779,0.897006,0.924967,0.957533 /) -XCGA_LKT(76,9,1:6)=(/ 0.890747,0.884627,0.878920,0.842467,0.822373,0.775037 /) -XEXT_COEFF_550_LKT(76,9)=57.845000 !rg=4.21921 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,10,1:6)=(/ 47.860000,48.152000,48.722000,49.451000,50.706000,53.564000 /) -XPIZA_LKT(76,10,1:6)=(/ 0.714849,0.744833,0.765457,0.893479,0.919305,0.952561 /) -XCGA_LKT(76,10,1:6)=(/ 0.893440,0.886330,0.880793,0.845290,0.832670,0.792143 /) -XEXT_COEFF_550_LKT(76,10)=48.783000 !rg=4.21921 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,11,1:6)=(/ 40.067000,40.447000,40.860000,41.420000,42.234000,44.366000 /) -XPIZA_LKT(76,11,1:6)=(/ 0.701361,0.735443,0.758236,0.889630,0.913708,0.945452 /) -XCGA_LKT(76,11,1:6)=(/ 0.895903,0.888653,0.882400,0.848603,0.839100,0.801430 /) -XEXT_COEFF_550_LKT(76,11)=40.745000 !rg=4.21921 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,12,1:6)=(/ 33.539000,33.727000,34.050000,34.434000,35.189000,36.770000 /) -XPIZA_LKT(76,12,1:6)=(/ 0.688318,0.723540,0.750187,0.885655,0.907099,0.936751 /) -XCGA_LKT(76,12,1:6)=(/ 0.898970,0.890953,0.884880,0.851257,0.843363,0.810817 /) -XEXT_COEFF_550_LKT(76,12)=34.050000 !rg=4.21921 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,13,1:6)=(/ 27.930000,28.156000,28.325000,28.719000,29.224000,30.399000 /) -XPIZA_LKT(76,13,1:6)=(/ 0.674288,0.711809,0.739721,0.880934,0.901746,0.929270 /) -XCGA_LKT(76,13,1:6)=(/ 0.902077,0.893713,0.886957,0.853863,0.847290,0.817170 /) -XEXT_COEFF_550_LKT(76,13)=28.296000 !rg=4.21921 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,14,1:6)=(/ 23.297000,23.405000,23.602000,23.836000,24.242000,25.176000 /) -XPIZA_LKT(76,14,1:6)=(/ 0.661251,0.698082,0.729210,0.874537,0.896796,0.922260 /) -XCGA_LKT(76,14,1:6)=(/ 0.905410,0.896337,0.889373,0.856393,0.851943,0.825400 /) -XEXT_COEFF_550_LKT(76,14)=23.593000 !rg=4.21921 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,15,1:6)=(/ 19.391000,19.482000,19.628000,19.831000,20.154000,20.803000 /) -XPIZA_LKT(76,15,1:6)=(/ 0.647944,0.684767,0.716964,0.867783,0.891137,0.915493 /) -XCGA_LKT(76,15,1:6)=(/ 0.909007,0.899480,0.892027,0.858800,0.854993,0.831820 /) -XEXT_COEFF_550_LKT(76,15)=19.634000 !rg=4.21921 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,16,1:6)=(/ 16.099000,16.195000,16.276000,16.427000,16.624000,17.088000 /) -XPIZA_LKT(76,16,1:6)=(/ 0.635224,0.671390,0.704062,0.859192,0.886025,0.910197 /) -XCGA_LKT(76,16,1:6)=(/ 0.912713,0.902890,0.894767,0.861387,0.859313,0.839753 /) -XEXT_COEFF_550_LKT(76,16)=16.265000 !rg=4.21921 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,17,1:6)=(/ 13.393000,13.449000,13.526000,13.604000,13.812000,14.172000 /) -XPIZA_LKT(76,17,1:6)=(/ 0.623718,0.657819,0.690739,0.849056,0.879472,0.903972 /) -XCGA_LKT(76,17,1:6)=(/ 0.916447,0.906257,0.898017,0.863577,0.862257,0.844540 /) -XEXT_COEFF_550_LKT(76,17)=13.512000 !rg=4.21921 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,18,1:6)=(/ 11.140000,11.179000,11.239000,11.320000,11.454000,11.734000 /) -XPIZA_LKT(76,18,1:6)=(/ 0.613137,0.644877,0.677180,0.837792,0.871965,0.898274 /) -XCGA_LKT(76,18,1:6)=(/ 0.920130,0.909903,0.901240,0.866060,0.864090,0.848360 /) -XEXT_COEFF_550_LKT(76,18)=11.241000 !rg=4.21921 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,19,1:6)=(/ 9.251700,9.289900,9.322300,9.387000,9.466700,9.648700 /) -XPIZA_LKT(76,19,1:6)=(/ 0.603234,0.632918,0.663684,0.824991,0.863539,0.892805 /) -XCGA_LKT(76,19,1:6)=(/ 0.923917,0.913680,0.904583,0.868620,0.867220,0.853490 /) -XEXT_COEFF_550_LKT(76,19)=9.321100 !rg=4.21921 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(76,20,1:6)=(/ 7.688600,7.711900,7.744200,7.780700,7.860400,8.010900 /) -XPIZA_LKT(76,20,1:6)=(/ 0.594537,0.621430,0.650902,0.810690,0.853726,0.886311 /) -XCGA_LKT(76,20,1:6)=(/ 0.927480,0.917367,0.908267,0.871350,0.869793,0.856937 /) -XEXT_COEFF_550_LKT(76,20)=7.738700 !rg=4.21921 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,1,1:6)=(/ 135.230000,138.450000,139.750000,147.410000,139.520000,119.500000 /) -XPIZA_LKT(77,1,1:6)=(/ 0.776038,0.747038,0.794279,0.929890,0.956622,0.974345 /) -XCGA_LKT(77,1,1:6)=(/ 0.881143,0.888267,0.865740,0.818647,0.780017,0.574830 /) -XEXT_COEFF_550_LKT(77,1)=139.750000 !rg=4.57091 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,2,1:6)=(/ 129.560000,131.830000,133.360000,136.630000,143.020000,130.360000 /) -XPIZA_LKT(77,2,1:6)=(/ 0.773444,0.757283,0.785840,0.931109,0.956493,0.976297 /) -XCGA_LKT(77,2,1:6)=(/ 0.881087,0.885530,0.871330,0.820173,0.793257,0.635933 /) -XEXT_COEFF_550_LKT(77,2)=133.660000 !rg=4.57091 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,3,1:6)=(/ 120.490000,121.670000,123.960000,126.690000,131.280000,132.900000 /) -XPIZA_LKT(77,3,1:6)=(/ 0.770434,0.763560,0.778473,0.926425,0.958879,0.976832 /) -XCGA_LKT(77,3,1:6)=(/ 0.881923,0.882630,0.873020,0.821960,0.800497,0.686270 /) -XEXT_COEFF_550_LKT(77,3)=123.960000 !rg=4.57091 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,4,1:6)=(/ 108.850000,109.900000,111.810000,114.330000,118.530000,124.580000 /) -XPIZA_LKT(77,4,1:6)=(/ 0.764952,0.767033,0.776425,0.920269,0.955152,0.975706 /) -XCGA_LKT(77,4,1:6)=(/ 0.883777,0.881553,0.874543,0.825290,0.802890,0.716160 /) -XEXT_COEFF_550_LKT(77,4)=111.660000 !rg=4.57091 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,5,1:6)=(/ 95.971000,97.307000,98.611000,100.930000,105.370000,112.680000 /) -XPIZA_LKT(77,5,1:6)=(/ 0.758251,0.766665,0.777047,0.912700,0.948936,0.972140 /) -XCGA_LKT(77,5,1:6)=(/ 0.884397,0.882410,0.875417,0.829527,0.805140,0.733360 /) -XEXT_COEFF_550_LKT(77,5)=98.371000 !rg=4.57091 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,6,1:6)=(/ 83.747000,84.743000,86.010000,88.001000,90.542000,96.826000 /) -XPIZA_LKT(77,6,1:6)=(/ 0.751004,0.765625,0.775033,0.906575,0.943450,0.969678 /) -XCGA_LKT(77,6,1:6)=(/ 0.886060,0.882667,0.876897,0.833453,0.812183,0.752397 /) -XEXT_COEFF_550_LKT(77,6)=85.975000 !rg=4.57091 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,7,1:6)=(/ 72.261000,73.038000,73.945000,75.590000,77.625000,82.848000 /) -XPIZA_LKT(77,7,1:6)=(/ 0.742294,0.762452,0.773934,0.901704,0.937562,0.966233 /) -XCGA_LKT(77,7,1:6)=(/ 0.888273,0.882950,0.877743,0.837320,0.816877,0.763587 /) -XEXT_COEFF_550_LKT(77,7)=73.713000 !rg=4.57091 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,8,1:6)=(/ 61.750000,62.140000,62.980000,63.991000,65.804000,69.920000 /) -XPIZA_LKT(77,8,1:6)=(/ 0.732352,0.756646,0.771481,0.898239,0.929686,0.961484 /) -XCGA_LKT(77,8,1:6)=(/ 0.889943,0.884280,0.879240,0.841520,0.824653,0.777337 /) -XEXT_COEFF_550_LKT(77,8)=62.999000 !rg=4.57091 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,9,1:6)=(/ 52.175000,52.759000,53.191000,54.077000,55.742000,59.314000 /) -XPIZA_LKT(77,9,1:6)=(/ 0.720542,0.749657,0.767603,0.894008,0.921943,0.954844 /) -XCGA_LKT(77,9,1:6)=(/ 0.891803,0.885867,0.880037,0.844227,0.828280,0.783623 /) -XEXT_COEFF_550_LKT(77,9)=53.131000 !rg=4.57091 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,10,1:6)=(/ 44.062000,44.517000,44.819000,45.583000,46.811000,49.338000 /) -XPIZA_LKT(77,10,1:6)=(/ 0.708355,0.741478,0.761280,0.890826,0.915022,0.947915 /) -XCGA_LKT(77,10,1:6)=(/ 0.894523,0.887693,0.881703,0.847680,0.834093,0.792267 /) -XEXT_COEFF_550_LKT(77,10)=44.936000 !rg=4.57091 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,11,1:6)=(/ 36.973000,37.243000,37.618000,38.132000,39.048000,40.874000 /) -XPIZA_LKT(77,11,1:6)=(/ 0.695260,0.730047,0.754424,0.887316,0.909255,0.940917 /) -XCGA_LKT(77,11,1:6)=(/ 0.897380,0.889790,0.883767,0.850407,0.840670,0.805810 /) -XEXT_COEFF_550_LKT(77,11)=37.495000 !rg=4.57091 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,12,1:6)=(/ 30.894000,31.151000,31.338000,31.823000,32.464000,33.851000 /) -XPIZA_LKT(77,12,1:6)=(/ 0.681565,0.718625,0.745231,0.883059,0.903724,0.932653 /) -XCGA_LKT(77,12,1:6)=(/ 0.900313,0.892307,0.885827,0.853003,0.845023,0.812263 /) -XEXT_COEFF_550_LKT(77,12)=31.385000 !rg=4.57091 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,13,1:6)=(/ 25.774000,25.911000,26.150000,26.420000,26.905000,27.969000 /) -XPIZA_LKT(77,13,1:6)=(/ 0.668080,0.705493,0.735480,0.877822,0.899262,0.925851 /) -XCGA_LKT(77,13,1:6)=(/ 0.903663,0.894813,0.888287,0.855197,0.850833,0.822270 /) -XEXT_COEFF_550_LKT(77,13)=26.142000 !rg=4.57091 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,14,1:6)=(/ 21.480000,21.594000,21.725000,21.932000,22.350000,23.114000 /) -XPIZA_LKT(77,14,1:6)=(/ 0.654696,0.692066,0.723493,0.871531,0.894118,0.919491 /) -XCGA_LKT(77,14,1:6)=(/ 0.907167,0.897843,0.890493,0.857790,0.853517,0.828733 /) -XEXT_COEFF_550_LKT(77,14)=21.758000 !rg=4.57091 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,15,1:6)=(/ 17.879000,17.985000,18.072000,18.258000,18.550000,19.106000 /) -XPIZA_LKT(77,15,1:6)=(/ 0.641828,0.678803,0.711295,0.864017,0.888542,0.912915 /) -XCGA_LKT(77,15,1:6)=(/ 0.910727,0.901103,0.893287,0.860410,0.856590,0.836257 /) -XEXT_COEFF_550_LKT(77,15)=18.055000 !rg=4.57091 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,16,1:6)=(/ 14.857000,14.920000,15.023000,15.117000,15.369000,15.799000 /) -XPIZA_LKT(77,16,1:6)=(/ 0.629784,0.664790,0.698339,0.854683,0.882921,0.907097 /) -XCGA_LKT(77,16,1:6)=(/ 0.914487,0.904463,0.896353,0.862800,0.859850,0.841497 /) -XEXT_COEFF_550_LKT(77,16)=14.983000 !rg=4.57091 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,17,1:6)=(/ 12.356000,12.401000,12.465000,12.547000,12.729000,13.041000 /) -XPIZA_LKT(77,17,1:6)=(/ 0.618564,0.651651,0.684648,0.844343,0.876472,0.901845 /) -XCGA_LKT(77,17,1:6)=(/ 0.918177,0.907873,0.899340,0.865280,0.863133,0.846153 /) -XEXT_COEFF_550_LKT(77,17)=12.469000 !rg=4.57091 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,18,1:6)=(/ 10.277000,10.318000,10.357000,10.437000,10.551000,10.791000 /) -XPIZA_LKT(77,18,1:6)=(/ 0.608270,0.639342,0.671026,0.832358,0.868191,0.895612 /) -XCGA_LKT(77,18,1:6)=(/ 0.921927,0.911660,0.902753,0.867423,0.865057,0.850647 /) -XEXT_COEFF_550_LKT(77,18)=10.349000 !rg=4.57091 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,19,1:6)=(/ 8.537900,8.563300,8.606800,8.647500,8.751500,8.942000 /) -XPIZA_LKT(77,19,1:6)=(/ 0.599045,0.627325,0.657996,0.818734,0.859491,0.889970 /) -XCGA_LKT(77,19,1:6)=(/ 0.925607,0.915367,0.906337,0.870100,0.868150,0.854633 /) -XEXT_COEFF_550_LKT(77,19)=8.588000 !rg=4.57091 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(77,20,1:6)=(/ 7.094000,7.113700,7.139100,7.179900,7.246100,7.371300 /) -XPIZA_LKT(77,20,1:6)=(/ 0.590719,0.616428,0.645056,0.804195,0.849167,0.883702 /) -XCGA_LKT(77,20,1:6)=(/ 0.929080,0.919050,0.909860,0.872837,0.870847,0.858463 /) -XEXT_COEFF_550_LKT(77,20)=7.144300 !rg=4.57091 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,1,1:6)=(/ 124.720000,126.860000,128.540000,132.510000,145.200000,113.320000 /) -XPIZA_LKT(78,1,1:6)=(/ 0.772805,0.764428,0.781769,0.929533,0.961530,0.972725 /) -XCGA_LKT(78,1,1:6)=(/ 0.880820,0.883137,0.873403,0.825473,0.820463,0.603210 /) -XEXT_COEFF_550_LKT(78,1)=129.030000 !rg=4.95192 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,2,1:6)=(/ 119.390000,121.350000,123.440000,126.990000,132.180000,123.820000 /) -XPIZA_LKT(78,2,1:6)=(/ 0.772081,0.764434,0.772708,0.924754,0.954759,0.974977 /) -XCGA_LKT(78,2,1:6)=(/ 0.881860,0.883757,0.876797,0.823090,0.803070,0.662880 /) -XEXT_COEFF_550_LKT(78,2)=123.220000 !rg=4.95192 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,3,1:6)=(/ 110.620000,111.770000,114.060000,116.430000,120.090000,123.490000 /) -XPIZA_LKT(78,3,1:6)=(/ 0.767428,0.766516,0.770749,0.921066,0.956391,0.975402 /) -XCGA_LKT(78,3,1:6)=(/ 0.883103,0.882470,0.876907,0.826380,0.806890,0.706450 /) -XEXT_COEFF_550_LKT(78,3)=113.610000 !rg=4.95192 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,4,1:6)=(/ 99.850000,101.050000,102.870000,104.870000,108.180000,114.110000 /) -XPIZA_LKT(78,4,1:6)=(/ 0.761688,0.767564,0.771974,0.914509,0.952603,0.973992 /) -XCGA_LKT(78,4,1:6)=(/ 0.884107,0.882190,0.876933,0.829443,0.809740,0.730597 /) -XEXT_COEFF_550_LKT(78,4)=102.430000 !rg=4.95192 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,5,1:6)=(/ 88.703000,89.438000,90.891000,92.812000,95.910000,101.590000 /) -XPIZA_LKT(78,5,1:6)=(/ 0.755116,0.767210,0.771554,0.908149,0.946971,0.971318 /) -XCGA_LKT(78,5,1:6)=(/ 0.885507,0.881827,0.877850,0.833063,0.810930,0.744900 /) -XEXT_COEFF_550_LKT(78,5)=90.829000 !rg=4.95192 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,6,1:6)=(/ 77.165000,78.158000,79.143000,80.749000,82.832000,88.440000 /) -XPIZA_LKT(78,6,1:6)=(/ 0.746315,0.764446,0.772308,0.903557,0.940787,0.968127 /) -XCGA_LKT(78,6,1:6)=(/ 0.886840,0.883247,0.878547,0.837170,0.816647,0.758153 /) -XEXT_COEFF_550_LKT(78,6)=79.116000 !rg=4.95192 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,7,1:6)=(/ 66.420000,67.175000,68.165000,69.261000,70.906000,75.523000 /) -XPIZA_LKT(78,7,1:6)=(/ 0.736637,0.760022,0.771666,0.898348,0.934286,0.964081 /) -XCGA_LKT(78,7,1:6)=(/ 0.888807,0.883697,0.878820,0.840317,0.823647,0.771907 /) -XEXT_COEFF_550_LKT(78,7)=67.883000 !rg=4.95192 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,8,1:6)=(/ 56.753000,57.354000,57.894000,59.013000,60.505000,64.110000 /) -XPIZA_LKT(78,8,1:6)=(/ 0.726188,0.753717,0.768391,0.895152,0.925636,0.958659 /) -XCGA_LKT(78,8,1:6)=(/ 0.890863,0.885197,0.880257,0.843503,0.826947,0.779427 /) -XEXT_COEFF_550_LKT(78,8)=57.954000 !rg=4.95192 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,9,1:6)=(/ 48.190000,48.495000,49.139000,49.941000,51.143000,53.820000 /) -XPIZA_LKT(78,9,1:6)=(/ 0.715078,0.745505,0.764046,0.892051,0.918332,0.952763 /) -XCGA_LKT(78,9,1:6)=(/ 0.893353,0.886417,0.881550,0.846403,0.832750,0.790843 /) -XEXT_COEFF_550_LKT(78,9)=49.137000 !rg=4.95192 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,10,1:6)=(/ 40.607000,40.958000,41.407000,41.818000,42.908000,45.259000 /) -XPIZA_LKT(78,10,1:6)=(/ 0.701871,0.735939,0.758961,0.888859,0.912103,0.944377 /) -XCGA_LKT(78,10,1:6)=(/ 0.895947,0.888683,0.883043,0.849147,0.838277,0.799533 /) -XEXT_COEFF_550_LKT(78,10)=41.378000 !rg=4.95192 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,11,1:6)=(/ 34.059000,34.328000,34.647000,35.123000,36.030000,37.695000 /) -XPIZA_LKT(78,11,1:6)=(/ 0.688564,0.724851,0.750252,0.885067,0.906074,0.936566 /) -XCGA_LKT(78,11,1:6)=(/ 0.898683,0.890890,0.885033,0.851777,0.842150,0.806457 /) -XEXT_COEFF_550_LKT(78,11)=34.619000 !rg=4.95192 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,12,1:6)=(/ 28.507000,28.662000,28.941000,29.232000,29.776000,31.075000 /) -XPIZA_LKT(78,12,1:6)=(/ 0.675373,0.712413,0.741283,0.880633,0.901490,0.929444 /) -XCGA_LKT(78,12,1:6)=(/ 0.901893,0.893277,0.887087,0.854280,0.848447,0.817763 /) -XEXT_COEFF_550_LKT(78,12)=28.918000 !rg=4.95192 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,13,1:6)=(/ 23.769000,23.906000,24.055000,24.320000,24.781000,25.686000 /) -XPIZA_LKT(78,13,1:6)=(/ 0.661779,0.699329,0.730205,0.875216,0.896743,0.922834 /) -XCGA_LKT(78,13,1:6)=(/ 0.905280,0.896253,0.889183,0.856933,0.852280,0.825190 /) -XEXT_COEFF_550_LKT(78,13)=24.103000 !rg=4.95192 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,14,1:6)=(/ 19.805000,19.930000,20.044000,20.198000,20.549000,21.253000 /) -XPIZA_LKT(78,14,1:6)=(/ 0.648442,0.686046,0.718203,0.868036,0.891566,0.915817 /) -XCGA_LKT(78,14,1:6)=(/ 0.908747,0.899490,0.891947,0.859107,0.855700,0.832910 /) -XEXT_COEFF_550_LKT(78,14)=20.042000 !rg=4.95192 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,15,1:6)=(/ 16.496000,16.567000,16.680000,16.798000,17.071000,17.538000 /) -XPIZA_LKT(78,15,1:6)=(/ 0.636151,0.672243,0.705614,0.859983,0.886343,0.909897 /) -XCGA_LKT(78,15,1:6)=(/ 0.912467,0.902413,0.894763,0.861067,0.859383,0.839713 /) -XEXT_COEFF_550_LKT(78,15)=16.684000 !rg=4.95192 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,16,1:6)=(/ 13.698000,13.764000,13.831000,13.960000,14.141000,14.529000 /) -XPIZA_LKT(78,16,1:6)=(/ 0.624181,0.658840,0.691756,0.850476,0.879953,0.904130 /) -XCGA_LKT(78,16,1:6)=(/ 0.916147,0.906047,0.897770,0.863763,0.861380,0.842913 /) -XEXT_COEFF_550_LKT(78,16)=13.835000 !rg=4.95192 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,17,1:6)=(/ 11.394000,11.444000,11.491000,11.583000,11.715000,12.009000 /) -XPIZA_LKT(78,17,1:6)=(/ 0.613369,0.645930,0.678258,0.839226,0.872733,0.898927 /) -XCGA_LKT(78,17,1:6)=(/ 0.919900,0.909640,0.900850,0.866460,0.864390,0.848807 /) -XEXT_COEFF_550_LKT(78,17)=11.491000 !rg=4.95192 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,18,1:6)=(/ 9.483300,9.511900,9.560000,9.608700,9.717500,9.921400 /) -XPIZA_LKT(78,18,1:6)=(/ 0.603795,0.633536,0.665238,0.826492,0.864823,0.893348 /) -XCGA_LKT(78,18,1:6)=(/ 0.923660,0.913297,0.904417,0.868320,0.867430,0.853813 /) -XEXT_COEFF_550_LKT(78,18)=9.558600 !rg=4.95192 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,19,1:6)=(/ 7.875300,7.901300,7.928900,7.987200,8.047300,8.212900 /) -XPIZA_LKT(78,19,1:6)=(/ 0.594829,0.622229,0.651798,0.812781,0.854880,0.886675 /) -XCGA_LKT(78,19,1:6)=(/ 0.927260,0.917087,0.907943,0.871170,0.869100,0.855733 /) -XEXT_COEFF_550_LKT(78,19)=7.930700 !rg=4.95192 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(78,20,1:6)=(/ 6.544600,6.564500,6.584300,6.620800,6.676200,6.790100 /) -XPIZA_LKT(78,20,1:6)=(/ 0.586978,0.611709,0.639375,0.797295,0.844031,0.880416 /) -XCGA_LKT(78,20,1:6)=(/ 0.930700,0.920823,0.911503,0.874010,0.872183,0.860250 /) -XEXT_COEFF_550_LKT(78,20)=6.584200 !rg=4.95192 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,1,1:6)=(/ 114.540000,116.760000,119.110000,119.380000,136.400000,118.620000 /) -XPIZA_LKT(79,1,1:6)=(/ 0.769857,0.775021,0.765133,0.920185,0.957914,0.974015 /) -XCGA_LKT(79,1,1:6)=(/ 0.882340,0.880670,0.879650,0.821100,0.818470,0.672673 /) -XEXT_COEFF_550_LKT(79,1)=118.920000 !rg=5.36469 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,2,1:6)=(/ 110.170000,111.930000,113.130000,115.820000,121.070000,122.730000 /) -XPIZA_LKT(79,2,1:6)=(/ 0.768919,0.770263,0.760765,0.921297,0.955013,0.974789 /) -XCGA_LKT(79,2,1:6)=(/ 0.882463,0.882653,0.881200,0.827697,0.804790,0.703710 /) -XEXT_COEFF_550_LKT(79,2)=112.810000 !rg=5.36469 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,3,1:6)=(/ 101.870000,103.510000,104.600000,106.860000,110.340000,115.990000 /) -XPIZA_LKT(79,3,1:6)=(/ 0.763729,0.769537,0.763322,0.915464,0.952594,0.973704 /) -XCGA_LKT(79,3,1:6)=(/ 0.883643,0.881710,0.880750,0.830953,0.810980,0.727013 /) -XEXT_COEFF_550_LKT(79,3)=104.300000 !rg=5.36469 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,4,1:6)=(/ 92.079000,93.302000,94.407000,96.447000,99.339000,105.090000 /) -XPIZA_LKT(79,4,1:6)=(/ 0.758153,0.768361,0.767471,0.908823,0.948541,0.971664 /) -XCGA_LKT(79,4,1:6)=(/ 0.884790,0.882193,0.879770,0.833810,0.814297,0.743317 /) -XEXT_COEFF_550_LKT(79,4)=94.055000 !rg=5.36469 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,5,1:6)=(/ 81.445000,82.356000,83.573000,84.973000,87.642000,92.835000 /) -XPIZA_LKT(79,5,1:6)=(/ 0.750342,0.766520,0.770514,0.903536,0.943652,0.969473 /) -XCGA_LKT(79,5,1:6)=(/ 0.886130,0.882680,0.878763,0.837173,0.817553,0.758053 /) -XEXT_COEFF_550_LKT(79,5)=83.310000 !rg=5.36469 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,6,1:6)=(/ 71.126000,71.901000,72.951000,74.026000,76.633000,81.308000 /) -XPIZA_LKT(79,6,1:6)=(/ 0.741792,0.763107,0.770463,0.898869,0.936367,0.964846 /) -XCGA_LKT(79,6,1:6)=(/ 0.887863,0.883383,0.879867,0.840467,0.821273,0.766873 /) -XEXT_COEFF_550_LKT(79,6)=72.955000 !rg=5.36469 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,7,1:6)=(/ 61.358000,61.932000,62.589000,63.800000,65.532000,69.244000 /) -XPIZA_LKT(79,7,1:6)=(/ 0.731955,0.757265,0.768931,0.895295,0.928797,0.960776 /) -XCGA_LKT(79,7,1:6)=(/ 0.890077,0.884663,0.880090,0.843197,0.827073,0.778550 /) -XEXT_COEFF_550_LKT(79,7)=62.371000 !rg=5.36469 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,8,1:6)=(/ 52.423000,52.748000,53.410000,54.161000,55.720000,59.028000 /) -XPIZA_LKT(79,8,1:6)=(/ 0.721027,0.749894,0.766140,0.892644,0.921661,0.954869 /) -XCGA_LKT(79,8,1:6)=(/ 0.892160,0.885810,0.881253,0.845870,0.831707,0.786623 /) -XEXT_COEFF_550_LKT(79,8)=53.529000 !rg=5.36469 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,9,1:6)=(/ 44.333000,44.756000,45.135000,45.813000,46.936000,49.129000 /) -XPIZA_LKT(79,9,1:6)=(/ 0.708298,0.741612,0.761349,0.890031,0.915197,0.949681 /) -XCGA_LKT(79,9,1:6)=(/ 0.894453,0.887823,0.882097,0.848787,0.837667,0.799063 /) -XEXT_COEFF_550_LKT(79,9)=45.040000 !rg=5.36469 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,10,1:6)=(/ 37.449000,37.691000,38.085000,38.530000,39.449000,41.284000 /) -XPIZA_LKT(79,10,1:6)=(/ 0.695642,0.730699,0.754451,0.887017,0.909114,0.941528 /) -XCGA_LKT(79,10,1:6)=(/ 0.897217,0.889780,0.884080,0.850917,0.841550,0.805077 /) -XEXT_COEFF_550_LKT(79,10)=38.158000 !rg=5.36469 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,11,1:6)=(/ 31.428000,31.657000,31.937000,32.334000,33.023000,34.512000 /) -XPIZA_LKT(79,11,1:6)=(/ 0.682183,0.719293,0.746280,0.882517,0.903302,0.933034 /) -XCGA_LKT(79,11,1:6)=(/ 0.900230,0.892210,0.886150,0.852693,0.845367,0.812813 /) -XEXT_COEFF_550_LKT(79,11)=31.826000 !rg=5.36469 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,12,1:6)=(/ 26.284000,26.441000,26.615000,26.912000,27.445000,28.466000 /) -XPIZA_LKT(79,12,1:6)=(/ 0.668710,0.706664,0.736058,0.878141,0.898826,0.926537 /) -XCGA_LKT(79,12,1:6)=(/ 0.903510,0.894737,0.887913,0.855783,0.850327,0.821963 /) -XEXT_COEFF_550_LKT(79,12)=26.650000 !rg=5.36469 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,13,1:6)=(/ 21.917000,22.058000,22.196000,22.354000,22.808000,23.605000 /) -XPIZA_LKT(79,13,1:6)=(/ 0.655245,0.693374,0.724799,0.871757,0.894100,0.919331 /) -XCGA_LKT(79,13,1:6)=(/ 0.906897,0.897790,0.890580,0.857870,0.854460,0.829857 /) -XEXT_COEFF_550_LKT(79,13)=22.181000 !rg=5.36469 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,14,1:6)=(/ 18.283000,18.357000,18.497000,18.639000,18.922000,19.460000 /) -XPIZA_LKT(79,14,1:6)=(/ 0.642600,0.679406,0.712661,0.864657,0.888900,0.912763 /) -XCGA_LKT(79,14,1:6)=(/ 0.910547,0.900810,0.893483,0.860357,0.858023,0.837000 /) -XEXT_COEFF_550_LKT(79,14)=18.478000 !rg=5.36469 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,15,1:6)=(/ 15.213000,15.298000,15.358000,15.513000,15.740000,16.190000 /) -XPIZA_LKT(79,15,1:6)=(/ 0.630240,0.666313,0.699297,0.856046,0.883000,0.906384 /) -XCGA_LKT(79,15,1:6)=(/ 0.914183,0.904177,0.895853,0.862773,0.860253,0.840743 /) -XEXT_COEFF_550_LKT(79,15)=15.377000 !rg=5.36469 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,16,1:6)=(/ 12.637000,12.693000,12.760000,12.852000,13.027000,13.367000 /) -XPIZA_LKT(79,16,1:6)=(/ 0.618863,0.652737,0.685924,0.845320,0.876850,0.901445 /) -XCGA_LKT(79,16,1:6)=(/ 0.917947,0.907717,0.899213,0.864360,0.862640,0.845780 /) -XEXT_COEFF_550_LKT(79,16)=12.747000 !rg=5.36469 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,17,1:6)=(/ 10.515000,10.551000,10.606000,10.663000,10.799000,11.038000 /) -XPIZA_LKT(79,17,1:6)=(/ 0.608676,0.639997,0.672430,0.833671,0.869367,0.895883 /) -XCGA_LKT(79,17,1:6)=(/ 0.921700,0.911310,0.902510,0.867170,0.866077,0.851377 /) -XEXT_COEFF_550_LKT(79,17)=10.611000 !rg=5.36469 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,18,1:6)=(/ 8.747000,8.780500,8.808900,8.876600,8.959300,9.144200 /) -XPIZA_LKT(79,18,1:6)=(/ 0.599327,0.628436,0.658883,0.820706,0.860401,0.889887 /) -XCGA_LKT(79,18,1:6)=(/ 0.925333,0.915030,0.905903,0.869937,0.868200,0.854430 /) -XEXT_COEFF_550_LKT(79,18)=8.812100 !rg=5.36469 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,19,1:6)=(/ 7.265800,7.288000,7.315800,7.358400,7.427400,7.562100 /) -XPIZA_LKT(79,19,1:6)=(/ 0.590948,0.617144,0.646190,0.805904,0.850588,0.883885 /) -XCGA_LKT(79,19,1:6)=(/ 0.928870,0.918830,0.909583,0.872173,0.870403,0.857857 /) -XEXT_COEFF_550_LKT(79,19)=7.309600 !rg=5.36469 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(79,20,1:6)=(/ 6.039400,6.055200,6.076100,6.100600,6.160300,6.257900 /) -XPIZA_LKT(79,20,1:6)=(/ 0.583578,0.607000,0.633991,0.790092,0.839071,0.876945 /) -XCGA_LKT(79,20,1:6)=(/ 0.932270,0.922550,0.913303,0.875013,0.873377,0.862033 /) -XEXT_COEFF_550_LKT(79,20)=6.078200 !rg=5.36469 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,1,1:6)=(/ 105.630000,106.560000,108.740000,112.850000,112.340000,126.820000 /) -XPIZA_LKT(80,1,1:6)=(/ 0.766318,0.776465,0.745792,0.919315,0.950307,0.975977 /) -XCGA_LKT(80,1,1:6)=(/ 0.882440,0.880480,0.887053,0.834320,0.799720,0.742607 /) -XEXT_COEFF_550_LKT(80,1)=108.540000 !rg=5.81187 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,2,1:6)=(/ 101.270000,102.630000,104.350000,105.830000,110.710000,121.450000 /) -XPIZA_LKT(80,2,1:6)=(/ 0.763553,0.774276,0.750736,0.915189,0.952265,0.974198 /) -XCGA_LKT(80,2,1:6)=(/ 0.883563,0.881140,0.885483,0.830853,0.807447,0.741927 /) -XEXT_COEFF_550_LKT(80,2)=104.540000 !rg=5.81187 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,3,1:6)=(/ 94.087000,94.866000,96.522000,98.435000,102.550000,108.960000 /) -XPIZA_LKT(80,3,1:6)=(/ 0.759977,0.771937,0.759582,0.909995,0.945801,0.971958 /) -XCGA_LKT(80,3,1:6)=(/ 0.884473,0.881307,0.882640,0.835560,0.807283,0.742480 /) -XEXT_COEFF_550_LKT(80,3)=96.434000 !rg=5.81187 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,4,1:6)=(/ 84.948000,85.704000,87.159000,88.687000,92.391000,97.394000 /) -XPIZA_LKT(80,4,1:6)=(/ 0.753475,0.769398,0.765359,0.903509,0.941832,0.968887 /) -XCGA_LKT(80,4,1:6)=(/ 0.885677,0.881880,0.881153,0.838287,0.811217,0.749237 /) -XEXT_COEFF_550_LKT(80,4)=86.956000 !rg=5.81187 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,5,1:6)=(/ 75.184000,76.048000,76.816000,78.439000,80.548000,85.082000 /) -XPIZA_LKT(80,5,1:6)=(/ 0.745775,0.765712,0.768409,0.898475,0.938860,0.966784 /) -XCGA_LKT(80,5,1:6)=(/ 0.887370,0.882597,0.880630,0.840067,0.822183,0.767667 /) -XEXT_COEFF_550_LKT(80,5)=76.656000 !rg=5.81187 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,6,1:6)=(/ 65.640000,66.219000,66.996000,67.801000,70.697000,74.725000 /) -XPIZA_LKT(80,6,1:6)=(/ 0.736362,0.759879,0.769418,0.895862,0.932050,0.961956 /) -XCGA_LKT(80,6,1:6)=(/ 0.889157,0.884127,0.880630,0.843713,0.822793,0.768297 /) -XEXT_COEFF_550_LKT(80,6)=66.933000 !rg=5.81187 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,7,1:6)=(/ 56.442000,56.979000,57.757000,58.661000,60.698000,63.836000 /) -XPIZA_LKT(80,7,1:6)=(/ 0.725750,0.754115,0.767245,0.892398,0.923650,0.956961 /) -XCGA_LKT(80,7,1:6)=(/ 0.890963,0.885190,0.881467,0.845453,0.827317,0.778633 /) -XEXT_COEFF_550_LKT(80,7)=57.602000 !rg=5.81187 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,8,1:6)=(/ 48.294000,48.710000,49.093000,49.720000,51.218000,53.885000 /) -XPIZA_LKT(80,8,1:6)=(/ 0.714594,0.746195,0.763723,0.890190,0.918131,0.952787 /) -XCGA_LKT(80,8,1:6)=(/ 0.893577,0.886977,0.881917,0.848323,0.835093,0.791427 /) -XEXT_COEFF_550_LKT(80,8)=49.218000 !rg=5.81187 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,9,1:6)=(/ 40.944000,41.206000,41.594000,42.251000,43.160000,45.071000 /) -XPIZA_LKT(80,9,1:6)=(/ 0.702251,0.736723,0.758473,0.887897,0.911033,0.945119 /) -XCGA_LKT(80,9,1:6)=(/ 0.896073,0.888313,0.883537,0.849953,0.840930,0.804503 /) -XEXT_COEFF_550_LKT(80,9)=41.634000 !rg=5.81187 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,10,1:6)=(/ 34.535000,34.811000,35.032000,35.469000,36.360000,37.864000 /) -XPIZA_LKT(80,10,1:6)=(/ 0.688970,0.725938,0.750593,0.884469,0.905147,0.937301 /) -XCGA_LKT(80,10,1:6)=(/ 0.898700,0.891013,0.885213,0.852753,0.844403,0.811907 /) -XEXT_COEFF_550_LKT(80,10)=35.028000 !rg=5.81187 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,11,1:6)=(/ 29.008000,29.149000,29.417000,29.817000,30.317000,31.478000 /) -XPIZA_LKT(80,11,1:6)=(/ 0.675784,0.713238,0.741784,0.880258,0.900860,0.929911 /) -XCGA_LKT(80,11,1:6)=(/ 0.901887,0.893127,0.887223,0.854380,0.848930,0.818927 /) -XEXT_COEFF_550_LKT(80,11)=29.377000 !rg=5.81187 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,12,1:6)=(/ 24.239000,24.398000,24.554000,24.765000,25.252000,26.179000 /) -XPIZA_LKT(80,12,1:6)=(/ 0.662107,0.700667,0.731305,0.875204,0.895923,0.922291 /) -XCGA_LKT(80,12,1:6)=(/ 0.905123,0.896300,0.889347,0.857063,0.852473,0.826707 /) -XEXT_COEFF_550_LKT(80,12)=24.546000 !rg=5.81187 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,13,1:6)=(/ 20.224000,20.311000,20.480000,20.658000,20.992000,21.604000 /) -XPIZA_LKT(80,13,1:6)=(/ 0.649196,0.686779,0.719499,0.868800,0.891141,0.915601 /) -XCGA_LKT(80,13,1:6)=(/ 0.908633,0.899103,0.892090,0.859190,0.856377,0.834220 /) -XEXT_COEFF_550_LKT(80,13)=20.471000 !rg=5.81187 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,14,1:6)=(/ 16.851000,16.942000,17.023000,17.203000,17.424000,17.929000 /) -XPIZA_LKT(80,14,1:6)=(/ 0.636409,0.673465,0.706291,0.861434,0.886226,0.909650 /) -XCGA_LKT(80,14,1:6)=(/ 0.912240,0.902377,0.894577,0.861493,0.858897,0.838650 /) -XEXT_COEFF_550_LKT(80,14)=17.014000 !rg=5.81187 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,15,1:6)=(/ 14.034000,14.099000,14.183000,14.247000,14.460000,14.825000 /) -XPIZA_LKT(80,15,1:6)=(/ 0.624723,0.659830,0.693557,0.851516,0.880541,0.904137 /) -XCGA_LKT(80,15,1:6)=(/ 0.915927,0.905793,0.897533,0.863663,0.862047,0.843993 /) -XEXT_COEFF_550_LKT(80,15)=14.161000 !rg=5.81187 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,16,1:6)=(/ 11.662000,11.706000,11.764000,11.842000,11.989000,12.264000 /) -XPIZA_LKT(80,16,1:6)=(/ 0.613856,0.646648,0.679741,0.840277,0.873547,0.898984 /) -XCGA_LKT(80,16,1:6)=(/ 0.919777,0.909380,0.900743,0.865770,0.864670,0.849147 /) -XEXT_COEFF_550_LKT(80,16)=11.762000 !rg=5.81187 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,17,1:6)=(/ 9.699900,9.736900,9.774200,9.853500,9.914000,10.119000 /) -XPIZA_LKT(80,17,1:6)=(/ 0.603936,0.634405,0.666078,0.828331,0.864914,0.893131 /) -XCGA_LKT(80,17,1:6)=(/ 0.923433,0.913113,0.904067,0.868653,0.866283,0.852900 /) -XEXT_COEFF_550_LKT(80,17)=9.773200 !rg=5.81187 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,18,1:6)=(/ 8.070000,8.097300,8.132900,8.161000,8.251800,8.394500 /) -XPIZA_LKT(80,18,1:6)=(/ 0.595133,0.622937,0.653408,0.814106,0.856192,0.887431 /) -XCGA_LKT(80,18,1:6)=(/ 0.927017,0.916797,0.907587,0.870930,0.869213,0.856637 /) -XEXT_COEFF_550_LKT(80,18)=8.125500 !rg=5.81187 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,19,1:6)=(/ 6.704600,6.724000,6.746300,6.779700,6.846000,6.963800 /) -XPIZA_LKT(80,19,1:6)=(/ 0.587301,0.612232,0.640431,0.798981,0.845529,0.880901 /) -XCGA_LKT(80,19,1:6)=(/ 0.930483,0.920560,0.911307,0.873557,0.871813,0.859893 /) -XEXT_COEFF_550_LKT(80,19)=6.746800 !rg=5.81187 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(80,20,1:6)=(/ 5.572300,5.587500,5.603800,5.631800,5.664000,5.743900 /) -XPIZA_LKT(80,20,1:6)=(/ 0.580339,0.602616,0.628518,0.782986,0.832845,0.873046 /) -XCGA_LKT(80,20,1:6)=(/ 0.933757,0.924280,0.915040,0.876503,0.873933,0.862717 /) -XEXT_COEFF_550_LKT(80,20)=5.601900 !rg=5.81187 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET8',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET8 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET9() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET9',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(81,1,1:6)=(/ 98.528000,99.670000,100.560000,101.780000,98.949000,132.390000 /) -XPIZA_LKT(81,1,1:6)=(/ 0.764207,0.777747,0.730800,0.911237,0.947466,0.975518 /) -XCGA_LKT(81,1,1:6)=(/ 0.884603,0.880620,0.892387,0.830657,0.794577,0.774727 /) -XEXT_COEFF_550_LKT(81,1)=99.359000 !rg=6.29632 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,2,1:6)=(/ 93.675000,94.724000,95.962000,97.386000,101.660000,115.450000 /) -XPIZA_LKT(81,2,1:6)=(/ 0.760202,0.774840,0.750235,0.908731,0.948202,0.973100 /) -XCGA_LKT(81,2,1:6)=(/ 0.884617,0.881323,0.886860,0.835417,0.809150,0.764460 /) -XEXT_COEFF_550_LKT(81,2)=95.589000 !rg=6.29632 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,3,1:6)=(/ 86.445000,87.830000,88.548000,90.763000,93.996000,102.030000 /) -XPIZA_LKT(81,3,1:6)=(/ 0.754182,0.771970,0.760822,0.902827,0.944738,0.968311 /) -XCGA_LKT(81,3,1:6)=(/ 0.885210,0.882100,0.882970,0.837000,0.815820,0.759407 /) -XEXT_COEFF_550_LKT(81,3)=88.606000 !rg=6.29632 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,4,1:6)=(/ 78.173000,79.179000,79.944000,81.761000,84.546000,90.360000 /) -XPIZA_LKT(81,4,1:6)=(/ 0.748076,0.767979,0.766451,0.897426,0.939990,0.965383 /) -XCGA_LKT(81,4,1:6)=(/ 0.886507,0.882970,0.881397,0.840130,0.819470,0.763560 /) -XEXT_COEFF_550_LKT(81,4)=79.795000 !rg=6.29632 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,5,1:6)=(/ 69.276000,69.865000,70.895000,72.075000,74.746000,78.768000 /) -XPIZA_LKT(81,5,1:6)=(/ 0.740220,0.763735,0.767556,0.894608,0.932588,0.962548 /) -XCGA_LKT(81,5,1:6)=(/ 0.888303,0.883277,0.881307,0.844133,0.820893,0.767830 /) -XEXT_COEFF_550_LKT(81,5)=70.867000 !rg=6.29632 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,6,1:6)=(/ 60.392000,61.068000,61.731000,62.904000,64.980000,68.577000 /) -XPIZA_LKT(81,6,1:6)=(/ 0.730280,0.758181,0.766845,0.892321,0.926847,0.958602 /) -XCGA_LKT(81,6,1:6)=(/ 0.889927,0.884393,0.881823,0.846633,0.826763,0.779843 /) -XEXT_COEFF_550_LKT(81,6)=61.779000 !rg=6.29632 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,7,1:6)=(/ 52.123000,52.563000,53.067000,54.022000,55.409000,58.586000 /) -XPIZA_LKT(81,7,1:6)=(/ 0.719914,0.750558,0.765504,0.890067,0.920154,0.953873 /) -XCGA_LKT(81,7,1:6)=(/ 0.892400,0.886230,0.881997,0.847563,0.832873,0.788400 /) -XEXT_COEFF_550_LKT(81,7)=52.867000 !rg=6.29632 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,8,1:6)=(/ 44.488000,44.960000,45.320000,45.806000,47.161000,49.380000 /) -XPIZA_LKT(81,8,1:6)=(/ 0.708028,0.742007,0.761165,0.887975,0.913885,0.948751 /) -XCGA_LKT(81,8,1:6)=(/ 0.894537,0.888200,0.883303,0.850340,0.838683,0.799913 /) -XEXT_COEFF_550_LKT(81,8)=45.335000 !rg=6.29632 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,9,1:6)=(/ 37.713000,37.974000,38.327000,38.840000,39.897000,41.719000 /) -XPIZA_LKT(81,9,1:6)=(/ 0.695481,0.731460,0.754993,0.885946,0.906843,0.939505 /) -XCGA_LKT(81,9,1:6)=(/ 0.897243,0.889670,0.884013,0.852383,0.842050,0.803710 /) -XEXT_COEFF_550_LKT(81,9)=38.382000 !rg=6.29632 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,10,1:6)=(/ 31.885000,32.031000,32.344000,32.665000,33.322000,34.623000 /) -XPIZA_LKT(81,10,1:6)=(/ 0.682626,0.719649,0.747088,0.882930,0.902779,0.933419 /) -XCGA_LKT(81,10,1:6)=(/ 0.900400,0.891947,0.886350,0.854017,0.847897,0.817390 /) -XEXT_COEFF_550_LKT(81,10)=32.358000 !rg=6.29632 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,11,1:6)=(/ 26.736000,26.895000,27.075000,27.424000,27.854000,28.783000 /) -XPIZA_LKT(81,11,1:6)=(/ 0.669060,0.707635,0.736931,0.878439,0.898677,0.927004 /) -XCGA_LKT(81,11,1:6)=(/ 0.903367,0.894640,0.887813,0.856267,0.852343,0.825140 /) -XEXT_COEFF_550_LKT(81,11)=27.077000 !rg=6.29632 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,12,1:6)=(/ 22.368000,22.468000,22.653000,22.826000,23.226000,23.948000 /) -XPIZA_LKT(81,12,1:6)=(/ 0.655846,0.693985,0.726179,0.872416,0.893541,0.919035 /) -XCGA_LKT(81,12,1:6)=(/ 0.906827,0.897487,0.890783,0.858173,0.855233,0.831403 /) -XEXT_COEFF_550_LKT(81,12)=22.620000 !rg=6.29632 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,13,1:6)=(/ 18.642000,18.744000,18.839000,19.044000,19.289000,19.852000 /) -XPIZA_LKT(81,13,1:6)=(/ 0.642717,0.680773,0.713507,0.865801,0.888528,0.912658 /) -XCGA_LKT(81,13,1:6)=(/ 0.910340,0.900600,0.893067,0.860477,0.857453,0.836447 /) -XEXT_COEFF_550_LKT(81,13)=18.829000 !rg=6.29632 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,14,1:6)=(/ 15.547000,15.611000,15.712000,15.826000,16.042000,16.472000 /) -XPIZA_LKT(81,14,1:6)=(/ 0.630723,0.666824,0.700776,0.856830,0.883679,0.907156 /) -XCGA_LKT(81,14,1:6)=(/ 0.913983,0.903873,0.895960,0.862227,0.861357,0.842570 /) -XEXT_COEFF_550_LKT(81,14)=15.701000 !rg=6.29632 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,15,1:6)=(/ 12.949000,12.994000,13.070000,13.158000,13.337000,13.658000 /) -XPIZA_LKT(81,15,1:6)=(/ 0.619428,0.653553,0.687140,0.846969,0.877411,0.901203 /) -XCGA_LKT(81,15,1:6)=(/ 0.917710,0.907383,0.898973,0.864690,0.863343,0.846680 /) -XEXT_COEFF_550_LKT(81,15)=13.075000 !rg=6.29632 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,16,1:6)=(/ 10.757000,10.800000,10.848000,10.926000,11.016000,11.246000 /) -XPIZA_LKT(81,16,1:6)=(/ 0.608900,0.640960,0.673426,0.835357,0.870025,0.896406 /) -XCGA_LKT(81,16,1:6)=(/ 0.921507,0.911087,0.902220,0.867393,0.866080,0.852380 /) -XEXT_COEFF_550_LKT(81,16)=10.836000 !rg=6.29632 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,17,1:6)=(/ 8.949700,8.978900,9.019900,9.070300,9.165200,9.344200 /) -XPIZA_LKT(81,17,1:6)=(/ 0.599554,0.628750,0.660150,0.822086,0.861518,0.890456 /) -XCGA_LKT(81,17,1:6)=(/ 0.925140,0.914783,0.905780,0.869697,0.868750,0.855890 /) -XEXT_COEFF_550_LKT(81,17)=9.014900 !rg=6.29632 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,18,1:6)=(/ 7.446500,7.466600,7.497100,7.536200,7.606800,7.742800 /) -XPIZA_LKT(81,18,1:6)=(/ 0.591216,0.617627,0.647230,0.807761,0.851619,0.884240 /) -XCGA_LKT(81,18,1:6)=(/ 0.928677,0.918547,0.909273,0.872163,0.870313,0.858383 /) -XEXT_COEFF_550_LKT(81,18)=7.501100 !rg=6.29632 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,19,1:6)=(/ 6.186200,6.204600,6.223500,6.255100,6.292300,6.388500 /) -XPIZA_LKT(81,19,1:6)=(/ 0.583754,0.607635,0.634828,0.792212,0.840185,0.877675 /) -XCGA_LKT(81,19,1:6)=(/ 0.932080,0.922300,0.912980,0.874937,0.873123,0.862277 /) -XEXT_COEFF_550_LKT(81,19)=6.220200 !rg=6.29632 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(81,20,1:6)=(/ 5.141900,5.154100,5.171000,5.188800,5.226300,5.302200 /) -XPIZA_LKT(81,20,1:6)=(/ 0.577256,0.598343,0.623415,0.775396,0.827446,0.869504 /) -XCGA_LKT(81,20,1:6)=(/ 0.935263,0.925903,0.916803,0.877827,0.875827,0.864947 /) -XEXT_COEFF_550_LKT(81,20)=5.168000 !rg=6.29632 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,1,1:6)=(/ 90.449000,91.209000,92.448000,93.310000,98.930000,121.320000 /) -XPIZA_LKT(82,1,1:6)=(/ 0.758046,0.776991,0.745618,0.907750,0.948667,0.975361 /) -XCGA_LKT(82,1,1:6)=(/ 0.886483,0.879573,0.887877,0.838320,0.818307,0.798257 /) -XEXT_COEFF_550_LKT(82,1)=91.446000 !rg=6.82116 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,2,1:6)=(/ 86.027000,86.962000,88.493000,90.260000,93.283000,106.470000 /) -XPIZA_LKT(82,2,1:6)=(/ 0.754138,0.775134,0.752191,0.902273,0.944008,0.968843 /) -XCGA_LKT(82,2,1:6)=(/ 0.885360,0.880197,0.886950,0.840813,0.814480,0.777823 /) -XEXT_COEFF_550_LKT(82,2)=88.159000 !rg=6.82116 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,3,1:6)=(/ 79.950000,80.533000,81.819000,83.339000,85.981000,92.024000 /) -XPIZA_LKT(82,3,1:6)=(/ 0.750181,0.772071,0.760812,0.896775,0.941541,0.968313 /) -XCGA_LKT(82,3,1:6)=(/ 0.886737,0.881703,0.883723,0.841367,0.819220,0.774963 /) -XEXT_COEFF_550_LKT(82,3)=81.684000 !rg=6.82116 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,4,1:6)=(/ 72.219000,72.774000,73.776000,75.213000,77.341000,81.641000 /) -XPIZA_LKT(82,4,1:6)=(/ 0.743332,0.767078,0.765065,0.892533,0.936397,0.965441 /) -XCGA_LKT(82,4,1:6)=(/ 0.888133,0.882490,0.882683,0.843663,0.822873,0.777520 /) -XEXT_COEFF_550_LKT(82,4)=73.737000 !rg=6.82116 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,5,1:6)=(/ 63.816000,64.588000,65.088000,66.301000,68.368000,72.597000 /) -XPIZA_LKT(82,5,1:6)=(/ 0.734093,0.761248,0.767997,0.890498,0.929389,0.959702 /) -XCGA_LKT(82,5,1:6)=(/ 0.889303,0.884253,0.881503,0.845290,0.827353,0.780067 /) -XEXT_COEFF_550_LKT(82,5)=65.088000 !rg=6.82116 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,6,1:6)=(/ 55.819000,56.255000,56.867000,57.757000,59.154000,62.086000 /) -XPIZA_LKT(82,6,1:6)=(/ 0.725016,0.754640,0.766756,0.889290,0.922997,0.955990 /) -XCGA_LKT(82,6,1:6)=(/ 0.891640,0.885467,0.881907,0.847863,0.832853,0.790857 /) -XEXT_COEFF_550_LKT(82,6)=56.892000 !rg=6.82116 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,7,1:6)=(/ 48.092000,48.334000,48.932000,49.831000,50.840000,53.166000 /) -XPIZA_LKT(82,7,1:6)=(/ 0.713740,0.746097,0.763270,0.887958,0.916116,0.951752 /) -XCGA_LKT(82,7,1:6)=(/ 0.893843,0.886440,0.883017,0.849113,0.837263,0.796900 /) -XEXT_COEFF_550_LKT(82,7)=48.795000 !rg=6.82116 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,8,1:6)=(/ 41.116000,41.326000,41.793000,42.338000,43.184000,44.990000 /) -XPIZA_LKT(82,8,1:6)=(/ 0.702062,0.736553,0.758238,0.886748,0.909598,0.944640 /) -XCGA_LKT(82,8,1:6)=(/ 0.896200,0.888777,0.884430,0.851977,0.842470,0.807033 /) -XEXT_COEFF_550_LKT(82,8)=41.738000 !rg=6.82116 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,9,1:6)=(/ 34.764000,35.045000,35.291000,35.672000,36.500000,38.188000 /) -XPIZA_LKT(82,9,1:6)=(/ 0.688438,0.726168,0.751243,0.883790,0.903971,0.936527 /) -XCGA_LKT(82,9,1:6)=(/ 0.898700,0.890913,0.885210,0.853150,0.845357,0.811450 /) -XEXT_COEFF_550_LKT(82,9)=35.264000 !rg=6.82116 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,10,1:6)=(/ 29.363000,29.616000,29.745000,30.167000,30.774000,31.934000 /) -XPIZA_LKT(82,10,1:6)=(/ 0.675516,0.714676,0.742056,0.880401,0.899423,0.928995 /) -XCGA_LKT(82,10,1:6)=(/ 0.901780,0.893437,0.887060,0.855510,0.849750,0.818460 /) -XEXT_COEFF_550_LKT(82,10)=29.823000 !rg=6.82116 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,11,1:6)=(/ 24.673000,24.786000,24.965000,25.219000,25.706000,26.581000 /) -XPIZA_LKT(82,11,1:6)=(/ 0.662725,0.701183,0.732225,0.875648,0.894954,0.922125 /) -XCGA_LKT(82,11,1:6)=(/ 0.905083,0.895893,0.889280,0.857037,0.853103,0.828040 /) -XEXT_COEFF_550_LKT(82,11)=24.972000 !rg=6.82116 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,12,1:6)=(/ 20.617000,20.732000,20.846000,21.087000,21.392000,22.068000 /) -XPIZA_LKT(82,12,1:6)=(/ 0.649363,0.687851,0.720202,0.869904,0.891137,0.915256 /) -XCGA_LKT(82,12,1:6)=(/ 0.908423,0.898990,0.891697,0.859457,0.856427,0.833227 /) -XEXT_COEFF_550_LKT(82,12)=20.854000 !rg=6.82116 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,13,1:6)=(/ 17.201000,17.281000,17.388000,17.512000,17.788000,18.286000 /) -XPIZA_LKT(82,13,1:6)=(/ 0.636762,0.674126,0.707967,0.861880,0.885944,0.909764 /) -XCGA_LKT(82,13,1:6)=(/ 0.912120,0.902110,0.894497,0.861303,0.859927,0.840727 /) -XEXT_COEFF_550_LKT(82,13)=17.376000 !rg=6.82116 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,14,1:6)=(/ 14.341000,14.402000,14.468000,14.594000,14.786000,15.164000 /) -XPIZA_LKT(82,14,1:6)=(/ 0.625075,0.660596,0.694330,0.852954,0.880914,0.904265 /) -XCGA_LKT(82,14,1:6)=(/ 0.915773,0.905513,0.897210,0.863743,0.862473,0.844653 /) -XEXT_COEFF_550_LKT(82,14)=14.487000 !rg=6.82116 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,15,1:6)=(/ 11.944000,11.994000,12.039000,12.130000,12.280000,12.581000 /) -XPIZA_LKT(82,15,1:6)=(/ 0.614176,0.647761,0.680806,0.841994,0.873731,0.898510 /) -XCGA_LKT(82,15,1:6)=(/ 0.919497,0.909073,0.900420,0.865820,0.864003,0.849070 /) -XEXT_COEFF_550_LKT(82,15)=12.036000 !rg=6.82116 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,16,1:6)=(/ 9.925000,9.957400,10.008000,10.066000,10.185000,10.404000 /) -XPIZA_LKT(82,16,1:6)=(/ 0.604190,0.634920,0.667493,0.829571,0.866182,0.893360 /) -XCGA_LKT(82,16,1:6)=(/ 0.923260,0.912830,0.903853,0.868520,0.866567,0.853080 /) -XEXT_COEFF_550_LKT(82,16)=9.995700 !rg=6.82116 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,17,1:6)=(/ 8.256800,8.281600,8.314300,8.359200,8.441000,8.607400 /) -XPIZA_LKT(82,17,1:6)=(/ 0.595299,0.623370,0.653955,0.816085,0.857427,0.888102 /) -XCGA_LKT(82,17,1:6)=(/ 0.926823,0.916527,0.907323,0.871133,0.869757,0.857007 /) -XEXT_COEFF_550_LKT(82,17)=8.316300 !rg=6.82116 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,18,1:6)=(/ 6.870700,6.891900,6.910400,6.948700,7.007600,7.130000 /) -XPIZA_LKT(82,18,1:6)=(/ 0.587465,0.612963,0.641220,0.800979,0.846555,0.881037 /) -XCGA_LKT(82,18,1:6)=(/ 0.930303,0.920277,0.910967,0.873323,0.871593,0.859700 /) -XEXT_COEFF_550_LKT(82,18)=6.910700 !rg=6.82116 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,19,1:6)=(/ 5.708300,5.722200,5.743100,5.765300,5.814400,5.907500 /) -XPIZA_LKT(82,19,1:6)=(/ 0.580479,0.603006,0.629537,0.784816,0.834867,0.874225 /) -XCGA_LKT(82,19,1:6)=(/ 0.933610,0.923970,0.914753,0.876370,0.873967,0.863287 /) -XEXT_COEFF_550_LKT(82,19)=5.736900 !rg=6.82116 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(82,20,1:6)=(/ 0.000000,4.755000,4.768700,4.788300,4.821900,4.889100 /) -XPIZA_LKT(82,20,1:6)=(/ 0.900,0.594268,0.618308,0.768095,0.821452,0.865808 /) -XCGA_LKT(82,20,1:6)=(/ 0.900,0.927553,0.918447,0.879327,0.876680,0.865860 /) -XEXT_COEFF_550_LKT(82,20)=4.768600 !rg=6.82116 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,1,1:6)=(/ 82.572000,83.550000,85.468000,86.000000,90.604000,98.295000 /) -XPIZA_LKT(83,1,1:6)=(/ 0.751040,0.776566,0.759142,0.898377,0.945383,0.971116 /) -XCGA_LKT(83,1,1:6)=(/ 0.885427,0.879603,0.885200,0.840620,0.828737,0.812767 /) -XEXT_COEFF_550_LKT(83,1)=83.806000 !rg=7.38975 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,2,1:6)=(/ 79.770000,80.556000,81.402000,83.085000,84.996000,90.864000 /) -XPIZA_LKT(83,2,1:6)=(/ 0.750563,0.774234,0.761586,0.894232,0.941109,0.967763 /) -XCGA_LKT(83,2,1:6)=(/ 0.887100,0.881953,0.884430,0.842873,0.821383,0.792993 /) -XEXT_COEFF_550_LKT(83,2)=81.524000 !rg=7.38975 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,3,1:6)=(/ 73.402000,74.226000,75.056000,76.084000,78.627000,83.574000 /) -XPIZA_LKT(83,3,1:6)=(/ 0.743567,0.770111,0.765590,0.890611,0.936973,0.966346 /) -XCGA_LKT(83,3,1:6)=(/ 0.887337,0.882293,0.882450,0.846033,0.824003,0.790710 /) -XEXT_COEFF_550_LKT(83,3)=74.999000 !rg=7.38975 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,4,1:6)=(/ 66.351000,67.060000,67.826000,68.723000,70.779000,74.633000 /) -XPIZA_LKT(83,4,1:6)=(/ 0.736814,0.765021,0.767828,0.888921,0.932302,0.963443 /) -XCGA_LKT(83,4,1:6)=(/ 0.888687,0.883323,0.881730,0.847190,0.828450,0.790147 /) -XEXT_COEFF_550_LKT(83,4)=67.649000 !rg=7.38975 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,5,1:6)=(/ 58.965000,59.327000,60.179000,61.165000,62.698000,65.768000 /) -XPIZA_LKT(83,5,1:6)=(/ 0.728755,0.758227,0.766764,0.887962,0.924886,0.959246 /) -XCGA_LKT(83,5,1:6)=(/ 0.890890,0.884497,0.882523,0.848007,0.831120,0.789867 /) -XEXT_COEFF_550_LKT(83,5)=60.055000 !rg=7.38975 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,6,1:6)=(/ 51.351000,51.892000,52.430000,53.172000,54.137000,56.847000 /) -XPIZA_LKT(83,6,1:6)=(/ 0.718318,0.750829,0.765479,0.887853,0.918331,0.954344 /) -XCGA_LKT(83,6,1:6)=(/ 0.892420,0.886540,0.882927,0.849633,0.837190,0.796080 /) -XEXT_COEFF_550_LKT(83,6)=52.363000 !rg=7.38975 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,7,1:6)=(/ 44.258000,44.604000,45.000000,45.685000,46.552000,48.555000 /) -XPIZA_LKT(83,7,1:6)=(/ 0.706836,0.741973,0.761056,0.886738,0.912722,0.949016 /) -XCGA_LKT(83,7,1:6)=(/ 0.894867,0.887880,0.882847,0.851397,0.842300,0.805013 /) -XEXT_COEFF_550_LKT(83,7)=45.004000 !rg=7.38975 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,8,1:6)=(/ 37.819000,38.171000,38.412000,38.974000,39.700000,41.343000 /) -XPIZA_LKT(83,8,1:6)=(/ 0.694519,0.732198,0.754602,0.885365,0.906102,0.940971 /) -XCGA_LKT(83,8,1:6)=(/ 0.897500,0.890047,0.884853,0.852727,0.844803,0.809487 /) -XEXT_COEFF_550_LKT(83,8)=38.359000 !rg=7.38975 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,9,1:6)=(/ 32.095000,32.264000,32.579000,32.999000,33.625000,34.902000 /) -XPIZA_LKT(83,9,1:6)=(/ 0.681973,0.720324,0.747131,0.882478,0.900635,0.933298 /) -XCGA_LKT(83,9,1:6)=(/ 0.900417,0.891970,0.886433,0.854453,0.848260,0.816977 /) -XEXT_COEFF_550_LKT(83,9)=32.599000 !rg=7.38975 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,10,1:6)=(/ 27.094000,27.245000,27.509000,27.695000,28.192000,29.306000 /) -XPIZA_LKT(83,10,1:6)=(/ 0.668965,0.708015,0.738313,0.878264,0.897199,0.925652 /) -XCGA_LKT(83,10,1:6)=(/ 0.903413,0.894510,0.888410,0.856453,0.852500,0.824037 /) -XEXT_COEFF_550_LKT(83,10)=27.462000 !rg=7.38975 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,11,1:6)=(/ 22.735000,22.865000,23.008000,23.247000,23.725000,24.564000 /) -XPIZA_LKT(83,11,1:6)=(/ 0.655859,0.694989,0.726747,0.873114,0.892786,0.918296 /) -XCGA_LKT(83,11,1:6)=(/ 0.906673,0.897403,0.890373,0.858447,0.854917,0.828990 /) -XEXT_COEFF_550_LKT(83,11)=23.011000 !rg=7.38975 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,12,1:6)=(/ 19.022000,19.100000,19.237000,19.402000,19.679000,20.260000 /) -XPIZA_LKT(83,12,1:6)=(/ 0.643198,0.681174,0.714817,0.866117,0.888867,0.912568 /) -XCGA_LKT(83,12,1:6)=(/ 0.910153,0.900363,0.893033,0.860357,0.858967,0.837517 /) -XEXT_COEFF_550_LKT(83,12)=19.222000 !rg=7.38975 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,13,1:6)=(/ 15.866000,15.936000,16.022000,16.153000,16.374000,16.827000 /) -XPIZA_LKT(83,13,1:6)=(/ 0.630835,0.667716,0.701736,0.857990,0.883771,0.907067 /) -XCGA_LKT(83,13,1:6)=(/ 0.913913,0.903640,0.895663,0.862927,0.861117,0.842533 /) -XEXT_COEFF_550_LKT(83,13)=16.045000 !rg=7.38975 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,14,1:6)=(/ 13.230000,13.288000,13.349000,13.416000,13.594000,13.942000 /) -XPIZA_LKT(83,14,1:6)=(/ 0.619604,0.654505,0.688225,0.847848,0.877816,0.901514 /) -XCGA_LKT(83,14,1:6)=(/ 0.917543,0.907227,0.898750,0.864437,0.863757,0.847563 /) -XEXT_COEFF_550_LKT(83,14)=13.345000 !rg=7.38975 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,15,1:6)=(/ 11.023000,11.057000,11.115000,11.176000,11.305000,11.547000 /) -XPIZA_LKT(83,15,1:6)=(/ 0.609365,0.641594,0.674958,0.836725,0.870987,0.896533 /) -XCGA_LKT(83,15,1:6)=(/ 0.921273,0.910730,0.901963,0.866873,0.866257,0.852673 /) -XEXT_COEFF_550_LKT(83,15)=11.118000 !rg=7.38975 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,16,1:6)=(/ 9.155500,9.187200,9.222300,9.288600,9.376300,9.579800 /) -XPIZA_LKT(83,16,1:6)=(/ 0.599642,0.629423,0.660965,0.823896,0.862332,0.890772 /) -XCGA_LKT(83,16,1:6)=(/ 0.924973,0.914547,0.905463,0.869587,0.868043,0.854773 /) -XEXT_COEFF_550_LKT(83,16)=9.220800 !rg=7.38975 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,17,1:6)=(/ 7.617500,7.642600,7.666500,7.711600,7.779900,7.925800 /) -XPIZA_LKT(83,17,1:6)=(/ 0.591269,0.618306,0.647916,0.809488,0.852658,0.884667 /) -XCGA_LKT(83,17,1:6)=(/ 0.928477,0.918273,0.908990,0.872080,0.870493,0.858630 /) -XEXT_COEFF_550_LKT(83,17)=7.667900 !rg=7.38975 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,18,1:6)=(/ 6.340200,6.356300,6.379400,6.405300,6.462000,6.558100 /) -XPIZA_LKT(83,18,1:6)=(/ 0.583955,0.608033,0.635960,0.793945,0.842025,0.878400 /) -XCGA_LKT(83,18,1:6)=(/ 0.931903,0.921997,0.912683,0.874660,0.873443,0.862157 /) -XEXT_COEFF_550_LKT(83,18)=6.377900 !rg=7.38975 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,19,1:6)=(/ 5.266700,5.279900,5.294900,5.321900,5.358500,5.430900 /) -XPIZA_LKT(83,19,1:6)=(/ 0.577370,0.598766,0.624050,0.777632,0.829103,0.870251 /) -XCGA_LKT(83,19,1:6)=(/ 0.935070,0.925667,0.916440,0.877600,0.875123,0.864000 /) -XEXT_COEFF_550_LKT(83,19)=5.295100 !rg=7.38975 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(83,20,1:6)=(/ 0.000000,4.388000,4.398700,4.417700,4.445200,4.502600 /) -XPIZA_LKT(83,20,1:6)=(/ 0.900,0.590511,0.613345,0.760255,0.814943,0.861454 /) -XCGA_LKT(83,20,1:6)=(/ 0.900,0.929187,0.920183,0.880657,0.877540,0.867343 /) -XEXT_COEFF_550_LKT(83,20)=4.399000 !rg=7.38975 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,1,1:6)=(/ 76.850000,77.201000,78.552000,79.438000,79.873000,80.824000 /) -XPIZA_LKT(84,1,1:6)=(/ 0.746676,0.772759,0.772437,0.891968,0.932713,0.962032 /) -XCGA_LKT(84,1,1:6)=(/ 0.887767,0.882443,0.881247,0.846247,0.813707,0.753587 /) -XEXT_COEFF_550_LKT(84,1)=78.024000 !rg=8.00573 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,2,1:6)=(/ 72.996000,73.963000,74.988000,76.132000,77.291000,80.850000 /) -XPIZA_LKT(84,2,1:6)=(/ 0.743130,0.770901,0.768019,0.886565,0.937875,0.964120 /) -XCGA_LKT(84,2,1:6)=(/ 0.887363,0.882500,0.882893,0.846003,0.829330,0.790543 /) -XEXT_COEFF_550_LKT(84,2)=74.884000 !rg=8.00573 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,3,1:6)=(/ 67.951000,68.484000,69.033000,70.324000,72.170000,75.851000 /) -XPIZA_LKT(84,3,1:6)=(/ 0.738572,0.767610,0.768400,0.884845,0.932178,0.963379 /) -XCGA_LKT(84,3,1:6)=(/ 0.889343,0.882450,0.882257,0.848030,0.829590,0.797920 /) -XEXT_COEFF_550_LKT(84,3)=69.301000 !rg=8.00573 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,4,1:6)=(/ 61.351000,61.851000,62.346000,63.634000,65.160000,68.311000 /) -XPIZA_LKT(84,4,1:6)=(/ 0.731097,0.761908,0.768464,0.885050,0.926744,0.960296 /) -XCGA_LKT(84,4,1:6)=(/ 0.890490,0.883623,0.882113,0.848643,0.832837,0.797480 /) -XEXT_COEFF_550_LKT(84,4)=62.387000 !rg=8.00573 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,5,1:6)=(/ 54.201000,54.786000,55.222000,55.954000,57.562000,60.099000 /) -XPIZA_LKT(84,5,1:6)=(/ 0.721455,0.755029,0.767104,0.886161,0.920366,0.956727 /) -XCGA_LKT(84,5,1:6)=(/ 0.891807,0.885580,0.882247,0.850550,0.835920,0.799783 /) -XEXT_COEFF_550_LKT(84,5)=55.113000 !rg=8.00573 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,6,1:6)=(/ 47.378000,47.771000,48.296000,48.856000,50.174000,52.518000 /) -XPIZA_LKT(84,6,1:6)=(/ 0.711662,0.746369,0.763297,0.885870,0.914030,0.950456 /) -XCGA_LKT(84,6,1:6)=(/ 0.894083,0.887043,0.883687,0.851917,0.840990,0.802533 /) -XEXT_COEFF_550_LKT(84,6)=48.305000 !rg=8.00573 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,7,1:6)=(/ 40.872000,41.094000,41.450000,42.091000,43.035000,44.734000 /) -XPIZA_LKT(84,7,1:6)=(/ 0.700440,0.736612,0.758301,0.884993,0.907102,0.944302 /) -XCGA_LKT(84,7,1:6)=(/ 0.896540,0.888817,0.884150,0.852430,0.844030,0.810160 /) -XEXT_COEFF_550_LKT(84,7)=41.482000 !rg=8.00573 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,8,1:6)=(/ 34.903000,35.108000,35.467000,35.855000,36.548000,38.139000 /) -XPIZA_LKT(84,8,1:6)=(/ 0.687870,0.726224,0.751824,0.883482,0.903023,0.936642 /) -XCGA_LKT(84,8,1:6)=(/ 0.899030,0.890863,0.885847,0.854213,0.848930,0.815100 /) -XEXT_COEFF_550_LKT(84,8)=35.470000 !rg=8.00573 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,9,1:6)=(/ 29.571000,29.797000,29.960000,30.325000,30.967000,31.977000 /) -XPIZA_LKT(84,9,1:6)=(/ 0.674887,0.714739,0.743010,0.880369,0.898202,0.929802 /) -XCGA_LKT(84,9,1:6)=(/ 0.901857,0.893403,0.887177,0.856300,0.850870,0.823377 /) -XEXT_COEFF_550_LKT(84,9)=29.910000 !rg=8.00573 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,10,1:6)=(/ 24.989000,25.125000,25.290000,25.572000,25.985000,26.870000 /) -XPIZA_LKT(84,10,1:6)=(/ 0.662358,0.701939,0.732871,0.876043,0.894638,0.922594 /) -XCGA_LKT(84,10,1:6)=(/ 0.904967,0.895893,0.889163,0.857930,0.854297,0.828273 /) -XEXT_COEFF_550_LKT(84,10)=25.307000 !rg=8.00573 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,11,1:6)=(/ 20.970000,21.089000,21.216000,21.406000,21.766000,22.472000 /) -XPIZA_LKT(84,11,1:6)=(/ 0.649256,0.688454,0.721476,0.869803,0.890377,0.915122 /) -XCGA_LKT(84,11,1:6)=(/ 0.908387,0.898840,0.891670,0.859237,0.856457,0.833673 /) -XEXT_COEFF_550_LKT(84,11)=21.179000 !rg=8.00573 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,12,1:6)=(/ 17.543000,17.627000,17.711000,17.866000,18.140000,18.642000 /) -XPIZA_LKT(84,12,1:6)=(/ 0.636916,0.674869,0.708585,0.862843,0.886021,0.909648 /) -XCGA_LKT(84,12,1:6)=(/ 0.911997,0.901950,0.894170,0.861707,0.859767,0.840267 /) -XEXT_COEFF_550_LKT(84,12)=17.735000 !rg=8.00573 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,13,1:6)=(/ 14.632000,14.701000,14.768000,14.873000,15.084000,15.483000 /) -XPIZA_LKT(84,13,1:6)=(/ 0.625047,0.661416,0.695410,0.853701,0.881056,0.904108 /) -XCGA_LKT(84,13,1:6)=(/ 0.915637,0.905367,0.897007,0.863810,0.862737,0.845687 /) -XEXT_COEFF_550_LKT(84,13)=14.767000 !rg=8.00573 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,14,1:6)=(/ 12.209000,12.252000,12.319000,12.387000,12.556000,12.811000 /) -XPIZA_LKT(84,14,1:6)=(/ 0.614403,0.648231,0.682176,0.843008,0.874588,0.898626 /) -XCGA_LKT(84,14,1:6)=(/ 0.919387,0.908870,0.900333,0.865717,0.864870,0.850547 /) -XEXT_COEFF_550_LKT(84,14)=12.315000 !rg=8.00573 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,15,1:6)=(/ 10.166000,10.208000,10.241000,10.326000,10.424000,10.655000 /) -XPIZA_LKT(84,15,1:6)=(/ 0.604429,0.635980,0.668365,0.831329,0.866984,0.893101 /) -XCGA_LKT(84,15,1:6)=(/ 0.923030,0.912553,0.903437,0.868407,0.867163,0.853443 /) -XEXT_COEFF_550_LKT(84,15)=10.243000 !rg=8.00573 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,16,1:6)=(/ 8.447500,8.473500,8.510400,8.548000,8.640100,8.810500 /) -XPIZA_LKT(84,16,1:6)=(/ 0.595409,0.623887,0.655005,0.817187,0.858150,0.887872 /) -XCGA_LKT(84,16,1:6)=(/ 0.926663,0.916303,0.907143,0.870217,0.868953,0.856373 /) -XEXT_COEFF_550_LKT(84,16)=8.502600 !rg=8.00573 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,17,1:6)=(/ 7.030100,7.049800,7.075600,7.101500,7.177100,7.293700 /) -XPIZA_LKT(84,17,1:6)=(/ 0.587557,0.613221,0.642330,0.802578,0.848346,0.881862 /) -XCGA_LKT(84,17,1:6)=(/ 0.930153,0.920067,0.910677,0.873087,0.872087,0.860863 /) -XEXT_COEFF_550_LKT(84,17)=7.076400 !rg=8.00573 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,18,1:6)=(/ 5.849300,5.866100,5.881800,5.916800,5.954400,6.048400 /) -XPIZA_LKT(84,18,1:6)=(/ 0.580570,0.603607,0.630187,0.786932,0.836175,0.874665 /) -XCGA_LKT(84,18,1:6)=(/ 0.933430,0.923727,0.914380,0.876123,0.873750,0.863320 /) -XEXT_COEFF_550_LKT(84,18)=5.881600 !rg=8.00573 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,19,1:6)=(/ 4.859800,4.871200,4.885600,4.905000,4.940700,5.010700 /) -XPIZA_LKT(84,19,1:6)=(/ 0.574439,0.594647,0.619039,0.769762,0.823077,0.866728 /) -XCGA_LKT(84,19,1:6)=(/ 0.936520,0.927343,0.918190,0.878703,0.876193,0.865357 /) -XEXT_COEFF_550_LKT(84,19)=4.884100 !rg=8.00573 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(84,20,1:6)=(/ 0.000000,4.048400,4.059300,4.070500,4.101600,4.151900 /) -XPIZA_LKT(84,20,1:6)=(/ 0.900,0.586850,0.608801,0.752260,0.808681,0.857356 /) -XCGA_LKT(84,20,1:6)=(/ 0.900,0.930790,0.921897,0.881993,0.878940,0.868793 /) -XEXT_COEFF_550_LKT(84,20)=4.059300 !rg=8.00573 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,1,1:6)=(/ 70.769000,71.365000,71.586000,72.455000,76.049000,71.081000 /) -XPIZA_LKT(85,1,1:6)=(/ 0.741324,0.770455,0.776832,0.882355,0.935913,0.954159 /) -XCGA_LKT(85,1,1:6)=(/ 0.889457,0.882953,0.879337,0.849100,0.833303,0.769713 /) -XEXT_COEFF_550_LKT(85,1)=71.346000 !rg=8.67306 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,2,1:6)=(/ 67.670000,68.236000,69.146000,70.237000,71.949000,74.118000 /) -XPIZA_LKT(85,2,1:6)=(/ 0.738310,0.767802,0.772989,0.879289,0.932318,0.959630 /) -XCGA_LKT(85,2,1:6)=(/ 0.889580,0.883007,0.881827,0.853070,0.830723,0.796017 /) -XEXT_COEFF_550_LKT(85,2)=69.220000 !rg=8.67306 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,3,1:6)=(/ 62.504000,63.031000,63.782000,64.750000,66.791000,70.238000 /) -XPIZA_LKT(85,3,1:6)=(/ 0.731538,0.763067,0.771152,0.880313,0.926900,0.957764 /) -XCGA_LKT(85,3,1:6)=(/ 0.890137,0.883573,0.881177,0.852083,0.830770,0.788633 /) -XEXT_COEFF_550_LKT(85,3)=63.898000 !rg=8.67306 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,4,1:6)=(/ 56.482000,56.908000,57.674000,58.430000,60.319000,63.381000 /) -XPIZA_LKT(85,4,1:6)=(/ 0.724195,0.757331,0.769045,0.882968,0.920753,0.954444 /) -XCGA_LKT(85,4,1:6)=(/ 0.891550,0.884913,0.881883,0.852080,0.833700,0.791860 /) -XEXT_COEFF_550_LKT(85,4)=57.665000 !rg=8.67306 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,5,1:6)=(/ 50.116000,50.408000,50.872000,51.735000,52.929000,55.087000 /) -XPIZA_LKT(85,5,1:6)=(/ 0.715362,0.750346,0.766144,0.884505,0.914849,0.953019 /) -XCGA_LKT(85,5,1:6)=(/ 0.893637,0.885900,0.882870,0.851543,0.839837,0.806000 /) -XEXT_COEFF_550_LKT(85,5)=51.001000 !rg=8.67306 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,6,1:6)=(/ 43.698000,44.017000,44.437000,44.877000,46.211000,48.460000 /) -XPIZA_LKT(85,6,1:6)=(/ 0.704692,0.741150,0.761518,0.885175,0.909701,0.946683 /) -XCGA_LKT(85,6,1:6)=(/ 0.895437,0.888157,0.883857,0.853360,0.842937,0.802800 /) -XEXT_COEFF_550_LKT(85,6)=44.428000 !rg=8.67306 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,7,1:6)=(/ 37.634000,37.888000,38.218000,38.747000,39.792000,41.465000 /) -XPIZA_LKT(85,7,1:6)=(/ 0.693059,0.731465,0.755111,0.884052,0.903265,0.938878 /) -XCGA_LKT(85,7,1:6)=(/ 0.897860,0.889970,0.884947,0.854253,0.845753,0.809140 /) -XEXT_COEFF_550_LKT(85,7)=38.238000 !rg=8.67306 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,8,1:6)=(/ 32.188000,32.399000,32.608000,33.000000,33.663000,34.981000 /) -XPIZA_LKT(85,8,1:6)=(/ 0.681031,0.720344,0.747822,0.881805,0.899932,0.933685 /) -XCGA_LKT(85,8,1:6)=(/ 0.900593,0.892147,0.886327,0.855623,0.850673,0.819010 /) -XEXT_COEFF_550_LKT(85,8)=32.689000 !rg=8.67306 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,9,1:6)=(/ 27.295000,27.433000,27.667000,27.928000,28.430000,29.364000 /) -XPIZA_LKT(85,9,1:6)=(/ 0.668272,0.708065,0.738799,0.878330,0.895885,0.925304 /) -XCGA_LKT(85,9,1:6)=(/ 0.903613,0.894450,0.888400,0.856743,0.853960,0.827820 /) -XEXT_COEFF_550_LKT(85,9)=27.685000 !rg=8.67306 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,10,1:6)=(/ 23.042000,23.174000,23.320000,23.534000,23.942000,24.738000 /) -XPIZA_LKT(85,10,1:6)=(/ 0.655484,0.695511,0.727880,0.873194,0.891849,0.918079 /) -XCGA_LKT(85,10,1:6)=(/ 0.906730,0.897437,0.890463,0.858537,0.855847,0.832537 /) -XEXT_COEFF_550_LKT(85,10)=23.298000 !rg=8.67306 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,11,1:6)=(/ 19.350000,19.421000,19.570000,19.785000,20.038000,20.606000 /) -XPIZA_LKT(85,11,1:6)=(/ 0.643068,0.681659,0.715690,0.867203,0.888490,0.912321 /) -XCGA_LKT(85,11,1:6)=(/ 0.910167,0.900117,0.892937,0.860843,0.859300,0.838287 /) -XEXT_COEFF_550_LKT(85,11)=19.594000 !rg=8.67306 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,12,1:6)=(/ 16.180000,16.270000,16.346000,16.437000,16.681000,17.157000 /) -XPIZA_LKT(85,12,1:6)=(/ 0.630906,0.668559,0.702818,0.858677,0.883673,0.906337 /) -XCGA_LKT(85,12,1:6)=(/ 0.913690,0.903687,0.895597,0.862503,0.861557,0.843443 /) -XEXT_COEFF_550_LKT(85,12)=16.340000 !rg=8.67306 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,13,1:6)=(/ 13.503000,13.553000,13.628000,13.718000,13.913000,14.212000 /) -XPIZA_LKT(85,13,1:6)=(/ 0.619685,0.654898,0.689438,0.849304,0.878143,0.900805 /) -XCGA_LKT(85,13,1:6)=(/ 0.917440,0.906980,0.898573,0.864753,0.863920,0.848477 /) -XEXT_COEFF_550_LKT(85,13)=13.634000 !rg=8.67306 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,14,1:6)=(/ 11.260000,11.306000,11.351000,11.436000,11.550000,11.793000 /) -XPIZA_LKT(85,14,1:6)=(/ 0.609222,0.642307,0.675681,0.838321,0.871218,0.896055 /) -XCGA_LKT(85,14,1:6)=(/ 0.921157,0.910647,0.901727,0.867027,0.865580,0.851877 /) -XEXT_COEFF_550_LKT(85,14)=11.340000 !rg=8.67306 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,15,1:6)=(/ 9.378400,9.411100,9.458200,9.497600,9.598000,9.783400 /) -XPIZA_LKT(85,15,1:6)=(/ 0.599815,0.630115,0.662556,0.825352,0.863598,0.891047 /) -XCGA_LKT(85,15,1:6)=(/ 0.924763,0.914250,0.905190,0.869387,0.868293,0.855823 /) -XEXT_COEFF_550_LKT(85,15)=9.447600 !rg=8.67306 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,16,1:6)=(/ 7.795000,7.815900,7.846700,7.887700,7.960200,8.102100 /) -XPIZA_LKT(85,16,1:6)=(/ 0.591346,0.618560,0.648875,0.810953,0.854237,0.885201 /) -XCGA_LKT(85,16,1:6)=(/ 0.928383,0.918043,0.908790,0.871617,0.870793,0.859073 /) -XEXT_COEFF_550_LKT(85,16)=7.845700 !rg=8.67306 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,17,1:6)=(/ 6.485800,6.504800,6.524600,6.562400,6.590400,6.691600 /) -XPIZA_LKT(85,17,1:6)=(/ 0.583904,0.608503,0.636487,0.795978,0.842725,0.878253 /) -XCGA_LKT(85,17,1:6)=(/ 0.931763,0.921793,0.912420,0.874617,0.872507,0.861480 /) -XEXT_COEFF_550_LKT(85,17)=6.524900 !rg=8.67306 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,18,1:6)=(/ 5.397300,5.410600,5.429400,5.445600,5.489700,5.565800 /) -XPIZA_LKT(85,18,1:6)=(/ 0.577427,0.599130,0.625075,0.779341,0.830806,0.871268 /) -XCGA_LKT(85,18,1:6)=(/ 0.934940,0.925420,0.916163,0.877227,0.875250,0.864390 /) -XEXT_COEFF_550_LKT(85,18)=5.425300 !rg=8.67306 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,19,1:6)=(/ 0.000000,4.494100,4.506700,4.522600,4.555800,4.615800 /) -XPIZA_LKT(85,19,1:6)=(/ 0.900,0.590750,0.614062,0.761997,0.816790,0.862615 /) -XCGA_LKT(85,19,1:6)=(/ 0.900,0.928953,0.919927,0.880217,0.877490,0.867103 /) -XEXT_COEFF_550_LKT(85,19)=4.506000 !rg=8.67306 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(85,20,1:6)=(/ 0.000000,3.735600,3.744300,3.759700,3.772700,3.814300 /) -XPIZA_LKT(85,20,1:6)=(/ 0.900,0.583472,0.604242,0.744724,0.801508,0.852207 /) -XCGA_LKT(85,20,1:6)=(/ 0.900,0.932327,0.923607,0.883657,0.879767,0.869407 /) -XEXT_COEFF_550_LKT(85,20)=3.743800 !rg=8.67306 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,1,1:6)=(/ 64.909000,65.343000,66.106000,67.692000,70.067000,69.986000 /) -XPIZA_LKT(86,1,1:6)=(/ 0.734050,0.765440,0.776817,0.868619,0.929981,0.959728 /) -XCGA_LKT(86,1,1:6)=(/ 0.890627,0.882803,0.880603,0.856283,0.832260,0.798617 /) -XEXT_COEFF_550_LKT(86,1)=66.115000 !rg=9.39601 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,2,1:6)=(/ 62.212000,62.792000,63.425000,64.256000,66.520000,69.457000 /) -XPIZA_LKT(86,2,1:6)=(/ 0.731013,0.764310,0.775297,0.874004,0.928078,0.957436 /) -XCGA_LKT(86,2,1:6)=(/ 0.890393,0.883860,0.881090,0.855110,0.833837,0.789170 /) -XEXT_COEFF_550_LKT(86,2)=63.181000 !rg=9.39601 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,3,1:6)=(/ 57.648000,58.235000,58.648000,59.363000,61.163000,64.404000 /) -XPIZA_LKT(86,3,1:6)=(/ 0.725199,0.759505,0.772201,0.878627,0.922075,0.955616 /) -XCGA_LKT(86,3,1:6)=(/ 0.891560,0.884777,0.881223,0.852690,0.834947,0.800233 /) -XEXT_COEFF_550_LKT(86,3)=58.621000 !rg=9.39601 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,4,1:6)=(/ 52.079000,52.575000,52.934000,53.683000,55.060000,58.119000 /) -XPIZA_LKT(86,4,1:6)=(/ 0.717187,0.753242,0.768751,0.881308,0.916024,0.952404 /) -XCGA_LKT(86,4,1:6)=(/ 0.892860,0.885960,0.882167,0.852507,0.838317,0.802587 /) -XEXT_COEFF_550_LKT(86,4)=52.942000 !rg=9.39601 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,5,1:6)=(/ 46.143000,46.488000,46.922000,47.537000,48.908000,51.137000 /) -XPIZA_LKT(86,5,1:6)=(/ 0.707979,0.745243,0.764687,0.883473,0.909307,0.947045 /) -XCGA_LKT(86,5,1:6)=(/ 0.894750,0.887357,0.882767,0.853773,0.841670,0.802570 /) -XEXT_COEFF_550_LKT(86,5)=47.037000 !rg=9.39601 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,6,1:6)=(/ 40.303000,40.616000,40.952000,41.632000,42.561000,44.494000 /) -XPIZA_LKT(86,6,1:6)=(/ 0.697479,0.736358,0.758331,0.884182,0.904551,0.942110 /) -XCGA_LKT(86,6,1:6)=(/ 0.896923,0.889143,0.884630,0.854690,0.845310,0.809547 /) -XEXT_COEFF_550_LKT(86,6)=40.928000 !rg=9.39601 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,7,1:6)=(/ 34.707000,34.954000,35.193000,35.617000,36.346000,37.906000 /) -XPIZA_LKT(86,7,1:6)=(/ 0.685755,0.725686,0.751944,0.882264,0.900163,0.936000 /) -XCGA_LKT(86,7,1:6)=(/ 0.899403,0.891180,0.885663,0.854663,0.848683,0.817127 /) -XEXT_COEFF_550_LKT(86,7)=35.120000 !rg=9.39601 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,8,1:6)=(/ 29.673000,29.900000,30.099000,30.327000,31.008000,32.168000 /) -XPIZA_LKT(86,8,1:6)=(/ 0.673745,0.714443,0.743485,0.879642,0.896964,0.929164 /) -XCGA_LKT(86,8,1:6)=(/ 0.902147,0.893643,0.887410,0.856610,0.853110,0.824173 /) -XEXT_COEFF_550_LKT(86,8)=30.067000 !rg=9.39601 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,9,1:6)=(/ 25.161000,25.306000,25.460000,25.754000,26.249000,27.169000 /) -XPIZA_LKT(86,9,1:6)=(/ 0.661148,0.701675,0.733336,0.876110,0.892749,0.920319 /) -XCGA_LKT(86,9,1:6)=(/ 0.905220,0.896063,0.889073,0.858413,0.855180,0.828160 /) -XEXT_COEFF_550_LKT(86,9)=25.508000 !rg=9.39601 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,10,1:6)=(/ 21.265000,21.355000,21.505000,21.666000,22.015000,22.644000 /) -XPIZA_LKT(86,10,1:6)=(/ 0.649092,0.688584,0.722412,0.870467,0.890026,0.914874 /) -XCGA_LKT(86,10,1:6)=(/ 0.908477,0.898763,0.891793,0.859737,0.858510,0.836937 /) -XEXT_COEFF_550_LKT(86,10)=21.489000 !rg=9.39601 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,11,1:6)=(/ 17.843000,17.935000,18.007000,18.217000,18.443000,18.893000 /) -XPIZA_LKT(86,11,1:6)=(/ 0.636675,0.675451,0.709434,0.863901,0.886313,0.909683 /) -XCGA_LKT(86,11,1:6)=(/ 0.911957,0.901967,0.893847,0.862010,0.860903,0.842810 /) -XEXT_COEFF_550_LKT(86,11)=18.017000 !rg=9.39601 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,12,1:6)=(/ 14.933000,14.990000,15.088000,15.187000,15.384000,15.734000 /) -XPIZA_LKT(86,12,1:6)=(/ 0.625256,0.661859,0.696804,0.854721,0.881042,0.903361 /) -XCGA_LKT(86,12,1:6)=(/ 0.915533,0.905170,0.897173,0.863800,0.863367,0.846763 /) -XEXT_COEFF_550_LKT(86,12)=15.073000 !rg=9.39601 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,13,1:6)=(/ 12.454000,12.507000,12.556000,12.659000,12.769000,13.059000 /) -XPIZA_LKT(86,13,1:6)=(/ 0.614184,0.648770,0.682833,0.844690,0.874813,0.898226 /) -XCGA_LKT(86,13,1:6)=(/ 0.919253,0.908740,0.899970,0.866123,0.864537,0.850153 /) -XEXT_COEFF_550_LKT(86,13)=12.549000 !rg=9.39601 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,14,1:6)=(/ 10.388000,10.423000,10.476000,10.524000,10.646000,10.857000 /) -XPIZA_LKT(86,14,1:6)=(/ 0.604395,0.636182,0.669614,0.832530,0.867819,0.893697 /) -XCGA_LKT(86,14,1:6)=(/ 0.922920,0.912317,0.903397,0.867757,0.867393,0.855083 /) -XEXT_COEFF_550_LKT(86,14)=10.461000 !rg=9.39601 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,15,1:6)=(/ 8.653200,8.679300,8.715000,8.763900,8.847400,9.013900 /) -XPIZA_LKT(86,15,1:6)=(/ 0.595459,0.624458,0.656094,0.819330,0.859431,0.888156 /) -XCGA_LKT(86,15,1:6)=(/ 0.926513,0.916007,0.906737,0.870533,0.869377,0.857147 /) -XEXT_COEFF_550_LKT(86,15)=8.720100 !rg=9.39601 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,16,1:6)=(/ 7.192100,7.212300,7.234100,7.277400,7.328300,7.438500 /) -XPIZA_LKT(86,16,1:6)=(/ 0.587530,0.613602,0.642853,0.804547,0.849210,0.882233 /) -XCGA_LKT(86,16,1:6)=(/ 0.930027,0.919817,0.910367,0.873077,0.871667,0.860793 /) -XEXT_COEFF_550_LKT(86,16)=7.233600 !rg=9.39601 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,17,1:6)=(/ 5.984700,5.999700,6.020300,6.045500,6.095000,6.184800 /) -XPIZA_LKT(86,17,1:6)=(/ 0.580561,0.603773,0.631034,0.788499,0.837970,0.875684 /) -XCGA_LKT(86,17,1:6)=(/ 0.933317,0.923487,0.914183,0.875787,0.874493,0.864297 /) -XEXT_COEFF_550_LKT(86,17)=6.015600 !rg=9.39601 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,18,1:6)=(/ 4.980400,4.991600,5.006500,5.025800,5.060900,5.128200 /) -XPIZA_LKT(86,18,1:6)=(/ 0.574527,0.594961,0.619718,0.771759,0.824758,0.867549 /) -XCGA_LKT(86,18,1:6)=(/ 0.936370,0.927090,0.917873,0.878650,0.876360,0.865690 /) -XEXT_COEFF_550_LKT(86,18)=5.005100 !rg=9.39601 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,19,1:6)=(/ 0.000000,4.147100,4.157000,4.174200,4.194300,4.240700 /) -XPIZA_LKT(86,19,1:6)=(/ 0.900,0.587139,0.609283,0.754472,0.810063,0.858274 /) -XCGA_LKT(86,19,1:6)=(/ 0.900,0.930553,0.921597,0.881837,0.878440,0.868643 /) -XEXT_COEFF_550_LKT(86,19)=4.156100 !rg=9.39601 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(86,20,1:6)=(/ 0.000000,3.446600,3.455000,3.465600,3.485400,3.523300 /) -XPIZA_LKT(86,20,1:6)=(/ 0.900,0.580162,0.600041,0.736500,0.794875,0.847942 /) -XCGA_LKT(86,20,1:6)=(/ 0.900,0.933837,0.925277,0.885173,0.881457,0.871540 /) -XEXT_COEFF_550_LKT(86,20)=3.453500 !rg=9.39601 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,1,1:6)=(/ 59.702000,60.722000,60.959000,62.295000,62.369000,71.927000 /) -XPIZA_LKT(87,1,1:6)=(/ 0.726686,0.763454,0.778354,0.859716,0.924199,0.961031 /) -XCGA_LKT(87,1,1:6)=(/ 0.889877,0.883893,0.878713,0.857193,0.830993,0.815000 /) -XEXT_COEFF_550_LKT(87,1)=61.203000 !rg=10.1792 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,2,1:6)=(/ 57.393000,57.822000,58.458000,59.678000,61.125000,64.686000 /) -XPIZA_LKT(87,2,1:6)=(/ 0.723969,0.759534,0.774606,0.871878,0.922478,0.953199 /) -XCGA_LKT(87,2,1:6)=(/ 0.891703,0.884680,0.881367,0.856120,0.834770,0.800000 /) -XEXT_COEFF_550_LKT(87,2)=58.697000 !rg=10.1792 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,3,1:6)=(/ 53.241000,53.545000,54.234000,54.866000,56.149000,58.569000 /) -XPIZA_LKT(87,3,1:6)=(/ 0.718612,0.754884,0.771659,0.878748,0.916935,0.955609 /) -XCGA_LKT(87,3,1:6)=(/ 0.893040,0.885773,0.882240,0.854123,0.839147,0.805800 /) -XEXT_COEFF_550_LKT(87,3)=54.076000 !rg=10.1792 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,4,1:6)=(/ 48.107000,48.338000,48.967000,49.644000,50.684000,52.831000 /) -XPIZA_LKT(87,4,1:6)=(/ 0.710657,0.747751,0.767360,0.881472,0.910264,0.951333 /) -XCGA_LKT(87,4,1:6)=(/ 0.894643,0.886677,0.883080,0.853893,0.842073,0.808343 /) -XEXT_COEFF_550_LKT(87,4)=48.861000 !rg=10.1792 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,5,1:6)=(/ 42.539000,42.892000,43.190000,43.582000,44.626000,46.896000 /) -XPIZA_LKT(87,5,1:6)=(/ 0.700808,0.740139,0.762166,0.883143,0.904894,0.944743 /) -XCGA_LKT(87,5,1:6)=(/ 0.896213,0.888487,0.883580,0.854210,0.845567,0.811523 /) -XEXT_COEFF_550_LKT(87,5)=43.182000 !rg=10.1792 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,6,1:6)=(/ 37.196000,37.376000,37.724000,38.068000,38.938000,40.380000 /) -XPIZA_LKT(87,6,1:6)=(/ 0.690653,0.730136,0.755936,0.883166,0.901086,0.939043 /) -XCGA_LKT(87,6,1:6)=(/ 0.898593,0.890153,0.884943,0.855550,0.849453,0.817540 /) -XEXT_COEFF_550_LKT(87,6)=37.793000 !rg=10.1792 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,7,1:6)=(/ 32.033000,32.168000,32.480000,32.948000,33.474000,34.648000 /) -XPIZA_LKT(87,7,1:6)=(/ 0.678957,0.719169,0.747975,0.881335,0.897036,0.932366 /) -XCGA_LKT(87,7,1:6)=(/ 0.901040,0.892073,0.886743,0.856337,0.852157,0.822463 /) -XEXT_COEFF_550_LKT(87,7)=32.557000 !rg=10.1792 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,8,1:6)=(/ 27.387000,27.506000,27.777000,28.037000,28.490000,29.385000 /) -XPIZA_LKT(87,8,1:6)=(/ 0.667152,0.707678,0.739043,0.878106,0.893890,0.924440 /) -XCGA_LKT(87,8,1:6)=(/ 0.903863,0.894673,0.888713,0.857753,0.855150,0.829520 /) -XEXT_COEFF_550_LKT(87,8)=27.750000 !rg=10.1792 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,9,1:6)=(/ 23.204000,23.331000,23.479000,23.630000,24.029000,24.864000 /) -XPIZA_LKT(87,9,1:6)=(/ 0.654401,0.695051,0.728033,0.873770,0.891003,0.917134 /) -XCGA_LKT(87,9,1:6)=(/ 0.906903,0.897437,0.890500,0.859183,0.857347,0.833223 /) -XEXT_COEFF_550_LKT(87,9)=23.457000 !rg=10.1792 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,10,1:6)=(/ 19.603000,19.710000,19.806000,20.035000,20.304000,20.890000 /) -XPIZA_LKT(87,10,1:6)=(/ 0.642368,0.682264,0.716109,0.867841,0.887244,0.910922 /) -XCGA_LKT(87,10,1:6)=(/ 0.910193,0.900343,0.892780,0.861077,0.859327,0.838843 /) -XEXT_COEFF_550_LKT(87,10)=19.834000 !rg=10.1792 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,11,1:6)=(/ 16.465000,16.529000,16.628000,16.712000,16.995000,17.432000 /) -XPIZA_LKT(87,11,1:6)=(/ 0.630819,0.668604,0.703774,0.859592,0.883108,0.905270 /) -XCGA_LKT(87,11,1:6)=(/ 0.913713,0.903420,0.895563,0.862313,0.861600,0.844347 /) -XEXT_COEFF_550_LKT(87,11)=16.620000 !rg=10.1792 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,12,1:6)=(/ 13.770000,13.834000,13.890000,14.008000,14.165000,14.493000 /) -XPIZA_LKT(87,12,1:6)=(/ 0.619472,0.655680,0.690106,0.850777,0.878351,0.900702 /) -XCGA_LKT(87,12,1:6)=(/ 0.917337,0.906890,0.898370,0.864770,0.864023,0.848417 /) -XEXT_COEFF_550_LKT(87,12)=13.877000 !rg=10.1792 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,13,1:6)=(/ 11.492000,11.532000,11.589000,11.642000,11.789000,12.047000 /) -XPIZA_LKT(87,13,1:6)=(/ 0.609144,0.642546,0.676659,0.839339,0.871930,0.895593 /) -XCGA_LKT(87,13,1:6)=(/ 0.921047,0.910383,0.901620,0.866783,0.866827,0.853240 /) -XEXT_COEFF_550_LKT(87,13)=11.576000 !rg=10.1792 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,14,1:6)=(/ 9.584300,9.613800,9.652700,9.714300,9.807800,10.001000 /) -XPIZA_LKT(87,14,1:6)=(/ 0.599758,0.630247,0.663044,0.826871,0.864306,0.891139 /) -XCGA_LKT(87,14,1:6)=(/ 0.924687,0.914083,0.904883,0.869333,0.868493,0.856353 /) -XEXT_COEFF_550_LKT(87,14)=9.661500 !rg=10.1792 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,15,1:6)=(/ 7.984900,8.009600,8.034600,8.084100,8.146300,8.303600 /) -XPIZA_LKT(87,15,1:6)=(/ 0.591374,0.619217,0.649836,0.812843,0.854813,0.885005 /) -XCGA_LKT(87,15,1:6)=(/ 0.928243,0.917833,0.908393,0.871653,0.869940,0.858737 /) -XEXT_COEFF_550_LKT(87,15)=8.035200 !rg=10.1792 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,16,1:6)=(/ 6.636300,6.653200,6.675300,6.703400,6.765800,6.878200 /) -XPIZA_LKT(87,16,1:6)=(/ 0.583894,0.608670,0.637264,0.797357,0.844255,0.878993 /) -XCGA_LKT(87,16,1:6)=(/ 0.931667,0.921550,0.912127,0.874200,0.872663,0.861717 /) -XEXT_COEFF_550_LKT(87,16)=6.674600 !rg=10.1792 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,17,1:6)=(/ 5.522200,5.535300,5.551100,5.574400,5.613300,5.695600 /) -XPIZA_LKT(87,17,1:6)=(/ 0.577379,0.599312,0.625443,0.781144,0.832338,0.872264 /) -XCGA_LKT(87,17,1:6)=(/ 0.934827,0.925213,0.915843,0.877107,0.875227,0.865043 /) -XEXT_COEFF_550_LKT(87,17)=5.551200 !rg=10.1792 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,18,1:6)=(/ 0.000000,4.606100,4.617700,4.634800,4.661900,4.723300 /) -XPIZA_LKT(87,18,1:6)=(/ 0.900,0.591044,0.614680,0.764070,0.818400,0.863259 /) -XCGA_LKT(87,18,1:6)=(/ 0.900,0.928773,0.919590,0.879923,0.876943,0.866687 /) -XEXT_COEFF_550_LKT(87,18)=4.616900 !rg=10.1792 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,19,1:6)=(/ 0.000000,3.826200,3.835800,3.849300,3.873500,3.919400 /) -XPIZA_LKT(87,19,1:6)=(/ 0.900,0.583592,0.604838,0.746391,0.803515,0.853874 /) -XCGA_LKT(87,19,1:6)=(/ 0.900,0.932140,0.923300,0.883310,0.879487,0.869477 /) -XEXT_COEFF_550_LKT(87,19)=3.834900 !rg=10.1792 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(87,20,1:6)=(/ 0.000000,3.180300,3.187100,3.197300,3.213100,3.247100 /) -XPIZA_LKT(87,20,1:6)=(/ 0.900,0.577131,0.595806,0.728612,0.787548,0.842974 /) -XCGA_LKT(87,20,1:6)=(/ 0.900,0.935297,0.926933,0.886720,0.882423,0.872650 /) -XEXT_COEFF_550_LKT(87,20)=3.187200 !rg=10.1792 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,1,1:6)=(/ 55.512000,55.760000,56.132000,57.432000,59.899000,64.820000 /) -XPIZA_LKT(88,1,1:6)=(/ 0.720871,0.757781,0.777807,0.867217,0.920708,0.959773 /) -XCGA_LKT(88,1,1:6)=(/ 0.892477,0.886097,0.880157,0.855663,0.842850,0.816537 /) -XEXT_COEFF_550_LKT(88,1)=56.564000 !rg=11.0277 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,2,1:6)=(/ 53.054000,53.267000,53.679000,54.664000,55.461000,58.982000 /) -XPIZA_LKT(88,2,1:6)=(/ 0.717444,0.754211,0.773865,0.873844,0.918098,0.952099 /) -XCGA_LKT(88,2,1:6)=(/ 0.893630,0.885700,0.880580,0.857163,0.840557,0.805727 /) -XEXT_COEFF_550_LKT(88,2)=53.894000 !rg=11.0277 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,3,1:6)=(/ 48.972000,49.514000,49.777000,50.311000,51.897000,53.626000 /) -XPIZA_LKT(88,3,1:6)=(/ 0.710452,0.750144,0.771103,0.878967,0.911288,0.952407 /) -XCGA_LKT(88,3,1:6)=(/ 0.894263,0.886987,0.882287,0.855123,0.843040,0.810517 /) -XEXT_COEFF_550_LKT(88,3)=49.609000 !rg=11.0277 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,4,1:6)=(/ 44.264000,44.714000,44.935000,45.497000,46.655000,48.268000 /) -XPIZA_LKT(88,4,1:6)=(/ 0.702817,0.743322,0.765695,0.882190,0.905515,0.948084 /) -XCGA_LKT(88,4,1:6)=(/ 0.895723,0.888200,0.883060,0.855063,0.846423,0.814323 /) -XEXT_COEFF_550_LKT(88,4)=44.839000 !rg=11.0277 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,5,1:6)=(/ 39.268000,39.485000,39.905000,40.381000,41.179000,42.792000 /) -XPIZA_LKT(88,5,1:6)=(/ 0.693744,0.734140,0.759346,0.883275,0.899720,0.942125 /) -XCGA_LKT(88,5,1:6)=(/ 0.897890,0.889607,0.884670,0.855080,0.848613,0.816303 /) -XEXT_COEFF_550_LKT(88,5)=39.869000 !rg=11.0277 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,6,1:6)=(/ 34.273000,34.552000,34.762000,35.154000,35.686000,36.931000 /) -XPIZA_LKT(88,6,1:6)=(/ 0.683179,0.724744,0.752188,0.882176,0.896942,0.935577 /) -XCGA_LKT(88,6,1:6)=(/ 0.900023,0.891810,0.885863,0.856087,0.852300,0.822393 /) -XEXT_COEFF_550_LKT(88,6)=34.794000 !rg=11.0277 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,7,1:6)=(/ 29.518000,29.714000,29.865000,30.268000,30.787000,31.678000 /) -XPIZA_LKT(88,7,1:6)=(/ 0.671639,0.713291,0.743173,0.880340,0.894963,0.928961 /) -XCGA_LKT(88,7,1:6)=(/ 0.902570,0.893870,0.887073,0.857470,0.855160,0.828790 /) -XEXT_COEFF_550_LKT(88,7)=29.868000 !rg=11.0277 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,8,1:6)=(/ 25.237000,25.389000,25.519000,25.817000,26.196000,26.985000 /) -XPIZA_LKT(88,8,1:6)=(/ 0.659694,0.701481,0.733643,0.876537,0.891546,0.920618 /) -XCGA_LKT(88,8,1:6)=(/ 0.905527,0.896143,0.889343,0.858707,0.856493,0.832300 /) -XEXT_COEFF_550_LKT(88,8)=25.499000 !rg=11.0277 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,9,1:6)=(/ 21.407000,21.502000,21.648000,21.846000,22.189000,22.847000 /) -XPIZA_LKT(88,9,1:6)=(/ 0.647857,0.688207,0.722461,0.871182,0.888391,0.913423 /) -XCGA_LKT(88,9,1:6)=(/ 0.908617,0.898867,0.891693,0.859977,0.858830,0.837037 /) -XEXT_COEFF_550_LKT(88,9)=21.672000 !rg=11.0277 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,10,1:6)=(/ 18.087000,18.160000,18.291000,18.426000,18.639000,19.155000 /) -XPIZA_LKT(88,10,1:6)=(/ 0.636227,0.675225,0.710705,0.864157,0.885514,0.908142 /) -XCGA_LKT(88,10,1:6)=(/ 0.911957,0.901750,0.894213,0.861883,0.861553,0.842667 /) -XEXT_COEFF_550_LKT(88,10)=18.261000 !rg=11.0277 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,11,1:6)=(/ 15.184000,15.242000,15.319000,15.450000,15.649000,16.112000 /) -XPIZA_LKT(88,11,1:6)=(/ 0.624696,0.662136,0.697200,0.855985,0.880729,0.902346 /) -XCGA_LKT(88,11,1:6)=(/ 0.915560,0.905010,0.896757,0.864003,0.862733,0.845810 /) -XEXT_COEFF_550_LKT(88,11)=15.326000 !rg=11.0277 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,12,1:6)=(/ 12.705000,12.752000,12.822000,12.902000,13.048000,13.328000 /) -XPIZA_LKT(88,12,1:6)=(/ 0.614059,0.649068,0.684122,0.845597,0.875715,0.898266 /) -XCGA_LKT(88,12,1:6)=(/ 0.919177,0.908530,0.899953,0.865513,0.866113,0.851677 /) -XEXT_COEFF_550_LKT(88,12)=12.809000 !rg=11.0277 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,13,1:6)=(/ 10.602000,10.635000,10.682000,10.750000,10.870000,11.081000 /) -XPIZA_LKT(88,13,1:6)=(/ 0.604248,0.636412,0.670210,0.834136,0.868783,0.893656 /) -XCGA_LKT(88,13,1:6)=(/ 0.922827,0.912093,0.903053,0.868387,0.867567,0.854707 /) -XEXT_COEFF_550_LKT(88,13)=10.685000 !rg=11.0277 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,14,1:6)=(/ 8.842900,8.871900,8.902400,8.947700,9.037900,9.199800 /) -XPIZA_LKT(88,14,1:6)=(/ 0.595350,0.624839,0.656568,0.820689,0.860367,0.888327 /) -XCGA_LKT(88,14,1:6)=(/ 0.926450,0.915877,0.906547,0.870243,0.869580,0.857923 /) -XEXT_COEFF_550_LKT(88,14)=8.901700 !rg=11.0277 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,15,1:6)=(/ 7.367900,7.388700,7.414800,7.446700,7.519600,7.635400 /) -XPIZA_LKT(88,15,1:6)=(/ 0.587507,0.613989,0.644001,0.806114,0.850950,0.882826 /) -XCGA_LKT(88,15,1:6)=(/ 0.929907,0.919593,0.910173,0.872877,0.872117,0.861100 /) -XEXT_COEFF_550_LKT(88,15)=7.413000 !rg=11.0277 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,16,1:6)=(/ 6.122700,6.138900,6.156700,6.188300,6.231100,6.334600 /) -XPIZA_LKT(88,16,1:6)=(/ 0.580456,0.603986,0.631530,0.790383,0.839185,0.876047 /) -XCGA_LKT(88,16,1:6)=(/ 0.933227,0.923333,0.913827,0.875597,0.873893,0.863257 /) -XEXT_COEFF_550_LKT(88,16)=6.156000 !rg=11.0277 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,17,1:6)=(/ 5.095600,5.107700,5.121300,5.142500,5.176600,5.247500 /) -XPIZA_LKT(88,17,1:6)=(/ 0.574385,0.595141,0.620155,0.773560,0.826330,0.868093 /) -XCGA_LKT(88,17,1:6)=(/ 0.936320,0.926930,0.917620,0.878367,0.876190,0.865673 /) -XEXT_COEFF_550_LKT(88,17)=5.120500 !rg=11.0277 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,18,1:6)=(/ 0.000000,4.249700,4.261000,4.275600,4.304900,4.355200 /) -XPIZA_LKT(88,18,1:6)=(/ 0.900,0.587285,0.609903,0.756180,0.812313,0.859799 /) -XCGA_LKT(88,18,1:6)=(/ 0.900,0.930373,0.921370,0.881480,0.878717,0.868900 /) -XEXT_COEFF_550_LKT(88,18)=4.260100 !rg=11.0277 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,19,1:6)=(/ 0.000000,3.530700,3.538500,3.552300,3.569100,3.611300 /) -XPIZA_LKT(88,19,1:6)=(/ 0.900,0.580343,0.600342,0.738588,0.796466,0.849181 /) -XCGA_LKT(88,19,1:6)=(/ 0.900,0.933657,0.925037,0.884827,0.880917,0.870790 /) -XEXT_COEFF_550_LKT(88,19)=3.537700 !rg=11.0277 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(88,20,1:6)=(/ 0.000000,0.000000,2.940600,2.949000,2.963200,2.992200 /) -XPIZA_LKT(88,20,1:6)=(/ 0.900,0.900,0.591926,0.720609,0.780093,0.837368 /) -XCGA_LKT(88,20,1:6)=(/ 0.900,0.900,0.928547,0.888270,0.883763,0.873367 /) -XEXT_COEFF_550_LKT(88,20)=2.940200 !rg=11.0277 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,1,1:6)=(/ 51.195000,50.761000,51.720000,52.883000,53.924000,54.191000 /) -XPIZA_LKT(89,1,1:6)=(/ 0.714388,0.750069,0.775068,0.878802,0.911335,0.941271 /) -XCGA_LKT(89,1,1:6)=(/ 0.895020,0.884810,0.880437,0.854543,0.836173,0.785943 /) -XEXT_COEFF_550_LKT(89,1)=51.749000 !rg=11.9469 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,2,1:6)=(/ 48.757000,49.291000,49.549000,50.466000,50.897000,53.463000 /) -XPIZA_LKT(89,2,1:6)=(/ 0.709401,0.749712,0.772543,0.879358,0.911656,0.950959 /) -XCGA_LKT(89,2,1:6)=(/ 0.894563,0.887233,0.881720,0.856143,0.846417,0.807563 /) -XEXT_COEFF_550_LKT(89,2)=49.699000 !rg=11.9469 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,3,1:6)=(/ 45.213000,45.427000,45.910000,46.516000,47.603000,49.190000 /) -XPIZA_LKT(89,3,1:6)=(/ 0.703828,0.743405,0.768504,0.881553,0.905422,0.948003 /) -XCGA_LKT(89,3,1:6)=(/ 0.895903,0.887460,0.882787,0.855533,0.846740,0.814897 /) -XEXT_COEFF_550_LKT(89,3)=45.972000 !rg=11.9469 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,4,1:6)=(/ 40.880000,41.066000,41.465000,42.060000,42.872000,44.302000 /) -XPIZA_LKT(89,4,1:6)=(/ 0.695723,0.736589,0.763119,0.882906,0.899815,0.943662 /) -XCGA_LKT(89,4,1:6)=(/ 0.897497,0.888777,0.883880,0.855350,0.849467,0.819043 /) -XEXT_COEFF_550_LKT(89,4)=41.548000 !rg=11.9469 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,5,1:6)=(/ 36.177000,36.503000,36.671000,37.116000,37.973000,39.192000 /) -XPIZA_LKT(89,5,1:6)=(/ 0.686003,0.728518,0.756229,0.882652,0.896064,0.937998 /) -XCGA_LKT(89,5,1:6)=(/ 0.899373,0.891143,0.885233,0.856393,0.851810,0.821830 /) -XEXT_COEFF_550_LKT(89,5)=36.591000 !rg=11.9469 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,6,1:6)=(/ 31.606000,31.764000,32.095000,32.349000,33.081000,34.198000 /) -XPIZA_LKT(89,6,1:6)=(/ 0.675789,0.717688,0.748306,0.880847,0.894243,0.931094 /) -XCGA_LKT(89,6,1:6)=(/ 0.901687,0.892697,0.887097,0.856883,0.855577,0.826447 /) -XEXT_COEFF_550_LKT(89,6)=32.063000 !rg=11.9469 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,7,1:6)=(/ 27.246000,27.367000,27.566000,27.837000,28.338000,29.241000 /) -XPIZA_LKT(89,7,1:6)=(/ 0.664756,0.706280,0.738836,0.878296,0.890961,0.923322 /) -XCGA_LKT(89,7,1:6)=(/ 0.904300,0.894967,0.888580,0.857593,0.855943,0.831993 /) -XEXT_COEFF_550_LKT(89,7)=27.572000 !rg=11.9469 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,8,1:6)=(/ 23.286000,23.405000,23.556000,23.752000,24.144000,24.882000 /) -XPIZA_LKT(89,8,1:6)=(/ 0.652839,0.694408,0.728637,0.874047,0.889350,0.916647 /) -XCGA_LKT(89,8,1:6)=(/ 0.907310,0.897537,0.890580,0.859330,0.859313,0.836880 /) -XEXT_COEFF_550_LKT(89,8)=23.537000 !rg=11.9469 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,9,1:6)=(/ 19.746000,19.855000,19.944000,20.154000,20.461000,21.023000 /) -XPIZA_LKT(89,9,1:6)=(/ 0.641153,0.681697,0.716516,0.868032,0.886254,0.910103 /) -XCGA_LKT(89,9,1:6)=(/ 0.910493,0.900537,0.892890,0.861293,0.859757,0.840993 /) -XEXT_COEFF_550_LKT(89,9)=19.921000 !rg=11.9469 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,10,1:6)=(/ 16.683000,16.753000,16.834000,16.970000,17.212000,17.626000 /) -XPIZA_LKT(89,10,1:6)=(/ 0.629931,0.668596,0.704015,0.860692,0.883071,0.905197 /) -XCGA_LKT(89,10,1:6)=(/ 0.913823,0.903393,0.895280,0.862783,0.862327,0.845390 /) -XEXT_COEFF_550_LKT(89,10)=16.856000 !rg=11.9469 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,11,1:6)=(/ 14.007000,14.064000,14.123000,14.220000,14.399000,14.750000 /) -XPIZA_LKT(89,11,1:6)=(/ 0.619083,0.655505,0.690933,0.851455,0.878309,0.899818 /) -XCGA_LKT(89,11,1:6)=(/ 0.917280,0.906757,0.898143,0.864803,0.863983,0.848580 /) -XEXT_COEFF_550_LKT(89,11)=14.114000 !rg=11.9469 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,12,1:6)=(/ 11.722000,11.763000,11.812000,11.899000,12.027000,12.280000 /) -XPIZA_LKT(89,12,1:6)=(/ 0.608948,0.642710,0.677398,0.840808,0.872655,0.895453 /) -XCGA_LKT(89,12,1:6)=(/ 0.920970,0.910270,0.901320,0.866940,0.866813,0.853110 /) -XEXT_COEFF_550_LKT(89,12)=11.824000 !rg=11.9469 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,13,1:6)=(/ 9.779100,9.814400,9.848800,9.916600,10.006000,10.209000 /) -XPIZA_LKT(89,13,1:6)=(/ 0.599450,0.630648,0.663642,0.828367,0.864937,0.890883 /) -XCGA_LKT(89,13,1:6)=(/ 0.924617,0.913950,0.904613,0.869457,0.868540,0.856700 /) -XEXT_COEFF_550_LKT(89,13)=9.849000 !rg=11.9469 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,14,1:6)=(/ 8.159200,8.182800,8.215900,8.254800,8.345300,8.481300 /) -XPIZA_LKT(89,14,1:6)=(/ 0.591221,0.619369,0.650675,0.814353,0.856206,0.885380 /) -XCGA_LKT(89,14,1:6)=(/ 0.928157,0.917613,0.908273,0.871480,0.870537,0.859563 /) -XEXT_COEFF_550_LKT(89,14)=8.215500 !rg=11.9469 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,15,1:6)=(/ 6.797400,6.817900,6.837900,6.878200,6.920100,7.042200 /) -XPIZA_LKT(89,15,1:6)=(/ 0.583797,0.609092,0.637962,0.799517,0.845666,0.879652 /) -XCGA_LKT(89,15,1:6)=(/ 0.931527,0.921367,0.911863,0.874123,0.872550,0.862480 /) -XEXT_COEFF_550_LKT(89,15)=6.837400 !rg=11.9469 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,16,1:6)=(/ 5.649400,5.663500,5.680700,5.701200,5.745700,5.829200 /) -XPIZA_LKT(89,16,1:6)=(/ 0.577196,0.599458,0.626048,0.782778,0.833599,0.872462 /) -XCGA_LKT(89,16,1:6)=(/ 0.934777,0.925050,0.915640,0.876720,0.874743,0.864303 /) -XEXT_COEFF_550_LKT(89,16)=5.678200 !rg=11.9469 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,17,1:6)=(/ 0.000000,4.712200,4.725700,4.740300,4.778500,4.838300 /) -XPIZA_LKT(89,17,1:6)=(/ 0.900,0.591093,0.615170,0.765783,0.820325,0.864739 /) -XCGA_LKT(89,17,1:6)=(/ 0.900,0.928600,0.919380,0.879717,0.877390,0.867603 /) -XEXT_COEFF_550_LKT(89,17)=4.725100 !rg=11.9469 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,18,1:6)=(/ 0.000000,3.921600,3.930500,3.946800,3.963800,4.011300 /) -XPIZA_LKT(89,18,1:6)=(/ 0.900,0.583804,0.605208,0.748514,0.805223,0.854828 /) -XCGA_LKT(89,18,1:6)=(/ 0.900,0.931957,0.923050,0.882953,0.879303,0.869210 /) -XEXT_COEFF_550_LKT(89,18)=3.930700 !rg=11.9469 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,19,1:6)=(/ 0.000000,3.257900,3.264900,3.273800,3.292400,3.328200 /) -XPIZA_LKT(89,19,1:6)=(/ 0.900,0.577284,0.596232,0.730297,0.789318,0.844226 /) -XCGA_LKT(89,19,1:6)=(/ 0.900,0.935123,0.926683,0.886260,0.881903,0.871950 /) -XEXT_COEFF_550_LKT(89,19)=3.264100 !rg=11.9469 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(89,20,1:6)=(/ 0.000000,0.000000,2.713400,2.720100,2.736200,2.760600 /) -XPIZA_LKT(89,20,1:6)=(/ 0.900,0.900,0.588246,0.712654,0.772831,0.832031 /) -XCGA_LKT(89,20,1:6)=(/ 0.900,0.900,0.930157,0.889963,0.885193,0.874817 /) -XEXT_COEFF_550_LKT(89,20)=2.713200 !rg=11.9469 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,1,1:6)=(/ 46.898000,47.745000,47.831000,48.518000,49.875000,48.610000 /) -XPIZA_LKT(90,1,1:6)=(/ 0.704683,0.747466,0.771654,0.884624,0.907904,0.947709 /) -XCGA_LKT(90,1,1:6)=(/ 0.896217,0.888050,0.883020,0.854570,0.845580,0.798470 /) -XEXT_COEFF_550_LKT(90,1)=47.929000 !rg=12.9427 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,2,1:6)=(/ 44.980000,45.181000,45.666000,46.293000,47.482000,49.120000 /) -XPIZA_LKT(90,2,1:6)=(/ 0.701931,0.742768,0.768571,0.883565,0.905158,0.947852 /) -XCGA_LKT(90,2,1:6)=(/ 0.896203,0.887640,0.882937,0.855350,0.848657,0.810993 /) -XEXT_COEFF_550_LKT(90,2)=45.605000 !rg=12.9427 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,3,1:6)=(/ 41.652000,42.125000,42.308000,42.758000,43.877000,45.588000 /) -XPIZA_LKT(90,3,1:6)=(/ 0.695711,0.738909,0.765201,0.883122,0.898171,0.942340 /) -XCGA_LKT(90,3,1:6)=(/ 0.897317,0.889427,0.883080,0.855873,0.849877,0.814103 /) -XEXT_COEFF_550_LKT(90,3)=42.434000 !rg=12.9427 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,4,1:6)=(/ 37.672000,37.931000,38.192000,38.622000,39.603000,41.125000 /) -XPIZA_LKT(90,4,1:6)=(/ 0.687812,0.730591,0.759405,0.883329,0.894298,0.937504 /) -XCGA_LKT(90,4,1:6)=(/ 0.898963,0.890573,0.884130,0.856407,0.852223,0.817603 /) -XEXT_COEFF_550_LKT(90,4)=38.306000 !rg=12.9427 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,5,1:6)=(/ 33.387000,33.533000,33.881000,34.219000,34.790000,35.977000 /) -XPIZA_LKT(90,5,1:6)=(/ 0.678992,0.721197,0.752383,0.882513,0.893056,0.933108 /) -XCGA_LKT(90,5,1:6)=(/ 0.901030,0.891830,0.886250,0.856640,0.854803,0.826703 /) -XEXT_COEFF_550_LKT(90,5)=33.900000 !rg=12.9427 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,6,1:6)=(/ 29.144000,29.285000,29.499000,29.912000,30.389000,31.551000 /) -XPIZA_LKT(90,6,1:6)=(/ 0.668461,0.710883,0.743206,0.880414,0.891661,0.926624 /) -XCGA_LKT(90,6,1:6)=(/ 0.903317,0.894240,0.887603,0.857990,0.856503,0.828157 /) -XEXT_COEFF_550_LKT(90,6)=29.533000 !rg=12.9427 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,7,1:6)=(/ 25.115000,25.243000,25.396000,25.665000,26.161000,27.094000 /) -XPIZA_LKT(90,7,1:6)=(/ 0.657330,0.699878,0.733251,0.876697,0.889298,0.917962 /) -XCGA_LKT(90,7,1:6)=(/ 0.906040,0.896427,0.889377,0.859360,0.857987,0.832257 /) -XEXT_COEFF_550_LKT(90,7)=25.414000 !rg=12.9427 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,8,1:6)=(/ 21.479000,21.582000,21.713000,21.902000,22.215000,22.891000 /) -XPIZA_LKT(90,8,1:6)=(/ 0.646007,0.687492,0.722639,0.871426,0.887814,0.913223 /) -XCGA_LKT(90,8,1:6)=(/ 0.909103,0.898990,0.891620,0.860813,0.860297,0.839453 /) -XEXT_COEFF_550_LKT(90,8)=21.752000 !rg=12.9427 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,9,1:6)=(/ 18.220000,18.287000,18.418000,18.525000,18.787000,19.280000 /) -XPIZA_LKT(90,9,1:6)=(/ 0.634884,0.674504,0.710811,0.864663,0.885110,0.906854 /) -XCGA_LKT(90,9,1:6)=(/ 0.912310,0.901907,0.894297,0.861693,0.862060,0.844740 /) -XEXT_COEFF_550_LKT(90,9)=18.423000 !rg=12.9427 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,10,1:6)=(/ 15.389000,15.461000,15.530000,15.624000,15.820000,16.245000 /) -XPIZA_LKT(90,10,1:6)=(/ 0.623943,0.661994,0.697831,0.856533,0.880868,0.901716 /) -XCGA_LKT(90,10,1:6)=(/ 0.915637,0.905227,0.896753,0.863790,0.863633,0.847883 /) -XEXT_COEFF_550_LKT(90,10)=15.528000 !rg=12.9427 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,11,1:6)=(/ 12.924000,12.971000,13.033000,13.131000,13.290000,13.570000 /) -XPIZA_LKT(90,11,1:6)=(/ 0.613595,0.648981,0.684422,0.846923,0.875963,0.897481 /) -XCGA_LKT(90,11,1:6)=(/ 0.919220,0.908447,0.899723,0.865887,0.865847,0.851923 /) -XEXT_COEFF_550_LKT(90,11)=13.048000 !rg=12.9427 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,12,1:6)=(/ 10.815000,10.853000,10.894000,10.944000,11.064000,11.294000 /) -XPIZA_LKT(90,12,1:6)=(/ 0.603893,0.636731,0.670712,0.834985,0.869193,0.893090 /) -XCGA_LKT(90,12,1:6)=(/ 0.922817,0.912050,0.902923,0.867653,0.867557,0.855430 /) -XEXT_COEFF_550_LKT(90,12)=10.891000 !rg=12.9427 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,13,1:6)=(/ 9.024500,9.052000,9.089800,9.125400,9.233900,9.402700 /) -XPIZA_LKT(90,13,1:6)=(/ 0.595088,0.624871,0.657492,0.822082,0.861477,0.888035 /) -XCGA_LKT(90,13,1:6)=(/ 0.926393,0.915723,0.906380,0.870150,0.869950,0.858307 /) -XEXT_COEFF_550_LKT(90,13)=9.091900 !rg=12.9427 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,14,1:6)=(/ 7.527800,7.550600,7.573600,7.616900,7.666700,7.796900 /) -XPIZA_LKT(90,14,1:6)=(/ 0.587219,0.614171,0.644481,0.807922,0.851539,0.882573 /) -XCGA_LKT(90,14,1:6)=(/ 0.929867,0.919427,0.909863,0.872860,0.871223,0.860550 /) -XEXT_COEFF_550_LKT(90,14)=7.570900 !rg=12.9427 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,15,1:6)=(/ 6.272500,6.288100,6.310800,6.333300,6.383300,6.475000 /) -XPIZA_LKT(90,15,1:6)=(/ 0.580383,0.604176,0.632386,0.792070,0.840784,0.876859 /) -XCGA_LKT(90,15,1:6)=(/ 0.933120,0.923120,0.913637,0.875237,0.874030,0.863870 /) -XEXT_COEFF_550_LKT(90,15)=6.305100 !rg=12.9427 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,16,1:6)=(/ 5.213300,5.224500,5.240400,5.262800,5.298300,5.369300 /) -XPIZA_LKT(90,16,1:6)=(/ 0.574247,0.595168,0.620636,0.775356,0.828166,0.869511 /) -XCGA_LKT(90,16,1:6)=(/ 0.936263,0.926733,0.917403,0.878237,0.876570,0.866383 /) -XEXT_COEFF_550_LKT(90,16)=5.240900 !rg=12.9427 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,17,1:6)=(/ 0.000000,4.348600,4.358800,4.376500,4.397700,4.441700 /) -XPIZA_LKT(90,17,1:6)=(/ 0.900,0.587396,0.610180,0.758078,0.813665,0.860258 /) -XCGA_LKT(90,17,1:6)=(/ 0.900,0.930233,0.921120,0.881283,0.878227,0.868173 /) -XEXT_COEFF_550_LKT(90,17)=4.358400 !rg=12.9427 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,18,1:6)=(/ 0.000000,3.618000,3.626900,3.638400,3.657300,3.696400 /) -XPIZA_LKT(90,18,1:6)=(/ 0.900,0.580439,0.600847,0.740262,0.798539,0.850577 /) -XCGA_LKT(90,18,1:6)=(/ 0.900,0.933477,0.924773,0.884447,0.880830,0.871013 /) -XEXT_COEFF_550_LKT(90,18)=3.625400 !rg=12.9427 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,19,1:6)=(/ 0.000000,3.006000,3.012400,3.020500,3.036400,3.067800 /) -XPIZA_LKT(90,19,1:6)=(/ 0.900,0.574304,0.592284,0.722400,0.782244,0.839253 /) -XCGA_LKT(90,19,1:6)=(/ 0.900,0.936600,0.928307,0.887863,0.883580,0.873883 /) -XEXT_COEFF_550_LKT(90,19)=3.012100 !rg=12.9427 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(90,20,1:6)=(/ 0.000000,0.000000,2.503500,2.510500,2.520000,2.537000 /) -XPIZA_LKT(90,20,1:6)=(/ 0.900,0.900,0.584701,0.704877,0.764919,0.825679 /) -XCGA_LKT(90,20,1:6)=(/ 0.900,0.900,0.931747,0.891703,0.886403,0.875340 /) -XEXT_COEFF_550_LKT(90,20)=2.503200 !rg=12.9427 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,1,1:6)=(/ 43.083000,43.620000,43.935000,44.660000,45.419000,48.941000 /) -XPIZA_LKT(91,1,1:6)=(/ 0.696820,0.740044,0.767753,0.889189,0.902857,0.947601 /) -XCGA_LKT(91,1,1:6)=(/ 0.896167,0.888927,0.882840,0.854867,0.849970,0.825273 /) -XEXT_COEFF_550_LKT(91,1)=44.046000 !rg=14.0216 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,2,1:6)=(/ 41.493000,41.861000,42.159000,42.613000,43.420000,45.702000 /) -XPIZA_LKT(91,2,1:6)=(/ 0.694209,0.738008,0.765279,0.886242,0.899016,0.942680 /) -XCGA_LKT(91,2,1:6)=(/ 0.897797,0.889540,0.883540,0.855633,0.853320,0.814310 /) -XEXT_COEFF_550_LKT(91,2)=42.027000 !rg=14.0216 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,3,1:6)=(/ 38.433000,38.720000,39.121000,39.327000,39.925000,41.990000 /) -XPIZA_LKT(91,3,1:6)=(/ 0.687990,0.731588,0.761480,0.885151,0.892995,0.939669 /) -XCGA_LKT(91,3,1:6)=(/ 0.898990,0.890497,0.884413,0.856250,0.854630,0.820143 /) -XEXT_COEFF_550_LKT(91,3)=38.965000 !rg=14.0216 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,4,1:6)=(/ 34.734000,34.968000,35.191000,35.489000,36.081000,37.706000 /) -XPIZA_LKT(91,4,1:6)=(/ 0.680323,0.724102,0.754582,0.884094,0.890482,0.934701 /) -XCGA_LKT(91,4,1:6)=(/ 0.900580,0.891760,0.885467,0.856913,0.855437,0.824150 /) -XEXT_COEFF_550_LKT(91,4)=35.178000 !rg=14.0216 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,5,1:6)=(/ 30.768000,31.025000,31.140000,31.495000,32.169000,33.289000 /) -XPIZA_LKT(91,5,1:6)=(/ 0.671002,0.715263,0.747063,0.881644,0.889013,0.927481 /) -XCGA_LKT(91,5,1:6)=(/ 0.902617,0.893667,0.886590,0.857690,0.856737,0.826893 /) -XEXT_COEFF_550_LKT(91,5)=31.235000 !rg=14.0216 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,6,1:6)=(/ 26.879000,27.032000,27.184000,27.527000,27.996000,29.002000 /) -XPIZA_LKT(91,6,1:6)=(/ 0.661072,0.704495,0.737926,0.879087,0.889260,0.921227 /) -XCGA_LKT(91,6,1:6)=(/ 0.905040,0.895447,0.888873,0.859013,0.858023,0.831600 /) -XEXT_COEFF_550_LKT(91,6)=27.178000 !rg=14.0216 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,7,1:6)=(/ 23.162000,23.283000,23.413000,23.596000,23.980000,24.725000 /) -XPIZA_LKT(91,7,1:6)=(/ 0.650448,0.692656,0.728095,0.874266,0.887609,0.914681 /) -XCGA_LKT(91,7,1:6)=(/ 0.907640,0.897943,0.890627,0.859950,0.859093,0.837333 /) -XEXT_COEFF_550_LKT(91,7)=23.375000 !rg=14.0216 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,8,1:6)=(/ 19.806000,19.908000,20.012000,20.157000,20.472000,21.087000 /) -XPIZA_LKT(91,8,1:6)=(/ 0.639294,0.680671,0.716499,0.868435,0.886010,0.909178 /) -XCGA_LKT(91,8,1:6)=(/ 0.910850,0.900677,0.892800,0.861493,0.861963,0.842680 /) -XEXT_COEFF_550_LKT(91,8)=19.995000 !rg=14.0216 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,9,1:6)=(/ 16.802000,16.893000,16.948000,17.122000,17.345000,17.811000 /) -XPIZA_LKT(91,9,1:6)=(/ 0.628501,0.668216,0.703908,0.861339,0.882632,0.902823 /) -XCGA_LKT(91,9,1:6)=(/ 0.914110,0.903687,0.895293,0.863440,0.863623,0.845997 /) -XEXT_COEFF_550_LKT(91,9)=16.963000 !rg=14.0216 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,10,1:6)=(/ 14.201000,14.253000,14.333000,14.418000,14.598000,14.904000 /) -XPIZA_LKT(91,10,1:6)=(/ 0.618277,0.655151,0.691423,0.852257,0.878713,0.899172 /) -XCGA_LKT(91,10,1:6)=(/ 0.917507,0.906840,0.898420,0.864907,0.865453,0.850977 /) -XEXT_COEFF_550_LKT(91,10)=14.315000 !rg=14.0216 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,11,1:6)=(/ 11.924000,11.971000,12.015000,12.099000,12.239000,12.484000 /) -XPIZA_LKT(91,11,1:6)=(/ 0.608306,0.642830,0.677755,0.841837,0.873084,0.895392 /) -XCGA_LKT(91,11,1:6)=(/ 0.921067,0.910280,0.901160,0.866940,0.866717,0.854563 /) -XEXT_COEFF_550_LKT(91,11)=12.011000 !rg=14.0216 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,12,1:6)=(/ 9.979100,10.009000,10.054000,10.100000,10.226000,10.398000 /) -XPIZA_LKT(91,12,1:6)=(/ 0.599194,0.630622,0.664493,0.829403,0.865667,0.890389 /) -XCGA_LKT(91,12,1:6)=(/ 0.924647,0.913873,0.904617,0.869007,0.868377,0.857587 /) -XEXT_COEFF_550_LKT(91,12)=10.053000 !rg=14.0216 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,13,1:6)=(/ 8.325800,8.352100,8.379200,8.437600,8.478500,8.625400 /) -XPIZA_LKT(91,13,1:6)=(/ 0.590822,0.619366,0.651043,0.816112,0.856613,0.885274 /) -XCGA_LKT(91,13,1:6)=(/ 0.928137,0.917560,0.908007,0.871660,0.869917,0.859383 /) -XEXT_COEFF_550_LKT(91,13)=8.378800 !rg=14.0216 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,14,1:6)=(/ 6.946100,6.964400,6.988900,7.014300,7.077800,7.189200 /) -XPIZA_LKT(91,14,1:6)=(/ 0.583572,0.609033,0.638609,0.800742,0.846995,0.879803 /) -XCGA_LKT(91,14,1:6)=(/ 0.931487,0.921200,0.911647,0.873870,0.872933,0.862873 /) -XEXT_COEFF_550_LKT(91,14)=6.983600 !rg=14.0216 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,15,1:6)=(/ 5.787600,5.801100,5.818200,5.844600,5.884200,5.967000 /) -XPIZA_LKT(91,15,1:6)=(/ 0.577125,0.599664,0.626522,0.784825,0.835199,0.873376 /) -XCGA_LKT(91,15,1:6)=(/ 0.934677,0.924820,0.915377,0.876607,0.874987,0.864920 /) -XEXT_COEFF_550_LKT(91,15)=5.817700 !rg=14.0216 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,16,1:6)=(/ 0.000000,4.821400,4.832600,4.853700,4.880100,4.939600 /) -XPIZA_LKT(91,16,1:6)=(/ 0.900,0.591163,0.615419,0.767632,0.821745,0.865410 /) -XCGA_LKT(91,16,1:6)=(/ 0.900,0.928473,0.919087,0.879557,0.877047,0.867467 /) -XEXT_COEFF_550_LKT(91,16)=4.832700 !rg=14.0216 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,17,1:6)=(/ 0.000000,4.011700,4.022600,4.034600,4.059900,4.108300 /) -XPIZA_LKT(91,17,1:6)=(/ 0.900,0.583739,0.605614,0.749975,0.807126,0.856391 /) -XCGA_LKT(91,17,1:6)=(/ 0.900,0.931837,0.922877,0.882590,0.879347,0.870313 /) -XEXT_COEFF_550_LKT(91,17)=4.020400 !rg=14.0216 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,18,1:6)=(/ 0.000000,3.338300,3.345500,3.356700,3.373800,3.407000 /) -XPIZA_LKT(91,18,1:6)=(/ 0.900,0.577271,0.596519,0.732272,0.791320,0.845607 /) -XCGA_LKT(91,18,1:6)=(/ 0.900,0.935000,0.926430,0.886047,0.881943,0.872207 /) -XEXT_COEFF_550_LKT(91,18)=3.345500 !rg=14.0216 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(91,19,1:6)=(/ 0.000000,0.000000,2.779100,2.787100,2.798800,2.821400 /) -XPIZA_LKT(91,19,1:6)=(/ 0.900,0.900,0.588411,0.714432,0.774547,0.833311 /) -XCGA_LKT(91,19,1:6)=(/ 0.900,0.900,0.929967,0.889603,0.884670,0.874490 /) -XEXT_COEFF_550_LKT(91,19)=2.778600 !rg=14.0216 sigma=2.85 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET9',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET9 - -!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -SUBROUTINE DUST_OPT_LKT_SET10() - - USE MODD_DUST_OPT_LKT - - IMPLICIT NONE - -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET10',0,ZHOOK_HANDLE) -XEXT_COEFF_WVL_LKT(91,20,1:6)=(/ 0.000000,0.000000,2.310300,2.315500,2.325900,2.345100 /) -XPIZA_LKT(91,20,1:6)=(/ 0.900,0.900,0.581451,0.696978,0.757133,0.819978 /) -XCGA_LKT(91,20,1:6)=(/ 0.900,0.900,0.933277,0.893380,0.887830,0.877120 /) -XEXT_COEFF_550_LKT(91,20)=2.309500 !rg=14.0216 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,1,1:6)=(/ 39.896000,40.228000,40.329000,40.793000,41.609000,43.289000 /) -XPIZA_LKT(92,1,1:6)=(/ 0.689281,0.734307,0.762122,0.889002,0.897673,0.944111 /) -XCGA_LKT(92,1,1:6)=(/ 0.898053,0.890873,0.883123,0.854543,0.858030,0.829960 /) -XEXT_COEFF_550_LKT(92,1)=40.360000 !rg=15.1904 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,2,1:6)=(/ 38.253000,38.533000,38.877000,39.304000,40.085000,41.706000 /) -XPIZA_LKT(92,2,1:6)=(/ 0.686222,0.730793,0.762288,0.888554,0.889335,0.939827 /) -XCGA_LKT(92,2,1:6)=(/ 0.899353,0.890703,0.884700,0.855893,0.854430,0.822037 /) -XEXT_COEFF_550_LKT(92,2)=38.823000 !rg=15.1904 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,3,1:6)=(/ 35.469000,35.627000,35.966000,36.295000,36.950000,38.360000 /) -XPIZA_LKT(92,3,1:6)=(/ 0.680671,0.724477,0.756925,0.886029,0.886681,0.936280 /) -XCGA_LKT(92,3,1:6)=(/ 0.900600,0.891540,0.885267,0.856120,0.856197,0.824533 /) -XEXT_COEFF_550_LKT(92,3)=36.026000 !rg=15.1904 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,4,1:6)=(/ 32.046000,32.215000,32.492000,32.862000,33.385000,34.530000 /) -XPIZA_LKT(92,4,1:6)=(/ 0.672747,0.716830,0.750229,0.883909,0.886070,0.930499 /) -XCGA_LKT(92,4,1:6)=(/ 0.902243,0.893073,0.886583,0.857123,0.857403,0.827827 /) -XEXT_COEFF_550_LKT(92,4)=32.513000 !rg=15.1904 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,5,1:6)=(/ 28.383000,28.565000,28.824000,28.932000,29.387000,30.482000 /) -XPIZA_LKT(92,5,1:6)=(/ 0.663601,0.707850,0.742668,0.880997,0.887652,0.923455 /) -XCGA_LKT(92,5,1:6)=(/ 0.904320,0.895023,0.888227,0.858657,0.859117,0.832103 /) -XEXT_COEFF_550_LKT(92,5)=28.704000 !rg=15.1904 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,6,1:6)=(/ 24.804000,24.907000,25.074000,25.259000,25.746000,26.437000 /) -XPIZA_LKT(92,6,1:6)=(/ 0.653979,0.696880,0.732702,0.877131,0.887100,0.917362 /) -XCGA_LKT(92,6,1:6)=(/ 0.906850,0.897040,0.889780,0.859643,0.859893,0.837260 /) -XEXT_COEFF_550_LKT(92,6)=25.135000 !rg=15.1904 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,7,1:6)=(/ 21.372000,21.467000,21.612000,21.831000,22.130000,22.728000 /) -XPIZA_LKT(92,7,1:6)=(/ 0.643485,0.685446,0.722010,0.872086,0.885883,0.910571 /) -XCGA_LKT(92,7,1:6)=(/ 0.909643,0.899447,0.891917,0.860773,0.861233,0.841277 /) -XEXT_COEFF_550_LKT(92,7)=21.650000 !rg=15.1904 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,8,1:6)=(/ 18.275000,18.349000,18.464000,18.603000,18.884000,19.316000 /) -XPIZA_LKT(92,8,1:6)=(/ 0.632983,0.673406,0.710436,0.865406,0.883914,0.905038 /) -XCGA_LKT(92,8,1:6)=(/ 0.912663,0.902190,0.894307,0.862357,0.862693,0.846107 /) -XEXT_COEFF_550_LKT(92,8)=18.478000 !rg=15.1904 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,9,1:6)=(/ 15.498000,15.568000,15.668000,15.727000,15.943000,16.306000 /) -XPIZA_LKT(92,9,1:6)=(/ 0.622366,0.661008,0.698242,0.857158,0.880768,0.900506 /) -XCGA_LKT(92,9,1:6)=(/ 0.915970,0.905327,0.896987,0.864093,0.864183,0.849197 /) -XEXT_COEFF_550_LKT(92,9)=15.643000 !rg=15.1904 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,10,1:6)=(/ 13.098000,13.147000,13.202000,13.305000,13.447000,13.751000 /) -XPIZA_LKT(92,10,1:6)=(/ 0.612624,0.648617,0.684465,0.848050,0.876171,0.896264 /) -XCGA_LKT(92,10,1:6)=(/ 0.919353,0.908557,0.899713,0.865993,0.865980,0.852310 /) -XEXT_COEFF_550_LKT(92,10)=13.204000 !rg=15.1904 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,11,1:6)=(/ 11.002000,11.037000,11.091000,11.135000,11.285000,11.494000 /) -XPIZA_LKT(92,11,1:6)=(/ 0.603266,0.636471,0.671506,0.836321,0.870090,0.891839 /) -XCGA_LKT(92,11,1:6)=(/ 0.922903,0.911983,0.902910,0.867590,0.868123,0.855757 /) -XEXT_COEFF_550_LKT(92,11)=11.084000 !rg=15.1904 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,12,1:6)=(/ 9.204300,9.236000,9.267100,9.329800,9.402600,9.570500 /) -XPIZA_LKT(92,12,1:6)=(/ 0.594579,0.624952,0.657851,0.823772,0.861823,0.887941 /) -XCGA_LKT(92,12,1:6)=(/ 0.926407,0.915673,0.906217,0.870293,0.869003,0.858580 /) -XEXT_COEFF_550_LKT(92,12)=9.262900 !rg=15.1904 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,13,1:6)=(/ 7.682400,7.703800,7.732600,7.768800,7.838100,7.965100 /) -XPIZA_LKT(92,13,1:6)=(/ 0.586884,0.613936,0.644912,0.809206,0.852946,0.882840 /) -XCGA_LKT(92,13,1:6)=(/ 0.929830,0.919340,0.909827,0.872697,0.872200,0.862103 /) -XEXT_COEFF_550_LKT(92,13)=7.728500 !rg=15.1904 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,14,1:6)=(/ 6.408900,6.424500,6.444400,6.476800,6.525200,6.616500 /) -XPIZA_LKT(92,14,1:6)=(/ 0.580059,0.604185,0.632601,0.793842,0.842099,0.877205 /) -XCGA_LKT(92,14,1:6)=(/ 0.933110,0.922927,0.913380,0.875403,0.873923,0.864093 /) -XEXT_COEFF_550_LKT(92,14)=6.446900 !rg=15.1904 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,15,1:6)=(/ 5.340600,5.352900,5.367000,5.386900,5.418200,5.493000 /) -XPIZA_LKT(92,15,1:6)=(/ 0.574124,0.595331,0.621173,0.777058,0.829389,0.869568 /) -XCGA_LKT(92,15,1:6)=(/ 0.936177,0.926590,0.917080,0.877917,0.875657,0.865563 /) -XEXT_COEFF_550_LKT(92,15)=5.365800 !rg=15.1904 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,16,1:6)=(/ 0.000000,4.448000,4.460200,4.474000,4.505100,4.560900 /) -XPIZA_LKT(92,16,1:6)=(/ 0.900,0.587292,0.610541,0.759589,0.815524,0.861180 /) -XCGA_LKT(92,16,1:6)=(/ 0.900,0.930100,0.920957,0.880933,0.878250,0.868197 /) -XEXT_COEFF_550_LKT(92,16)=4.458400 !rg=15.1904 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,17,1:6)=(/ 0.000000,3.701400,3.709900,3.724500,3.742100,3.782800 /) -XPIZA_LKT(92,17,1:6)=(/ 0.900,0.580341,0.600977,0.742099,0.800270,0.851864 /) -XCGA_LKT(92,17,1:6)=(/ 0.900,0.933397,0.924573,0.884207,0.880347,0.870947 /) -XEXT_COEFF_550_LKT(92,17)=3.709800 !rg=15.1904 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,18,1:6)=(/ 0.000000,3.080700,3.086600,3.095000,3.109300,3.138400 /) -XPIZA_LKT(92,18,1:6)=(/ 0.900,0.574380,0.592482,0.724137,0.783977,0.840253 /) -XCGA_LKT(92,18,1:6)=(/ 0.900,0.936470,0.928097,0.887630,0.883237,0.872823 /) -XEXT_COEFF_550_LKT(92,18)=3.086300 !rg=15.1904 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,19,1:6)=(/ 0.000000,0.000000,2.564500,2.571400,2.583800,2.607200 /) -XPIZA_LKT(92,19,1:6)=(/ 0.900,0.900,0.584903,0.706459,0.766921,0.827508 /) -XCGA_LKT(92,19,1:6)=(/ 0.900,0.900,0.931557,0.891307,0.886127,0.875200 /) -XEXT_COEFF_550_LKT(92,19)=2.564000 !rg=15.1904 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(92,20,1:6)=(/ 0.000000,0.000000,2.131500,2.137200,2.144900,2.160900 /) -XPIZA_LKT(92,20,1:6)=(/ 0.900,0.900,0.578275,0.689389,0.749311,0.813468 /) -XCGA_LKT(92,20,1:6)=(/ 0.900,0.900,0.934757,0.895220,0.889167,0.877860 /) -XEXT_COEFF_550_LKT(92,20)=2.131200 !rg=15.1904 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,1,1:6)=(/ 36.990000,36.816000,37.184000,37.812000,38.475000,37.410000 /) -XPIZA_LKT(93,1,1:6)=(/ 0.682672,0.724868,0.758878,0.890291,0.883452,0.936677 /) -XCGA_LKT(93,1,1:6)=(/ 0.900260,0.890493,0.884283,0.856220,0.854717,0.824933 /) -XEXT_COEFF_550_LKT(93,1)=37.725000 !rg=16.4566 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,2,1:6)=(/ 35.338000,35.497000,35.761000,35.937000,37.054000,37.972000 /) -XPIZA_LKT(93,2,1:6)=(/ 0.678898,0.723577,0.756582,0.888717,0.882396,0.936110 /) -XCGA_LKT(93,2,1:6)=(/ 0.901043,0.891690,0.885537,0.857160,0.860723,0.826177 /) -XEXT_COEFF_550_LKT(93,2)=35.601000 !rg=16.4566 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,3,1:6)=(/ 32.704000,32.937000,33.080000,33.453000,34.115000,35.242000 /) -XPIZA_LKT(93,3,1:6)=(/ 0.672695,0.718526,0.751555,0.885636,0.881763,0.930512 /) -XCGA_LKT(93,3,1:6)=(/ 0.902310,0.893113,0.886267,0.856583,0.859240,0.827983 /) -XEXT_COEFF_550_LKT(93,3)=33.046000 !rg=16.4566 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,4,1:6)=(/ 29.567000,29.775000,29.892000,30.265000,30.806000,31.724000 /) -XPIZA_LKT(93,4,1:6)=(/ 0.665176,0.710354,0.744755,0.882890,0.884076,0.925502 /) -XCGA_LKT(93,4,1:6)=(/ 0.904093,0.894733,0.887627,0.858197,0.859377,0.832247 /) -XEXT_COEFF_550_LKT(93,4)=29.828000 !rg=16.4566 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,5,1:6)=(/ 26.184000,26.302000,26.512000,26.733000,27.153000,27.991000 /) -XPIZA_LKT(93,5,1:6)=(/ 0.656297,0.700349,0.736502,0.879487,0.885735,0.918676 /) -XCGA_LKT(93,5,1:6)=(/ 0.906090,0.896343,0.889253,0.858790,0.860190,0.835997 /) -XEXT_COEFF_550_LKT(93,5)=26.547000 !rg=16.4566 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,6,1:6)=(/ 22.872000,23.007000,23.089000,23.309000,23.600000,24.194000 /) -XPIZA_LKT(93,6,1:6)=(/ 0.646820,0.690346,0.726158,0.874834,0.885913,0.912543 /) -XCGA_LKT(93,6,1:6)=(/ 0.908587,0.898643,0.890927,0.859930,0.861870,0.841663 /) -XEXT_COEFF_550_LKT(93,6)=23.108000 !rg=16.4566 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,7,1:6)=(/ 19.715000,19.822000,19.899000,20.104000,20.395000,20.861000 /) -XPIZA_LKT(93,7,1:6)=(/ 0.636676,0.678774,0.715391,0.869092,0.884860,0.907382 /) -XCGA_LKT(93,7,1:6)=(/ 0.911513,0.901203,0.893030,0.861853,0.862533,0.845640 /) -XEXT_COEFF_550_LKT(93,7)=19.885000 !rg=16.4566 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,8,1:6)=(/ 16.856000,16.936000,17.001000,17.167000,17.333000,17.738000 /) -XPIZA_LKT(93,8,1:6)=(/ 0.626510,0.666545,0.703535,0.861951,0.881938,0.901902 /) -XCGA_LKT(93,8,1:6)=(/ 0.914547,0.903970,0.895473,0.863740,0.863177,0.848427 /) -XEXT_COEFF_550_LKT(93,8)=16.992000 !rg=16.4566 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,9,1:6)=(/ 14.299000,14.349000,14.429000,14.524000,14.695000,15.026000 /) -XPIZA_LKT(93,9,1:6)=(/ 0.616582,0.653946,0.691027,0.852901,0.878449,0.897348 /) -XCGA_LKT(93,9,1:6)=(/ 0.917847,0.907027,0.898367,0.864993,0.865133,0.851567 /) -XEXT_COEFF_550_LKT(93,9)=14.446000 !rg=16.4566 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,10,1:6)=(/ 12.084000,12.124000,12.180000,12.259000,12.382000,12.611000 /) -XPIZA_LKT(93,10,1:6)=(/ 0.607298,0.642030,0.677933,0.842461,0.873521,0.894109 /) -XCGA_LKT(93,10,1:6)=(/ 0.921217,0.910283,0.901290,0.866547,0.867607,0.855357 /) -XEXT_COEFF_550_LKT(93,10)=12.167000 !rg=16.4566 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,11,1:6)=(/ 10.149000,10.181000,10.221000,10.287000,10.372000,10.599000 /) -XPIZA_LKT(93,11,1:6)=(/ 0.598449,0.630405,0.664694,0.830945,0.866323,0.889579 /) -XCGA_LKT(93,11,1:6)=(/ 0.924707,0.913807,0.904367,0.869230,0.868760,0.857073 /) -XEXT_COEFF_550_LKT(93,11)=10.222000 !rg=16.4566 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,12,1:6)=(/ 8.493400,8.518200,8.551900,8.586600,8.673100,8.815000 /) -XPIZA_LKT(93,12,1:6)=(/ 0.590382,0.619201,0.651649,0.817154,0.857902,0.885692 /) -XCGA_LKT(93,12,1:6)=(/ 0.928160,0.917457,0.907953,0.871150,0.870723,0.861230 /) -XEXT_COEFF_550_LKT(93,12)=8.543800 !rg=16.4566 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,13,1:6)=(/ 7.088200,7.106300,7.129700,7.163800,7.219600,7.337900 /) -XPIZA_LKT(93,13,1:6)=(/ 0.583126,0.608808,0.638663,0.802487,0.848424,0.880612 /) -XCGA_LKT(93,13,1:6)=(/ 0.931497,0.921137,0.911493,0.874053,0.873257,0.863220 /) -XEXT_COEFF_550_LKT(93,13)=7.130300 !rg=16.4566 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,14,1:6)=(/ 5.913700,5.928200,5.944200,5.971400,6.012500,6.097400 /) -XPIZA_LKT(93,14,1:6)=(/ 0.576790,0.599582,0.626923,0.786412,0.836644,0.874081 /) -XCGA_LKT(93,14,1:6)=(/ 0.934683,0.924747,0.915063,0.876543,0.875063,0.865507 /) -XEXT_COEFF_550_LKT(93,14)=5.943700 !rg=16.4566 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,15,1:6)=(/ 4.928000,4.939000,4.952400,4.969300,5.006500,5.067200 /) -XPIZA_LKT(93,15,1:6)=(/ 0.571281,0.591187,0.615979,0.769276,0.823624,0.866546 /) -XCGA_LKT(93,15,1:6)=(/ 0.937647,0.928317,0.918913,0.879227,0.877280,0.867777 /) -XEXT_COEFF_550_LKT(93,15)=4.951100 !rg=16.4566 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,16,1:6)=(/ 0.000000,4.104200,4.113900,4.129800,4.148200,4.200900 /) -XPIZA_LKT(93,16,1:6)=(/ 0.900,0.583709,0.605697,0.751790,0.808617,0.857191 /) -XCGA_LKT(93,16,1:6)=(/ 0.900,0.931700,0.922653,0.882487,0.878917,0.869600 /) -XEXT_COEFF_550_LKT(93,16)=4.113300 !rg=16.4566 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,17,1:6)=(/ 0.000000,3.415700,3.422500,3.433500,3.452300,3.487300 /) -XPIZA_LKT(93,17,1:6)=(/ 0.900,0.577254,0.596625,0.733879,0.793250,0.846897 /) -XCGA_LKT(93,17,1:6)=(/ 0.900,0.934883,0.926277,0.885803,0.881793,0.872100 /) -XEXT_COEFF_550_LKT(93,17)=3.422900 !rg=16.4566 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,18,1:6)=(/ 0.000000,0.000000,2.848400,2.855500,2.871600,2.897300 /) -XPIZA_LKT(93,18,1:6)=(/ 0.900,0.900,0.588706,0.716084,0.776646,0.835169 /) -XCGA_LKT(93,18,1:6)=(/ 0.900,0.900,0.929773,0.889260,0.884640,0.874760 /) -XEXT_COEFF_550_LKT(93,18)=2.847800 !rg=16.4566 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,19,1:6)=(/ 0.000000,0.000000,2.366200,2.372500,2.381700,2.400900 /) -XPIZA_LKT(93,19,1:6)=(/ 0.900,0.900,0.581558,0.698580,0.759082,0.821498 /) -XCGA_LKT(93,19,1:6)=(/ 0.900,0.900,0.933073,0.893113,0.887473,0.876490 /) -XEXT_COEFF_550_LKT(93,19)=2.365800 !rg=16.4566 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(93,20,1:6)=(/ 0.000000,0.000000,1.966700,1.971200,1.978900,1.993200 /) -XPIZA_LKT(93,20,1:6)=(/ 0.900,0.900,0.575305,0.681725,0.741253,0.806839 /) -XCGA_LKT(93,20,1:6)=(/ 0.900,0.900,0.936200,0.897077,0.890600,0.879137 /) -XEXT_COEFF_550_LKT(93,20)=0.000000 !rg=16.4566 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,1,1:6)=(/ 34.106000,34.325000,34.362000,34.877000,35.458000,37.678000 /) -XPIZA_LKT(94,1,1:6)=(/ 0.675023,0.720843,0.754795,0.890264,0.871234,0.934095 /) -XCGA_LKT(94,1,1:6)=(/ 0.902353,0.892447,0.885840,0.858617,0.861243,0.835743 /) -XEXT_COEFF_550_LKT(94,1)=34.364000 !rg=17.8284 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,2,1:6)=(/ 32.585000,32.794000,32.908000,33.284000,33.875000,34.584000 /) -XPIZA_LKT(94,2,1:6)=(/ 0.671221,0.716895,0.750815,0.887905,0.875266,0.932553 /) -XCGA_LKT(94,2,1:6)=(/ 0.902867,0.893573,0.886547,0.857240,0.862053,0.834193 /) -XEXT_COEFF_550_LKT(94,2)=32.910000 !rg=17.8284 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,3,1:6)=(/ 30.182000,30.276000,30.586000,30.855000,31.186000,32.334000 /) -XPIZA_LKT(94,3,1:6)=(/ 0.665277,0.710199,0.746586,0.884864,0.880967,0.926068 /) -XCGA_LKT(94,3,1:6)=(/ 0.904023,0.894220,0.887613,0.857343,0.861897,0.833723 /) -XEXT_COEFF_550_LKT(94,3)=30.601000 !rg=17.8284 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,4,1:6)=(/ 27.271000,27.378000,27.649000,27.838000,28.201000,29.143000 /) -XPIZA_LKT(94,4,1:6)=(/ 0.657789,0.702418,0.739658,0.881610,0.883986,0.920186 /) -XCGA_LKT(94,4,1:6)=(/ 0.905720,0.895833,0.889033,0.858313,0.861973,0.837003 /) -XEXT_COEFF_550_LKT(94,4)=27.621000 !rg=17.8284 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,5,1:6)=(/ 24.155000,24.292000,24.396000,24.652000,25.082000,25.790000 /) -XPIZA_LKT(94,5,1:6)=(/ 0.649011,0.693622,0.730261,0.877337,0.883759,0.913527 /) -XCGA_LKT(94,5,1:6)=(/ 0.907923,0.897893,0.890377,0.859700,0.860773,0.839783 /) -XEXT_COEFF_550_LKT(94,5)=24.373000 !rg=17.8284 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,6,1:6)=(/ 21.103000,21.190000,21.347000,21.468000,21.878000,22.450000 /) -XPIZA_LKT(94,6,1:6)=(/ 0.639906,0.682677,0.720735,0.871903,0.884924,0.908316 /) -XCGA_LKT(94,6,1:6)=(/ 0.910447,0.900067,0.892490,0.860657,0.862170,0.844960 /) -XEXT_COEFF_550_LKT(94,6)=21.308000 !rg=17.8284 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,7,1:6)=(/ 18.190000,18.266000,18.386000,18.488000,18.764000,19.217000 /) -XPIZA_LKT(94,7,1:6)=(/ 0.630197,0.671501,0.709517,0.865592,0.883608,0.902428 /) -XCGA_LKT(94,7,1:6)=(/ 0.913363,0.902663,0.894727,0.862160,0.863943,0.847763 /) -XEXT_COEFF_550_LKT(94,7)=18.368000 !rg=17.8284 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,8,1:6)=(/ 15.553000,15.612000,15.697000,15.767000,15.995000,16.359000 /) -XPIZA_LKT(94,8,1:6)=(/ 0.620510,0.659517,0.697115,0.857605,0.880223,0.898703 /) -XCGA_LKT(94,8,1:6)=(/ 0.916417,0.905547,0.897117,0.863957,0.865537,0.851953 /) -XEXT_COEFF_550_LKT(94,8)=15.676000 !rg=17.8284 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,9,1:6)=(/ 13.194000,13.247000,13.290000,13.395000,13.530000,13.861000 /) -XPIZA_LKT(94,9,1:6)=(/ 0.611087,0.647667,0.683923,0.848216,0.875740,0.894484 /) -XCGA_LKT(94,9,1:6)=(/ 0.919730,0.908790,0.899820,0.865977,0.865880,0.853270 /) -XEXT_COEFF_550_LKT(94,9)=13.294000 !rg=17.8284 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,10,1:6)=(/ 11.148000,11.185000,11.226000,11.300000,11.419000,11.639000 /) -XPIZA_LKT(94,10,1:6)=(/ 0.602224,0.635768,0.670975,0.837496,0.870095,0.891551 /) -XCGA_LKT(94,10,1:6)=(/ 0.923063,0.912083,0.902817,0.867963,0.867723,0.856687 /) -XEXT_COEFF_550_LKT(94,10)=11.232000 !rg=17.8284 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,11,1:6)=(/ 9.362900,9.391900,9.426400,9.469800,9.558200,9.731500 /) -XPIZA_LKT(94,11,1:6)=(/ 0.593891,0.624499,0.658061,0.824681,0.862815,0.887469 /) -XCGA_LKT(94,11,1:6)=(/ 0.926487,0.915593,0.906123,0.870033,0.869540,0.858763 /) -XEXT_COEFF_550_LKT(94,11)=9.422600 !rg=17.8284 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,12,1:6)=(/ 7.836000,7.857300,7.885000,7.928800,7.990100,8.123700 /) -XPIZA_LKT(94,12,1:6)=(/ 0.586331,0.613751,0.645161,0.810744,0.853947,0.883156 /) -XCGA_LKT(94,12,1:6)=(/ 0.929890,0.919237,0.909600,0.872670,0.871837,0.862113 /) -XEXT_COEFF_550_LKT(94,12)=7.889000 !rg=17.8284 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,13,1:6)=(/ 6.540200,6.557600,6.575500,6.605500,6.653900,6.756900 /) -XPIZA_LKT(94,13,1:6)=(/ 0.579620,0.603992,0.632709,0.795174,0.843084,0.877255 /) -XCGA_LKT(94,13,1:6)=(/ 0.933123,0.922930,0.913247,0.875030,0.873640,0.864317 /) -XEXT_COEFF_550_LKT(94,13)=6.576200 !rg=17.8284 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,14,1:6)=(/ 5.456900,5.469900,5.485400,5.503400,5.551400,5.627400 /) -XPIZA_LKT(94,14,1:6)=(/ 0.573764,0.595174,0.621466,0.778703,0.831317,0.870693 /) -XCGA_LKT(94,14,1:6)=(/ 0.936200,0.926523,0.916943,0.877643,0.876113,0.866520 /) -XEXT_COEFF_550_LKT(94,14)=5.486500 !rg=17.8284 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,15,1:6)=(/ 0.000000,4.557100,4.568700,4.586000,4.610200,4.665100 /) -XPIZA_LKT(94,15,1:6)=(/ 0.900,0.587295,0.610851,0.761691,0.817184,0.862188 /) -XCGA_LKT(94,15,1:6)=(/ 0.900,0.929997,0.920697,0.880720,0.878017,0.868040 /) -XEXT_COEFF_550_LKT(94,15)=4.567600 !rg=17.8284 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,16,1:6)=(/ 0.000000,3.787100,3.795400,3.808100,3.827700,3.870800 /) -XPIZA_LKT(94,16,1:6)=(/ 0.900,0.580263,0.601182,0.743611,0.801910,0.852637 /) -XCGA_LKT(94,16,1:6)=(/ 0.900,0.933317,0.924353,0.883937,0.880420,0.870477 /) -XEXT_COEFF_550_LKT(94,16)=3.794700 !rg=17.8284 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,17,1:6)=(/ 0.000000,3.152000,3.158200,3.166500,3.185600,3.217200 /) -XPIZA_LKT(94,17,1:6)=(/ 0.900,0.574269,0.592599,0.725669,0.786007,0.841994 /) -XCGA_LKT(94,17,1:6)=(/ 0.900,0.936400,0.927950,0.887333,0.883220,0.873530 /) -XEXT_COEFF_550_LKT(94,17)=3.158600 !rg=17.8284 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,18,1:6)=(/ 0.000000,0.000000,2.628100,2.635000,2.646700,2.667000 /) -XPIZA_LKT(94,18,1:6)=(/ 0.900,0.900,0.585091,0.708165,0.768939,0.828997 /) -XCGA_LKT(94,18,1:6)=(/ 0.900,0.900,0.931363,0.890967,0.885933,0.875117 /) -XEXT_COEFF_550_LKT(94,18)=2.627500 !rg=17.8284 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,19,1:6)=(/ 0.000000,0.000000,2.183400,2.187900,2.197500,2.214400 /) -XPIZA_LKT(94,19,1:6)=(/ 0.900,0.900,0.578370,0.690717,0.751146,0.815071 /) -XCGA_LKT(94,19,1:6)=(/ 0.900,0.900,0.934610,0.894807,0.888833,0.877463 /) -XEXT_COEFF_550_LKT(94,19)=2.182900 !rg=17.8284 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(94,20,1:6)=(/ 0.000000,0.000000,0.000000,1.818400,1.826000,1.839800 /) -XPIZA_LKT(94,20,1:6)=(/ 0.900,0.900,0.900,0.674164,0.733394,0.800154 /) -XCGA_LKT(94,20,1:6)=(/ 0.900,0.900,0.900,0.898920,0.892233,0.880450 /) -XEXT_COEFF_550_LKT(94,20)=0.000000 !rg=17.8284 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,1,1:6)=(/ 31.303000,31.603000,31.656000,31.684000,32.339000,33.635000 /) -XPIZA_LKT(95,1,1:6)=(/ 0.666339,0.713413,0.747991,0.887778,0.862005,0.926199 /) -XCGA_LKT(95,1,1:6)=(/ 0.903757,0.894873,0.886507,0.857707,0.865080,0.829387 /) -XEXT_COEFF_550_LKT(95,1)=31.342000 !rg=19.3145 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,2,1:6)=(/ 30.016000,30.174000,30.497000,30.619000,31.335000,32.139000 /) -XPIZA_LKT(95,2,1:6)=(/ 0.662946,0.709479,0.746376,0.886564,0.873934,0.927228 /) -XCGA_LKT(95,2,1:6)=(/ 0.904463,0.894653,0.888113,0.858617,0.864033,0.835853 /) -XEXT_COEFF_550_LKT(95,2)=30.321000 !rg=19.3145 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,3,1:6)=(/ 27.817000,28.004000,28.066000,28.398000,28.906000,29.789000 /) -XPIZA_LKT(95,3,1:6)=(/ 0.657330,0.703430,0.739426,0.883521,0.878845,0.920839 /) -XCGA_LKT(95,3,1:6)=(/ 0.905730,0.896140,0.888270,0.858410,0.863213,0.835703 /) -XEXT_COEFF_550_LKT(95,3)=28.161000 !rg=19.3145 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,4,1:6)=(/ 25.142000,25.296000,25.373000,25.661000,26.113000,26.892000 /) -XPIZA_LKT(95,4,1:6)=(/ 0.650087,0.695585,0.732450,0.879639,0.882169,0.914394 /) -XCGA_LKT(95,4,1:6)=(/ 0.907533,0.897580,0.889597,0.859567,0.862717,0.838950 /) -XEXT_COEFF_550_LKT(95,4)=25.442000 !rg=19.3145 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,5,1:6)=(/ 22.290000,22.374000,22.544000,22.690000,22.975000,23.639000 /) -XPIZA_LKT(95,5,1:6)=(/ 0.642067,0.685780,0.724565,0.874823,0.884581,0.908888 /) -XCGA_LKT(95,5,1:6)=(/ 0.909750,0.899357,0.891723,0.860337,0.863117,0.843880 /) -XEXT_COEFF_550_LKT(95,5)=22.554000 !rg=19.3145 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,6,1:6)=(/ 19.460000,19.548000,19.640000,19.886000,20.074000,20.652000 /) -XPIZA_LKT(95,6,1:6)=(/ 0.632943,0.675552,0.713669,0.869326,0.883511,0.904264 /) -XCGA_LKT(95,6,1:6)=(/ 0.912327,0.901680,0.893480,0.862110,0.862893,0.846957 /) -XEXT_COEFF_550_LKT(95,6)=19.663000 !rg=19.3145 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,7,1:6)=(/ 16.774000,16.842000,16.923000,17.065000,17.269000,17.766000 /) -XPIZA_LKT(95,7,1:6)=(/ 0.623782,0.664192,0.702528,0.861980,0.881652,0.898831 /) -XCGA_LKT(95,7,1:6)=(/ 0.915183,0.904377,0.895720,0.863857,0.865060,0.849417 /) -XEXT_COEFF_550_LKT(95,7)=16.934000 !rg=19.3145 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,8,1:6)=(/ 14.347000,14.397000,14.465000,14.570000,14.749000,15.050000 /) -XPIZA_LKT(95,8,1:6)=(/ 0.614684,0.652512,0.690163,0.853531,0.878690,0.896435 /) -XCGA_LKT(95,8,1:6)=(/ 0.918287,0.907240,0.898430,0.865657,0.866250,0.853440 /) -XEXT_COEFF_550_LKT(95,8)=14.474000 !rg=19.3145 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,9,1:6)=(/ 12.173000,12.213000,12.274000,12.335000,12.474000,12.706000 /) -XPIZA_LKT(95,9,1:6)=(/ 0.605759,0.640815,0.677625,0.843126,0.873944,0.893004 /) -XCGA_LKT(95,9,1:6)=(/ 0.921610,0.910577,0.901437,0.866983,0.867877,0.856160 /) -XEXT_COEFF_550_LKT(95,9)=12.269000 !rg=19.3145 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,10,1:6)=(/ 10.286000,10.321000,10.360000,10.398000,10.496000,10.705000 /) -XPIZA_LKT(95,10,1:6)=(/ 0.597442,0.629662,0.664455,0.831395,0.867067,0.889325 /) -XCGA_LKT(95,10,1:6)=(/ 0.924897,0.913930,0.904467,0.868680,0.869013,0.858513 /) -XEXT_COEFF_550_LKT(95,10)=10.357000 !rg=19.3145 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,11,1:6)=(/ 8.639500,8.663200,8.695000,8.742400,8.836200,8.978200 /) -XPIZA_LKT(95,11,1:6)=(/ 0.589638,0.618748,0.651534,0.818511,0.859028,0.885187 /) -XCGA_LKT(95,11,1:6)=(/ 0.928277,0.917413,0.907790,0.871250,0.870793,0.860817 /) -XEXT_COEFF_550_LKT(95,11)=8.699700 !rg=19.3145 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,12,1:6)=(/ 7.230100,7.250200,7.270600,7.305000,7.362800,7.476700 /) -XPIZA_LKT(95,12,1:6)=(/ 0.582589,0.608665,0.638779,0.803801,0.849366,0.880484 /) -XCGA_LKT(95,12,1:6)=(/ 0.931567,0.921083,0.911327,0.873690,0.872920,0.863413 /) -XEXT_COEFF_550_LKT(95,12)=7.271600 !rg=19.3145 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,13,1:6)=(/ 6.035400,6.050100,6.068100,6.087600,6.143300,6.227200 /) -XPIZA_LKT(95,13,1:6)=(/ 0.576381,0.599291,0.627079,0.787639,0.838242,0.874476 /) -XCGA_LKT(95,13,1:6)=(/ 0.934727,0.924753,0.915037,0.876203,0.875103,0.865857 /) -XEXT_COEFF_550_LKT(95,13)=6.068300 !rg=19.3145 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,14,1:6)=(/ 5.035300,5.046800,5.060200,5.081000,5.105500,5.166600 /) -XPIZA_LKT(95,14,1:6)=(/ 0.570956,0.591008,0.616066,0.771061,0.824662,0.866786 /) -XCGA_LKT(95,14,1:6)=(/ 0.937653,0.928250,0.918760,0.879157,0.876487,0.866963 /) -XEXT_COEFF_550_LKT(95,14)=5.058100 !rg=19.3145 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,15,1:6)=(/ 0.000000,4.204400,4.215100,4.228400,4.251600,4.299500 /) -XPIZA_LKT(95,15,1:6)=(/ 0.900,0.583631,0.606008,0.753375,0.810550,0.858436 /) -XCGA_LKT(95,15,1:6)=(/ 0.900,0.931603,0.922477,0.882183,0.878973,0.869823 /) -XEXT_COEFF_550_LKT(95,15)=4.213300 !rg=19.3145 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,16,1:6)=(/ 0.000000,3.494500,3.501900,3.512800,3.533400,3.568900 /) -XPIZA_LKT(95,16,1:6)=(/ 0.900,0.577066,0.596773,0.735417,0.795061,0.848437 /) -XCGA_LKT(95,16,1:6)=(/ 0.900,0.934853,0.926120,0.885510,0.881727,0.872497 /) -XEXT_COEFF_550_LKT(95,16)=3.502200 !rg=19.3145 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,17,1:6)=(/ 0.000000,0.000000,2.914100,2.922300,2.934600,2.958800 /) -XPIZA_LKT(95,17,1:6)=(/ 0.900,0.900,0.588739,0.717577,0.778354,0.836321 /) -XCGA_LKT(95,17,1:6)=(/ 0.900,0.900,0.929630,0.889000,0.884317,0.874313 /) -XEXT_COEFF_550_LKT(95,17)=2.913500 !rg=19.3145 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,18,1:6)=(/ 0.000000,0.000000,2.425000,2.430600,2.440500,2.459600 /) -XPIZA_LKT(95,18,1:6)=(/ 0.900,0.900,0.581682,0.700061,0.760979,0.823260 /) -XCGA_LKT(95,18,1:6)=(/ 0.900,0.900,0.932923,0.892673,0.887207,0.876537 /) -XEXT_COEFF_550_LKT(95,18)=2.424200 !rg=19.3145 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,19,1:6)=(/ 0.000000,0.000000,2.014600,2.019000,2.027400,2.042000 /) -XPIZA_LKT(95,19,1:6)=(/ 0.900,0.900,0.575408,0.683069,0.743324,0.808939 /) -XCGA_LKT(95,19,1:6)=(/ 0.900,0.900,0.936043,0.896693,0.890533,0.879180 /) -XEXT_COEFF_550_LKT(95,19)=2.014600 !rg=19.3145 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(95,20,1:6)=(/ 0.000000,0.000000,0.000000,1.678300,1.684000,1.693900 /) -XPIZA_LKT(95,20,1:6)=(/ 0.900,0.900,0.900,0.667020,0.725198,0.792918 /) -XCGA_LKT(95,20,1:6)=(/ 0.900,0.900,0.900,0.900807,0.893517,0.881467 /) -XEXT_COEFF_550_LKT(95,20)=0.000000 !rg=19.3145 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,1,1:6)=(/ 28.781000,28.957000,29.243000,29.824000,30.094000,30.629000 /) -XPIZA_LKT(96,1,1:6)=(/ 0.657201,0.704540,0.742826,0.886452,0.865611,0.922810 /) -XCGA_LKT(96,1,1:6)=(/ 0.905170,0.895800,0.888413,0.858210,0.867473,0.832000 /) -XEXT_COEFF_550_LKT(96,1)=29.679000 !rg=20.9245 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,2,1:6)=(/ 27.646000,27.793000,27.904000,28.301000,28.686000,29.738000 /) -XPIZA_LKT(96,2,1:6)=(/ 0.654698,0.701696,0.738663,0.884713,0.874103,0.921754 /) -XCGA_LKT(96,2,1:6)=(/ 0.906087,0.895990,0.888333,0.858043,0.864420,0.838807 /) -XEXT_COEFF_550_LKT(96,2)=28.070000 !rg=20.9245 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,3,1:6)=(/ 25.639000,25.786000,26.040000,26.139000,26.445000,27.217000 /) -XPIZA_LKT(96,3,1:6)=(/ 0.649369,0.695640,0.734847,0.881583,0.880914,0.915586 /) -XCGA_LKT(96,3,1:6)=(/ 0.907427,0.897413,0.890333,0.859977,0.864340,0.840247 /) -XEXT_COEFF_550_LKT(96,3)=25.917000 !rg=20.9245 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,4,1:6)=(/ 23.188000,23.317000,23.499000,23.567000,23.893000,24.547000 /) -XPIZA_LKT(96,4,1:6)=(/ 0.642696,0.687819,0.727198,0.877433,0.883243,0.909260 /) -XCGA_LKT(96,4,1:6)=(/ 0.909267,0.899140,0.891490,0.860807,0.863450,0.843233 /) -XEXT_COEFF_550_LKT(96,4)=23.402000 !rg=20.9245 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,5,1:6)=(/ 20.554000,20.664000,20.725000,20.980000,21.277000,21.821000 /) -XPIZA_LKT(96,5,1:6)=(/ 0.634937,0.678621,0.716993,0.872216,0.883669,0.903260 /) -XCGA_LKT(96,5,1:6)=(/ 0.911610,0.901167,0.892720,0.861787,0.864337,0.846187 /) -XEXT_COEFF_550_LKT(96,5)=20.752000 !rg=20.9245 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,6,1:6)=(/ 17.948000,18.030000,18.130000,18.251000,18.529000,19.009000 /) -XPIZA_LKT(96,6,1:6)=(/ 0.626348,0.668049,0.707365,0.865739,0.882667,0.899866 /) -XCGA_LKT(96,6,1:6)=(/ 0.914167,0.903447,0.894990,0.862993,0.864060,0.848903 /) -XEXT_COEFF_550_LKT(96,6)=18.103000 !rg=20.9245 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,7,1:6)=(/ 15.473000,15.534000,15.605000,15.687000,15.883000,16.239000 /) -XPIZA_LKT(96,7,1:6)=(/ 0.617563,0.657066,0.695474,0.857678,0.880101,0.896101 /) -XCGA_LKT(96,7,1:6)=(/ 0.917100,0.906093,0.897357,0.864340,0.865280,0.851850 /) -XEXT_COEFF_550_LKT(96,7)=15.590000 !rg=20.9245 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,8,1:6)=(/ 13.234000,13.286000,13.335000,13.437000,13.568000,13.879000 /) -XPIZA_LKT(96,8,1:6)=(/ 0.608982,0.645804,0.683074,0.848755,0.876149,0.893684 /) -XCGA_LKT(96,8,1:6)=(/ 0.920203,0.909130,0.899890,0.866527,0.867293,0.855527 /) -XEXT_COEFF_550_LKT(96,8)=13.334000 !rg=20.9245 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,9,1:6)=(/ 11.229000,11.271000,11.308000,11.408000,11.497000,11.736000 /) -XPIZA_LKT(96,9,1:6)=(/ 0.600615,0.634588,0.670267,0.838084,0.870576,0.890138 /) -XCGA_LKT(96,9,1:6)=(/ 0.923470,0.912397,0.902970,0.868410,0.868017,0.857970 /) -XEXT_COEFF_550_LKT(96,9)=11.310000 !rg=20.9245 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,10,1:6)=(/ 9.490500,9.520700,9.558800,9.605000,9.712500,9.858200 /) -XPIZA_LKT(96,10,1:6)=(/ 0.592887,0.623748,0.657815,0.825422,0.863654,0.887170 /) -XCGA_LKT(96,10,1:6)=(/ 0.926720,0.915753,0.906213,0.870173,0.869757,0.860577 /) -XEXT_COEFF_550_LKT(96,10)=9.556800 !rg=20.9245 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,11,1:6)=(/ 7.972100,7.993900,8.018100,8.060500,8.135000,8.268000 /) -XPIZA_LKT(96,11,1:6)=(/ 0.585688,0.613345,0.645054,0.811753,0.854694,0.883011 /) -XCGA_LKT(96,11,1:6)=(/ 0.929993,0.919273,0.909490,0.872543,0.871353,0.862230 /) -XEXT_COEFF_550_LKT(96,11)=8.016400 !rg=20.9245 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,12,1:6)=(/ 6.671700,6.689100,6.709400,6.735700,6.800600,6.898300 /) -XPIZA_LKT(96,12,1:6)=(/ 0.579095,0.603669,0.632968,0.796449,0.844721,0.877486 /) -XCGA_LKT(96,12,1:6)=(/ 0.933217,0.922910,0.913150,0.874860,0.873863,0.864330 /) -XEXT_COEFF_550_LKT(96,12)=6.710600 !rg=20.9245 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,13,1:6)=(/ 5.568800,5.582200,5.597400,5.624400,5.644100,5.715200 /) -XPIZA_LKT(96,13,1:6)=(/ 0.573297,0.594909,0.621415,0.780399,0.832101,0.870647 /) -XCGA_LKT(96,13,1:6)=(/ 0.936273,0.926487,0.916880,0.877723,0.875447,0.865927 /) -XEXT_COEFF_550_LKT(96,13)=5.596900 !rg=20.9245 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,14,1:6)=(/ 0.000000,4.656100,4.668700,4.682400,4.710600,4.769600 /) -XPIZA_LKT(96,14,1:6)=(/ 0.900,0.587081,0.610961,0.762876,0.818835,0.863303 /) -XCGA_LKT(96,14,1:6)=(/ 0.900,0.929897,0.920567,0.880570,0.878293,0.868997 /) -XEXT_COEFF_550_LKT(96,14)=4.666200 !rg=20.9245 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,15,1:6)=(/ 0.000000,3.879400,3.888100,3.901700,3.922800,3.965600 /) -XPIZA_LKT(96,15,1:6)=(/ 0.900,0.580170,0.601331,0.745397,0.803817,0.854000 /) -XCGA_LKT(96,15,1:6)=(/ 0.900,0.933200,0.924183,0.883657,0.879877,0.870827 /) -XEXT_COEFF_550_LKT(96,15)=3.888100 !rg=20.9245 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,16,1:6)=(/ 0.000000,3.224700,3.231000,3.240100,3.256800,3.287400 /) -XPIZA_LKT(96,16,1:6)=(/ 0.900,0.574123,0.592622,0.727194,0.787580,0.843127 /) -XCGA_LKT(96,16,1:6)=(/ 0.900,0.936330,0.927813,0.887037,0.882733,0.872997 /) -XEXT_COEFF_550_LKT(96,16)=3.230400 !rg=20.9245 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,17,1:6)=(/ 0.000000,0.000000,2.689000,2.695200,2.708700,2.732800 /) -XPIZA_LKT(96,17,1:6)=(/ 0.900,0.900,0.585140,0.709413,0.770578,0.830792 /) -XCGA_LKT(96,17,1:6)=(/ 0.900,0.900,0.931230,0.890633,0.885510,0.875370 /) -XEXT_COEFF_550_LKT(96,17)=2.688100 !rg=20.9245 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,18,1:6)=(/ 0.000000,0.000000,2.237400,2.243100,2.251900,2.269800 /) -XPIZA_LKT(96,18,1:6)=(/ 0.900,0.900,0.578450,0.692342,0.753124,0.816926 /) -XCGA_LKT(96,18,1:6)=(/ 0.900,0.900,0.934440,0.894500,0.888463,0.877417 /) -XEXT_COEFF_550_LKT(96,18)=2.237000 !rg=20.9245 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,19,1:6)=(/ 0.000000,0.000000,0.000000,1.862900,1.869500,1.881600 /) -XPIZA_LKT(96,19,1:6)=(/ 0.900,0.900,0.900,0.675591,0.735051,0.801841 /) -XCGA_LKT(96,19,1:6)=(/ 0.900,0.900,0.900,0.898507,0.891747,0.879957 /) -XEXT_COEFF_550_LKT(96,19)=0.000000 !rg=20.9245 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(96,20,1:6)=(/ 0.000000,0.000000,0.000000,1.548400,1.553600,1.563500 /) -XPIZA_LKT(96,20,1:6)=(/ 0.900,0.900,0.900,0.659858,0.717186,0.785783 /) -XCGA_LKT(96,20,1:6)=(/ 0.900,0.900,0.900,0.902737,0.895133,0.882873 /) -XEXT_COEFF_550_LKT(96,20)=0.000000 !rg=20.9245 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,1,1:6)=(/ 26.588000,26.632000,26.860000,27.202000,27.567000,28.750000 /) -XPIZA_LKT(97,1,1:6)=(/ 0.650027,0.695955,0.735528,0.883836,0.878720,0.920984 /) -XCGA_LKT(97,1,1:6)=(/ 0.906587,0.896570,0.889700,0.860387,0.865810,0.842993 /) -XEXT_COEFF_550_LKT(97,1)=26.812000 !rg=22.6687 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,2,1:6)=(/ 25.507000,25.638000,25.894000,26.130000,26.525000,27.275000 /) -XPIZA_LKT(97,2,1:6)=(/ 0.646896,0.693682,0.734075,0.881628,0.880093,0.915774 /) -XCGA_LKT(97,2,1:6)=(/ 0.907873,0.897733,0.890330,0.859663,0.864847,0.838803 /) -XEXT_COEFF_550_LKT(97,2)=25.694000 !rg=22.6687 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,3,1:6)=(/ 23.662000,23.785000,23.927000,24.123000,24.438000,25.067000 /) -XPIZA_LKT(97,3,1:6)=(/ 0.642060,0.688049,0.727364,0.878851,0.882350,0.909977 /) -XCGA_LKT(97,3,1:6)=(/ 0.909297,0.898943,0.891187,0.860260,0.864523,0.844173 /) -XEXT_COEFF_550_LKT(97,3)=23.988000 !rg=22.6687 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,4,1:6)=(/ 21.396000,21.478000,21.628000,21.784000,22.071000,22.635000 /) -XPIZA_LKT(97,4,1:6)=(/ 0.635531,0.679714,0.719926,0.874452,0.883504,0.903369 /) -XCGA_LKT(97,4,1:6)=(/ 0.911270,0.900723,0.892707,0.861107,0.863910,0.846623 /) -XEXT_COEFF_550_LKT(97,4)=21.668000 !rg=22.6687 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,5,1:6)=(/ 18.955000,19.039000,19.181000,19.254000,19.481000,19.924000 /) -XPIZA_LKT(97,5,1:6)=(/ 0.627997,0.670921,0.711037,0.868599,0.883598,0.899567 /) -XCGA_LKT(97,5,1:6)=(/ 0.913463,0.902703,0.894610,0.862523,0.864683,0.850050 /) -XEXT_COEFF_550_LKT(97,5)=19.132000 !rg=22.6687 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,6,1:6)=(/ 16.563000,16.630000,16.713000,16.813000,17.040000,17.431000 /) -XPIZA_LKT(97,6,1:6)=(/ 0.620133,0.660728,0.700044,0.861561,0.881678,0.896312 /) -XCGA_LKT(97,6,1:6)=(/ 0.916100,0.905193,0.896510,0.863867,0.865110,0.852667 /) -XEXT_COEFF_550_LKT(97,6)=16.723000 !rg=22.6687 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,7,1:6)=(/ 14.277000,14.327000,14.391000,14.499000,14.678000,14.981000 /) -XPIZA_LKT(97,7,1:6)=(/ 0.611770,0.650025,0.688433,0.853408,0.878236,0.893066 /) -XCGA_LKT(97,7,1:6)=(/ 0.919047,0.907823,0.898833,0.865437,0.866430,0.854627 /) -XEXT_COEFF_550_LKT(97,7)=14.412000 !rg=22.6687 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,8,1:6)=(/ 12.212000,12.253000,12.309000,12.357000,12.523000,12.765000 /) -XPIZA_LKT(97,8,1:6)=(/ 0.603721,0.639132,0.676316,0.843311,0.873989,0.890947 /) -XCGA_LKT(97,8,1:6)=(/ 0.922097,0.910917,0.901670,0.866977,0.868167,0.857283 /) -XEXT_COEFF_550_LKT(97,8)=12.312000 !rg=22.6687 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,9,1:6)=(/ 10.360000,10.393000,10.442000,10.481000,10.587000,10.764000 /) -XPIZA_LKT(97,9,1:6)=(/ 0.595803,0.628188,0.663825,0.831911,0.867768,0.888465 /) -XCGA_LKT(97,9,1:6)=(/ 0.925317,0.914223,0.904747,0.869047,0.869303,0.859440 /) -XEXT_COEFF_550_LKT(97,9)=10.430000 !rg=22.6687 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,10,1:6)=(/ 8.756200,8.783900,8.814000,8.864500,8.931000,9.082600 /) -XPIZA_LKT(97,10,1:6)=(/ 0.588589,0.618004,0.651226,0.819419,0.859661,0.884930 /) -XCGA_LKT(97,10,1:6)=(/ 0.928507,0.917623,0.907863,0.871420,0.870493,0.861250 /) -XEXT_COEFF_550_LKT(97,10)=8.806900 !rg=22.6687 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,11,1:6)=(/ 7.355400,7.375300,7.399200,7.428300,7.503600,7.616500 /) -XPIZA_LKT(97,11,1:6)=(/ 0.581866,0.608020,0.638937,0.804731,0.850669,0.880737 /) -XCGA_LKT(97,11,1:6)=(/ 0.931720,0.921163,0.911293,0.873560,0.873217,0.863873 /) -XEXT_COEFF_550_LKT(97,11)=7.398300 !rg=22.6687 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,12,1:6)=(/ 6.156200,6.171800,6.188800,6.217200,6.250600,6.340700 /) -XPIZA_LKT(97,12,1:6)=(/ 0.575814,0.598943,0.627048,0.789280,0.838978,0.874495 /) -XCGA_LKT(97,12,1:6)=(/ 0.934803,0.924720,0.914927,0.876280,0.874437,0.865123 /) -XEXT_COEFF_550_LKT(97,12)=6.186600 !rg=22.6687 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,13,1:6)=(/ 5.138800,5.149700,5.164400,5.184200,5.217700,5.282700 /) -XPIZA_LKT(97,13,1:6)=(/ 0.570486,0.590651,0.616090,0.772336,0.826598,0.867982 /) -XCGA_LKT(97,13,1:6)=(/ 0.937747,0.928200,0.918683,0.879060,0.877203,0.868427 /) -XEXT_COEFF_550_LKT(97,13)=5.161500 !rg=22.6687 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,14,1:6)=(/ 0.000000,4.296000,4.306400,4.323100,4.347100,4.398100 /) -XPIZA_LKT(97,14,1:6)=(/ 0.900,0.583345,0.606008,0.755106,0.812336,0.859505 /) -XCGA_LKT(97,14,1:6)=(/ 0.900,0.931560,0.922290,0.882107,0.879190,0.869893 /) -XEXT_COEFF_550_LKT(97,14)=4.305800 !rg=22.6687 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,15,1:6)=(/ 0.000000,3.580000,3.587200,3.598000,3.614200,3.648200 /) -XPIZA_LKT(97,15,1:6)=(/ 0.900,0.576975,0.596876,0.737067,0.796626,0.849258 /) -XCGA_LKT(97,15,1:6)=(/ 0.900,0.934770,0.925930,0.885177,0.881403,0.871627 /) -XEXT_COEFF_550_LKT(97,15)=3.587000 !rg=22.6687 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,16,1:6)=(/ 0.000000,0.000000,2.981500,2.989200,3.006400,3.033300 /) -XPIZA_LKT(97,16,1:6)=(/ 0.900,0.900,0.588778,0.719001,0.780270,0.837948 /) -XCGA_LKT(97,16,1:6)=(/ 0.900,0.900,0.929483,0.888717,0.884233,0.874307 /) -XEXT_COEFF_550_LKT(97,16)=2.981000 !rg=22.6687 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,17,1:6)=(/ 0.000000,0.000000,2.480800,2.488000,2.497300,2.517500 /) -XPIZA_LKT(97,17,1:6)=(/ 0.900,0.900,0.581614,0.701568,0.762665,0.824847 /) -XCGA_LKT(97,17,1:6)=(/ 0.900,0.900,0.932807,0.892437,0.886807,0.876133 /) -XEXT_COEFF_550_LKT(97,17)=2.480500 !rg=22.6687 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,18,1:6)=(/ 0.000000,0.000000,2.064600,2.068800,2.076800,2.090000 /) -XPIZA_LKT(97,18,1:6)=(/ 0.900,0.900,0.575470,0.684479,0.745103,0.810367 /) -XCGA_LKT(97,18,1:6)=(/ 0.900,0.900,0.935897,0.896257,0.889963,0.878673 /) -XEXT_COEFF_550_LKT(97,18)=2.064300 !rg=22.6687 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,19,1:6)=(/ 0.000000,0.000000,0.000000,1.718900,1.725500,1.736800 /) -XPIZA_LKT(97,19,1:6)=(/ 0.900,0.900,0.900,0.668227,0.727157,0.795033 /) -XCGA_LKT(97,19,1:6)=(/ 0.900,0.900,0.900,0.900440,0.893397,0.881387 /) -XEXT_COEFF_550_LKT(97,19)=0.000000 !rg=22.6687 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(97,20,1:6)=(/ 0.000000,0.000000,0.000000,1.428900,1.433000,1.441200 /) -XPIZA_LKT(97,20,1:6)=(/ 0.900,0.900,0.900,0.653004,0.709204,0.778351 /) -XCGA_LKT(97,20,1:6)=(/ 0.900,0.900,0.900,0.904690,0.896753,0.883963 /) -XEXT_COEFF_550_LKT(97,20)=0.000000 !rg=22.6687 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,1,1:6)=(/ 24.558000,24.732000,24.876000,24.877000,25.296000,26.332000 /) -XPIZA_LKT(98,1,1:6)=(/ 0.642210,0.689813,0.730140,0.880403,0.886410,0.912463 /) -XCGA_LKT(98,1,1:6)=(/ 0.908480,0.898147,0.891077,0.858863,0.863940,0.844343 /) -XEXT_COEFF_550_LKT(98,1)=24.732000 !rg=24.5583 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,2,1:6)=(/ 23.552000,23.686000,23.850000,23.979000,24.301000,24.803000 /) -XPIZA_LKT(98,2,1:6)=(/ 0.639673,0.686505,0.727052,0.878564,0.883944,0.910771 /) -XCGA_LKT(98,2,1:6)=(/ 0.909720,0.899267,0.891763,0.860230,0.862403,0.846020 /) -XEXT_COEFF_550_LKT(98,2)=23.880000 !rg=24.5583 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,3,1:6)=(/ 21.843000,21.938000,22.018000,22.249000,22.479000,23.208000 /) -XPIZA_LKT(98,3,1:6)=(/ 0.635003,0.680368,0.720287,0.875655,0.883483,0.903506 /) -XCGA_LKT(98,3,1:6)=(/ 0.911320,0.900657,0.892333,0.861270,0.862977,0.847943 /) -XEXT_COEFF_550_LKT(98,3)=21.998000 !rg=24.5583 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,4,1:6)=(/ 19.738000,19.831000,19.904000,20.102000,20.387000,20.899000 /) -XPIZA_LKT(98,4,1:6)=(/ 0.628596,0.672743,0.712365,0.870996,0.883121,0.898323 /) -XCGA_LKT(98,4,1:6)=(/ 0.913210,0.902343,0.893947,0.862180,0.863533,0.850223 /) -XEXT_COEFF_550_LKT(98,4)=19.889000 !rg=24.5583 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,5,1:6)=(/ 17.489000,17.554000,17.650000,17.788000,17.986000,18.387000 /) -XPIZA_LKT(98,5,1:6)=(/ 0.621440,0.663226,0.703442,0.864884,0.882689,0.895324 /) -XCGA_LKT(98,5,1:6)=(/ 0.915457,0.904400,0.895777,0.863567,0.865020,0.852383 /) -XEXT_COEFF_550_LKT(98,5)=17.677000 !rg=24.5583 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,6,1:6)=(/ 15.282000,15.342000,15.405000,15.523000,15.658000,15.959000 /) -XPIZA_LKT(98,6,1:6)=(/ 0.614145,0.653641,0.692709,0.857619,0.880314,0.893308 /) -XCGA_LKT(98,6,1:6)=(/ 0.918057,0.906900,0.897937,0.864503,0.866527,0.855663 /) -XEXT_COEFF_550_LKT(98,6)=15.394000 !rg=24.5583 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,7,1:6)=(/ 13.174000,13.220000,13.268000,13.367000,13.512000,13.792000 /) -XPIZA_LKT(98,7,1:6)=(/ 0.606324,0.643183,0.681134,0.848486,0.876042,0.891416 /) -XCGA_LKT(98,7,1:6)=(/ 0.920950,0.909687,0.900380,0.866653,0.866450,0.857030 /) -XEXT_COEFF_550_LKT(98,7)=13.261000 !rg=24.5583 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,8,1:6)=(/ 11.266000,11.305000,11.344000,11.437000,11.494000,11.713000 /) -XPIZA_LKT(98,8,1:6)=(/ 0.598612,0.632599,0.669110,0.838247,0.870561,0.888849 /) -XCGA_LKT(98,8,1:6)=(/ 0.923993,0.912800,0.903183,0.868613,0.867863,0.858523 /) -XEXT_COEFF_550_LKT(98,8)=11.343000 !rg=24.5583 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,9,1:6)=(/ 9.559300,9.586700,9.621700,9.679300,9.762100,9.924900 /) -XPIZA_LKT(98,9,1:6)=(/ 0.591346,0.622176,0.656664,0.825902,0.864142,0.886265 /) -XCGA_LKT(98,9,1:6)=(/ 0.927103,0.916020,0.906370,0.870377,0.870183,0.860633 /) -XEXT_COEFF_550_LKT(98,9)=9.622300 !rg=24.5583 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,10,1:6)=(/ 8.079300,8.101100,8.132700,8.159400,8.237200,8.358200 /) -XPIZA_LKT(98,10,1:6)=(/ 0.584576,0.612360,0.644794,0.812422,0.855630,0.882927 /) -XCGA_LKT(98,10,1:6)=(/ 0.930257,0.919450,0.909680,0.872077,0.872110,0.863617 /) -XEXT_COEFF_550_LKT(98,10)=8.124200 !rg=24.5583 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,11,1:6)=(/ 6.786800,6.804100,6.824700,6.862300,6.895900,7.006500 /) -XPIZA_LKT(98,11,1:6)=(/ 0.578334,0.603012,0.632666,0.797871,0.845431,0.877670 /) -XCGA_LKT(98,11,1:6)=(/ 0.933373,0.922987,0.913113,0.875033,0.874087,0.864887 /) -XEXT_COEFF_550_LKT(98,11)=6.823700 !rg=24.5583 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,12,1:6)=(/ 5.680900,5.693700,5.710600,5.727900,5.769600,5.848100 /) -XPIZA_LKT(98,12,1:6)=(/ 0.572792,0.594447,0.621403,0.781500,0.833698,0.871430 /) -XCGA_LKT(98,12,1:6)=(/ 0.936350,0.926473,0.916777,0.877453,0.875977,0.866963 /) -XEXT_COEFF_550_LKT(98,12)=5.706600 !rg=24.5583 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,13,1:6)=(/ 0.000000,4.751500,4.763100,4.780600,4.807200,4.866000 /) -XPIZA_LKT(98,13,1:6)=(/ 0.900,0.586671,0.610768,0.764318,0.820330,0.864402 /) -XCGA_LKT(98,13,1:6)=(/ 0.900,0.929913,0.920437,0.880420,0.878030,0.869240 /) -XEXT_COEFF_550_LKT(98,13)=4.762800 !rg=24.5583 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,14,1:6)=(/ 0.000000,3.964200,3.972800,3.986900,4.007600,4.050400 /) -XPIZA_LKT(98,14,1:6)=(/ 0.900,0.579892,0.601227,0.746754,0.805407,0.855074 /) -XCGA_LKT(98,14,1:6)=(/ 0.900,0.933190,0.924083,0.883457,0.880067,0.871097 /) -XEXT_COEFF_550_LKT(98,14)=3.973000 !rg=24.5583 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,15,1:6)=(/ 0.000000,3.303300,3.310300,3.319300,3.339200,3.371900 /) -XPIZA_LKT(98,15,1:6)=(/ 0.900,0.573956,0.592746,0.728811,0.789585,0.844694 /) -XCGA_LKT(98,15,1:6)=(/ 0.900,0.936267,0.927670,0.886830,0.882783,0.873440 /) -XEXT_COEFF_550_LKT(98,15)=3.309600 !rg=24.5583 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,16,1:6)=(/ 0.000000,0.000000,2.750800,2.758400,2.768600,2.791100 /) -XPIZA_LKT(98,16,1:6)=(/ 0.900,0.900,0.585039,0.710930,0.772226,0.832019 /) -XCGA_LKT(98,16,1:6)=(/ 0.900,0.900,0.931117,0.890433,0.885263,0.874877 /) -XEXT_COEFF_550_LKT(98,16)=2.750300 !rg=24.5583 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,17,1:6)=(/ 0.000000,0.000000,2.289300,2.294400,2.304300,2.321500 /) -XPIZA_LKT(98,17,1:6)=(/ 0.900,0.900,0.578430,0.693490,0.754860,0.818636 /) -XCGA_LKT(98,17,1:6)=(/ 0.900,0.900,0.934337,0.894183,0.888247,0.877313 /) -XEXT_COEFF_550_LKT(98,17)=2.289000 !rg=24.5583 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,18,1:6)=(/ 0.000000,0.000000,0.000000,1.909000,1.917300,1.930800 /) -XPIZA_LKT(98,18,1:6)=(/ 0.900,0.900,0.900,0.676848,0.737132,0.803860 /) -XCGA_LKT(98,18,1:6)=(/ 0.900,0.900,0.900,0.898183,0.891590,0.880043 /) -XEXT_COEFF_550_LKT(98,18)=0.000000 !rg=24.5583 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,19,1:6)=(/ 0.000000,0.000000,0.000000,1.586200,1.590500,1.600300 /) -XPIZA_LKT(98,19,1:6)=(/ 0.900,0.900,0.900,0.661093,0.718803,0.787535 /) -XCGA_LKT(98,19,1:6)=(/ 0.900,0.900,0.900,0.902370,0.894723,0.882267 /) -XEXT_COEFF_550_LKT(98,19)=0.000000 !rg=24.5583 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(98,20,1:6)=(/ 0.000000,0.000000,0.000000,1.318300,1.322300,1.329900 /) -XPIZA_LKT(98,20,1:6)=(/ 0.900,0.900,0.900,0.646262,0.701320,0.770825 /) -XCGA_LKT(98,20,1:6)=(/ 0.900,0.900,0.900,0.906643,0.898437,0.885433 /) -XEXT_COEFF_550_LKT(98,20)=0.000000 !rg=24.5583 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,1,1:6)=(/ 22.735000,22.875000,22.971000,23.140000,23.567000,24.274000 /) -XPIZA_LKT(99,1,1:6)=(/ 0.635815,0.681996,0.723315,0.877620,0.889178,0.906424 /) -XCGA_LKT(99,1,1:6)=(/ 0.910807,0.900413,0.891407,0.860570,0.866137,0.846480 /) -XEXT_COEFF_550_LKT(99,1)=22.961000 !rg=26.6054 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,2,1:6)=(/ 21.753000,21.863000,21.925000,22.110000,22.417000,22.765000 /) -XPIZA_LKT(99,2,1:6)=(/ 0.632818,0.678912,0.719304,0.875994,0.887731,0.903601 /) -XCGA_LKT(99,2,1:6)=(/ 0.911760,0.901160,0.892477,0.860800,0.865370,0.850573 /) -XEXT_COEFF_550_LKT(99,2)=21.910000 !rg=26.6054 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,3,1:6)=(/ 20.147000,20.243000,20.347000,20.457000,20.717000,21.213000 /) -XPIZA_LKT(99,3,1:6)=(/ 0.627974,0.672550,0.713814,0.871880,0.885796,0.897915 /) -XCGA_LKT(99,3,1:6)=(/ 0.913190,0.902520,0.894057,0.861903,0.865013,0.851070 /) -XEXT_COEFF_550_LKT(99,3)=20.340000 !rg=26.6054 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,4,1:6)=(/ 18.209000,18.285000,18.390000,18.484000,18.704000,19.128000 /) -XPIZA_LKT(99,4,1:6)=(/ 0.621975,0.664876,0.706049,0.867083,0.884516,0.894222 /) -XCGA_LKT(99,4,1:6)=(/ 0.915107,0.904087,0.895467,0.863017,0.865420,0.853417 /) -XEXT_COEFF_550_LKT(99,4)=18.390000 !rg=26.6054 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,5,1:6)=(/ 16.141000,16.197000,16.261000,16.395000,16.550000,16.991000 /) -XPIZA_LKT(99,5,1:6)=(/ 0.615363,0.656049,0.695949,0.860514,0.881747,0.891120 /) -XCGA_LKT(99,5,1:6)=(/ 0.917457,0.906177,0.897180,0.864263,0.865190,0.854697 /) -XEXT_COEFF_550_LKT(99,5)=16.266000 !rg=26.6054 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,6,1:6)=(/ 14.099000,14.147000,14.220000,14.268000,14.509000,14.816000 /) -XPIZA_LKT(99,6,1:6)=(/ 0.608292,0.646552,0.685662,0.852454,0.878672,0.891009 /) -XCGA_LKT(99,6,1:6)=(/ 0.919997,0.908670,0.899623,0.865560,0.866440,0.856830 /) -XEXT_COEFF_550_LKT(99,6)=14.197000 !rg=26.6054 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,7,1:6)=(/ 12.154000,12.195000,12.248000,12.296000,12.459000,12.682000 /) -XPIZA_LKT(99,7,1:6)=(/ 0.600998,0.636388,0.674233,0.842908,0.874546,0.889325 /) -XCGA_LKT(99,7,1:6)=(/ 0.922857,0.911580,0.902093,0.867190,0.868820,0.858803 /) -XEXT_COEFF_550_LKT(99,7)=12.244000 !rg=26.6054 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,8,1:6)=(/ 10.395000,10.426000,10.470000,10.520000,10.625000,10.811000 /) -XPIZA_LKT(99,8,1:6)=(/ 0.593866,0.626170,0.662196,0.831986,0.868213,0.886909 /) -XCGA_LKT(99,8,1:6)=(/ 0.925857,0.914647,0.905033,0.869433,0.870160,0.861360 /) -XEXT_COEFF_550_LKT(99,8)=10.462000 !rg=26.6054 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,9,1:6)=(/ 8.820700,8.844900,8.873500,8.917100,8.981100,9.144400 /) -XPIZA_LKT(99,9,1:6)=(/ 0.587053,0.616340,0.649991,0.819436,0.860150,0.883721 /) -XCGA_LKT(99,9,1:6)=(/ 0.928970,0.917957,0.908033,0.871273,0.870433,0.861587 /) -XEXT_COEFF_550_LKT(99,9)=8.873700 !rg=26.6054 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,10,1:6)=(/ 7.454900,7.473300,7.496700,7.534100,7.594700,7.706900 /) -XPIZA_LKT(99,10,1:6)=(/ 0.580825,0.606926,0.638203,0.805637,0.851286,0.880503 /) -XCGA_LKT(99,10,1:6)=(/ 0.931977,0.921327,0.911400,0.873647,0.873027,0.864370 /) -XEXT_COEFF_550_LKT(99,10)=7.499700 !rg=26.6054 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,11,1:6)=(/ 6.262200,6.277500,6.295700,6.313100,6.356300,6.445500 /) -XPIZA_LKT(99,11,1:6)=(/ 0.575043,0.598224,0.626655,0.789984,0.840177,0.875007 /) -XCGA_LKT(99,11,1:6)=(/ 0.934993,0.924803,0.914977,0.876077,0.874643,0.865660 /) -XEXT_COEFF_550_LKT(99,11)=6.293800 !rg=26.6054 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,12,1:6)=(/ 5.242000,5.252800,5.267000,5.289300,5.322100,5.385300 /) -XPIZA_LKT(99,12,1:6)=(/ 0.569974,0.590168,0.615887,0.773668,0.827859,0.868537 /) -XCGA_LKT(99,12,1:6)=(/ 0.937830,0.928210,0.918547,0.878993,0.876900,0.867987 /) -XEXT_COEFF_550_LKT(99,12)=5.266900 !rg=26.6054 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,13,1:6)=(/ 0.000000,4.384500,4.394600,4.409500,4.434000,4.483500 /) -XPIZA_LKT(99,13,1:6)=(/ 0.900,0.582982,0.605781,0.756146,0.813656,0.860055 /) -XCGA_LKT(99,13,1:6)=(/ 0.900,0.931583,0.922243,0.881777,0.878940,0.869653 /) -XEXT_COEFF_550_LKT(99,13)=4.394700 !rg=26.6054 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,14,1:6)=(/ 0.000000,3.658000,3.665900,3.675600,3.699400,3.739000 /) -XPIZA_LKT(99,14,1:6)=(/ 0.900,0.576671,0.596801,0.738364,0.798611,0.850886 /) -XCGA_LKT(99,14,1:6)=(/ 0.900,0.934753,0.925853,0.884953,0.881490,0.872163 /) -XEXT_COEFF_550_LKT(99,14)=3.665600 !rg=26.6054 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,15,1:6)=(/ 0.000000,3.048200,3.054100,3.063100,3.076000,3.102300 /) -XPIZA_LKT(99,15,1:6)=(/ 0.900,0.571179,0.588727,0.720684,0.781904,0.839367 /) -XCGA_LKT(99,15,1:6)=(/ 0.900,0.937700,0.929370,0.888443,0.883767,0.874083 /) -XEXT_COEFF_550_LKT(99,15)=3.053300 !rg=26.6054 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,16,1:6)=(/ 0.000000,0.000000,2.538200,2.543900,2.555200,2.575500 /) -XPIZA_LKT(99,16,1:6)=(/ 0.900,0.900,0.581568,0.702691,0.764530,0.826387 /) -XCGA_LKT(99,16,1:6)=(/ 0.900,0.900,0.932707,0.892093,0.886723,0.876287 /) -XEXT_COEFF_550_LKT(99,16)=2.537700 !rg=26.6054 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,17,1:6)=(/ 0.000000,0.000000,2.112300,2.116900,2.126400,2.142600 /) -XPIZA_LKT(99,17,1:6)=(/ 0.900,0.900,0.575364,0.685629,0.746921,0.812285 /) -XCGA_LKT(99,17,1:6)=(/ 0.900,0.900,0.935833,0.896007,0.889900,0.878773 /) -XEXT_COEFF_550_LKT(99,17)=2.112200 !rg=26.6054 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,18,1:6)=(/ 0.000000,0.000000,0.000000,1.761600,1.767300,1.778800 /) -XPIZA_LKT(99,18,1:6)=(/ 0.900,0.900,0.900,0.669452,0.728816,0.796838 /) -XCGA_LKT(99,18,1:6)=(/ 0.900,0.900,0.900,0.900083,0.892987,0.881007 /) -XEXT_COEFF_550_LKT(99,18)=0.000000 !rg=26.6054 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,19,1:6)=(/ 0.000000,0.000000,0.000000,1.463500,1.468000,1.476900 /) -XPIZA_LKT(99,19,1:6)=(/ 0.900,0.900,0.900,0.654006,0.710905,0.780193 /) -XCGA_LKT(99,19,1:6)=(/ 0.900,0.900,0.900,0.904310,0.896457,0.883687 /) -XEXT_COEFF_550_LKT(99,19)=0.000000 !rg=26.6054 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(99,20,1:6)=(/ 0.000000,0.000000,0.000000,0.000000,1.220100,1.226900 /) -XPIZA_LKT(99,20,1:6)=(/ 0.900,0.900,0.900,0.900,0.693473,0.763204 /) -XCGA_LKT(99,20,1:6)=(/ 0.900,0.900,0.900,0.900,0.900167,0.886890 /) -XEXT_COEFF_550_LKT(99,20)=0.000000 !rg=26.6054 sigma=2.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,1,1:6)=(/ 20.982000,21.090000,21.183000,21.503000,21.559000,22.000000 /) -XPIZA_LKT(100,1,1:6)=(/ 0.628567,0.674456,0.715980,0.875687,0.890660,0.898705 /) -XCGA_LKT(100,1,1:6)=(/ 0.913093,0.902423,0.893757,0.864203,0.861800,0.848947 /) -XEXT_COEFF_550_LKT(100,1)=21.258000 !rg=28.8231 sigma=1.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,2,1:6)=(/ 20.075000,20.151000,20.254000,20.353000,20.653000,21.275000 /) -XPIZA_LKT(100,2,1:6)=(/ 0.625903,0.670913,0.712071,0.871715,0.888637,0.895532 /) -XCGA_LKT(100,2,1:6)=(/ 0.913840,0.902910,0.894330,0.862043,0.862753,0.852503 /) -XEXT_COEFF_550_LKT(100,2)=20.224000 !rg=28.8231 sigma=1.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,3,1:6)=(/ 18.577000,18.660000,18.731000,18.953000,19.163000,19.591000 /) -XPIZA_LKT(100,3,1:6)=(/ 0.620957,0.664710,0.705692,0.868986,0.886689,0.890430 /) -XCGA_LKT(100,3,1:6)=(/ 0.915167,0.904067,0.895297,0.863143,0.865127,0.854350 /) -XEXT_COEFF_550_LKT(100,3)=18.750000 !rg=28.8231 sigma=1.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,4,1:6)=(/ 16.797000,16.868000,16.925000,17.132000,17.295000,17.680000 /) -XPIZA_LKT(100,4,1:6)=(/ 0.615520,0.657266,0.697855,0.863263,0.884524,0.888880 /) -XCGA_LKT(100,4,1:6)=(/ 0.917080,0.905847,0.896800,0.864633,0.866537,0.856007 /) -XEXT_COEFF_550_LKT(100,4)=16.931000 !rg=28.8231 sigma=1.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,5,1:6)=(/ 14.886000,14.947000,15.011000,15.088000,15.264000,15.546000 /) -XPIZA_LKT(100,5,1:6)=(/ 0.609268,0.648801,0.688935,0.855729,0.881061,0.889654 /) -XCGA_LKT(100,5,1:6)=(/ 0.919370,0.908093,0.898893,0.865333,0.867023,0.857547 /) -XEXT_COEFF_550_LKT(100,5)=15.005000 !rg=28.8231 sigma=1.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,6,1:6)=(/ 13.007000,13.049000,13.099000,13.209000,13.316000,13.588000 /) -XPIZA_LKT(100,6,1:6)=(/ 0.602794,0.639501,0.678241,0.848071,0.876330,0.888564 /) -XCGA_LKT(100,6,1:6)=(/ 0.921933,0.910470,0.901033,0.867110,0.866917,0.858390 /) -XEXT_COEFF_550_LKT(100,6)=13.102000 !rg=28.8231 sigma=1.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,7,1:6)=(/ 11.212000,11.249000,11.292000,11.377000,11.455000,11.695000 /) -XPIZA_LKT(100,7,1:6)=(/ 0.595902,0.629824,0.666843,0.837764,0.871358,0.887061 /) -XCGA_LKT(100,7,1:6)=(/ 0.924787,0.913460,0.903757,0.868803,0.869207,0.860453 /) -XEXT_COEFF_550_LKT(100,7)=11.291000 !rg=28.8231 sigma=1.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,8,1:6)=(/ 9.590800,9.616800,9.652000,9.705400,9.785100,9.955100 /) -XPIZA_LKT(100,8,1:6)=(/ 0.589363,0.620109,0.655028,0.826054,0.864980,0.885791 /) -XCGA_LKT(100,8,1:6)=(/ 0.927687,0.916500,0.906670,0.870750,0.871073,0.862310 /) -XEXT_COEFF_550_LKT(100,8)=9.652000 !rg=28.8231 sigma=1.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,9,1:6)=(/ 8.138300,8.160600,8.188200,8.221600,8.300300,8.415300 /) -XPIZA_LKT(100,9,1:6)=(/ 0.583082,0.610815,0.643422,0.812517,0.856505,0.882574 /) -XCGA_LKT(100,9,1:6)=(/ 0.930700,0.919807,0.909920,0.872517,0.872507,0.863810 /) -XEXT_COEFF_550_LKT(100,9)=8.186600 !rg=28.8231 sigma=1.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,10,1:6)=(/ 6.879000,6.896200,6.915100,6.942400,6.996000,7.083500 /) -XPIZA_LKT(100,10,1:6)=(/ 0.577330,0.602031,0.631807,0.798260,0.846362,0.877976 /) -XCGA_LKT(100,10,1:6)=(/ 0.933660,0.923143,0.913227,0.874723,0.873727,0.865413 /) -XEXT_COEFF_550_LKT(100,10)=6.915800 !rg=28.8231 sigma=1.95 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,11,1:6)=(/ 5.778600,5.791300,5.807600,5.829900,5.874100,5.956500 /) -XPIZA_LKT(100,11,1:6)=(/ 0.572042,0.593693,0.620903,0.782410,0.834804,0.872015 /) -XCGA_LKT(100,11,1:6)=(/ 0.936537,0.926570,0.916773,0.877370,0.875550,0.866947 /) -XEXT_COEFF_550_LKT(100,11)=5.807600 !rg=28.8231 sigma=2.05 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,12,1:6)=(/ 4.837100,4.847100,4.858500,4.877000,4.904700,4.961700 /) -XPIZA_LKT(100,12,1:6)=(/ 0.567323,0.586216,0.610544,0.765554,0.821489,0.864977 /) -XCGA_LKT(100,12,1:6)=(/ 0.939293,0.929940,0.920347,0.880310,0.877807,0.869093 /) -XEXT_COEFF_550_LKT(100,12)=4.858400 !rg=28.8231 sigma=2.15 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,13,1:6)=(/ 0.000000,4.045600,4.055000,4.065900,4.093800,4.138200 /) -XPIZA_LKT(100,13,1:6)=(/ 0.900,0.579464,0.601067,0.747849,0.807032,0.856428 /) -XCGA_LKT(100,13,1:6)=(/ 0.900,0.933227,0.924053,0.883227,0.880237,0.871270 /) -XEXT_COEFF_550_LKT(100,13)=4.054500 !rg=28.8231 sigma=2.25 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,14,1:6)=(/ 0.000000,3.375400,3.382200,3.393800,3.403600,3.436200 /) -XPIZA_LKT(100,14,1:6)=(/ 0.900,0.573672,0.592563,0.730328,0.790882,0.845374 /) -XCGA_LKT(100,14,1:6)=(/ 0.900,0.936253,0.927587,0.886657,0.882310,0.872583 /) -XEXT_COEFF_550_LKT(100,14)=3.381600 !rg=28.8231 sigma=2.35 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,15,1:6)=(/ 0.000000,0.000000,2.818000,2.825200,2.837300,2.861800 /) -XPIZA_LKT(100,15,1:6)=(/ 0.900,0.900,0.585054,0.712345,0.774175,0.833906 /) -XCGA_LKT(100,15,1:6)=(/ 0.900,0.900,0.930977,0.890030,0.885067,0.875200 /) -XEXT_COEFF_550_LKT(100,15)=2.817100 !rg=28.8231 sigma=2.45 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,16,1:6)=(/ 0.000000,0.000000,2.342000,2.347200,2.358900,2.377500 /) -XPIZA_LKT(100,16,1:6)=(/ 0.900,0.900,0.578301,0.694652,0.756646,0.820422 /) -XCGA_LKT(100,16,1:6)=(/ 0.900,0.900,0.934253,0.893887,0.888227,0.877450 /) -XEXT_COEFF_550_LKT(100,16)=2.341700 !rg=28.8231 sigma=2.55 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,17,1:6)=(/ 0.000000,0.000000,0.000000,1.953300,1.960200,1.972500 /) -XPIZA_LKT(100,17,1:6)=(/ 0.900,0.900,0.900,0.677978,0.738648,0.805453 /) -XCGA_LKT(100,17,1:6)=(/ 0.900,0.900,0.900,0.897820,0.891203,0.879753 /) -XEXT_COEFF_550_LKT(100,17)=0.000000 !rg=28.8231 sigma=2.65 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,18,1:6)=(/ 0.000000,0.000000,0.000000,1.625400,1.630400,1.640400 /) -XPIZA_LKT(100,18,1:6)=(/ 0.900,0.900,0.900,0.662174,0.720632,0.789541 /) -XCGA_LKT(100,18,1:6)=(/ 0.900,0.900,0.900,0.901963,0.894483,0.882260 /) -XEXT_COEFF_550_LKT(100,18)=0.000000 !rg=28.8231 sigma=2.75 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,19,1:6)=(/ 0.000000,0.000000,0.000000,1.350400,1.354700,1.362800 /) -XPIZA_LKT(100,19,1:6)=(/ 0.900,0.900,0.900,0.647238,0.702931,0.772925 /) -XCGA_LKT(100,19,1:6)=(/ 0.900,0.900,0.900,0.906290,0.898083,0.885340 /) -XEXT_COEFF_550_LKT(100,19)=0.000000 !rg=28.8231 sigma=2.85 wvl=0.55 - -XEXT_COEFF_WVL_LKT(100,20,1:6)=(/ 0.000000,0.000000,0.000000,0.000000,1.125500,1.130900 /) -XPIZA_LKT(100,20,1:6)=(/ 0.900,0.900,0.900,0.900,0.685665,0.755238 /) -XCGA_LKT(100,20,1:6)=(/ 0.900,0.900,0.900,0.900,0.901823,0.888070 /) -XEXT_COEFF_550_LKT(100,20)=0.000000 !rg=28.8231 sigma=2.95 wvl=0.55 - -IF (LHOOK) CALL DR_HOOK('MODE_DUSTOPT:DUST_OPT_LKT_SET10',1,ZHOOK_HANDLE) -END SUBROUTINE DUST_OPT_LKT_SET10 - - -END MODULE MODE_DUSTOPT diff --git a/src/arome/chem/module/mode_firstguess.F90 b/src/arome/chem/module/mode_firstguess.F90 deleted file mode 100644 index 5720dc4bd24d364c4371aea25f260e1b902ff594..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_firstguess.F90 +++ /dev/null @@ -1,149 +0,0 @@ -MODULE MODE_FIRSTGUESS -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - !Purpose: Make a first guess of the aerosol concentration in aquous phase and in organic phase - !History: Original code recieved fro Robert Griffin, 2005 - !Rewritten by Alf Grini, alf.grini@cnrm.meteo.fr - - USE MODD_GLO, only : HLCRIT - - IMPLICIT NONE - -CONTAINS - - SUBROUTINE GUESS_AERO(& - CB & !I [ug/m3] total (gas + aerosol + ions) of component - ,AERO_ORG & !O [ug/m3] liquid aerosol concentrations - ,AERO_AQ & !O [ug/m3] solid aerosol concentration - ,GAS & !O [ug/m3] gaseous concentration - ,LWC & !I [ug/m3] liquid water content already available for partitioning - ,acHP & !I [umol/kg_{water}] proton concentration - ,VP & !I [torr] saturation vapor pressure of organic precursors - ,K & !I [m3/ug and mole/kg] Henry's law and dissociation constants - ) - - !Purpose: Make initial guess for all concentrations when using Griffin's model - !********************************************************************************************** - !Make initial gas phase concentrations: For a set of acids we have the following equilibriums - !1) H2A(g) <--> H2A - !2) H2A <--> H+ + HA- - !3) HA- <--> H+ + A(2-) - - !We have the following equations: - !1) K(1) = H2A/H2A(g) (Henry's law) - !2) [H+]*[HA-]/[H2A] = K(2) (acid dissociation) - !3) [H+]*[A(2-)]/[HA-] = K(3) (acid dissociation) - - !The mole balance: - !totAER = H2A + HA- + A(2-) - !totAER = K(1)*[H2A(g)] + K(2)[H2A]/[H+] + K(3)*[HA-]/[H+] - !totAER = K(1)*[H2A(g)] + K(2)K(1)[H2A(g)]/[H+] + K(3)K(2)K(1)[H2A(g)]/([H+])^2 - !totAER = K(1)*[H2A(g)]* (1 + K(2)/[H+] + K(3)K(2)/([H+])^2) - !totAER = [H2A]*(1 + K(2)/[H+] + K(3)K(2)/([H+])^2) = [H2A]/"nominator" - !*********************************************************************************************** - - USE MODE_SOAEQLUTL - - IMPLICIT NONE - - !INPUT - REAL, DIMENSION(:,:), INTENT(IN) :: CB !I [ug/m3] total (gas+aerosol) concentration - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] Liquid water content already ready for partitioning - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [umol/kg_{water}] proton concentration - REAL, DIMENSION(:,:), INTENT(IN) :: VP !I [torr] temperature corrected vapor pressure of gas precursors - REAL, DIMENSION(:,:), INTENT(IN) :: K !I [m3/ug and mole/kg] Henry's law and dissociation constants - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS !O [ug/m3] gas phase concentrations - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO_ORG !O [ug/m3] liquid aerosol concentrations - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO_AQ !O [ug/m3] solid aerosol concentrations - - !LOCAL, SMALL COUNTERS AND OTHER VARS - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: NOMINATOR ![-] factor to transfer between totAER and acid/ions in aq - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: totAER_AQ ![ug/m3] total SOA in aq. phase (acid+ions) - INTEGER :: I ![idx] counter for main components (1-NAMOL) - INTEGER :: J ![idx] counter for sub-componnets or ions - INTEGER :: COMP_IDX ![idx] index for aerosol components (1-NAAERO) - - - !****************************************************************************** - - !Start part which will make guesses for the - !aerosol concentrations before the iterations start - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_FIRSTGUESS:GUESS_AERO',0,ZHOOK_HANDLE) - COMP_IDX=1 - DO I=1,NBSP - - !If saturation vapor pressure is low, then guess 30% in organic aerosol phase - !If not, guess 15% in organic aerosol phase - WHERE(VP(:,I).lt.VPCRIT) - AERO_ORG(:,I)=0.3d0*CB(:,I) - ELSEWHERE - AERO_ORG(:,I)=0.15*CB(:,I) - ENDWHERE - - !If high LWC and high Henry's law constant guess 10% in aerosol phase - !Else, guess 5% in aerosol phase - WHERE(LWC(:).gt.LWCCRIT.AND.K(:,COMP_IDX).gt.HLCRIT) - AERO_AQ(:,COMP_IDX)=0.1*CB(:,I) - ELSEWHERE - AERO_AQ(:,COMP_IDX)=0.05*CB(:,I) - ENDWHERE - - !Prepare for next component - COMP_IDX=COMP_IDX+1 - - !Skip ions for correct indexing of K - DO J=2,NKAQ(I) - COMP_IDX=COMP_IDX+1 - ENDDO - - ENDDO !I - - !Guess for gas phase has to be whatever is not in aquous or gaseous phase - !GAS(:,:)=CB(:,:) - AERO_ORG(:,:) - totAER_AQ(:,:) - !The guess for gas is not really used anywhere since gas is calculated from - !the aerosol guesses during the iterations.. See figure explaining iteration - !cycle in the theory paper. Set it to zero anyway just to have a number... - !fxm: in a future version GAS should not be output from this routine! - GAS(:,:)=0.d0 - - !Get nominator to transfer total aquous to acid/ions - CALL NOMINATOR_GET( & - acHP & !I [mol/kg_{water}] proton concentration - ,nominator & !O [-] term to transfer between acid and total aerosol - ,K & !I [m3/ug and mole/kg] Henry's law and dissociation constants - ,NKAQ & !I [nbr] number of main and sub components - ,NBSP & !I [nbr] total number of components - ) - - !Transfer the H2A concentration to total aerosol concentration (acid and ions) - CALL AERO_TO_totAER( & - AERO_AQ & !I [ug/m3] aquous phase concentrations (acid + ions) - ,totAER_AQ & !O [ug/m3] aquous phase concentrations (total = sum of acid+ions) - ,nominator & !I [-] transforming factor between acid and total - ,NKAQ & !I [nbr] number of main and sub components - ,NBSP & !I [nbr] total number of components - ) - - !transfer total aerosol to aquous/ions - CALL totAER_TO_AERO( & - totAER_AQ & !I [ug/m3] total aerosol (acid+ions) in aq phase - ,NOMINATOR & !I [-] term which gives acid if we know total (acid+ions) - ,AERO_AQ & !O [ug/m3] acid and aerosol concentrations - ,acHP & !I [mole/kg_{water}] proton concentration - ,MW_SOA & !I [g/mol] molecular weight of species - ,K & !I [m3/ug and mole/kg] Henry's law and acid diss. constants - ,NKAQ & !I [nbr] number of sub and main components for a species - ,NBSP & !I nbr] number of main species to take into account - ) - - IF (LHOOK) CALL DR_HOOK('MODE_FIRSTGUESS:GUESS_AERO',1,ZHOOK_HANDLE) - END SUBROUTINE GUESS_AERO - !************************************************ - -END MODULE mode_firstguess - - diff --git a/src/arome/chem/module/mode_modeln_handler.F90 b/src/arome/chem/module/mode_modeln_handler.F90 deleted file mode 100644 index 01b1892fb06d3c917f16db4bc424337b89fad861..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_modeln_handler.F90 +++ /dev/null @@ -1,42 +0,0 @@ -! ######spl -MODULE MODE_MODELN_HANDLER -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK -IMPLICIT NONE - -INTEGER, SAVE, PRIVATE :: ICURRENT_MODEL = -1 - -CONTAINS - -FUNCTION GET_CURRENT_MODEL_INDEX() -INTEGER :: GET_CURRENT_MODEL_INDEX -!! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_MODELN_HANDLER:GET_CURRENT_MODEL_INDEX',0,ZHOOK_HANDLE) -GET_CURRENT_MODEL_INDEX = ICURRENT_MODEL -!! -IF (LHOOK) CALL DR_HOOK('MODE_MODELN_HANDLER:GET_CURRENT_MODEL_INDEX',1,ZHOOK_HANDLE) -END FUNCTION GET_CURRENT_MODEL_INDEX - -SUBROUTINE GOTO_MODEL(KMI) -INTEGER, INTENT(IN) :: KMI -!! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_MODELN_HANDLER:GOTO_MODEL',0,ZHOOK_HANDLE) -IF (ICURRENT_MODEL == -1) THEN - ICURRENT_MODEL = 1 ! Default model index -!***AROME*** -! CALL GOTO_MODEL_WRAPPER(ICURRENT_MODEL, KMI) - ICURRENT_MODEL = KMI -ELSE - IF (ICURRENT_MODEL /= KMI) THEN -! Switch to model KMI, only if necessary -! CALL GOTO_MODEL_WRAPPER(ICURRENT_MODEL, KMI) - ICURRENT_MODEL = KMI - END IF -END IF -!! -IF (LHOOK) CALL DR_HOOK('MODE_MODELN_HANDLER:GOTO_MODEL',1,ZHOOK_HANDLE) -END SUBROUTINE GOTO_MODEL - -END MODULE MODE_MODELN_HANDLER diff --git a/src/arome/chem/module/mode_oamain.F90 b/src/arome/chem/module/mode_oamain.F90 deleted file mode 100644 index 27e2c2b3f36dd2e3eb27aab72a00f7659db0f648..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_oamain.F90 +++ /dev/null @@ -1,348 +0,0 @@ -! ######spl -MODULE MODE_OAMAIN -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - !Purpose: main subroutine for calling SOA equilibrium routines - !Similar programs recieved from B. Pun and R. Griffin, 2005 - !Rewritten by Alf Grini, alf.grini@cnrm.meteo.fr, 2005 - - USE modd_glo - -IMPLICIT NONE - -CONTAINS - - SUBROUTINE MPMPO( & - TEMPK & !I [K] Temperature - ,RH & !I [-] Relative humidity - ,CB & !O [ug/m3] total (aerosol+gas) conc - ,CPT & !I [ug/m3] primary aerosol concentration - ,GAS & !O [ug/m3] gas phase concentrations - ,AERO_ORG & !O [ug/m3] organic phase concentrations - ,AERO_AQ & !I [ug/m3] aquous phase concentration of acid and ions - ,PARTORG & !O [ug/m3] aerosol phase concentration (aq+org) - ,LWC & !I [ug/m3] liquid water content available for partitioning - ,acHP & !I [mol/kg_{water}] H+ concentrations - ,DELTALWC & !O [ug/m3] change in LWC - ,ORGANION & !O [mole/m3] anion charge - ,PSOLORG & !IO [%] soluble SOA mass fraction - ) - - USE mode_soatinit !Module which calculates parameters only dependent on temperature - USE mode_firstguess !Module which calculates first guesses of components - USE mode_soaeql !Module which does the equilibrium between aquous phase, organic phase and gas phase - USE mode_zsrpun !Module to get water associated with aquous organics - USE modd_unifacparam !Module with unifac coefficients - USE modd_binsolu, only: molalbinAQ - - IMPLICIT NONE - - !INPUTS/OUTPUTS - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] Temperature - REAL, DIMENSION(:), INTENT(IN) :: RH !I [0-1] Relative humidity - REAL, DIMENSION(:,:), INTENT(IN) :: CB !I [ug/m3] total (g+p) aerosol organic species - REAL, DIMENSION(:,:), INTENT(IN) :: CPT !I [ug/m3] - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS !I [ug/m3] gas of organic species - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO_AQ !I [ug/m3] aqueous species - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO_ORG !I [ug/m3] organic phase species - REAL, DIMENSION(:,:), INTENT(OUT) :: PARTORG !I [ug/m3] aerosol phase organic species - REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG !I soluble SOA mass fraction - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] liquid water content of aerosols - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [mol_{H+}/kg_{water}] concentration of H+ ions - REAL, DIMENSION(:), INTENT(OUT) :: DELTALWC !I [ug/m3] LWC assiciated with organics - REAL, DIMENSION(:), INTENT(OUT) :: ORGANION !I [mole/m3] organic anion concentratios - - !Local variables - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: VP ![torr] temp. dependent vapor pressures of organic phase - REAL, DIMENSION(SIZE(AERO_AQ,1),SIZE(AERO_AQ,2)) :: K ![m3/ug and mole/kg] temp. dependent Henry's law and diss. const - REAL, DIMENSION(:,:,:), ALLOCATABLE :: SI_ORG ![-] temp. dependent unifac coefficient - REAL, DIMENSION(:,:,:), ALLOCATABLE :: SI_AQ ![-] temp. dependent unifac coefficient - - !Small variables - INTEGER :: I ![idx] counter for main type A components - INTEGER :: J ![idx] counter for sub type A components - INTEGER :: COMP_IDX ![idx] index for right type A comp (sub or main) - INTEGER :: COMP_IDX2 ![idx] help counter for idx of main components - REAL :: XX ![idx] account for difference in molecular weight - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_OAMAIN:MPMPO',0,ZHOOK_HANDLE) - ALLOCATE(SI_ORG(SIZE(AERO_ORG,1),NFUNC_ORG,NFUNC_ORG)) - ALLOCATE(SI_AQ(SIZE(AERO_ORG,1),NFUNC_AQ,NFUNC_AQ)) - - !Initialize the negative charge associated with type AQ organics (moles/m3) - ORGANION(:)=0.d0 - - !Initialize the liquid water content associated with AQ organics (ug/m3) - deltaLWC(:)=0.d0 - - !Initialize AERO_AQ - AERO_AQ(:,:)=0.d0 - - !Initialize AERO_ORG - AERO_ORG(:,:)=0.d0 - - !Initialize PARTORG / PSOLORG - PARTORG(:,:)=0.d0 - PSOLORG(:,:)=0.d0 - - !Initialize GAS - GAS(:,:)=0.d0 - - !Get termperature corrected vapor pressures - CALL VP_GET( & - TEMPK & !I [K] Temperature - ,VP & !I [torr] saturation vapor pressures - ) - - !Get temperature corrected henry's law constants - CALL AQCONST_GET( & - TEMPK & !I [K] temperature - ,K & !O [m3/ug and mole/kg] Henry's law and dissociation constants - ,NKAQ & !I [nbr] Number of total and sub-components for one acid - ) - - !Get temperature dependent coefficients needed in UNIFAC parameterization - CALL SI_GET( & - TEMPK & !I [K] temperature - ,A_ORG & !I [units?] term in UNIFAC parameterization - ,SI_ORG & !O [units?] term in UNIFAC parameterization - ,NFUNC_ORG & !I [nbr] number of functional group in mixture - ) - - !Do the same thing, but now get the coefficients for aquous phase - CALL SI_GET( & - TEMPK & !I [K] temperature - ,A_AQ & !I [units?] term in UNIFAC parameterization - ,SI_AQ & !O [units?] term in UNIFAC parameterization - ,NFUNC_AQ & !I [nbr] number of functional group in mixture - ) - - !Get first guesses for aerosols - CALL GUESS_AERO( & - CB & !I [ug/m3] total (gas + aerosol + ions) of component - ,AERO_ORG & !O [ug/m3] liquid aerosol concentrations - ,AERO_AQ & !O [ug/m3] solid aerosol concentration - ,GAS & !O [ug/m3] gaseous concentration - ,LWC & !I [ug/m3] liquid water content already available for partitioning - ,acHP & !I [umol/kg_{water}] proton concentration - ,VP & !I [torr] saturation vapor pressure of organic precursors - ,K & !I [m3/ug and mole/kg] Henry's law and dissociation constants - ) - - !Use the guesses to iterate for the right solution - CALL SOAEQL( & - acHP & !I [mol/kg_{water}] proton concentration - ,LWC & !I [ug/m3] liquid water content - ,CPT & !I [ug/m3] primary organic concentration - ,TEMPK & !I [K] temperature - ,GAS & !I/O [ug/m3] gas phase concentrations of SOA - ,AERO_AQ & !I/O [ug/m3] aquous phase concentrations of SOA and ions - ,AERO_ORG & !I/O [ug/m3] organic phase concentrations of SOA - ,CB & !I [ug/m3] total SOA concentration (GAS + AQ + ORG) - ,K & !I [m3/ug and mole/kg] Henry's law and dissocation constants at right T - ,SI_ORG & !I [?] T-dependent coefficient in UNIFAC parameterization - ,SI_AQ & !I [?] T-dependent coefficient in UNIFAC parameterization - ,VP & !I [torr] saturation vapor pressure - ) - - !Get the wataer associated with the extra organics using ZSR - CALL ZSRPUN( & - AERO_AQ & !I [ug/m3] guess for aerosol concentrations - ,RH & !I [0-1] relative humidity - ,DELTALWC & !O [ug/m3] liquid water content - ,MOLALBINAQ & !I [umol/ug_{water}] molality of binary solutions - ,NBSP & !I [nbr] number of species to take into account - ,NKAQ & !I [nbr] number of sub and main component for main component - ,MW_SOA & !I [g/mol] molecular weight of species - ) - - COMP_IDX=1 - DO I=1,NBSP - - !Start with summing the organic part - PARTORG(:,I)=AERO_ORG(:,I) - - !Conserve COMP_IDX of main component - COMP_IDX2 = COMP_IDX - - !Initiate partorg from this component - PARTORG(:,I)=PARTORG(:,I) + AERO_AQ(:,COMP_IDX) - PSOLORG(:,I)= AERO_AQ(:,COMP_IDX) - COMP_IDX=COMP_IDX+1 - - !Add the contribution of the ions - DO J=2,NKAQ(I) - XX=MW_SOA(COMP_IDX2) & !MW of main component - /MW_SOA(COMP_IDX) !MW of this component - - !Sum PARTORG - PARTORG(:,I) = PARTORG(:,I) + AERO_AQ(:,COMP_IDX)*XX - PSOLORG(:,I) = PSOLORG(:,I) + AERO_AQ(:,COMP_IDX)*XX - - !Get anion concentration in mole/m3 - organion(:)=organion(:) & - +AERO_AQ(:,COMP_IDX)/MW_SOA(COMP_IDX) & !umole/m3 - *dble(J-1) & !number of negative charges - *1.d-6 !==> mole/m3 - - !Prepare for next component - COMP_IDX=COMP_IDX+1 - ENDDO - PSOLORG(:,I) = PSOLORG(:,I) / PARTORG(:,I) - ENDDO - - DEALLOCATE(SI_ORG) - DEALLOCATE(SI_AQ) - - IF (LHOOK) CALL DR_HOOK('MODE_OAMAIN:MPMPO',1,ZHOOK_HANDLE) - END SUBROUTINE MPMPO - - !************************************************************* - - SUBROUTINE PUN( & - TEMPK & !I [K] Temperature - ,RH & !I [-] Relative humidity - ,WORG & !I [ug/m3] total (aerosol+gas) conc - ,GASORG & !O [ug/m3] gas phase concentrations - ,PAOM & !I [ug/m3] Primary aerosol organic matter - ,PARTORG & !O [ug/m3] aerosol phase concentrations - ,LWC & !I [ug/m3] liquid water content - ,acHP & !I [mol/kg_{water}] H+ concentrations - ,DELTALWC & !O [ug/m3] change in LWC - ,ORGANION & !O [mole//m3] anion charge - ,TBOAFLAG & !I [1/0] Flag for iteration or not - ) - - USE mode_bmain - USE mode_amain - - IMPLICIT NONE - - !INPUTS/OUTPUTS - REAL, DIMENSION(:), INTENT(IN) :: TEMPK ![K] Temperature - REAL, DIMENSION(:), INTENT(IN) :: RH ![0-1] Relative humidity - REAL, DIMENSION(:,:), INTENT(IN) :: WORG !I[ug/m3] total (g+p) aerosol organic species - REAL, DIMENSION(:,:), INTENT(OUT) :: GASORG !I[ug/m3] gas of organic species - REAL, DIMENSION(:), INTENT(IN) :: PAOM !I[ug/m3] Primary aerosol organic matter - REAL, DIMENSION(:,:), INTENT(OUT) :: PARTORG !I[ug/m3] aerosol phase organic species - REAL, DIMENSION(:), INTENT(IN) :: LWC !I[ug/m3] liquid water content of aerosols - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [mol_{H+}/kg_{water}] concentration of H+ ions - REAL, DIMENSION(:), INTENT(OUT) :: DELTALWC !I [ug/m3] LWC assiciated with organics - REAL, DIMENSION(:), INTENT(OUT) :: ORGANION !I [??] organic anion concentratios - INTEGER, INTENT(INOUT) :: TBOAFLAG !I [flg] do type B calculations (1) or not (0) - - !LOCAL - REAL, DIMENSION(SIZE(TEMPK),NBSPA) :: AEROS ![ug/m3] type A solid species below DRH - REAL, DIMENSION(SIZE(TEMPK),NAAEROA) :: AERO ![ug/m3] type A aqueous species - REAL, DIMENSION(SIZE(TEMPK),NBSPA) :: GASA ![ug/m3] type A gas concentrations - REAL, DIMENSION(SIZE(TEMPK),NBSPA) :: totA ![ug/m3] total (gas+aer) type A species - REAL, DIMENSION(SIZE(TEMPK),NBSPB) :: AEROB ![ug/m3] type B concentration - REAL, DIMENSION(SIZE(TEMPK),NBSPB) :: GASB ![ug/m3] type B gas species - REAL, DIMENSION(SIZE(TEMPK),NBSPB) :: CB ![ug/m3] total concentration of type A - - !Small variables - INTEGER :: I ![idx] counter for main type A components - INTEGER :: J ![idx] counter for sub type A components - INTEGER :: COMP_IDX ![idx] index for right type A comp (sub or main) - INTEGER :: COMP_IDX2 ![idx] help counter for idx of main components - REAL :: XX ![idx] account for difference in molecular weight - - !*************************************************** - !FROM HERE WE ARE DEALING WITH TYPE A AEROSOL - !************************************************** - !Initialize the negative charge associated with type A organics (moles/m3) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_OAMAIN:PUN',0,ZHOOK_HANDLE) - ORGANION(:)=0.d0 - - !Initialize the liquid water content associated with type A organics (ug/m3) - deltaLWC(:)=0.d0 - - !Initialize AERO (aquous type A species where RH > DRH) - AERO(:,:)=0.d0 - !Initialize AEROS (solid type A species) - AEROS(:,:)=0.d0 - - !Put total aerosol A content in totA array - totA(:,:)=worg(:,1:NBSPA) - - !Skipped a lot of checks here to see if aerosol concentrations are smaller or - !larger than a lot of limits. Since the code is supposed to be called for a - !vector it is unlikely that the tests will apply for the whole vector. - - !Call equilibrium for type A aerosols - CALL AMAIN( & - totA & !I [ug/m3] total (gas+aerosol) organic content - ,AERO & !I/O [ug/m3] initial guess for Ai, also contain final output - ,AEROS & !I/O [ug/m3] solid aerosol concentration (==0 for the moment in this code) - ,GASA & !I/O [ug/m3] gas aerosol concentration - ,LWC & !I [ug/m3] input LWC (associated with inorganics), available for partitioning - ,acHP & !I [mole_{H+}/kg_{water}] H+ concentration - ,DELTALWC & !O [ug/m3] output LWC associated with aerosol - ,ORGANION & !O [mol/m3] moles negative charge - ,RH & !I [0-1] relative humidity - ,TEMPK & !I [K] temperature - ) - - !Get the ouput values for PARTORG - COMP_IDX=1 - DO I=1,NBSPA - - !Conserve COMP_IDX of main component - COMP_IDX2 = COMP_IDX - - !Initiate partorg from this component - PARTORG(:,I)=AERO(:,COMP_IDX) - COMP_IDX=COMP_IDX+1 - - DO J=2,NKA(I) - XX=MWA(COMP_IDX2) & !MW of main component - /MWA(COMP_IDX) !MW of this component - - !Sum PARTORG - PARTORG(:,I) = PARTORG(:,I) + AERO(:,COMP_IDX)*XX - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - !Get the output values for GASORG - GASORG(:,1:NBSPA)=GASA(:,:) - - !************************END OF TYPE A AEROSOL************* - - !************************THE REST OF THE CALCULATIONS ARE FOR TYPE B AEROSOLS******** - IF(TBOAFLAG==1)THEN !Check for doing type B aerosol - - !Get gas phase concentration of type B aerosol - !GASB(:,:) = GASORG(:,NBSPA+1:NBSPA+NBSPB) - - !Get aerosol phase concentration of type B aerosol - !AEROB(:,:) = PARTORG(:,NBSPA+1:NBSPA+NBSPB) - - CB(:,:)=WORG(:,NBSPA+1:NBSPA+NBSPB) - - CALL BMAIN ( & - CB & !I [ug/m3] total concentration - ,GASB & !I/O [ug/m3] concentration of type B gas - ,AEROB & !I/O [ug/m3] concentration of type B aerosol - ,PAOM & !I [ug/m3] Primary aerosol organic matter - ,TEMPK & !I [K] temperature - ) - - !Set values back to the PARTORG table - PARTORG(:,NBSPA+1:NBSPA+NBSPB) = AEROB(:,:) - - !Set values back to the GASORG table - GASORG(:,NBSPA+1:NBSPA+NBSPB) = GASB(:,:) - - !Don't do type B calculations again if done once - TBOAFLAG=0 - - ENDIF !TBOAFLAG is 1 - - IF (LHOOK) CALL DR_HOOK('MODE_OAMAIN:PUN',1,ZHOOK_HANDLE) - END SUBROUTINE PUN - -END MODULE MODE_OAMAIN diff --git a/src/arome/chem/module/mode_salt_psd.F90 b/src/arome/chem/module/mode_salt_psd.F90 deleted file mode 100644 index c4a4092f55b02cdacef633ebba432f2ca5e81170..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_salt_psd.F90 +++ /dev/null @@ -1,530 +0,0 @@ -! ######spl - MODULE MODE_SALT_PSD - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -!! ######################## -!! -!! PURPOSE -!! ------- -!! MODULE SALT PSD (Particle Size Distribution) -!! Purpose: Contains subroutines to convert from transported variables (ppp) -!! to understandable aerosol variables, e.g. #/m3, kg/m3, sigma, R_{n} -!! -!! AUTHOR -!! ------ -!! Alf Grini (CNRM/GMEI) -!! -!! MODIFICATIONS -!! ------------- -!! -!------------------------------------------------------------------------------- -! -USE MODD_CSTS_SALT !Constants which are important for sea salt calculations -USE MODD_SALT !Dust module which contains even more constants -! -IMPLICIT NONE -! -CONTAINS -! -!! ############################################################ - SUBROUTINE PPP2SALT( & - PSVT & !I [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !O [-] standard deviation of aerosol distribution - , PRG3D & !O [um] number median diameter of aerosol distribution - , PN3D & !O [#/m3] number concentration of aerosols - , PMASS3D & !O [kg/m3] mass concentration of aerosol - , PM3D & !O aerosols moments 0, 3 and 6 - ) -!! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the three moments M0, M3 and M6 given in ppp into -!! Values which can be understood more easily (R, sigma, N, M) -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AEROS(PSVT, PRHODREF, PSIG3D=SIGVAR, & -!! PRG3D=RVAR, PN3D=NVAR, PM3D=MASSVAR) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! 2005 Alf Grini (CNRM) -!! 2006 Jean-Pierre Chaboureau (LA) -!! -!! EXTERNAL -!! -------- -!! None -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !I [ppp] first moment -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PSIG3D !O [-] standard deviation -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PRG3D !O [um] number median diameter -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PN3D !O [#/m3] number concentration -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PMASS3D !O [kg_{aer}/m3] mass concentration -REAL, DIMENSION(:,:,:,:), OPTIONAL, INTENT(OUT) :: PM3D !O aerosols moments -! -! -!* 0.2 declarations local variables -! -REAL :: ZRHOI ! [kg/m3] density of aerosol -REAL :: ZMI ! [kg/mol] molar weight of aerosol -REAL :: ZRGMIN ! [um] minimum radius accepted -REAL :: ZSIGMIN ! minimum standard deviation accepted -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM ! [aerosol units] local array which goes to output later -REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZSV ! [sea salts moment concentration] -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA ! [-] standard deviation -REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZRG ! [um] number median diameter -REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN ! [aerosol units] minimum values for N, sigma, M -INTEGER,DIMENSION(:), ALLOCATABLE :: NM0 ! [idx] index for Mode 0 in passed variables -INTEGER,DIMENSION(:), ALLOCATABLE :: NM3 ! [idx] indexes for Mode 3 in passed variables -INTEGER,DIMENSION(:), ALLOCATABLE :: NM6 ! [idx] indexes for Mode 6 in passed variables -REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS ! initial mean radius -INTEGER :: JN,IMODEIDX,JJ ! [idx] loop counters -! -!------------------------------------------------------------------------------- -! -! 1.1 initialisation -! -!Calculations here are for one mode only -! -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('MODE_SALT_PSD:PPP2SALT',0,ZHOOK_HANDLE) -ALLOCATE (NM0(NMODE_SLT)) -ALLOCATE (NM3(NMODE_SLT)) -ALLOCATE (NM6(NMODE_SLT)) -ALLOCATE (ZM(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), NMODE_SLT*3)) -ALLOCATE (ZMMIN(NMODE_SLT*3)) -ALLOCATE (ZSIGMA(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) -ALLOCATE (ZRG(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) -ALLOCATE (ZSV(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), SIZE(PSVT,4))) -ALLOCATE (ZINIRADIUS(NMODE_SLT)) - -ZSV(:,:,:,:) = MAX(PSVT(:,:,:,:), 1.E-80) - -DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITS=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) * EXP(-3.*(LOG(XINISIG_SLT(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - !Get minimum values possible - ZMMIN(NM0(JN)) = XN0MIN_SLT(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG_SLT) THEN - ZSIGMIN = XSIGMIN_SLT - ELSE - ZSIGMIN = XINISIG_SLT(IMODEIDX) - ENDIF - ZMMIN(NM3(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZMMIN(NM6(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) -END DO -! -!Set density of aerosol, here sea salt (kg/m3) -ZRHOI = XDENSITY_SALT -!Set molecular weight of sea salt !NOTE THAT THIS IS NOW IN KG -ZMI = XMOLARWEIGHT_SALT -! -! -DO JN=1,NMODE_SLT - ! - IF (LVARSIG_SLT) THEN ! give M6 (case of variable standard deviation) - ! - !Get number concentration (#/molec_{air}==>#/m3) - ZM(:,:,:,NM0(JN))= & - ZSV(:,:,:,1+(JN-1)*3) & !#/molec_{air} - * XAVOGADRO & !==>#/mole - / XMD & !==>#/kg_{air} - * PRHODREF(:,:,:) !==>#/m3 - ! - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,2+(JN-1)*3) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - !Limit mass concentration to minimum value - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - ! - ZM(:,:,:,NM6(JN)) = ZSV(:,:,:,3+(JN-1)*3) & !um6/molec_{air}*(cm3/m3) - * 1.d-6 & !==> um6/molec_{air} - * XAVOGADRO & !==> um6/mole_{air} - / XMD & !==> um6/kg_{air} - * PRHODREF(:,:,:) !==> um6/m3_{air} - !Limit m6 concentration to minimum value - ZM(:,:,:,NM6(JN)) = MAX(ZM(:,:,:,NM6(JN)), ZMMIN(NM6(JN))) - ! - !Get sigma (only if sigma is allowed to vary) - !Get intermediate values for sigma M3^2/(M0*M6) (ORILAM paper, eqn 8) - ZSIGMA(:,:,:)=ZM(:,:,:,NM3(JN))**2/(ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM6(JN))) - !Limit the intermediate value, can not be larger than 1 - ZSIGMA(:,:,:)=MIN(1-1E-10,ZSIGMA(:,:,:)) - !Limit the value for intermediate, can not be smaller than 0 - ZSIGMA(:,:,:)=MAX(1E-10,ZSIGMA(:,:,:)) - !Calculate log(sigma) - ZSIGMA(:,:,:)= LOG(ZSIGMA(:,:,:)) - !Finally get the real sigma the negative sign is because of - !The way the equation is written (M3^2/(M0*M6)) instead of (M0*M6)/M3^3 - ZSIGMA(:,:,:)= EXP(1./3.*SQRT(-ZSIGMA(:,:,:))) - !Limit the value to reasonable ones - ZSIGMA(:,:,:) = MAX( XSIGMIN_SLT, MIN( XSIGMAX_SLT, ZSIGMA(:,:,:) ) ) - - ! - !Put back M6 so that it fits the sigma which is possibly modified above - !The following makes M6 consistent with N, R, SIGMA - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) & - * ( (ZM(:,:,:,NM3(JN))/ZM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - ELSE ! compute M6 from M0, M3 and SIGMA - ! - ZSIGMA(:,:,:) = XINISIG_SLT(JPSALTORDER(JN)) - IF (LRGFIX_SLT) THEN - - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,JN) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - - ZM(:,:,:,NM0(JN))= ZM(:,:,:,NM3(JN))/& - ((ZINIRADIUS(JN)**3)*EXP(4.5 * LOG(XINISIG_SLT(JPSALTORDER(JN)))**2)) - - ELSE - - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - ZM(:,:,:,NM3(JN)) = & - ZSV(:,:,:,2+(JN-1)*2) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - - - !Get number concentration (#/molec_{air}==>#/m3) - ZM(:,:,:,NM0(JN))= & - ZSV(:,:,:,1+(JN-1)*2) & !#/molec_{air} - * XAVOGADRO & !==>#/mole - / XMD & !==>#/kg_{air} - * PRHODREF(:,:,:) !==>#/m3 - - ! Limit concentration to minimum values - WHERE ((ZM(:,:,:,NM0(JN)) < ZMMIN(NM0(JN)) ).OR. & - (ZM(:,:,:,NM3(JN)) < ZMMIN(NM3(JN)) )) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - PSVT(:,:,:,1+(JN-1)*2) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO * PRHODREF(:,:,:) ) - PSVT(:,:,:,2+(JN-1)*2) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - ENDWHERE - - END IF - - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) & - * ( (ZM(:,:,:,NM3(JN))/ZM(:,:,:,NM0(JN)))**(1./3.) & - * exp(-(3./2.)*log(ZSIGMA(:,:,:))**2))**6 & - * exp(18.*log(ZSIGMA(:,:,:))**2) - - ! - END IF - ! - !Get number median radius (eqn. 7 in Orilam manuscript) - ZRG(:,:,:)= & - ( & - ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN))*ZM(:,:,:,NM3(JN)) & - /(ZM(:,:,:,NM6(JN))*ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM0(JN))*ZM(:,:,:,NM0(JN))) & - ) & - ** XSIXTH_SALT - !ZRG(:,:,:)=MIN(ZRG(:,:,:),ZINIRADIUS(JN)) - !Give the sigma-values to the passed array - IF(PRESENT(PSIG3D)) PSIG3D(:,:,:,JN) = ZSIGMA(:,:,:) - ! - !Set the number concentrations in the passed array - IF(PRESENT(PN3D)) PN3D(:,:,:,JN) = ZM(:,:,:,NM0(JN)) - ! - !Get the number median radius - IF(PRESENT(PRG3D)) PRG3D(:,:,:,JN)= ZRG(:,:,:) - ! - IF(PRESENT(PMASS3D))THEN - PMASS3D(:,:,:,JN)= & - ZM(:,:,:,NM0(JN)) & !#/m^3_{air} - * XPI*4./3. & - * ZRHOI & !==>kg/m^3_{aeros}/m^3_{air} - * ZRG(:,:,:) * ZRG(:,:,:) * ZRG(:,:,:) & - * XUM3TOM3_SALT & !==>kg/m^3_{air} - * exp(4.5*log(ZSIGMA(:,:,:))*log(ZSIGMA(:,:,:))) - ENDIF -! -END DO !Loop on modes -! -IF(PRESENT(PM3D)) PM3D(:,:,:,:) = ZM(:,:,:,:) -! -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZSV) -DEALLOCATE(ZRG) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZMMIN) -DEALLOCATE(ZM) -DEALLOCATE(NM6) -DEALLOCATE(NM3) -DEALLOCATE(NM0) -! -! -IF (LHOOK) CALL DR_HOOK('MODE_SALT_PSD:PPP2SALT',1,ZHOOK_HANDLE) -END SUBROUTINE PPP2SALT - -!! ############################################################ - SUBROUTINE SALT2PPP( & - PSVT & !IO [ppp] input scalar variables (moment of distribution) - , PRHODREF & !I [kg/m3] density of air - , PSIG3D & !I [-] standard deviation of aerosol distribution - , PRG3D & !I [um] number median diameter of aerosol distribution - ) -!! ############################################################ -! -!! -!! PURPOSE -!! ------- -!! Translate the sea salt Mass, RG and SIGMA in the three moments M0, M3 and M6 given in ppp -!! -!! CALLING STRUCTURE NOTE: OPTIONAL VARIABLES -!! ------- -!! CALL PPP2AEROS(PSVT, PRHODREF, PSIG3D=SIGVAR, & -!! PRG3D=RVAR, PN3D=NVAR) -!! -!! REFERENCE -!! --------- -!! none -!! -!! AUTHOR -!! ------ -!! Pierre TULET (LA) -!! -!! MODIFICATIONS -!! ------------- -!! Alf Grini (CNRM) -!! -!! EXTERNAL -!! -------- -!! None -!! - IMPLICIT NONE -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -!* 0.1 declarations of arguments -! - !INPUT - REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF !I [kg/m3] density of air - REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG3D !O [-] standard deviation - REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRG3D !O [um] number median diameter - - !OUTPUT - REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !IO [#/molec_{air}] first moment - !IO [molec_{aer}/molec_{air} 3rd moment - !IO [um6/molec_{air}*(cm3/m3)] 6th moment -! -! -!* 0.2 declarations local variables -! - REAL :: ZRHOI ! [kg/m3] density of aerosol - REAL :: ZMI ! [kg/mol] molar weight of aerosol - REAL :: ZRGMIN ! [um] minimum radius accepted - REAL :: ZSIGMIN ! minimum standard deviation accepted - REAL,DIMENSION(:,:,:,:), ALLOCATABLE :: ZM ! [aerosol units] local array which goes to output later - REAL,DIMENSION(:,:,:), ALLOCATABLE :: ZSIGMA ! aersol standard deviation - REAL,DIMENSION(:), ALLOCATABLE :: ZMMIN ! [aerosol units] minimum values for N, sigma, M - REAL,DIMENSION(:), ALLOCATABLE :: ZINIRADIUS ! initial mean radius - INTEGER,DIMENSION(:), ALLOCATABLE :: NM0 ! [idx] index for Mode 0 in passed variables - INTEGER,DIMENSION(:), ALLOCATABLE :: NM3 ! [idx] indexes for Mode 3 in passed variables - INTEGER,DIMENSION(:), ALLOCATABLE :: NM6 ! [idx] indexes for Mode 6 in passed variables - INTEGER :: JJ, JN ! [idx] loop counters - INTEGER :: IMODEIDX -! -!------------------------------------------------------------------------------- -! -! 1.1 initialisation - - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SALT_PSD:SALT2PPP',0,ZHOOK_HANDLE) - ALLOCATE (NM0(NMODE_SLT)) - ALLOCATE (NM3(NMODE_SLT)) - ALLOCATE (NM6(NMODE_SLT)) - ALLOCATE (ZINIRADIUS(NMODE_SLT)) - ALLOCATE (ZMMIN(NMODE_SLT*3)) - ALLOCATE (ZM(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3), NMODE_SLT*3)) - ALLOCATE (ZSIGMA(SIZE(PSVT,1), SIZE(PSVT,2), SIZE(PSVT,3))) - - !Set density of aerosol, here sea salt (kg/m3) - ZRHOI = XDENSITY_SALT - !Set molecular weight of sea salt !NOTE THAT THIS IS NOW IN KG - ZMI = XMOLARWEIGHT_SALT -! - - ! PSVT need to be positive - PSVT(:,:,:,:) = MAX(PSVT(:,:,:,:), 1E-80) - - DO JN=1,NMODE_SLT - IMODEIDX = JPSALTORDER(JN) - !Calculations here are for one mode only - IF (CRGUNITS=="MASS") THEN - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) * EXP(-3.*(LOG(XINISIG_SLT(IMODEIDX)))**2) - ELSE - ZINIRADIUS(JN) = XINIRADIUS_SLT(IMODEIDX) - END IF - - !Set counter for number, M3 and M6 - NM0(JN) = 1+(JN-1)*3 - NM3(JN) = 2+(JN-1)*3 - NM6(JN) = 3+(JN-1)*3 - - !Get minimum values possible - ZMMIN(NM0(JN)) = XN0MIN_SLT(IMODEIDX) - ZRGMIN = ZINIRADIUS(JN) - IF (LVARSIG_SLT) THEN - ZSIGMIN = XSIGMIN_SLT - ELSE - ZSIGMIN = XINISIG_SLT(IMODEIDX) - ENDIF - ZMMIN(NM3(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**3)*EXP(4.5 * LOG(ZSIGMIN)**2) - ZMMIN(NM6(JN)) = ZMMIN(NM0(JN)) * (ZRGMIN**6)*EXP(18. * LOG(ZSIGMIN)**2) - END DO - - !Set density of aerosol, here sea salt (kg/m3) - ZRHOI = XDENSITY_SALT - !Set molecular weight of sea salt !NOTE THAT THIS IS NOW IN KG - ZMI = XMOLARWEIGHT_SALT -! - DO JN=1,NMODE_SLT - !calculate moment 3 from total aerosol mass (molec_{aer}/molec_{air} ==> - IF (LVARSIG_SLT) THEN - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,2+(JN-1)*3) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ELSE - IF ((LRGFIX_SLT)) THEN - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,JN) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - ZM(:,:,:,NM3(JN)) = MAX(ZM(:,:,:,NM3(JN)), ZMMIN(NM3(JN))) - ELSE - ZM(:,:,:,NM3(JN)) = & - PSVT(:,:,:,2+(JN-1)*2) & !molec_{aer}/molec_{aer} - * (ZMI/XMD) & !==>kg_{aer}/kg_{aer} - * PRHODREF(:,:,:) & !==>kg_{aer}/m3_{air} - * (1.d0/ZRHOI) & !==>m3_{aer}/m3_{air} - * XM3TOUM3_SALT & !==>um3_{aer}/m3_{air} - / (XPI * 4./3.) !==>um3_{aer}/m3_{air} (volume ==> 3rd moment) - END IF - END IF -! calculate moment 0 from dispersion and mean radius - ZM(:,:,:,NM0(JN))= ZM(:,:,:,NM3(JN))/& - ((PRG3D(:,:,:,JN)**3)*EXP(4.5 * LOG(PSIG3D(:,:,:,JN))**2)) - - -! calculate moment 6 from dispersion and mean radius - ZM(:,:,:,NM6(JN)) = ZM(:,:,:,NM0(JN)) * (PRG3D(:,:,:,JN)**6) * & - EXP(18 *(LOG(PSIG3D(:,:,:,JN)))**2) - - IF (LVARSIG_SLT) THEN - WHERE ((ZM(:,:,:,NM0(JN)) .LT. ZMMIN(NM0(JN))).OR.& - (ZM(:,:,:,NM3(JN)) .LT. ZMMIN(NM3(JN))).OR.& - (ZM(:,:,:,NM6(JN)) .LT. ZMMIN(NM6(JN)))) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - ZM(:,:,:,NM6(JN)) = ZMMIN(NM6(JN)) - END WHERE - ELSE IF (.NOT.(LRGFIX_SLT)) THEN - - WHERE ((ZM(:,:,:,NM0(JN)) .LT. ZMMIN(NM0(JN))).OR.& - (ZM(:,:,:,NM3(JN)) .LT. ZMMIN(NM3(JN)))) - ZM(:,:,:,NM0(JN)) = ZMMIN(NM0(JN)) - ZM(:,:,:,NM3(JN)) = ZMMIN(NM3(JN)) - END WHERE - ENDIF - - - ! return to concentration #/m3 => (#/molec_{air} - IF (LVARSIG_SLT) THEN - PSVT(:,:,:,1+(JN-1)*3) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - - PSVT(:,:,:,2+(JN-1)*3) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3 * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - - PSVT(:,:,:,3+(JN-1)*3) = ZM(:,:,:,NM6(JN)) * XMD / & - ( XAVOGADRO*PRHODREF(:,:,:) * 1.d-6) - ELSE IF (LRGFIX_SLT) THEN - PSVT(:,:,:,JN) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - ELSE - PSVT(:,:,:,1+(JN-1)*2) = ZM(:,:,:,NM0(JN)) * XMD / & - (XAVOGADRO*PRHODREF(:,:,:)) - - PSVT(:,:,:,2+(JN-1)*2) = ZM(:,:,:,NM3(JN)) * XMD * XPI * 4./3. * ZRHOI / & - (ZMI*PRHODREF(:,:,:)*XM3TOUM3_SALT) - END IF - -! - END DO !Loop on modes - -DEALLOCATE(ZINIRADIUS) -DEALLOCATE(ZMMIN) -DEALLOCATE(ZSIGMA) -DEALLOCATE(ZM) -DEALLOCATE(NM6) -DEALLOCATE(NM3) -DEALLOCATE(NM0) -! -IF (LHOOK) CALL DR_HOOK('MODE_SALT_PSD:SALT2PPP',1,ZHOOK_HANDLE) -END SUBROUTINE SALT2PPP -! -END MODULE MODE_SALT_PSD diff --git a/src/arome/chem/module/mode_soaeql.F90 b/src/arome/chem/module/mode_soaeql.F90 deleted file mode 100644 index 84ebd945f4f324fbfc48676654d159dfde5cf1df..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_soaeql.F90 +++ /dev/null @@ -1,329 +0,0 @@ -! ######spl -module mode_soaeql -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - !Purpose: module to iterate on the SOA concentration until equilibrium - !Inspired by programs recieved from B. Pun/R. Griffin, 2005 - !Written by Alf Grini, alf.grini@cnrm.meteo.fr, 2005 - - use modd_glo - use modd_unifacparam - use mode_soaeqlutl - use mode_unifac - - IMPLICIT NONE - -CONTAINS - - subroutine soaeql( & - acHP & !I [mol/kg_{water}] proton concentration - ,LWC & !I [ug/m3] liquid water content - ,CPT & !I [ug/m3] primary organic concentration - ,TEMPK & !I [K] temperature - ,GAS & !I/O [ug/m3] gas phase concentrations of SOA - ,AERO_AQ & !I/O [ug/m3] aquous phase concentrations of SOA and ions - ,AERO_ORG & !I/O [ug/m3] organic phase concentrations of SOA - ,CB & !I [ug/m3] total SOA concentration (GAS + AQ + ORG) - ,K & !I [m3/ug and mole/kg] Henry's law and dissocation constants at right T - ,SI_ORG & !I [?] T-dependent coefficient in UNIFAC parameterization - ,SI_AQ & !I [?] T-dependent coefficient in UNIFAC parameterization - ,VP & !I [torr] saturation vapor pressures for organic phase SOA - ) - - !Purpose: Iterate the following equations until convergence - !1) Equilibrium between organic phase and gas phase - !2) Equilibrium between aquous phase and gas phase - !3) Dissociation in aquous phase (H2A = H+ + HA- + A--) - !4) Mass balance for all species - IMPLICIT NONE - - !Input - REAL, INTENT(IN), DIMENSION(:,:) :: CPT !I [ug/m3] Primary organic aerosols - REAL, INTENT(IN), DIMENSION(:) :: TEMPK !I [K] Temperature - REAL, INTENT(IN), DIMENSION(:) :: acHP !I [mol/kg_{water}] proton concentration - REAL, INTENT(IN), DIMENSION(:) :: LWC !I [ug/m3] liquid water content - REAL, INTENT(IN), DIMENSION(:,:,:) :: SI_AQ !I [-] term in UNIFAC for aquous component - REAL, INTENT(IN), DIMENSION(:,:,:) :: SI_ORG !I [-] term in UNIFAC for organic phase - REAL, INTENT(IN), DIMENSION(:,:) :: VP !I [torr] saturation vapor pressures for SOA phase - REAL, INTENT(IN), DIMENSION(:,:) :: CB !I [ug/m3] total concentration of (AQ+ORG+GAS) - REAL, INTENT(IN), DIMENSION(:,:) :: K !I [m3/ug and mole/kg] Henry's law and dissociation constants - - !Input/output - REAL, INTENT(INOUT), DIMENSION(:,:) :: AERO_ORG !I/O [ug/m3] SOA in organic phase - REAL, INTENT(INOUT), DIMENSION(:,:) :: AERO_AQ !I/O [ug/m3] SOA in aquous phase (acids and ions) - REAL, INTENT(INOUT), DIMENSION(:,:) :: GAS !I/O [ug/m3] SOA in gas phase - - !Local - REAL, DIMENSION(SIZE(TEMPK)) :: M0_ORG ![ug/m3] total organic aerosol in grid cell - REAL, DIMENSION(SIZE(TEMPK)) :: MW_AVG_ORG ![g/mol] average molecular weight of organic phase - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: NOMINATOR ![-] term to transfer between H2A and total AQ aerosol - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: GAS_ORG ![ug/m3] gas concentration in eql with organic phase - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: GAS_AQ ![ug/m3] gas concentration in eql with aquous phase - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: KPART ![m3/ug] partitioning coeffient for organic phase - REAL, DIMENSION(SIZE(AERO_ORG,1)) :: TMOL_AQ ![umol/m3] total moles of aquous phase - REAL, DIMENSION(SIZE(AERO_ORG,1),SIZE(AERO_ORG,2)) :: totAER_AQ ![ug/m3] total (acid +ions) concentration of aq. phase - REAL, DIMENSION(:,:), ALLOCATABLE :: X_ORG ![frc] fraction of component in organic phase POA + SOA - REAL, DIMENSION(:,:), ALLOCATABLE :: X_AQ ![frc] fraction of main components in aquous phase (SOA + H2O) - REAL, DIMENSION(:,:), ALLOCATABLE :: GAMMA_ORG ![-] activity coefficients for organic phase (POA and SOA) - REAL, DIMENSION(:,:), ALLOCATABLE :: GAMMA_AQ ![-] activity coefficients for aquous phase (Raoult and main components) - REAL, DIMENSION(:,:), ALLOCATABLE :: GAMMA_AQ_HENRY ![-] activity coefficients for aquous phase (Henry's law std. state) - REAL, DIMENSION(:,:), ALLOCATABLE :: GAMMA_AQ_RAOULT ![-] activity coefficients for aquous phase (Raoult's law std. state) - INTEGER :: I ![idx] counter for main components (acids) - INTEGER :: J ![idx] counter for sub components (ions) - INTEGER :: COMP_IDX ![idx] pointer to right component - INTEGER :: ITER_IDX ![idx] counter for number of iterations - INTEGER, PARAMETER :: MAX_ITER=6 !Number of iterations performed - - !Allocate memory - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQL:SOAEQL',0,ZHOOK_HANDLE) - ALLOCATE(X_ORG(SIZE(AERO_ORG,1),NBSP+NBSPOA)) - ALLOCATE(X_AQ(SIZE(AERO_ORG,1),NBSP+1)) - ALLOCATE(GAMMA_ORG(SIZE(AERO_ORG,1),NBSP+NBSPOA)) - ALLOCATE(GAMMA_AQ(SIZE(AERO_ORG,1),NBSP+1)) - ALLOCATE(GAMMA_AQ_RAOULT(SIZE(AERO_ORG,1),NAAERO)) - ALLOCATE(GAMMA_AQ_HENRY(SIZE(AERO_ORG,1),NAAERO)) - - - !Before starting iterations, get "nominator" which is term to transfer between totAER_AQ and AERO_AQ (acid) - CALL NOMINATOR_GET( & - acHP & !I [mol/kg_{water}] proton concentration - ,nominator & !O [-] term to transfer between acid and total aerosol - ,K & !I [m3/ug and mole/kg] Henry's law and acid dissociation constants - ,NKAQ & !I [nbr] number of sub and main comp for acid - ,NBSP & !I [nbr] number of (main) species to take into account - ) - - DO ITER_IDX = 1,MAX_ITER - IF(LBOX)THEN - write(6,*)"*******************************************" - write(6,*)"**************NEW ITERATION #", ITER_IDX,"********" - write(6,*)"********************************************" - ENDIF - - !Get molar fraction of species in organic phase - CALL XORG_GET( & - CPT & !I [ug/m3] concentrations of primary organic aerosols - ,AERO_ORG & !I [ug/m3] guessed concentration of aerosols - ,M0_ORG & !O [ug/m3] total organic mass (POA + SOA) - ,X_ORG & !O [frc] fractions in organic phase of POA and SOA - ,MW_AVG_ORG & !I [g/mol] average molecular weight of organic phase - ) - IF(LPRINT)THEN - DO I=1,NBSPOA - write(6,*)"CPT", CPT(:,I) - ENDDO - DO I=1,NBSP - write(6,*)"AERO/CB", AERO_ORG(:,I), CB(:,I) - ENDDO - ENDIF - IF(LBOX)THEN - do I =1,NBSP+NBSPOA - write(6,*)"X_ORG",I, X_ORG(:,I) - ENDDO - ENDIF - - !Get activity coefficients - CALL ACT_COEFF_GET( & - NU_ORG & - ,X_ORG & - ,QG_ORG & - ,GAMMA_ORG & - ,THTAGP_ORG & - ,Q_ORG & - ,R_ORG & - ,L_ORG & - ,SI_ORG & - ,NMOL_ORG & !POA and SOA species (normally 18 species) - ,NFUNC_ORG & - ) - - !Get partitioning coefficients - CALL KPART_GET( & - TEMPK & !I [K] temperature - , GAMMA_ORG & !I [-] Activity coefficient - , MW_AVG_ORG & !I [g/mol] Molecular weight of organic matter - , KPART & !O [m3/ug] partitioning coefficient for species - , VP & !I [torr] vapor pressures - , NBSPOA & !I [nbr] number of activity coefficients to skip in GAMMA_ORG - ) - - IF(LBOX)THEN - do I=1,NBSP - write(6,*)"KOM/GAMMA_ORG",I, KPART(:,I),GAMMA_ORG(:,I) - enddo - ENDIF - - !Calculate gas phase concentrations from organic aerosol phase - DO I=1,NBSP - GAS_ORG(:,I) = AERO_ORG(:,I) & ![ug/m3] - /(KPART(:,I)*M0_ORG(:)) ![no unit] ==> [ug/m3] - ENDDO - - !At this point, we have aerosol and gas phase concentrations which probably - !are not in accordance with mass balance, we check for this lower down in the - !subroutine, now take care of aquous phase - - !Get molar fraction of component in aquous phase - !Only main components, not ions! Ions are summed into main component! - CALL XAQ_GET( & - LWC & !I [ug/m3] liquid water content - ,AERO_AQ & !I [ug/m3] concentrations of acids and ions in aquous phase - ,X_AQ & !O [frc] molar fraction of main component (sum of acid+ions) in aq phase - ,TMOL_AQ & !O [umol/m3] total mole of aquous phase - ,MW_SOA & !I [g/mol] molecular weight of species - ,NKAQ & !I [nbr] number of components for main acid - ,NBSP & !I [nbr] number of main species - ) - - IF(LBOX)THEN - DO I=1,NBSP+1 - write(6,*)"X_AQ" , I, X_AQ(:,I) - ENDDO - ENDIF - - IF(LPRINT)THEN - COMP_IDX=1 - DO I=1,NBSP - write(6,*)"AERO_AQ",I, AERO_AQ(:,COMP_IDX) - COMP_IDX=COMP_IDX+1 - DO J=2,NKAQ(I) - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - write(6,*)"LWC", LWC(:) - write(6,*)"HPLUS", acHP(:) - ENDIF - - !Get raoult's law standard state activity coefficients - !Here, only treat main components, i.e. (H2A, HA- and A(2-) as one comp) - CALL ACT_COEFF_GET( & - NU_AQ & - ,X_AQ & - ,QG_AQ & - ,GAMMA_AQ & - ,THTAGP_AQ & - ,Q_AQ & - ,R_AQ & - ,L_AQ & - ,SI_AQ & - ,NMOL_AQ & !Use the 10 main components and water (=11 components) - ,NFUNC_AQ & - ) - - IF(LPRINT)THEN - do I=1,11 - write(6,*)"GAMMA_AQ",I,gamma_aq(:,I) - enddo - ENDIF - - !Set activity coeffients for all components, ions and acids - !to the Raoult's law standard state value for the real X - COMP_IDX=1 - DO I=1,NBSP - GAMMA_AQ_RAOULT(:,COMP_IDX)=GAMMA_AQ(:,I) - COMP_IDX = COMP_IDX +1 - !Set activity coefficients for the sub-components - !equal to those for the main components - DO J=2,NKAQ(I) - GAMMA_AQ_RAOULT(:,COMP_IDX) = GAMMA_AQ(:,I) - COMP_IDX=COMP_IDX + 1 - ENDDO !loop on ions - ENDDO !loop on main comp - - !Get the activity coefficients for Henry's law standard state - CALL ACT_COEFF_HENRY_GET( & - X_AQ & !I [frc] molar fraction of components in aquous phase - ,TMOL_AQ & !I [umol/m3] total number of umol in aquous phase - ,GAMMA_AQ_RAOULT & !I [-] Raoult's law standard state activity coefficents - ,SI_AQ & !I [?] temperature dependent UNIFAC parameter - ,GAMMA_AQ_HENRY & !O [-] Henry's law standard state activity coefficients - ) - - !write things - IF(LPRINT)THEN - COMP_IDX=1 - DO I=1,NBSP - write(6,*)"gamma_henry",I, GAMMA_AQ_HENRY(:,COMP_IDX) - COMP_IDX=COMP_IDX+1 - DO J=2,NKAQ(I) - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - ENDIF - - !Get the gas phase concentrations - CALL GAS_FROM_HENRY( & - AERO_AQ & !I [ug/m3] aerosol concentration of acid [H2A] and ions - ,GAMMA_AQ_HENRY & !I [-] Henry's law standard state activity coefficient - ,GAS_AQ & !O [ug/m3] gas phase concentrations - ,K & !I [m3/ug and mole/kg] Henry's law and acid diss. constants - ,LWC & !I [ug/m3] Liquid water content - ,NKAQ & !I [nbr] number of sub and main species for component - ,NBSP & !I [nbr] number of main species to take into account) - ) - - !Knowing the concentration of H2A and acids (via the "nominator") we can - !get the concentration of total aerosol by summing them and taking into account the - !difference in molecular weight between acids and ions - CALL AERO_TO_totAER ( & - AERO_AQ & !I [ug/m3] aquous phase concentrations (acid + ions) - ,totAER_AQ & !O [ug/m3] aquous phase concentrations (total = sum of acid+ions) - ,nominator & !I [-] transforming factor between acid and total - ,NKAQ & !I [nbr] number of sub and mean species - ,NBSP & !I [nbr] number of main species to take into account - ) - - !Adjust mass balance for all components, both in aq phase - !and in organic phase - CALL MB_ADJUST( & - CB & !I [ug/m3] total (aerosol + gas) concentration - ,GAS_AQ & !I [ug/m3] gas concentration in eql with aquous phase - ,GAS_ORG & !I [ug/m3] gas concentration in eql with org phase - ,totAER_AQ & !I/O [ug/m3] total aerosol concentration (acid+ions) aq phase - ,AERO_ORG & !I/O [ug/m3] total aerosol concentration in org phase - ,GAS & !O [ug/m3] new guess for gas phase concentration - ) - - IF(LBOX)THEN - DO I=1,NBSP - write(6,'(a,i5,3e15.4)')"GAS ORG/AQ/NEW", I, GAS_ORG(:,I),GAS_AQ(:,I), GAS(:,I) - ENDDO - - write(6,*)"budget" - DO I=1,NBSP - write(6,'(a,i5,3f17.11,e15.4)')"budget", I & - ,AERO_ORG(:,I)/CB(:,I)*100.& - ,totAER_AQ(:,I)/CB(:,I)*100. & - ,GAS(:,I)/CB(:,I)*100.d0 & - ,(CB(:,I)-totAER_AQ(:,I)-AERO_ORG(:,I)-GAS(:,I))/CB(:,I)*100.d0 - ENDDO - ENDIF - - - !Prepare for new iteration, get concentrations of H2A from knowing the corrected totAER_AQ - CALL totAER_TO_AERO( & - totAER_AQ & !I [ug/m3] total aerosol (acid+ions) in aq phase - ,NOMINATOR & !I [-] term which gives acid if we know total (acid+ions) - ,AERO_AQ & !O [ug/m3] acid and aerosol concentrations - ,acHP & !I [mole/kg_{water}] proton concentration - ,MW_SOA & !I [g/mol] molecular weight of species - ,K & !I [m3/ug and mole/kg] Henry's law and acid diss. constants - ,NKAQ & !I [nbr] number of sub and main components for a species - ,NBSP & !I nbr] number of main species to take into account - ) - - ENDDO - - DEALLOCATE(X_ORG) - DEALLOCATE(X_AQ) - DEALLOCATE(GAMMA_ORG) - DEALLOCATE(GAMMA_AQ) - DEALLOCATE(GAMMA_AQ_RAOULT) - DEALLOCATE(GAMMA_AQ_HENRY) - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQL:SOAEQL',1,ZHOOK_HANDLE) - END SUBROUTINE SOAEQL - -end module mode_soaeql diff --git a/src/arome/chem/module/mode_soaeqlutl.F90 b/src/arome/chem/module/mode_soaeqlutl.F90 deleted file mode 100644 index b952876731b7545cd2fda15606842c6278647cb6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_soaeqlutl.F90 +++ /dev/null @@ -1,637 +0,0 @@ -! ######spl -module mode_soaeqlutl -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - !Purpose: module to iterate on the SOA concentration until equilibrium - !Inspired by programs recieved from B. Pun/R. Griffin, 2005 - !Written by Alf Grini, alf.grini@cnrm.meteo.fr, 2005 - - use modd_glo - use modd_unifacparam - use mode_unifac !To get activity coefficients - - implicit none - -contains - - !*********************************************** - subroutine XORG_GET( & - CPT & !I [ug/m3] primary organic aerosol - ,AERO_ORG & !I [ug/m3] guessed SOA concentrations organic phase - ,M0_ORG & !O [ug/m3] total weight of organic aerosol (POA+SOA) - ,X_ORG & !O [frc] molar fraction of organics - ,MW_AVG_ORG & !O [g/mol] average molecular weight of organic phase - ) - - !Purpose: Calculate molar fraction of each component, both SOA and POA - - implicit none - !Input - REAL, DIMENSION(:,:), INTENT(IN) :: CPT ![ug/m3] concentration of POA - REAL, DIMENSION(:,:), INTENT(IN) :: AERO_ORG ![ug/m3] concentration of SOA organic phase - - !Output - REAL, DIMENSION(:), INTENT(OUT) :: M0_ORG ![ug/m3] total mass of organic aerosol - REAL, DIMENSION(:,:), INTENT(OUT) :: X_ORG ![frc] molar fraction of organic SOA components - REAL, DIMENSION(:), INTENT(OUT) :: MW_AVG_ORG ![g/mol] average molar weight of organic phase - - !Local - INTEGER :: I ![idx] counter for components - INTEGER :: J ![idx] counter for ionic species - INTEGER :: COMP_IDX ![idx] pointer to non-ion component - REAL, DIMENSION(SIZE(CPT,1)) :: NTOT_ORG ![umol/m3] total moles of organic phase - - !Initialize - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:XORG_GET',0,ZHOOK_HANDLE) - M0_ORG(:)=0.d0 - NTOT_ORG(:)=0.d0 - MW_AVG_ORG(:)=0.d0 - - !Add up total mass and moles of POA species - DO I=1,NBSPOA - M0_ORG(:) = M0_ORG(:)+CPT(:,I) - NTOT_ORG(:)= NTOT_ORG(:) + CPT(:,I)/MW_POA(I) - ENDDO - - !Add up total mass and moles of SOA species - COMP_IDX=1 - DO I=1,NBSP - M0_ORG(:) = M0_ORG(:) + AERO_ORG(:,I) !Total ug/m3 - NTOT_ORG(:)= NTOT_ORG(:) + AERO_ORG(:,I)/MW_SOA(COMP_IDX) !Total umol/m3 - COMP_IDX=COMP_IDX+1 - !Skip ionic components - DO J=2,NKAQ(I) - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - !Get molecular fraction and average molecular weight of organic phase - !First calcualte for POA species - DO I=1,NBSPOA - X_ORG(:,I) = CPT(:,I)/MW_POA(I) & ![umol/m3] - /NTOT_ORG(:) ![umol/m3] - - MW_AVG_ORG(:) = MW_AVG_ORG(:) + X_ORG(:,I)*MW_POA(I) - ENDDO - - !Then calculate for SOA species - COMP_IDX = 1 - DO I=1,NBSP - - !Get molar fraction of SOA component - X_ORG(:,I+NBSPOA) = AERO_ORG(:,I) & - /MW_SOA(COMP_IDX)/NTOT_ORG(:) - - !Add up the average molar weight of mixture - MW_AVG_ORG(:)= MW_AVG_ORG(:) & - + X_ORG(:,I+NBSPOA)*MW_SOA(COMP_IDX) - - !Prepare for next compoenents - COMP_IDX = COMP_IDX +1 - - !Skip ionic components here - DO J=2,NKAQ(I) - COMP_IDX = COMP_IDX +1 - ENDDO !J - - ENDDO !I - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:XORG_GET',1,ZHOOK_HANDLE) - end subroutine XORG_GET - - !********************************************* - - subroutine XAQ_GET( & - LWC & !I [ug/m3] liquid water content - ,AERO_AQ & !I [ug/m3] aquous phase aerosol concentrations of acids and ions - ,X_AQ & !O [frc] molar fraction of main component in aq phase - ,TMOL & !O [umole/m3] total aquous phase aerosol - ,MW & !I [g/mol] molecular weight of species - ,NK & !I [nbr] number of components for main acid - ,NSPIN &! I [nbr] number of main species - ) - - !Purpose: Get the molar fractions in the aquous phase - implicit none - - !Input: - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] liquid water content - REAL, DIMENSION(:,:), INTENT(IN) :: AERO_AQ !I [ug/m3] aquous phase aerosol concentrations of acids and ions - INTEGER, DIMENSION(:), INTENT(IN) :: NK !I [nbr] number of components for main acid - INTEGER, INTENT(IN) :: NSPIN !I [nbr] number of main species (not including water!!) - REAL, DIMENSION(:) :: MW !I [g/mol] molecular weight of species - - !Output - REAL, DIMENSION(:,:), INTENT(OUT) :: X_AQ !O [frc] molar fraction of main component in aquous phase - REAL, DIMENSION(:), INTENT(OUT) :: TMOL !O [umol/m3] total moles of aquous phase - - !Local - REAL, DIMENSION(SIZE(LWC)) :: TMOLINV ![m3/umol] inverse total moles of aquous phase - INTEGER :: I ![idx] counter for aquous phase species - INTEGER :: COMP_IDX ![idx] pointer to correct aquous phase species - INTEGER :: J ![idx] counter for ions - INTEGER :: NBR_SUB_AND_MAIN ![nbr] number of sub and main species - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:XAQ_GET',0,ZHOOK_HANDLE) - NBR_SUB_AND_MAIN = SUM(NK) - - ! Calculate mole fraction (molecules only) - TMOL(:) = LWC(:) & ![ug/m3] - / MW_WATER ![g/mol] ==> umol/m3 - - DO I=1,NBR_SUB_AND_MAIN !All molecules and ions - TMOL(:) = TMOL(:) & - + AERO_AQ(:,I)/MW(I) - ENDDO - TMOLINV(:)=1.d0/TMOL(:) - - !Get the molar fraction of water as the last components - X_AQ(:,NSPIN+1) = LWC(:)/MW_WATER & - *TMOLINV(:) - - !Only count X of main components - !(i.e. acids and their dissociating products) - COMP_IDX=1 - DO I=1,NSPIN - - !Start by taking the amount of acid (non-dissociated component, H2A) - X_AQ(:,I)=AERO_AQ(:,COMP_IDX)/MW(COMP_IDX)*TMOLINV(:) - COMP_IDX=COMP_IDX + 1 - - !Add up any concentration of dissociated species (HA- or A2-) - DO J=2,NK(I) - X_AQ(:,I)=X_AQ(:,I)+AERO_AQ(:,COMP_IDX)/MW(COMP_IDX)*TMOLINV(:) - COMP_IDX=COMP_IDX + 1 - ENDDO - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:XAQ_GET',1,ZHOOK_HANDLE) - end subroutine XAQ_GET - - !***************************************** - - !************************************************ - subroutine kpart_get( & - TEMPK & !I [K] temperature - ,GAMMA_ORG & !I [-] activity coefficient - ,MW_AVG_ORG & !I [g/mol] average molar weight of organics - ,KB & !O [m3/ug] partitioning coefficient - ,VP & !I [torr] vapor pressure of SOA components - ,NSKIP & !I [nbr] number of species not used in the gamma_org array - ) - - !Purpose: get the partitioning coefficient - !Note that the activity coefficients here are for 18 species (POA + SOA) - !Whereas we calculate the K only for 10 species (SOA) - implicit none - - !INPUT - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] temperature - REAL, DIMENSION(:,:), INTENT(IN) :: GAMMA_ORG !I [-] activity coefficients - REAL, DIMENSION(:) :: MW_AVG_ORG !I [g/mol] molecular weight organics - REAL, DIMENSION(:,:) :: VP !I [torr] saturation vapor pressure of component - INTEGER, INTENT(IN) :: NSKIP !I [nbr] number of species not used in the gamma_org array - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: KB !O [m3/ug] partitioning coefficient - - !LOCAL - INTEGER :: I - - !The only goal of this routine is to get the partitioning coeffient: - !So here is the way to do it: - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:KPART_GET',0,ZHOOK_HANDLE) - do i=1,NBSP - KB(:,i)= 760.d0 &!torr/atm - *R_UNIV &!(m3*atm)/(mol*K) - *1.d-6 &!g/ug - *TEMPK(:) &!K - /VP(:,I) &!torr - /MW_AVG_ORG(:) &!g/mol - /GAMMA_ORG(:,i+NSKIP) !Note that we use I+NBSPOA here to avoid the POA species - !==> m3/ug - enddo - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:KPART_GET',1,ZHOOK_HANDLE) - end subroutine kpart_get - - !************************************************************ - - subroutine gas_from_henry( & - AERO_AQ & !I [ug/m3] aerosol concentration of acid [H2A] and ions - ,GAMMA_HENRY & !I [-] Henry's law activity coeffients - ,GAS_AQ & !O [ug/m3] gas phase concentrations - ,K & !I [m3/ug and mole/kg] Henry's law and acid diss. constants - ,LWC & !I [ug/m3] Liquid water content - ,NK & !I [nbr] number of sub and main species for component - ,NSPIN & !I [nbr] number of main species to take into account - ) - - implicit none - - !INPUT - REAL, DIMENSION(:,:), INTENT(IN) :: AERO_AQ !I [ug/m3] aerosol concentration of acid [H2A] and ions - REAL, DIMENSION(:,:), INTENT(IN) :: K !I [m3/ug and mole/kg] Henry's law and acid diss. const - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] liquid water content - REAL, DIMENSION(:,:), INTENT(IN) :: GAMMA_HENRY !I [-] Henry's law std. state act. coeff - INTEGER, DIMENSION(:), INTENT(IN) :: NK !I [nbr] number of sub and main species for component - INTEGER, INTENT(IN) :: NSPIN !I [nbr] number of main species to take into account - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS_AQ !O [ug/m3] gas phase concentration in Henry's law eql with aerosol phase - - !LOCAL - INTEGER :: I ![idx] counter for aquous phase species - INTEGER :: COMP_IDX ![idx] pointer to correct aquous phase species - INTEGER :: J ![idx] counter for ions - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:GAS_FROM_HENRY',0,ZHOOK_HANDLE) - COMP_IDX=1 - DO I=1,NSPIN - - !Apply Henry's law to get the Gas phase concentrations - GAS_AQ(:,I)= & - AERO_AQ(:,COMP_IDX)*GAMMA_HENRY(:,COMP_IDX) & - /(LWC(:)*K(:,COMP_IDX)) !Henry's law equilibrium - - !Prepare for next component - COMP_IDX = COMP_IDX +1 - - !Skip ionic components - DO J=2,NK(I) - COMP_IDX = COMP_IDX +1 - ENDDO - - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:GAS_FROM_HENRY',1,ZHOOK_HANDLE) - end subroutine gas_from_henry - - !*********************************************** - subroutine ACT_COEFF_HENRY_GET( & - X_AQ & !I [frc] molar fraction of components in aquous phase - ,TMOL_AQ & !I [umol/m3] total number of umol in aquous phase - ,GAMMA_RAOULT & !I [-] Raoult's law standard state activity coefficents - ,SI_AQ & !I [?] temperature dependent term for UNIFAC - ,GAMMA_HENRY & !O [-] Henry's law standard state activity coefficients - ) - - !Purpose: transform Raoult's law standard state activity coefficients - !into Henry' law standard state. This involves calculating activity coefficients - !for component "i" in infinite dillute solution, and normalize the Raoult's - !law activity coefficients - implicit none - !Input - REAL, DIMENSION(:,:), INTENT(INOUT) :: X_AQ ![frc] fraction of components in aquous phase - REAL, DIMENSION(:), INTENT(IN) :: TMOL_AQ ![umol/m3] total moles of aquous phase mixture - REAL, DIMENSION(:,:), INTENT(IN) :: GAMMA_RAOULT ![-] raoult's law standard state activity coeffients - REAL, DIMENSION(:,:,:), INTENT(IN) :: SI_AQ ![?] temperature dependent term for unifac - - !Output - REAL, DIMENSION(:,:), INTENT(OUT) :: GAMMA_HENRY ![-] Henry's law standard state activity coeffients - - !Local - REAL, DIMENSION(SIZE(X_AQ,1)) :: TMPX ![frc] saved value for mole fractions - REAL, DIMENSION(SIZE(X_AQ,1),SIZE(X_AQ,2)) :: X2 ![frc] normalized mole fraction when one component is dilluted - REAL, DIMENSION(SIZE(X_AQ,1),SIZE(X_AQ,2)) :: GAMMA ![-] activity coeffients when one component is dilluted - INTEGER :: I ![idx] counter for main components (acids) - INTEGER :: J ![idx] counter for main components (acids) - INTEGER :: COMP_IDX ![idx] pointer to correct components - - - ! calculate solute activity coefficient at infinite dilution - ! according to the standard state of Raoults Law - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:ACT_COEFF_HENRY_GET',0,ZHOOK_HANDLE) - COMP_IDX = 1 - DO I=1,NBSP - - !Save the real value of "X" - TMPX(:) = X_AQ(:,I) - - !Set component "I" to a value of inifinte dilution - X_AQ(:,I) = TMOL_AQ(:) * TINY - - !Make sure sum(X)=1 after modifying one value - DO J=1,NMOL_AQ - X2(:,J) = X_AQ(:,J)/SUM(X_AQ(:,1:NMOL_AQ)) - !write(6,*)"X2", X2(:,J) - ENDDO - - ! gamma (Raoults law std st) at infinite dilution */ - CALL ACT_COEFF_GET ( & - NU_AQ & - ,X2 & - ,QG_AQ & - ,GAMMA & - ,THTAGP_AQ & - ,Q_AQ & - ,R_AQ & - ,L_AQ & - ,SI_AQ & - ,NMOL_AQ & !!note, NAMOL is not equal to NMOL_AQ since NMOL_AQ contains water - ,NFUNC_AQ & - ) - - !convert gamma for solutes to Henry's Law standard state - !and set it equal for all main and sub-components "fxm: I am not sure where this equation comes from" - DO J=1,NKAQ(I) - GAMMA_HENRY(:,COMP_IDX)= & !Value for real "X" and Henry's law std. state - GAMMA_RAOULT(:,COMP_IDX) & !Value for real "X" and Raoult's law std. state - / GAMMA(:,I) !Value for dilute "X" and Raoult's law std. state - - COMP_IDX=COMP_IDX+1 - ENDDO - !write(6,*)"act_coeff_henry", I, gamma_henry(:,COMP_IDX-1) - - !Set back X to the value before the "inifinite dilution" value - X_AQ(:,I) = TMPX(:) - - ENDDO !Loop on components - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:ACT_COEFF_HENRY_GET',1,ZHOOK_HANDLE) - end subroutine ACT_COEFF_HENRY_GET - - !******************************************** - - subroutine MB_adjust( & - CB & !I [ug/m3] total (aerosol + gas) concentration - ,GAS_AQ & !I [ug/m3] gas concentration in eql with aquous phase - ,GAS_ORG & !I [ug/m3] gas concentration in eql with org phase - ,totAER_AQ & !I/O [ug/m3] total aerosol concentration (acid+ions) aq phase - ,AERO_ORG & !I/O [ug/m3] total aerosol concentration in org phase - ,GAS & !O [ug/m3] new guess for gas phase concentration - ) - - !Purpose: Adjust mass balance after that we have calculated aerosol phase - !concentrations in equilibrium with each other - - !Author: Alf Grini, alf.grini@cnrm.meteo.fr, 2005 - - implicit none - - !INPUT - REAL, INTENT(IN), DIMENSION(:,:) :: CB ![ug/m3] total (aq + org + gas) SOA concentration - REAL, INTENT(IN), DIMENSION(:,:) :: GAS_AQ ![ug/m3] gas phase concentration in eql with aq. phase - REAL, INTENT(IN), DIMENSION(:,:) :: GAS_ORG ![ug/m3] gas phase concentration in eql with org. phase - - !INPUT/OUTPUT - REAL, INTENT(INOUT), DIMENSION(:,:) :: totAER_AQ ![ug/m3] total concentration of H2A + HA- + HA(2-) - REAL, INTENT(INOUT), DIMENSION(:,:) :: AERO_ORG ![ug/m3] organic aerosol of organic phase - - !OUTPUT - REAL, INTENT(OUT), DIMENSION(:,:) :: GAS ![ug/m3] new guess for gas concentration - - !LOCAL - REAL, DIMENSION(SIZE(CB,1),SIZE(CB,2)) :: FRAC_ORG ![-] adjustment factor for organic aerosol phase - REAL, DIMENSION(SIZE(CB,1),SIZE(CB,2)) :: FRAC_AQ ![-] adjustment factor for aquous aerosol phase - REAL, DIMENSION(SIZE(CB,1),SIZE(CB,2)) :: XMB ![ug/m3] sum of component in all phases - REAL, DIMENSION(SIZE(CB,1),SIZE(CB,2)) :: GAS_MEAN ![ug/m3] mean of gas in eql with ORG and AQ phases - REAL, DIMENSION(SIZE(CB,1),SIZE(CB,2)) :: FRAC_MB ![-] correction factor for all phases to get mass balance - INTEGER :: I - - !Get mean gas phase concentration over organic phase and over aquous phase. - !If one is higher than the other, we know that the aerosol concentration in the - !phase with highest gas is too high relative to aerosol conc in the other phase. - !GAS_MEAN(:,:)=0.5d0*(GAS_AQ(:,:) + GAS_ORG(:,:)) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:MB_ADJUST',0,ZHOOK_HANDLE) - GAS_MEAN(:,:)=sqrt(GAS_AQ(:,:)*GAS_ORG(:,:)) - - IF(LPRINT)THEN - DO I=1, NBSP - write(6,*)"GAS_MEAN, GAS_AQ, GAS_ORG", I, GAS_MEAN(:,I), GAS_AQ(:,I), GAS_ORG(:,I) - ENDDO - ENDIF - !Get deviation from mean for organics. - !If this is higher than 1 it means the vapor pressure over the organic phase is low - !compared to the pressure over the aq. phase. (I.e. the aerosol concentration of org. phase is too low) - FRAC_ORG(:,:)=GAS_MEAN(:,:)/GAS_ORG(:,:) - - !Get deviation from mean for aquous phase - !If this is higher than 1 it means the vapor pressure over the aq phase is low - !compared to the pressure over the org. phase. (I.e. the aerosol concentration of aq. phase is too low) - FRAC_AQ(:,:)=GAS_MEAN(:,:)/GAS_AQ(:,:) - - IF(LPRINT)THEN - DO I=1,NBSP - write(6,*)"FRACS ORG/AQ ",I, FRAC_ORG(:,I), FRAC_AQ(:,I) - ENDDO - ENDIF - - !Adjust the aq aerosol phase using the information from the gas phase - totAER_AQ(:,:)=totAER_AQ(:,:)*FRAC_AQ(:,:) - - !Adjust the org aerosol phase using the information from the gas phase - AERO_ORG(:,:)=AERO_ORG(:,:)*FRAC_ORG(:,:) - - !Get the sum of all mass in the system. This equation will probably deviate from the - !total mass of the system which is the input - XMB(:,:)=GAS_MEAN(:,:) + totAER_AQ(:,:) + AERO_ORG(:,:) - IF(LPRINT)THEN - DO I=1,NBSP - write(6,*)"XMB/CB/Ratio",I, XMB(:,I), CB(:,I), XMB(:,I)/CB(:,I) - ENDDO - ENDIF - - !Get the adjustment factor for the mass balance - FRAC_MB(:,:)=CB(:,:)/XMB(:,:) - - !The new guess for all is that we adjust everything linearly to the mass balance - GAS(:,:)=GAS_MEAN(:,:)*FRAC_MB(:,:) - - !Total aerosol concentration of aquous phase - totAER_AQ(:,:)=totAER_AQ(:,:)*FRAC_MB(:,:) - - !Total aerosol concentration of organic phase - AERO_ORG(:,:)=AERO_ORG(:,:)*FRAC_MB(:,:) - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:MB_ADJUST',1,ZHOOK_HANDLE) - end subroutine MB_adjust - - !******************************************************************** - - subroutine totAER_to_AERO( & - totAER_AQ & !I [ug/m3] total aerosol (acid+ions) in aq phase - ,NOMINATOR & !I [-] term which gives acid if we know total (acid+ions) - ,AERO_AQ & !O [ug/m3] acid and aerosol concentrations - ,acHP & !I [mol/kg_{water}] proton concentration - ,MW & !I [g/mol] molecular weight of species - ,K & !I [m3/ug and mole/kg] Henry's law and acid diss. constants - ,NK & !I [nbr] number of sub and main components for a species - ,NSPIN & !I nbr] number of main species to take into account - ) - - !Purpose: Calculate the concentrations of ions and acids given - !that we know the gas concentrations of a component - - implicit none - - !INPUT - REAL, DIMENSION(:,:), INTENT(IN) :: totAER_AQ !I [ug/m3] total (H2A+HA-+A(2-)) aq aerosol - REAL, DIMENSION(:,:), INTENT(IN) :: NOMINATOR !I [-] factor which says how much of totAER_AQ which - !has dissociated - REAL, DIMENSION(:,:), INTENT(IN) :: K !I [m3/ug and mole/kg] Henry and dissociation constants - REAL, DIMENSION(:), INTENT(IN) :: MW !I [g/mol] molecular weight - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [mol/kg_{water}] proton concentration - INTEGER, DIMENSION(:), INTENT(IN) :: NK !I [nbr] number of acid and ions for main component - INTEGER, INTENT(IN) :: NSPIN !I [nbr] number of species to take into account - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: AERO_AQ ![ug/m3] all aq. phase aerosol sub components - - !LOCAL - INTEGER :: COMP_IDX ![idx] pointer to sub (ions) and main components - INTEGER :: I ![idx] counter for main components - INTEGER :: J ![idx] counter for ions - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:TOTAER_TO_AERO',0,ZHOOK_HANDLE) - COMP_IDX = 1 - DO I=1,NSPIN - - !Get aerosol concentration of first (main) component (H2A) - !These have the same molar weight, so this is OK - AERO_AQ(:,COMP_IDX) = totAER_AQ(:,I)/nominator(:,I) - - !Prepare for sub components - COMP_IDX = COMP_IDX +1 - - !Get aerosol concentrations of sub-components - !Simply use equilibrium constants in aquous phase - DO J=2,NK(I) - !Note that we skip activity coefficients from this calculations since - !they are anyway equal for all ions which are "children" of same main comp - AERO_AQ(:,COMP_IDX) = K(:,COMP_IDX) * AERO_AQ(:,COMP_IDX-1)/acHP(:) & - * MW(COMP_IDX)/MW(COMP_IDX-1) !eqn 6/7 in Griffin 2003 - !Prepare for next sub-component - COMP_IDX = COMP_IDX +1 - ENDDO - - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:TOTAER_TO_AERO',1,ZHOOK_HANDLE) - end subroutine totAER_to_AERO - - !********************************************************************************** - - subroutine AERO_to_totAER( & - AERO_AQ & !I [ug/m3] aquous phase concentrations (acid + ions) - ,totAER_AQ & !O [ug/m3] aquous phase concentrations (total = sum of acid+ions) - ,nominator & !I [-] transforming factor between acid and total - ,NK & !I [nbr] number of sub and mean species - ,NSPIN & !I [nbr] number of main species to take into account - ) - - !Purpose: knowing the amount of acid, we can calculate the total amount of aerosol - implicit none - REAL, DIMENSION(:,:), INTENT(IN) :: AERO_AQ ![ug/m3] - REAL, DIMENSION(:,:), INTENT(IN) :: NOMINATOR ![-] term to transfer between acid and acid+ions - INTEGER, DIMENSION(:), INTENT(IN) :: NK ![nbr] number of sub and mean species - INTEGER, INTENT(IN) :: NSPIN ![nbr] number of main species to take into account - - REAL, DIMENSION(:,:), INTENT(OUT) :: totAER_AQ ![ug/m3] - INTEGER :: I ![idx] counter for main component - INTEGER :: COMP_IDX ![idx] pointer to right component including ions - INTEGER :: J ![idx] counter for ions - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:AERO_TO_TOTAER',0,ZHOOK_HANDLE) - COMP_IDX=1 - DO I=1,NSPIN - - !Get aerosol concentration of first (main) component - totAER_AQ(:,I) = AERO_AQ(:,COMP_IDX)*nominator(:,I) - !Prepare for sub components - COMP_IDX = COMP_IDX +1 - - !Don't need to care about ion concentrations here because they don't influence - !anything as long as we know the "nominator" for main component. - !The "nominator" is only dependent on (H+) concentrations and on dissociation - !coefficients. Just go ahead and skip the indexes concerning ions - DO J=2,NK(I) - COMP_IDX = COMP_IDX +1 - ENDDO - - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:AERO_TO_TOTAER',1,ZHOOK_HANDLE) - end subroutine AERO_to_totAER - - !**************************************************************** - - subroutine nominator_get( & - acHP & !I [mol/kg_{water}] proton concentration - ,nominator & !O [-] term to transfer between acid and total aerosol - ,K & !I [m3/ug and mole/kg] Henry's law and dissociation constants - ,NK & !I [nbr] number of sub and main comp for acid - ,NSPIN & !I [nbr] number of (main) species to take into account - ) - - !Purpose: - !In the aquous phase, we have the following equations: - !1) K(1) = H2A*gamma(1)/H2A(g) (Henry's law) - !2) [H+]*[HA-]*gamma(2)/[H2A]/gamma(1) = K(2) (acid dissociation) - !3) [H+]*[A(2-)*gamma(3)]/[HA-]/gamma(2) = K(3) (acid dissociation) - - !Remember that gamma(2) is equal to gamma(3) so we get back the original equations for (2) and (3) - !1) K(1) = H2A*gamma(1)/H2A(g) (Henry's law) - !2) [H+]*[HA-]/[H2A] = K(2) (acid dissociation) - !3) [H+]*[A(2-)/[HA-] = K(3) (acid dissociation) - - - !The mole balance: - !totAER = H2A + HA- + A(2-) - !totAER = K(1)*[H2A(g)]/gamma(1) + K(2)[H2A]/[H+] + K(3)*[HA-]/[H+] - !totAER = K(1)*[H2A(g)]/gamma(1) + K(2)K(1)[H2A(g)]/gamma(1)/[H+] + K(3)K(2)K(1)[H2A(g)]/gamma(1)//([H+])^2 - !totAER = K(1)*[H2A(g)]/gamma(1)* (1 + K(2)/[H+] + K(3)K(2)/([H+])^2) - !totAER = [H2A]*(1 + K(2)/[H+] + K(3)K(2)/([H+])^2) = [H2A]/"nominator" - - !Remember that this is the mole balance, however, setting this up with mass, it turns - !out that molecular weights disappears so "nominator is the same" - !*********************************************************************************************** - implicit none - - REAL, DIMENSION(:), INTENT(IN) :: acHP ![mol/kg_{water}] proton concentration - REAL, DIMENSION(:,:), INTENT(OUT) :: NOMINATOR ![-] factor to convert H2A to total aerosol - REAL, DIMENSION(:,:), INTENT(IN) :: K ![m3/ug and mole/kg] dissociation constants - INTEGER, DIMENSION(:), INTENT(IN) :: NK ![nbr] number of sub and main comp for acid - INTEGER, INTENT(IN) :: NSPIN ![nbr] number of species to take into account - - REAL, DIMENSION(SIZE(NOMINATOR,1)) :: THISTERM ![-] term in nominator - INTEGER :: I ![idx] counter for main component - INTEGER :: J ![idx] counter for sub components (ions) - INTEGER :: COMP_IDX ![idx] pointer to correct sub-component - - - !Initialize - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:NOMINATOR_GET',0,ZHOOK_HANDLE) - NOMINATOR(:,:)=1.d0 - COMP_IDX=1 - DO I=1, NSPIN - - !Initialize term in nominator calculations - THISTERM(:)=1.d0 - - !Prepare for next term - COMP_IDX = COMP_IDX + 1 - - !Start loop on ion concentrations - DO J=2,NK(I) - THISTERM(:)=THISTERM(:)*K(:,COMP_IDX)/acHP(:) - NOMINATOR(:,I)=NOMINATOR(:,I) + THISTERM(:) - COMP_IDX = COMP_IDX + 1 - ENDDO !Loop on J - - ENDDO !Loop on I - - IF (LHOOK) CALL DR_HOOK('MODE_SOAEQLUTL:NOMINATOR_GET',1,ZHOOK_HANDLE) - end subroutine nominator_get - -end module mode_soaeqlutl diff --git a/src/arome/chem/module/mode_soatinit.F90 b/src/arome/chem/module/mode_soatinit.F90 deleted file mode 100644 index c916cbd9be70eabce606695f905914e287d8e766..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_soatinit.F90 +++ /dev/null @@ -1,166 +0,0 @@ -! ######spl -module mode_soatinit -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - use modd_glo - - implicit none - - !Purpose: Contains subroutines to initialize all parameters which are - !only Temperature-dependent - -contains - - !********************************** - subroutine VP_GET( & - TEMPK & !I [K] Temperature - ,VP & !I [torr] saturation vapor pressures - ) - - !Purpose: Find the saturation vapor pressures corrected for temperature - implicit none - - !Input - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] Temperature - - !Output - REAL, DIMENSION(:,:), INTENT(OUT) :: VP !O [torr] saturation vapor pressures - - !Local - REAL, DIMENSION(SIZE(VP,2)) :: DELCP - REAL, DIMENSION(SIZE(VP,2)) :: DELSB - REAL, DIMENSION(SIZE(VP,1),SIZE(VP,2)) :: TERM1 - REAL, DIMENSION(SIZE(VP,1),SIZE(VP,2)) :: TERM2 - - INTEGER :: I ![idx] counter for component - - !The following is cut and paste from Griffin's code - !I have to check the units here! - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:VP_GET',0,ZHOOK_HANDLE) - DO I = 1,NBSP - - !Calculate DELSB - DELSB(I)= 86.0 + 0.4*TAUVP(I)+1421.*HBN(I) - - !Calculate DELCP - DELCP(I) = -90.-2.1*TAUVP(I) - - !Calculate Intermediate terms 1 - TERM1(:,I) = DELSB(I)*(TEMPK(:)-TBOIL(I)) & - /19.1/TEMPK(:) - - !Calcualte intermediate term 2 - TERM2(:,I) = ((TBOIL(I)-TEMPK(:))/TEMPK(:) & - -LOG(TBOIL(I)/TEMPK(:))) & - *DELCP(I)/19.1 - - !Get the temperature-dependent - VP(:,I) = 760.*(10.**(TERM1(:,I)+TERM2(:,I))) - - ENDDO - - !Tuning: Correct vp so that they match chamber data - VP(:,1) = VP(:,1)/1.5 - VP(:,2) = VP(:,2)/1.4 - VP(:,3) = VP(:,3)/2.4 - VP(:,5) = VP(:,5)/66. - VP(:,8) = VP(:,8)/33. - VP(:,9) = VP(:,9)/3.3 - VP(:,10) = VP(:,10)/15. - - - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:VP_GET',1,ZHOOK_HANDLE) - end subroutine VP_GET - - !********************************* - - subroutine AQCONST_GET( & - TEMPK & !I [K] temperature - ,K & !O [units] Henry's law and dissociation constants - ,NK & !I [nbr] Number of total and sub-components for one acid - ) - - !Purpose: Calculate - implicit none - !Input - REAL, INTENT(IN), DIMENSION(:) :: TEMPK !I [K] temperature - INTEGER, INTENT(IN), DIMENSION(:) :: NK !I [nbr] Number of total and sub-components for one acid - - !Output - REAL, INTENT(OUT), DIMENSION(:,:) :: K !O [units] temperature dependent value of K_298 - - !Local - INTEGER :: I ![idx] counter for components - INTEGER :: COMP_IDX ![idx] pointer to right component - INTEGER :: J ![idx] counter for sub components (ions) - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:AQCONST_GET',0,ZHOOK_HANDLE) - COMP_IDX=1 - DO I=1,NBSP - - !Adjust Henry's law constant - K(:,COMP_IDX) = K_298(COMP_IDX) & - *EXP(15.*((1./TEMPK(:))-(1./298.15))/0.001987) - !Prepare for next component - COMP_IDX=COMP_IDX+1 - - !Calculate dissociation constants of sub-components (ions) - DO J=2,NK(I) - K(:,COMP_IDX) = K_298(COMP_IDX) & - *EXP(0.5*((1./TEMPK(:))-(1./298.15))/0.001987) - !Prepare for next component - COMP_IDX=COMP_IDX + 1 - ENDDO - - ENDDO !loop on I - - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:AQCONST_GET',1,ZHOOK_HANDLE) - end subroutine AQCONST_GET - - !************************************* - - subroutine SI_GET( & - TEMPK & !I [K] temperature - ,A & !I [units?] term in UNIFAC parameterization - ,SI & !O [units?] term in UNIFAC parameterization - ,NFUNC & !I [nbr] number of functional group in mixture - ) - - !Purpose: Calculate the term in the unifac method which - !is dependent only on temperature. This term includes - !exponential of a large matrix, so it presumably takes - !up a lot of computer time. - implicit none - - !Input - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] temperature - REAL, DIMENSION(:,:), INTENT(IN) :: A !I [?] Term in UNIFAC parameterization - INTEGER, INTENT(IN) :: NFUNC !I [nbr] number of functional groups in mixture - - !Output - REAL, DIMENSION(:,:,:), INTENT(OUT) :: SI !O [?] term in UNIFAC parameterization - - !Local - REAL, DIMENSION(SIZE(TEMPK)) :: TEMPKINV ![1/K] inverse of temperature - INTEGER :: J1, J2 ![idx] counter for functional groups - - - !Get values of SI (temperature dependent), don't need to be in the iteration! - !eqn 9 in MaP05 - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:SI_GET',0,ZHOOK_HANDLE) - TEMPKINV(:) = 1.d0/TEMPK(:) - DO J1=1,NFUNC - DO J2=1,NFUNC - SI(:,J1,J2) = EXP(-A(J1,J2)*TEMPKINV(:)) - ENDDO - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_SOATINIT:SI_GET',1,ZHOOK_HANDLE) - end subroutine SI_GET - -end module mode_soatinit diff --git a/src/arome/chem/module/mode_typea.F90 b/src/arome/chem/module/mode_typea.F90 deleted file mode 100644 index feea4c999f5d2dab8a0876f28703d2804682d756..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_typea.F90 +++ /dev/null @@ -1,516 +0,0 @@ -! ######spl -module mode_typea -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - use modd_unifacparam - use mode_unifac - use mode_soatinit, only: SI_GET - use modd_glo, only: NBSPA, NAAEROA, NKA - - IMPLICIT NONE - - PUBLIC - PRIVATE :: PARTFUNC2 - - !*************************************************************************** - !Purpose: - !Type A module: takes input of particle concentrations and returns - !the values obtained after iterations - ! - !Preconditions: This subroutine is called from amain, and takes the - !the qualified guesses for aerosol concentrations as input. - !Hopefully it finds the solutions for aerosol/gas partitioning - ! - !Subroutines called: - !unidriver and partition - !(unidriver is always called with all 7 molecules that may be present) - ! - !Revisions: 1. Developed by Betty Pun, AER, Jan 99, under EPRI funding for - ! prototype SOA module with 2 condensable compounds (malic acid, - ! glyoxalic acid) and water - ! - ! 2. Modified November 99 to accept 6 model compounds + water under - ! CARB funding (for the list of condensables see main) - ! - ! 3. Modified treatment of negative test concentrations so that - ! program does not exit prematurely. B. Pun Jan 2000. - !************************************************************************** - - CONTAINS - - SUBROUTINE TYPEA ( & - AERO & !I/O [ug/m3] aerosol phase concentrations - ,GAS & !O [ug/m3] gas phase concentrations - ,totA & !I [ug/m3] total (aerosol+gas concentration) - ,TEMPK & !I [K] temperature - ,LWC & !I [ug/m3] Liquid water content of aerosols - ,acHP & !I [mol/kg_{water}] proton concentration - ) - - USE mode_soaeqlutl, only: XAQ_GET - - IMPLICIT NONE - !INPUT - REAL, DIMENSION(:,:), INTENT(INOUT) :: AERO !I/O [ug/m3] aerosol concentration (ions and molecules) - REAL, DIMENSION(:,:), INTENT(IN) :: totA !I [ug/m3] total (gas+aerosol) concentrations - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] liquid water content of aerosols - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [mol/kg_{water}] proton concentration - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS !I/O [ug/m3] gas phase concentrations - - !Local, automatic arrays - REAL, DIMENSION(SIZE(TEMPK,1)) :: TMOL ![umol/m3] total moles in aquous phase - REAL, DIMENSION(SIZE(TEMPK,1)) :: TMPX ![-] temporary save variable for mole fraction - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: totAER ![ug/m3] total aerosol - REAL, DIMENSION(SIZE(GAS,1),NBSPA,3) :: ACIDFRC ![frc] fraction of different acids - - !Local, allocatable - REAL, ALLOCATABLE, DIMENSION(:,:) :: X ![-] molar fraction of components - REAL, ALLOCATABLE, DIMENSION(:,:) :: X2 ![-] molar fraction of components after one is dilluted - REAL, ALLOCATABLE, DIMENSION(:,:) :: GAMMA ![-] activity coefficients Henry's law std. state all comps - REAL, ALLOCATABLE, DIMENSION(:,:) :: GAMMAR ![-] activity coefficients Raoult's law std. state main comps - REAL, ALLOCATABLE, DIMENSION(:,:,:) :: SI_A ![?] temperature dependent activity coefficient - - !Local small counters etc - REAL :: XX - INTEGER :: COMP_IDX ![idx] index for component number (1-13 currently) - INTEGER :: I ![idx] counter for main component (molecules) - INTEGER :: J ![idx] counter for sub components (ions) - INTEGER :: ITER_IDX ![idx] counter for number of iterations - INTEGER, PARAMETER :: MAX_ITER=10 ![nbr] max number of iterations - - !Allocate memory - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_TYPEA:TYPEA',0,ZHOOK_HANDLE) - ALLOCATE(X(SIZE(TEMPK,1),NBSPA+1)) !The extra component is water, could have used NMOL_A here - ALLOCATE(X2(SIZE(TEMPK,1),NBSPA+1)) !The extra component is water, could have used NMOL_A here - ALLOCATE(GAMMAR(SIZE(TEMPK,1),NBSPA+1)) !The extra component is water, could have used NMOL_A here - ALLOCATE(GAMMA(SIZE(TEMPK,1),NAAEROA)) - ALLOCATE(SI_A(SIZE(TEMPK,1),NFUNC_A,NFUNC_A)) !Temperature dependent factor for act. coeff - - IF(LPRINT)THEN - write(6,*)" " - write(6,*)"*****************" - write(6,'(a10,13e10.3)')"AERO",AERO - write(6,'(a10,6e10.3)')"GAS",GAS - write(6,'(a10,6e10.3)')"totA", totA - write(6,'(a10,7e14.6)')"X",X - write(6,*)"*****************" - ENDIF - - !Get temperature dependent UNIFAC coefficient - CALL SI_GET( & - TEMPK & !I [K] temperature - ,A_A & !I [units?] term in UNIFAC parameterization - ,SI_A & !O [units?] term in UNIFAC parameterization - ,NFUNC_A & !I [nbr] number of functional group in mixture - ) - - !Start the iterations to make sure things converge at this H+/LWC - DO ITER_IDX = 1, MAX_ITER - - !Get the molar fraction of water - CALL XAQ_GET( & - LWC & !I [ug/m3] liquid water content - ,AERO & !I [ug/m3] aquous phase aerosol concentrations of acids and ions - ,X & !O [frc] molar fraction of main component in aq phase - ,TMOL & !O [umole/m3] total aquous phase aerosol - ,MWA & !I [g/mol] molecular weight of species - ,NKA & !I [nbr] number of components for main acid - ,NBSPA & !I [nbr] number of main species - ) - - !Get first Raoult's law activity coefficients - CALL ACT_COEFF_GET( & - NU_A & !I [nbr] number of functional groups in molecule I - ,X & !I [frc] mole fraction of molecule I - ,QG_A & !I [m2(?)] group surface area parameter - ,GAMMAR & !O [-] activity coefficient - ,THTAGP_A & !I [-] surface area ratio of groups (j) in pure component (i) - ,Q_A & !I [m2] surface area of pure component - ,R_A & !I [m3] total volume of pure component - ,L_A & !I [?] unifac parameter pure component - ,SI_A & !I [?] temperature dependent term - ,NMOL_A & !I [nbr] total number of molecules (including water) - ,NFUNC_A & !I [nbr] total number of functional groups (e.g. CH2, NO3 ..) - ) - - !Set activity coeffients for all components, ions and acids - !to the Raoult's law standard state value for the real X - COMP_IDX=1 - DO I=1,NBSPA - GAMMA(:,COMP_IDX)=GAMMAR(:,I) - COMP_IDX = COMP_IDX +1 - !Set activity coefficients for the sub-components - !equal to those for the main components - DO J=2,NKA(I) - GAMMA(:,COMP_IDX) = GAMMAR(:,I) - COMP_IDX=COMP_IDX + 1 - ENDDO !loop on ions - ENDDO !loop on main comp - - ! calculate solute activity coefficient at infinite dilution - ! according to the standard state of Raoults Law - COMP_IDX = 1 - DO I=1,NBSPA - - !Save the real value of "X" - TMPX(:) = X(:,I) - - !Set component "I" to a value of inifinte dilution - X(:,I) = TMOL(:) * TINY - - !Make sure sum(X)=1 after modifying one value - DO J=1,NBSPA+1 - X2(:,J) = X(:,J)/SUM(X(:,1:NBSPA+1)) - ENDDO - - ! gamma (Raoults law std st) at infinite dilution */ - CALL ACT_COEFF_GET( & - NU_A & !I [nbr] number of functional groups in molecule I - ,X2 & !I [frc] mole fraction of molecule I - ,QG_A & !I [m2(?)] group surface area parameter - ,GAMMAR & !O [-] activity coefficient - ,THTAGP_A & !I [-] surface area ratio of groups (j) in pure component (i) - ,Q_A & !I [m2] surface area of pure component - ,R_A & !I [m3] total volume of pure component - ,L_A & !I [?] unifac parameter pure component - ,SI_A & !I [?] temperature dependent term - ,NMOL_A & !I [nbr] total number of molecules (including water) - ,NFUNC_A & !I [nbr] total number of functional groups (e.g. CH2, NO3 ..) - ) - - !convert gamma for solutes to Henry's Law standard state - !and set it equal for all main and sub-components "fxm: I am not sure where this equation comes from" - DO J=1,NKA(I) - GAMMA(:,COMP_IDX)= & !Value for real "X" and Henry's law std. state - GAMMA(:,COMP_IDX) & !Value for real "X" and Raoult's law std. state - / GAMMAR(:,I) !Value for dilute "X" and Raoult's law std. state - - COMP_IDX=COMP_IDX+1 - ENDDO - - !Set back X to the value before the "inifinite dilution" value - X(:,I) = TMPX(:) - - ENDDO !Loop on components - - !Now that we have the gammas, and the mole fractions - !we can have get the gas and aerosol partitioning in thermodynamic - !equilibrium with these conditions - CALL PARTFUNC2( & - AERO & !I/O [ug/m3] aerosol concentration in Henry's law eql - ,GAS & !O [ug/m3] gas concentrations - ,totA & !I [ug/m3] total aerosol concentration - ,GAMMA & !I [-] Henry's law std. state activity coefficients - ,acHP & !I [mol/kg_{water}] proton concentration - ,LWC & !I [ug/m3] Liquid water content - ) - - - IF(LPRINT)THEN - write(6,*)"*****************" - write(6,'(a10,7e14.6)')"GAMMAR", GAMMAR - write(6,'(a10,13e10.3)')"GAMMA", GAMMA - write(6,'(a10,13e10.3)')"AERO",AERO - write(6,'(a10,6e10.3)')"GAS",GAS - write(6,'(a10,6e10.3)')"totA", totA - write(6,'(a10,7e14.6)')"X",X - write(6,*)"*****************" - ENDIF - - ENDDO !Loop on iterations - - IF(LBOX)THEN - !Check mass balance after iterations - COMP_IDX=1 - DO I=1,NBSPA - totAER(:,I)=0.d0 - DO J=1,NKA(I) - IF(J.eq.1)THEN - XX=1.d0 - ELSE - XX=MWA(COMP_IDX-1)/MWA(COMP_IDX) - ENDIF - totAER(:,I) = totAER(:,I) + AERO(:,COMP_IDX)*XX - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - ACIDFRC=0.d0 - COMP_IDX=1 - DO I=1,NBSPA - DO J=1,NKA(I) - - IF(J.eq.1)THEN - XX=1.d0 - ELSE - XX=MWA(COMP_IDX-1)/MWA(COMP_IDX) - ENDIF - - ACIDFRC(:,I,J)=AERO(:,COMP_IDX)*XX/totAER(:,I) - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - write(6,*)"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - write(6,*)"TYPE A TOTALS" - write(6,*) - write(6,'(a10,6e10.3)')"GAS",GAS - write(6,'(a10,6e10.3)')"totAER",totAER - write(6,'(a10,6e10.3)')"totA",totA - write(6,'(a10,6e10.3)')"aerfrc",totAER/totA - write(6,'(a10,6e10.3)')"diff",totA-totAER-GAS - write(6,*)'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' - - write(6,*)" TYPE A ACID FRACTIONS" - do I=1,NBSPA - write(6,'(a10,i5,3f12.5)')"frc : I ",I,acidfrc(:,I,1:3) - ENDDO - ENDIF !LBOX - - DEALLOCATE(X) - DEALLOCATE(X2) - DEALLOCATE(GAMMAR) - DEALLOCATE(GAMMA) - DEALLOCATE(SI_A) - - - IF (LHOOK) CALL DR_HOOK('MODE_TYPEA:TYPEA',1,ZHOOK_HANDLE) - END SUBROUTINE TYPEA - - - !**************************************************************************** - - SUBROUTINE PARTFUNC2( & - AERO & !I/O [ug/m3] guessed aerosol concentration of main and sub components - ,GAS & !O [ug/m3] gas concentrations in eql with aerosol concentrations - ,totA & !I [ug/m3] total (gas+aerosol) concentration of main components - ,GAMMA & !I [-] Activity coefficients (Henry's law standard state) - ,acHP & !I [mol/kg_{water}] proton concentration - ,LWC & !I [ug/m3] Liquid water content - ) - - - !Purpose: having guessed the aerosol phase concentrations, we want to check if this is - !consistent with Henry's law equilibrium with gas phase. - !If the resulting gas phase concentration is too high, we have reduce the aerosol phase concentrations - - !In amain we used K2=[HA-][H+]/[HA] where [X] represented concentrations of X. This was only - !an approximation to get first guess. Here, we remember that [X] is ACTIVITY of X, and therefore - ![X]=gamma_X*{X} where {X} is concentration - - !The equations given on top of amain transforms to - !We have the following equations: - !1) K(1) = H2A*gamma(1)/H2A(g) (Henry's law) - !2) [H+]*[HA-]*gamma(2)/[H2A]/gamma(1) = K(2) (acid dissociation) - !3) [H+]*[A(2-)*gamma(3)]/[HA-]/gamma(2) = K(3) (acid dissociation) - - !Remember that gamma(2) is equal to gamma(3) so we get back the original equations for (2) and (3) - !1) K(1) = H2A*gamma(1)/H2A(g) (Henry's law) - !2) [H+]*[HA-]/[H2A] = K(2) (acid dissociation) - !3) [H+]*[A(2-)/[HA-] = K(3) (acid dissociation) - - - !The mole balance: - !totAER = H2A + HA- + A(2-) - !totAER = K(1)*[H2A(g)]/gamma(1) + K(2)[H2A]/[H+] + K(3)*[HA-]/[H+] - !totAER = K(1)*[H2A(g)]/gamma(1) + K(2)K(1)[H2A(g)]/gamma(1)/[H+] + K(3)K(2)K(1)[H2A(g)]/gamma(1)//([H+])^2 - !totAER = K(1)*[H2A(g)]/gamma(1)* (1 + K(2)/[H+] + K(3)K(2)/([H+])^2) - !totAER = [H2A]*(1 + K(2)/[H+] + K(3)K(2)/([H+])^2) = [H2A]/"nominator" - !*********************************************************************************************** - - IMPLICIT NONE - - !INPUT - REAL, DIMENSION(:,:), INTENT(IN) :: totA !I [ug/m3] total (gas+aerosol) - REAL, DIMENSION(:,:), INTENT(IN) :: GAMMA !I [-] Henry's law std. state act. coefficients - REAL, DIMENSION(:), INTENT(IN) :: acHP !I [mol/kg_{water}] proton concentration - REAL, DIMENSION(:), INTENT(IN) :: LWC !I [ug/m3] liquid water content - - !INPUT/OUTPUT - REAL, DIMENSION(:,:), INTENT(INOUT) :: AERO !I/O [ug/m3] aerosol concentrations of all (molecs and ions) - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAS !I/O [ug/m3] gas phase concentrations - - !Local, automatic arrays - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: AERO_NEW ![ug/m3] aerosol concentration in Henry's law eql - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: GAS_NEW1 ![ug/m3] gas in eql with guessed aerosol - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: GAS_NEW2 ![ug/m3] gas in eql with guessed aerosol - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: totAER_OLD ![ug/m3] total aerosol (main+sub components), not in MB - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: totAER_NEW ![ug/m3] total aerosol (main+sub components), in MB - REAL, DIMENSION(SIZE(GAS,1),SIZE(GAS,2)) :: totA_NEW ![ug/m3] new total which can deviate from mass balance - - REAL, DIMENSION(SIZE(totA,1)) :: THISTERM ![-] term in solving equilibrium for main component - REAL, DIMENSION(SIZE(totA,1)) :: NOMINATOR ![-] term in solving equilibrium for main component - - !Local, small counter etc - INTEGER :: I ![idx] counter for main component - INTEGER :: J ![idx] counter for sub-components (ions) - INTEGER :: COMP_IDX ![idx] pointer to right component in AERO array - INTEGER :: COMP_IDX2 ![idx] pointer to right index in K-array (eql constants) - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_TYPEA:PARTFUNC2',0,ZHOOK_HANDLE) - COMP_IDX = 1 - DO I=1,NBSPA - - !***********PART 1********************************************** - !Guess that the gas is the concentration in Henry's law equilibrium - !Note that this IS the correct gas, given that our guess for aerosol is OK - GAS_NEW1(:,I)=MIN(totA(:,I)-TINY, & !Total aerosol concentration - AERO(:,COMP_IDX)*GAMMA(:,COMP_IDX)/(LWC(:)*K_A_298(COMP_IDX))) !Henry's law equilibrium - - !At this point, get first totAER which is input aerosol concentration - COMP_IDX2=COMP_IDX - totAER_OLD(:,I)=AERO(:,COMP_IDX) - DO J=2,NKA(I) - COMP_IDX2=COMP_IDX2 +1 - totAER_OLD(:,I) = totAER_OLD(:,I) + AERO(:,COMP_IDX2)*MWA(COMP_IDX)/MWA(COMP_IDX2) - ENDDO - - !totA_NEW is GAS+AEROSOL which might deviate from mass balance - totA_NEW(:,I)=totAER_OLD(:,I) + GAS_NEW1(:,I) - - !Scale with this one to obtain totAER and GAS_NEW in accordance with mass balance - totAER_NEW(:,I)=totAER_OLD(:,I)*totA(:,I)/totA_NEW(:,I) - - !Get gas concentration in accordance with mass balance - GAS_NEW1(:,I)=GAS_NEW1(:,I)*totA(:,I)/totA_NEW(:,I) - - !write(6,'(a,i5, 6f10.5)')"GAS_FRC A0",I,100.*(GAS_NEW1(:,I))/totA(:,I), (GAS_NEW1(:,I)+totAER_NEW(:,I))/totA(:,I) - - !Now, force the aerosol concentrations with this new gas concentrations - !Get the nominator in the mass balance equation (see mode_amain) - NOMINATOR(:)=1.d0 - THISTERM(:)=1.d0 - - COMP_IDX2 = COMP_IDX !counter for sub-components for which we sum - DO J=2,NKA(I) - COMP_IDX2=COMP_IDX2 + 1 - THISTERM(:)=THISTERM(:)*K_A_298(COMP_IDX2)/acHP(:)*MWA(COMP_IDX2-1)/MWA(COMP_IDX2) - NOMINATOR(:)=NOMINATOR(:) + THISTERM(:) - ENDDO - - !Get new aerosol concentration of main component - !This IS the correct aerosol concentration given that the gas phase was OK - !However, this aerosol concentration can differ from the orignal one - AERO_NEW(:,COMP_IDX) = totAER_NEW(:,I)/NOMINATOR(:) - COMP_IDX = COMP_IDX +1 - - !Get aerosol concentrations of sub-components - !Simply use equilibrium constants in aquous phase - DO J=2,NKA(I) - !Note that we skip activity coefficients from this calculations since - !they are anyway equal for all ions which are "children" of same main comp - AERO_NEW(:,COMP_IDX) = K_A_298(COMP_IDX) * AERO_NEW(:,COMP_IDX-1)/acHP(:) - COMP_IDX = COMP_IDX +1 - ENDDO - - !*************END PART 1********************************************** - !Now we have obtained GAS_NEW1 from eql with original mass balance, and we have - !Gotten back a new TOTAER_NEW from MB with GAS_NEW1******************** - !********************************************************************** - - !Do an extra calculation here to make sure that the calculations don't oscillate - !Now, the aerosol concentration is the one in equilibrium with the gas phase (gas_new) - !Remember that GAS_NEW was obtained from Henry's law with guessed aerosol concentrations. - !The aerosol concentrations are now reduced if the original guess was too high - - !****************PART 2*********************************************** - !Get another guess for gas, obtained from the new aerosol conc - !******************************************************************** - - !First: go back to main component - COMP_IDX = COMP_IDX - NKA(I) - - !Re-calculate gas using Henry' law - GAS_NEW2(:,I)=MIN(totA(:,I)-TINY, & !Total aerosol concentration - AERO_NEW(:,COMP_IDX)*GAMMA(:,COMP_IDX)/(LWC(:)*K_A_298(COMP_IDX))) !Henry's law equilibrium - - - !totA_NEW is GAS+AEROSOL which might deviate from mass balance - totA_NEW(:,I)=totAER_NEW(:,I) + GAS_NEW2(:,I) - - !Get total aerosol in accordance with mass balance - totAER_NEW(:,I)=totAER_NEW(:,I)*totA(:,I)/totA_NEW(:,I) - - !Get gas in accordance with mass balance - GAS_NEW2(:,I)=GAS_NEW2(:,I)*totA(:,I)/totA_NEW(:,I) - - !write(6,'(a,i5,6f10.5)')"GAS_FRC A1",I,100.*(GAS_NEW2(:,I))/totA(:,I),(GAS_NEW2(:,I)+totAER_NEW(:,I))/totA(:,I) - - !************END PART 2 *************************************** - - !***********PART 3********************************************* - !Here we assume that both guesses for gas are OK - !so we use the mean of them as the "true" answer - !and obtain totAER from the mass balance again - - GAS_NEW2(:,I)=0.5*(GAS_NEW2(:,I) + GAS_NEW1(:,I)) - totAER_NEW(:,I)=totA(:,I) - GAS_NEW2(:,I) !Total aerosol obtained from mass balance - - !*********END PART 3********************************************* - - !**********PART 4 ********************************************* - !Get the aerosol concentrations assuming that totAER_NEW is the true - !total aerosol concentration - !**************************************************************** - - !Get the nominator in the mass balance equation (see mode_amain) - NOMINATOR(:)=1.d0 - THISTERM(:)=1.d0 - COMP_IDX2 = COMP_IDX - DO J=2,NKA(I) - COMP_IDX2=COMP_IDX2 + 1 - THISTERM(:)=THISTERM(:)*K_A_298(COMP_IDX2)/acHP(:)*MWA(COMP_IDX2-1)/MWA(COMP_IDX2) - NOMINATOR(:)=NOMINATOR(:) + THISTERM(:) - ENDDO - - !Get new aerosol concentration of main component - AERO_NEW(:,COMP_IDX) = totAER_NEW(:,I)/NOMINATOR(:) - - !This is also the output - AERO(:,COMP_IDX) = AERO_NEW(:,COMP_IDX) - - !Prepare for next component - COMP_IDX = COMP_IDX +1 - - !Get output aerosol concentrations of sub-components - !Simply use equilibrium constants in aquous phase - - DO J=2,NKA(I) - !New iterated concentrations of ions. - !Note that we skip activity coefficients from this calculations since - !they are anyway equal for all ions which are "children" of same main comp - AERO_NEW(:,COMP_IDX) = K_A_298(COMP_IDX) * AERO_NEW(:,COMP_IDX-1)/acHP(:) - !This is also the output - AERO(:,COMP_IDX) = AERO_NEW(:,COMP_IDX) - !Prepare for next component - COMP_IDX = COMP_IDX +1 - ENDDO - - !Check new mass balance - !COMP_IDX2=COMP_IDX - NK(I) - !totAER_NEW(:,I)=AERO(:,COMP_IDX2) - !DO J=2,NK(I) - ! COMP_IDX2=COMP_IDX2 + 1 - ! totAER_NEW(:,I) = totAER_NEW(:,I) + AERO(:,COMP_IDX2)*MW(COMP_IDX-NK(I))/MW(COMP_IDX2) - !ENDDO - - !Set output gas concentrations here - GAS(:,I) = GAS_NEW2(:,I) - !write(6,'(a,i5,6f10.5)')"GAS_FRC A2",I,100.*(GAS(:,I))/totA(:,I),(GAS(:,I)+totAER_NEW(:,I))/totA(:,I) - - !Set output gas concentration - - ENDDO !Loop on components - IF (LHOOK) CALL DR_HOOK('MODE_TYPEA:PARTFUNC2',1,ZHOOK_HANDLE) - END SUBROUTINE PARTFUNC2 - !******************************************************************** - -END MODULE mode_typea diff --git a/src/arome/chem/module/mode_typeb.F90 b/src/arome/chem/module/mode_typeb.F90 deleted file mode 100644 index 2a9eaaecf8d9dbbd967402cb8f3792421932210a..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_typeb.F90 +++ /dev/null @@ -1,351 +0,0 @@ -! ######spl -module mode_typeb -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - use modd_glo - use modd_unifacparam ! definition of variables for unifac - use mode_unifac ! UNIFAC module - use mode_soatinit, only: SI_GET - - IMPLICIT NONE - - PUBLIC - PRIVATE :: KPART_PUN_GET - -!*************************************************************************** -!Purpose: Partition of Type B condensables, -! Ai orig used in Unifac --> gamma, -! gamma --> Ki; Ki --> the distribution of OC -! Particle phase OC (Ai final) calculated -! need f = Ai orig - Ai final = 0, f = delta aerosol is output -! -!Notes: 1. defined (hardcoded in glo.h or glodef.h) values used: -!! MWaom (non-volatile) = 280 -! NBSPAOM = 5, -! xaom = {0.4, 0.05, 0.15, 0.12, 0.28}; -! default breakdown of AOM -! compound mass frac. mole frac. -! C24 alkanoic acid 0.50 0.40 -! C18 alkenoic acid 0.05 0.05 -! actonyl syringol 0.11 0.15 -! C20 alkane 0.17 0.12 -! arom. dicarboxylic acid 0.17 0.28 -! -!Revision history: Developed by Betty Pun, AER, Jan 99 Under EPRI -! Modified by Betty Pun, AER, Nov 99 Under CARB -! 1. increase the number of partitioning compound -! 2. conform to models-3 coding standard -! 3. allow the selection of equations to solve when -! using Newt. -! 4. Rewritten to f90 and MESONH style: Alf Grini, CNRM -!***************************************************************************/ - -contains - - subroutine TypeB( & - PAOM & !I [ug/m3] primary aerosol concentrations - ,AERO & !I/O [ug/m3] "iteratable" secondary aerosol concentrations - ,GAS & !I/O [ug/m3] "iteratable" condenseable gas concentrations - ,CB & !I [ug/m3] total (gas+aerosol) semi volatile species - ,TEMPK & !I [K] temperature - ) - - IMPLICIT NONE - - !INPUT/OUTPUT - REAL, DIMENSION(:), INTENT(IN) :: PAOM ![ug/m3] Non volatile organic absorbing compounds - REAL, DIMENSION(:,:), INTENT(INOUT) :: AERO ![ug/m3] iteratable secondary aerosol concentration - REAL, DIMENSION(:,:), INTENT(INOUT) :: GAS ![ug/m3] iteratable condenseable gas concentration - REAL, DIMENSION(:,:), INTENT(IN) :: CB ![ug/m3] total (gas+aerosol) semi volatile (B) species - REAL, DIMENSION(:), INTENT(IN) :: TEMPK ![K] temperature - - !LOCAL, WORKING ARRAYS (AUTOMATIC ARRAYS) - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: AERO_OLD ![ug/m3] old secondary aerosol concentrations - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: AERO_NEW ![ug/m3] new secondary aerosol concentrations - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: GAS_OLD ![ug/m3] old condenseable gas concentrations - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: GAS_NEW1 ![ug/m3] new guess for gas OK with mass balance - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: GAS_NEW2 ![ug/m3] new guess for gas also OK with mass balance - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: CB_NEW ![ug/m3] "mass balance" not equal to CB - REAL, DIMENSION(SIZE(AERO,1)) :: M0_OLD ![ug/m3] old value for total aerosol mass - REAL, DIMENSION(SIZE(AERO,1)) :: M0_NEW ![ug/m3] new value of total aerosol mass - REAL, DIMENSION(SIZE(AERO,1),SIZE(AERO,2)) :: KPART ![m3/ug] partitioning coefficient - - REAL, DIMENSION(SIZE(AERO,1)) :: TMOLAOM ![umol/m3] total mole primary absorbing organic medium - REAL, DIMENSION(SIZE(AERO,1)) :: TMOL ![umol/m3] total mole of all organic b in aerosol phase - REAL, DIMENSION(SIZE(AERO,1)) :: TMOLINV ![m3/umol] 1/TMOL - REAL, DIMENSION(SIZE(AERO,1)) :: MWOM ![g/mol] average molar weight of semi volatile organics - - !LOCAL, WORKING ARRAYS (ALLOCATABLES) - REAL, ALLOCATABLE, DIMENSION(:,:) :: X ![frc] molar fraction all organics - REAL, ALLOCATABLE, DIMENSION(:,:) :: GAMA ![-] activity coefficient for all species - REAL, ALLOCATABLE, DIMENSION(:,:) :: GAMA_B ![-] activity coefficients for partitioning species - REAL, ALLOCATABLE, DIMENSION(:,:) :: ORGP ![umol/m3] concentration of primary absorbing species - REAL, ALLOCATABLE, DIMENSION(:,:,:) :: SI_B ![?] temperature dependent coefficient in UNIFAC - - INTEGER :: ITER_IDX !Counter for number of iterations - INTEGER :: I !Counter for components - INTEGER, PARAMETER :: MAX_ITER=10 !Max number of iterations - - !Allocate memory for X, GAMA, ORGP - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_TYPEB:TYPEB',0,ZHOOK_HANDLE) - ALLOCATE(X(SIZE(AERO,1),NBSPAO_PUN+NBSPB)) - ALLOCATE(GAMA(SIZE(AERO,1),NBSPAO_PUN+NBSPB)) - ALLOCATE(GAMA_B(SIZE(AERO,1),NBSPB)) - ALLOCATE(ORGP(SIZE(AERO,1),NBSPAO_PUN)) - ALLOCATE(SI_B(SIZE(AERO,1),NFUNC_B,NFUNC_B)) - - !Initialize the "old" arrays with guessed concentrations - AERO_OLD(:,:)=AERO(:,:) !initial Guess for aerosol - GAS_OLD(:,:)=GAS(:,:) !initial Guess for gas - - - IF(LBOX)THEN - write(6,*)" " - write(6,*)"************************START TYPE B VALUES********" - write(6,'(a10,5e14.5)')"AERO",AERO - write(6,'(a10,5e14.5)')"GAS",GAS - write(6,'(a10,5e14.5)')"CB",CB - write(6,'(a10,e14.5)')"PAOM",PAOM - write(6,*)"********************************************" - write(6,*)" " - ENDIF - - !Initialize the temperature dependent UNIFAC coefficients outside iterations - CALL SI_GET( & - TEMPK & !I [K] temperature - ,A_B & !I [units?] term in UNIFAC parameterization - ,SI_B & !O [units?] term in UNIFAC parameterization - ,NFUNC_B & !I [nbr] number of functional group in mixture - ) - - !Get total moles of primary aerosol (umol/m3) - DO I=1,NBSPAO_PUN - TMOLAOM(:) = & !umol/m3 - PAOM(:) & !ug/m3 - / MWAOM !g/mol ==> umol/m3 - ENDDO - - !Distribute the PAOM into components (XAOM) which are already fixed in modd_glo - DO I=1,NBSPAO_PUN - ORGP(:,I) = & !umol/m3 - TMOLAOM(:) & !umol/m3 - * XAOM(I) !frc ==> umol/m3 - ENDDO - - !Get the value for M0 (total organic in aerosol phase) - M0_OLD(:)=PAOM(:) - DO I=1,NBSPB - M0_OLD(:)=M0_OLD(:) + AERO_OLD(:,I) !ug/m3 - ENDDO - - !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - !From here on, we iterate - !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - DO ITER_IDX = 1,MAX_ITER - - !Initialize the "total mol" array with only primary aerosols - TMOL(:) = TMOLAOM(:) - - !Add the guessed aerosol concentrations to the TMOL array - DO I=1,NBSPAO_PUN - TMOL(:)= TMOL(:) & - + AERO_OLD(:,I)/MWB(I) ![umol/m3] of condenseable organic - ENDDO - - !Get the inverse of TMOL to multiply with this variable later - TMOLINV(:) = 1.d0/TMOL(:) - - !Get the mole fraction of each primary constituent - DO I = 1,NBSPAO_PUN - X(:,I) = ORGP(:,I) * TMOLINV(:) - ENDDO - - !Get molar fraction for the partitioning species - DO I = 1,NBSPB - X(:,NBSPAO_PUN+I) = AERO_OLD(:,I) / MWB(I) * TMOLINV(:) - ENDDO - - !Get average molar weight of non partitioning organic species - !Initalize molecular weight to zero - MWOM(:) = 0.d0 - DO I=1, NBSPAO_PUN - MWOM(:) = MWOM(:) + X(:,i) * MWAOM - ENDDO - - !Add the partitioning species - DO I=1, NBSPB - MWOM(:) = MWOM(:) + X(:,NBSPAO_PUN+I) * MWB(I) - ENDDO - - !Get activity coefficients given the current X - CALL ACT_COEFF_GET(& - NU_B & !I [nbr] number of functional groups in molecule I - ,X & !I [frc] mole fraction of molecule I - ,QG_B & !I [m2(?)] group surface area parameter - ,GAMA & !O [-] activity coefficient - ,THTAGP_B & !I [-] surface area ratio of groups (j) in pure component (i) - ,Q_B & !I [m2] surface area of pure component - ,R_B & !I [m3] total volume of pure component - ,L_B & !I [?] unifac parameter pure component - ,SI_B & !I [?] temperature dependent term - ,NMOL_B & !I [nbr] total number of molecules - ,NFUNC_B & !I [nbr] total number of functional groups (e.g. CH2, NO3 ..) - ) - - !We are really only interested in gama for the partitioning species - !Remember that the first 5 are POA species - GAMA_B(:,:)=GAMA(:,NBSPAO_PUN+1:NBSPAO_PUN+NBSPB) - - !/* calculate partition coefficient */ - Call KPART_PUN_GET( & - TEMPK & !I [K] temperature - , GAMA_B & !I [-] Activity coefficient - , MWOM & !I [g/mol] Molecular weight of organic matter - , KPART & !O [m3/ug] partitioning coefficient for species - ) - - !Get new aerosol concentrations - DO I=1,NBSPB - AERO_NEW(:,I)= & - KPART(:,I) & !m3/ug - *GAS_OLD(:,I) & !ug/m3 - *M0_OLD(:) !ug/m3 ==> ug/m3 - ENDDO - - !At this point we have only gas_old (from last iteration) and aero_new - !We might now be in the situation that AERO_NEW + GAS_OLD .NE.CB - !correct for it! - DO I=1,NBSPB - CB_NEW(:,I) = AERO_NEW(:,I) + GAS_OLD(:,I) !New mass balance, not equal to CB - AERO_NEW(:,I)=AERO_NEW(:,I)*CB(:,I)/CB_NEW(:,I) - GAS_NEW1(:,I)=GAS_OLD(:,I)*CB(:,I)/CB_NEW(:,I) - !write(6,*)"GASFRCB0", I, GAS_NEW1(:,I)/CB(:,I), (GAS_NEW1(:,I)+AERO_NEW(:,I))/CB(:,I) - ENDDO - - !Get the new, total aerosol mass - M0_NEW(:)=PAOM(:) - DO I=1,NBSPB - M0_NEW(:) = M0_NEW(:) + AERO_NEW(:,I) - ENDDO - - !Get the gas phase concentration which would be in equilibrium with what we just found - DO I=1,NBSPB - GAS_NEW2(:,I)= AERO_NEW(:,I)/M0_NEW(:)/KPART(:,I) - ENDDO - - !We might now be in the situation that AERO_NEW + GAS .NE.CB - !correct for it! - DO I=1,NBSPB - CB_NEW(:,I) = AERO_NEW(:,I) + GAS_NEW2(:,I) !New mass balance, not equal to CB - AERO_NEW(:,I)=AERO_NEW(:,I)*CB(:,I)/CB_NEW(:,I) - GAS_NEW2(:,I)=GAS_NEW2(:,I)*CB(:,I)/CB_NEW(:,I) - ENDDO - - !Use the new value of AERO_NEW to make a new guess for AERO_OLD - !if the sum of aero+gas is larger than the total, it means that two - !much is in the aerosol phase, and we guess a concentration which - !is lower than what we just calculated - - IF(LPRINT)THEN - write(6,*)" " - write(6,*)"*****************" - write(6,'(a10,5e14.6)')"KPART",KPART - write(6,'(a10,5e14.6)')"GAMA_B", GAMA_B - write(6,'(a10,5e14.6)')"AERO_OLD",AERO_OLD - write(6,'(a10,5e14.6)')"AERO_NEW",AERO_NEW - write(6,'(a10,5e14.6)')"GAS_OLD",GAS_OLD - write(6,'(a10,5e14.6)')"GAS_NEW",GAS_NEW1 - write(6,'(a10,5e14.6)')"GAS_NEW",GAS_NEW2 - write(6,'(a10,5e14.6)')"XPOA",X(:,1:5) - write(6,'(a10,5e14.6)')"XSOA",X(:,6:10) - write(6,*)"M0_OLD",M0_OLD, PAOM, M0_OLD-PAOM - ENDIF - - !New guess for aerosol concentration - !AERO_OLD(:,:) = AERO_NEW(:,:) - - !Our new guess for gas phase - !GAS_OLD(:,:)=0.5*(GAS_NEW1(:,:)+GAS_NEW2(:,:)) - GAS_OLD(:,:)=sqrt(GAS_NEW1(:,:)*GAS_NEW2(:,:)) - - !New guess for aerosol concentration - AERO_OLD(:,:)=CB(:,:)-GAS_OLD(:,:) - - !Make a new guess for M0 - M0_OLD(:)=PAOM(:) - DO I=1,NBSPB - M0_OLD(:) = & - M0_OLD(:) + AERO_OLD(:,I) - ENDDO - - ENDDO !Loop on iterations - - IF(LBOX)write(6,*)"sum X",sum(X) - - !Allocate memory for X, GAMA, ORGP - DEALLOCATE(X) - DEALLOCATE(GAMA) - DEALLOCATE(GAMA_B) - DEALLOCATE(ORGP) - DEALLOCATE(SI_B) - - AERO(:,:)=AERO_OLD(:,:) - GAS(:,:)=GAS_OLD(:,:) - - IF(LBOX)THEN - write(6,*)"************************END VALUES********" - write(6,'(a10,5e14.5)')"AERO",AERO - write(6,'(a10,5e14.5)')"GAS",GAS - write(6,'(a10,5e14.5)')"CB",CB - write(6,'(a10,5e14.5)')"DIFF",CB-GAS-AERO - write(6,'(a10,e14.5)')"PAOM",PAOM - write(6,*)"********************************************" - write(6,*)" " - ENDIF - - IF (LHOOK) CALL DR_HOOK('MODE_TYPEB:TYPEB',1,ZHOOK_HANDLE) - END SUBROUTINE TYPEB - - !************************************************ - subroutine kpart_pun_get( & - TEMPK & !I [K] temperature - ,GAMA & !I [-] activity coefficient - ,MWOM & !I [g/mol] average molar weight of organics - ,KB & !O [m3/ug] partitioning coefficient - ) - - implicit none - - !INPUT - REAL, DIMENSION(:), INTENT(IN) :: TEMPK !I [K] temperature - REAL, DIMENSION(:,:), INTENT(IN) :: GAMA !I [-] activity coefficients - REAL, DIMENSION(:) :: MWOM !I [g/mol] molecular weight organics - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: KB !O [m3/ug] partitioning coefficient - - !LOCAL - INTEGER :: I - - !The only goal of this routine is to get the partitioning coeffient: - !So here is the way to do it: - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_TYPEB:KPART_PUN_GET',0,ZHOOK_HANDLE) - do i=1,NBSPB - KB(:,i)= 760.d0 &!torr/atm - *R_UNIV &!(m3*atm)/(mol*K) - *1.d-6 &!g/ug - *TEMPK(:) &!K - /VPB(i) &!torr - /MWOM(:) &!g/mol - /GAMA(:,i) !==> m3/ug - enddo - - IF (LHOOK) CALL DR_HOOK('MODE_TYPEB:KPART_PUN_GET',1,ZHOOK_HANDLE) - end subroutine kpart_pun_get - !************************************************************ - - -END MODULE mode_typeb diff --git a/src/arome/chem/module/mode_unifac.F90 b/src/arome/chem/module/mode_unifac.F90 deleted file mode 100644 index 42ead8358f0df12d32904cc6d90c87de034edc84..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_unifac.F90 +++ /dev/null @@ -1,870 +0,0 @@ -! ######spl -MODULE MODE_UNIFAC -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - !******************************************************************* - !Theory: Basics of UNIFAC group combination method to get activity - !coefficients for mixtures. This is nicely outlined in - !Marcolli and Peter, ACP, vol 5, pp 1501-1527, 2005 - !http://overview.sref.org/1680-7324/acp/2005-5-1545 - !In the following I follow notations of their eqn 1-9 - - !Approximately following original code recieved from Pierre Tulet - !who got it from Betty Pun who (it seems) got it from Pradeep Saxena - - !Adopted to MESONH by Alf Grini, CNRM, 2005 - !******************************************************************* - !MAIN CHANGES: - !1) Doing calculations on a vector instead of on a point - !2) A lot of calcualtions taken out and done in unifac_ini routines - IMPLICIT NONE - - PUBLIC - PRIVATE :: LNGAMMA_RESIDUAL_GET, LNGAMMA_COMBINATORY_GET - -CONTAINS - - SUBROUTINE ACT_COEFF_GET( & - NU & !I [nbr] number of functional groups in molecule I - ,X & !I [frc] mole fraction of molecule I - ,QG & !I [m2(?)] group surface area parameter - ,GAMA & !O [-] activity coefficient - ,THTAGP & !I [-] surface area ratio of groups (j) in pure component (i) - ,Q & !I [m2] surface area of pure component - ,R & !I [m3] total volume of pure component - ,L & !I [?] unifac parameter pure component - ,SI & !I [?] temperature dependent term - ,NMOL & !I [nbr] total number of molecules - ,NFUNC & !I [nbr] total number of functional groups (e.g. CH2, NO3 ..) - ) - - !Purpose: Get the activity coefficients for any mixture using the UNIFAC method - - IMPLICIT NONE - - !INPUT - INTEGER, INTENT(IN) :: NFUNC ![nbr] number of functional groups - INTEGER, INTENT(IN) :: NMOL ![nbr] number of molecules in question - INTEGER, DIMENSION(:,:) :: NU ![nbr] number of func. groups (j) in molec (i) - REAL, DIMENSION(:,:) :: X ![-] molar fraction of components - REAL, DIMENSION(:), INTENT(IN) :: R ![m3] volume of molecules - REAL, DIMENSION(:), INTENT(IN) :: Q ![m2] surface of molecule - REAL, DIMENSION(:), INTENT(IN) :: QG ![m2] surface of groups - REAL, DIMENSION(:), INTENT(IN) :: L ![??] UNIFAC parameter - REAL, DIMENSION(:,:), INTENT(IN) :: THTAGP ![-] sfc area frc of group j in comp i - REAL, DIMENSION(:,:,:), INTENT(IN) :: SI ![?] temperature dependent term - - !OUTPUT - REAL, DIMENSION(:,:), INTENT(OUT) :: GAMA ![-] activity coefficient of comp i in mix - - !LOCAL - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: LNGAMMA_C ![-] log of combinatory part of gamma - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: LNGAMMA_R ![-] log of residual part of gamma - INTEGER :: I ![idx] counter for molecules - - !Get the combinatory part of gamma - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ACT_COEFF_GET',0,ZHOOK_HANDLE) - CALL LNGAMMA_COMBINATORY_GET ( & - Q & !I [m2] surface of one molecule - ,R & !I [m3] volume of one molecule - ,L & !L [?] unifac parameter - ,X & ![-] molar fraction of components - ,LNGAMMA_C & ![-] log of combinatory part of act. coeff - ,NMOL & ![nbr] number of molecules - ) - - !Get the residual part of gamma - CALL LNGAMMA_RESIDUAL_GET( & - QG & !I [m2] surface of groups - ,NU & !I [nbr] number of functional groups in components - ,X & !I [-] molar fraction of species - ,THTAGP & !I [-] area fraction of groups in pure components - ,SI & !I [?] temperature dependent term - ,LNGAMMA_R & !O [-] log of residual part of gamma - ,NMOL & !I [nbr] number of molecules - ,NFUNC & !I [nbr] number of functional groups - ) - - !Get the total activity coefificent - DO I=1,NMOL - GAMA(:,I)=EXP(LNGAMMA_C(:,I) + LNGAMMA_R(:,I)) - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ACT_COEFF_GET',1,ZHOOK_HANDLE) - END SUBROUTINE ACT_COEFF_GET - - !*************************************************************************** - - SUBROUTINE LNGAMMA_COMBINATORY_GET( & - Q & !I [m2] surface of one molecule - ,R & !I [m3] volume of one molecule - ,L & !L [?] unifac parameter - ,X & ![-] molar fraction of components - ,LNGAMMA_C & ![-] log of combinatory part of act. coeff - ,NMOL & ![nbr] number of molecules - ) - - !Purpose: Find the combinatory part of the activity coefficient - IMPLICIT NONE - - !INPUT/OUTPUT - REAL, DIMENSION(:), INTENT(IN) :: R ![m3] volume of molecules - REAL, DIMENSION(:), INTENT(IN) :: Q ![m2] surface of molecule - REAL, DIMENSION(:), INTENT(IN) :: L ![??] UNIFAC parameter - REAL, DIMENSION(:,:), INTENT(IN) :: X ![-] molar fraction of components - REAL, DIMENSION(:,:), INTENT(OUT) :: LNGAMMA_C ![-] log of combinatory part of gamma - INTEGER, INTENT(IN) :: NMOL ![nbr] number of molecules - - !Local variables - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: RX ![m3] volume of one component - REAL, DIMENSION(SIZE(X,1)) :: SUMRX ![m3] sum of volume - REAL, DIMENSION(SIZE(X,1)) :: SUMRXINV ![m-3] inverse sum of volume - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: QX ![m2] surface of one component - REAL, DIMENSION(SIZE(X,1)) :: SUMQX ![m2] sum of area - REAL, DIMENSION(SIZE(X,1)) :: SUMQXINV ![m-2] inverse sum of area - REAL, DIMENSION(SIZE(X,1)) :: SUMXL ![??] sum of "L" - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: PHI ![??] parameter in eqn 4 - REAL, DIMENSION(SIZE(X,1),SIZE(X,2)) :: THETA ![??] parameter in eqn 4 - INTEGER :: I ![idx] counter for molecules - REAL, PARAMETER :: ZHALF=5.d0 ![-] constant in UNIFAC parameterization - - - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:LNGAMMA_COMBINATORY_GET',0,ZHOOK_HANDLE) - SUMRX(:)=0.d0 - SUMQX(:)=0.d0 - SUMXL(:)=0.d0 - DO I=1,NMOL - RX(:,I)=X(:,I)*R(I) !Needed for numerator in eqn 4 - QX(:,I)=X(:,I)*Q(I) !Needed for numerator in eqn 4 - SUMRX(:)=SUMRX(:) + RX(:,I) !Needed in denominator in eqn 4 - SUMQX(:)=SUMQX(:) + QX(:,I) !Needed in denominator in eqn 4 - SUMXL(:)=SUMXL(:) + X(:,I)*L(I) !Needed at the end of eqn 3 - ENDDO - SUMRXINV(:) = 1.d0/SUMRX(:) - SUMQXINV(:) = 1.d0/SUMQX(:) - - !Solve eqn 4 (for volume ==> phi and surface ==> theta) - DO I=1,NMOL - PHI(:,I) = RX(:,I)*SUMRXINV(:) - THETA(:,I) = QX(:,I)*SUMQXINV(:) - ENDDO - - !Get the combinatorial part of the activity coefficient - !This is obtained through solving eqn 3 - DO I=1,NMOL - WHERE(X(:,I).gt.0.) - LNGAMMA_C(:,I) = & - log(PHI(:,I)/X(:,I)) & - + ZHALF*Q(I)*log(THETA(:,I)/PHI(:,I)) & - + L(I) & - - PHI(:,I)/X(:,I)*SUMXL(:) - ELSEWHERE - LNGAMMA_C(:,I)=0.d0 - ENDWHERE - ENDDO - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:LNGAMMA_COMBINATORY_GET',1,ZHOOK_HANDLE) - END SUBROUTINE LNGAMMA_COMBINATORY_GET - - !********************************************************* - - SUBROUTINE LNGAMMA_RESIDUAL_GET( & - QG & !I [m2] surface of groups - ,NU & !I [nbr] number of functional groups in components - ,X & !I [-] molar fraction of species - ,THTAGP & !I [-] area fraction of groups in pure components - ,SI & !I [-] temperature dependent term - ,LNGAMMA_R & !O [-] log of residual part of gamma - ,NMOL & !I [nbr] number of molecules - ,NFUNC & !I [nbr] number of functional groups - ) - - !*********************************************** - !Purpose: - !Get the residual part of the activity coefficients - !basically, solve eqn 7-9 in MaP05 - ! ************************************************ - - IMPLICIT NONE - !INPUTS - REAL, DIMENSION(:), INTENT(IN) :: QG ![m2] surface of groups - INTEGER, DIMENSION(:,:), INTENT(IN) :: NU ![nbr] number of groups (j) in molecule (i) - REAL, DIMENSION(:,:), INTENT(IN) :: X ![frc] molar fraction of components - REAL, DIMENSION(:,:), INTENT(IN) :: THTAGP ![frc] area fraction of groups in pure comp - REAL, DIMENSION(:,:,:) :: SI ![?] temperature dependent term - INTEGER, INTENT(IN) :: NMOL ![nbr] number of molecules - INTEGER, INTENT(IN) :: NFUNC ![nbr] number of functional groups - - - !OUTPUTS - REAL, DIMENSION(:,:) :: LNGAMMA_R ![-] log of residual part of act. coeff - - !LOCAL - REAL, DIMENSION(SIZE(X,1)) :: SUMXGM ![nbr] number of groups in mixtures - REAL, DIMENSION(SIZE(X,1)) :: SUMXGMINV ![1/nbr] (number of groups in mix)**(-1) - REAL, DIMENSION(SIZE(X,1)) :: SUMJX ![nbr] total number of one group - REAL, DIMENSION(SIZE(X,1),SIZE(QG)) :: XGM ![-] fraction of groups (of total) - REAL, DIMENSION(SIZE(X,1)) :: SUMTGM ![m2] sum of functional group area - REAL, DIMENSION(SIZE(X,1)) :: SUMTGMINV ![m-2] 1/"sum of functional group area" - REAL, DIMENSION(SIZE(X,1),SIZE(QG)) :: THTAGM ![frc] surface fraction of groups - REAL, DIMENSION(SIZE(X,1),SIZE(QG)) :: TTSIM ![-] mix: part of term 2 of eq 8 (sum{theta x psi}) - REAL, DIMENSION(SIZE(X,1)) :: TERM3 ![-] term 3 of equation 8 - REAL, DIMENSION(SIZE(X,1), SIZE(QG)) :: TTSIP ![-] pure: part of term 2 of eq 8 (sum{theta x psi}) - REAL, DIMENSION(SIZE(X,1), SIZE(X,2),SIZE(QG)) :: GAMPLN ![-] log of large gamma, pure comp - REAL, DIMENSION(SIZE(X,1), SIZE(QG)) :: GAMMLN ![-] log of large gamma, mix - INTEGER :: I ![idx] counter for molecules - INTEGER :: J, J1,J2 ![idx] counter for functional groups - - !Get sum of "molar fractions" of functional groups - !(i.e. NOT molar fractions of components) - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:LNGAMMA_RESIDUAL_GET',0,ZHOOK_HANDLE) - SUMXGM(:)=0.d0 !sum of molar fraction of functional groups in pure state - DO J=1,NFUNC - DO I=1,NMOL - SUMXGM(:)=SUMXGM(:) + DBLE(NU(I,J))*X(:,I) - ENDDO - ENDDO - SUMXGMINV(:)=1.d0/SUMXGM(:) !ZTOT7 in orig code - - DO J=1,NFUNC - SUMJX(:)=0.d0 !Sum of one particular functional group - DO I=1,NMOL - SUMJX(:)=DBLE(NU(I,J))*X(:,I) + SUMJX(:) - ENDDO - XGM(:,J)=SUMJX(:)*SUMXGMINV(:) !Mole fraction of one group in mixture - ENDDO - - !Get total group area in mixture - SUMTGM(:)=0.d0 - DO J=1,NFUNC - SUMTGM(:)=SUMTGM(:) & !Old sum - + XGM(:,J)*QG(J) !Sum of functional group area of component j - ENDDO - SUMTGMINV(:)=1.d0/SUMTGM(:) - - !Get theta (eqn 9) for the mixture - DO J=1,NFUNC - THTAGM(:,J)=QG(J)*XGM(:,J)*SUMTGMINV(:) - ENDDO - - !Get values of SI (temperature dependent), don't need to be in the iteration! - !eqn 9 in MaP05 - !Sent in as input to save computer time - !TEMPKINV(:) = 1.d0/TEMPK(:) - !DO J1=1,NFUNC - ! DO J2=1,NFUNC - ! SI(:,J1,J2) = EXP(-A(J1,J2)*TEMPKINV(:)) - ! ENDDO - !ENDDO - - !Get capital gammas, (eqn 8) for pure and mix - DO J1=1,NFUNC - TTSIM(:,J1)=0.d0 - DO J2=1,NFUNC - !TTSIM is part of second term in eqn 8 - TTSIM(:,J1)=TTSIM(:,J1)+THTAGM(:,J2)*SI(:,J2,J1) - ENDDO - ENDDO - - !DONE ALL INTERMEDIATE EQNATIONS ==> ATTACK EQN 8 - DO J1=1,NFUNC - TERM3(:)=0.d0 !Term 3 in eqn 8 (ZOT10 in Saxena's code) - !Now: first get the third term, and then solve all eqn 8 for all func. groups - DO J2=1,NFUNC - TERM3(:)=TERM3(:)+THTAGM(:,J2)*SI(:,J1,J2)/TTSIM(:,J2) - ENDDO - !Now solve the whole eqn 8 for mixture - GAMMLN(:,J1)=QG(J1)*(1. - LOG(TTSIM(:,J1)) - TERM3(:)) - ENDDO - - !DO THE SAME FOR PURE COMPONENTS - DO I=1,NMOL - DO J1=1,NFUNC - TTSIP(:,J1)=0.d0 - DO J2=1,NFUNC - !Sum of seconnd term in eqn 8 - TTSIP(:,J1)=TTSIP(:,J1) &!old value - + THTAGP(I,J2)*SI(:,J2,J1) - ENDDO - ENDDO - - DO J1=1,NFUNC - TERM3(:)=0.d0 !ZOT11 in original code - DO J2=1,NFUNC - !Get term 3 in equation 8 for pure components - TERM3(:)=TERM3(:) + THTAGP(I,J2)*SI(:,J1,J2)/TTSIP(:,J2) - ENDDO - - !Get capital gamma (eqn 8) for pure components - GAMPLN(:,I,J1)=QG(J1)*(1.d0 - LOG(TTSIP(:,J1)) -TERM3(:)) - - ENDDO - - ENDDO !Loop on moles - - !Get the log of the residual part of the activity coefficient - !Equation 7 in MaP05 - DO I=1,NMOL - LNGAMMA_R(:,I)=0.d0 - DO J=1,NFUNC - LNGAMMA_R(:,I)=LNGAMMA_R(:,I) & - + DBLE(NU(I,J))*(GAMMLN(:,J)-GAMPLN(:,I,J)) - ENDDO - ENDDO - - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:LNGAMMA_RESIDUAL_GET',1,ZHOOK_HANDLE) - END SUBROUTINE LNGAMMA_RESIDUAL_GET - - !****************************************************************** - - SUBROUTINE UNIFAC_INI( & - QG & !I [m2] surface of functional groups - ,RG & !I [m3] volume of functional groups - ,NU & !I [nbr] number of functional groups in molec - ,THTAGP & !O [frc] surface fraction of group (j) in molecule (i) - ,Q & !O [m2] surface of molecule - ,R & !O [m3] volume of molecule - ,L & !O [?] UNIFAC parameter for molecule - ,NMOL & !I [nbr] number of molecules used - ,NFUNC & !I [nbr] number of functional groups used - ) - - !Purpose: Set all non-time varying variables needed for UNIFAC formulation - !Following the equations given in - !Marcolli and Peter, ACP, vol 5, pp 1501-1527, 2005 - !http://overview.sref.org/1680-7324/acp/2005-5-1545 - !In the following I follow notations of their eqn 1-9 - - IMPLICIT NONE - - !IN - INTEGER :: NMOL ![nbr] number of molecules - INTEGER :: NFUNC ![nbr] number of functional groups - REAL, DIMENSION(NFUNC), INTENT(IN) :: QG ![m2] group surface parameter - REAL, DIMENSION(NFUNC), INTENT(IN) :: RG ![m3] group volume parameter - INTEGER, DIMENSION(NMOL,NFUNC), INTENT(IN) :: NU ![nbr] number of groups (j) in comp (i) - REAL, DIMENSION(NMOL,NFUNC), INTENT(OUT) :: THTAGP![-] sfc fraction of group (j) in comp (i) - - !OUT - REAL, DIMENSION(NMOL), INTENT(OUT) :: Q ![m2] total surface area of molec - REAL, DIMENSION(NMOL), INTENT(OUT) :: R ![m3] total volume of molec - REAL, DIMENSION(NMOL), INTENT(OUT) :: L ![?] IUPAC parameter - - !LOCAL VARIABLES - REAL :: SUMXGP ![-] sum of groups in one comp - REAL :: SUMXGPINV ![-] 1/"sum of groups in one comp" - REAL, DIMENSION(NMOL,NFUNC) :: XGP ![-] fraction of groups in one comp - REAL :: SUMTGP ![m2] sum sfc area of one group in one comp - REAL :: SUMTGPINV ![m-2] 1/"sum sfc area of one group in one comp" - INTEGER :: I ![idx] counter for components - INTEGER :: J ![idx] counter for functional group - - REAL, PARAMETER :: ZHALF=5.d0 ! parameter in UNIFAC - - !First: get total surface (Q) and volume (R) for all molecules - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:UNIFAC_INI',0,ZHOOK_HANDLE) - Q(:)=0.d0 - R(:)=0.d0 - - !This can be moved to an initialization routine, cause it will always - !give same answer for Q and R - !Solve eqn 6: - DO J=1,NFUNC - DO I=1,NMOL - Q(I) = Q(I) + dble(NU(I,J))*QG(J) !==> total surface of molec - R(I) = R(I) + dble(NU(I,J))*RG(J) !==> total volume of molec - ENDDO - ENDDO - - !Get the parameter L (eqn 5) - DO I=1,NMOL - L(I)=ZHALF*(R(I) - Q(I)) - (R(I) -1.d0) - ENDDO - - !==> all the below can be done in initialization - !Get molar fraction of group n in pure component - DO I=1,NMOL - SUMXGP = 0.d0 - DO J=1,NFUNC - SUMXGP = SUMXGP + DBLE(NU(I,J)) !sum of molar groups in ONE component - ENDDO - SUMXGPINV = 1.d0/SUMXGP - DO J=1,NFUNC - XGP(I,J)=DBLE(NU(I,J))*SUMXGPINV !Molar fraction of group j in pure component i - ENDDO - ENDDO - - !Get the area fraction - DO I=1,NMOL - SUMTGP = 0.d0 - DO J=1,NFUNC - SUMTGP = SUMTGP + XGP(I,J)*QG(J) !Sum of surface area of all groups in one comp - ENDDO - SUMTGPINV = 1.d0/SUMTGP !Inverse sum of surface area of all groups in one comp - DO J=1,NFUNC - !Get theta, (eqn 9) for pure components - THTAGP(I,J) = QG(J)*XGP(I,J)*SUMTGPINV - ENDDO - ENDDO - - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:UNIFAC_INI',1,ZHOOK_HANDLE) - END SUBROUTINE UNIFAC_INI - - !************************************************************************** - - !*********************************************************************************** - !*****INITIALIZATION ROUTINES FOR GRIFFIN'S CODES ********************************* - !********************************************************************************** - - !****************************************************************** - SUBROUTINE ORG_UNIFAC_INI() - - !Purpose: Set the values of declared in the bunifacparam module - - USE MODD_UNIFACPARAM - - IMPLICIT NONE - - !Notes: 8 primary compounds: - ! nC29 - ! C4 diacid - ! naphthalene - 2,6-diacid - ! benzo(ghi) perylene - ! biomarker compound - ! 4-carboxybenzoic acid - ! C18 acid - ! 1,5-ditertbutyl-4,8-di(dimethylpropyl)-decalin - - !order for functional groups: CH3, CH2, CH, C, C=C, C=CH - !aroC, pahC, tol, ethylbenz, OH, phen, ketone, alde, COOH, NO2 - - !Group volume parameters - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ORG_UNIFAC_INI',0,ZHOOK_HANDLE) - RG_ORG(1:NFUNC_ORG) = (/0.9011, 0.6744, 0.4469, 0.2195, 0.6605, 0.8886, & - 0.5313, 0.3562, 1.2663, 1.0396, 1.0000, 0.8952, & - 1.6724, 0.9980, 1.3013, 1.4199/) - - !Group surface parameters - QG_ORG(1:NFUNC_ORG)= (/0.8480, 0.5400, 0.2280, 0.0, 0.4850, 0.6760, & - 0.4000, 0.1200, 0.9680, 0.6600, 1.2000, 0.6800, & - 1.4880, 0.9480, 1.2440, 1.1040/) - - !Set number of functional groups in each molecule. - !Each column corresponds to a molecule - NU_ORG(:,1)=(/ 2, 0, 0, 0, 8, 0, 1, 12, 0, 0, 0, 2, 3, 0, 1, 2, 2, 2 /) !CH3 - NU_ORG(:,2)=(/27, 2, 0, 0, 11, 0, 16, 6, 0, 0, 0, 12, 3, 0, 0, 0, 0, 2 /) !CH2 - NU_ORG(:,3)=(/0, 0, 0, 0, 6, 0, 0, 6, 0, 0, 0, 1, 2, 0, 0, 0, 2, 3 /) !CH - NU_ORG(:,4)=(/0, 0, 0, 0, 5, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 /) !C - NU_ORG(:,5)=(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,0, 0 /) !C==C - NU_ORG(:,6)=(/0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0 /) !C==CH - NU_ORG(:,7)=(/ 0, 0, 8, 12, 0, 6, 0, 0, 2, 3, 7, 0, 0, 0, 0, 0, 0, 0 /) !aeroC - NU_ORG(:,8)=(/0, 0, 2, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 /) !pahC - NU_ORG(:,9)=(/ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0 /) !tol - NU_ORG(:,10)=(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /) !EB - NU_ORG(:,11)=(/0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1 /) !OH - NU_ORG(:,12)=(/0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 /) !phen - NU_ORG(:,13)=(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 /) !ket - NU_ORG(:,14)=(/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0, 1 /) !ald - NU_ORG(:,15)=(/0, 2, 2, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, 2, 2, 0, 1, 0 /) !COOH - NU_ORG(:,16)=(/0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0 /) !CNO2 - - !CH3 - A_ORG(:,1)=(/ 0.0, 0.0, 0.0, 0.0, 2520.00, 2520.00, -11.1200, & - -11.1200, -69.700, -69.700, 156.400, 10000.00, & - 26.7600, 505.700, 315.300, 5541.0 /) - !CH2 - A_ORG(:,2)=(/0.0, 0.0, 0.0, & - 0.0, 2520.00, 2520.00, -11.1200, -11.1200, -69.700, & - -69.700, 156.400, 10000.00, 26.7600, 505.700, & - 315.300, 5541.00 /) - !CH - A_ORG(:,3)=(/ 0.0, 0.0, 0.0, 0.0, 2520.00, & - 2520.00, -11.1200, -11.1200, -69.700, -69.700, & - 156.400, 10000.00, 26.7600, 505.700, 315.300, & - 5541.00 /) - !C - A_ORG(:,4)=(/0.0, 0.0, 0.0, 0.0, 2520.00, 2520.00, & - -11.1200, -11.1200, -69.700, -69.700, 156.400, & - 10000.00, 26.7600, 505.700, 315.300, 5541.00 /) - !C==C - A_ORG(:,5)=(/-200.00, -200.00, -200.00, -200.00, 0.0, 0.0, & - -97.7800, -97.7800, -269.700, -269.700, 8694.00, & - 732.200, -82.9200, 0.0, 349.200, 0.0 /) - !C==CH - A_ORG(:,6)=(/-200.00, & - -200.00, -200.00, -200.00, 0.0, 0.0, -97.7800, & - -97.7800, -269.700, -269.700, 8694.00, 732.200, & - -82.9200, 0.0, 349.200, 0.0 /) - !aero - A_ORG(:,7)=(/61.1300, 61.1300, & - 61.1300, 61.1300, 340.700, 340.700, 0.0, 0.0, & - -146.800, -146.800, 89.600, 270.200, 140.100, 0.0, & - 62.3200, 1824.00 /) - !pah - A_ORG(:,8)=(/ 61.1300, 61.1300, 61.1300, 61.1300, & - 340.700, 340.700, 0.0, 0.0, -146.800, -146.800, 89.600, & - 270.200, 140.100, 0.0, 62.3200, 1824.00 /) - !tol - A_ORG(:,9)= (/ 76.500, & - 76.500, 76.500, 76.500, 4102.00, 4102.00, 167.00, & - 167.00, 0.0, 0.0, 25.8200, 10000.00, 365.800, 0.0, & - 268.200, -127.800 /) - !EB - A_ORG(:,10)=(/76.500, 76.500, 76.500, 76.500, & - 4102.00, 4102.00, 167.00, 167.00, 0.0, 0.0, 25.8200, & - 10000.00, 365.800, 0.0, 268.200, -127.800 /) - !OH - A_ORG(:,11)=(/986.500, 986.500, 986.500, 986.500, 693.900, 693.900, & - 636.100, 636.100, 803.200, 803.200, 0.0, -274.500, & - 164.500, -404.800, -151.00, 561.600 /) - !phenol - A_ORG(:,12)=(/912.200, 912.200, & - 912.200, 912.200, 926.300, 926.300, 1174.00, 1174.00, & - 674.300, 674.300, -442.100, 0.0, -246.800, 0.0, 0.0, & - 0.0/) - !ket - A_ORG(:,13)=(/476.400, 476.400, 476.400, 476.400, 524.500, & - 524.500, 25.7700, 25.7700, -52.100, -52.100, 84.00, & - -158.800, 0.0, 128.00, -297.800, 0.0 /) - !ald - A_ORG(:,14)=(/677.00, 677.00, & - 677.00, 677.00, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 441.800,& - 0.0, -37.3600, 0.0, 0.0, 0.0 /) - !COOH - A_ORG(:,15)=(/663.500, 663.500, 663.500, & - 663.500, 730.400, 730.400, 537.400, 537.400, 603.800, & - 603.800, 119.00, 0.0, 669.400, 0.0, 0.0, 0.0 /) - !CNO2 - A_ORG(:,16)=(/543.00, & - 543.00, 543.00, 543.00, 0.0, 0.0, 194.900, 194.900, & - 4448.00, 4448.00, 157.100, 0.0, 0.0, 0.0, 0.0, 0.0 /) - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ORG_UNIFAC_INI',1,ZHOOK_HANDLE) - END SUBROUTINE ORG_UNIFAC_INI - - - !*************************************************************************************** - SUBROUTINE AQ_UNIFAC_INI() - - !Purpose: Set the values of declared in the bunifacparam module - - USE modd_unifacparam - - IMPLICIT NONE - - !Functional groups: - !CH3, CH2, CH, C=C, C=CH, aero, pah, tol, EB, OH - !phenol, ketone, aldehyde, COOH, aroNO2, water, C - - !Group volume parameters - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:AQ_UNIFAC_INI',0,ZHOOK_HANDLE) - RG_AQ(1:NFUNC_AQ) = (/0.9011, 0.6744, 0.4469, 0.6605, 0.8886, & - 0.5313, 0.3562, 1.2663, 1.0396, 1.0000, 0.8952, & - 1.6724, 0.9980, 1.3013, 1.4199, 0.9200, 0.2195/) - - !Group surface parameters - QG_AQ(1:NFUNC_AQ)= (/0.8480, 0.5400, 0.2280, 0.4850, 0.6760, & - 0.4000, 0.1200, 0.9680, 0.6600, 1.2000, 0.6800, & - 1.4880, 0.9480, 1.2440, 1.1040, 1.4000, 0.0/) - - !Set number of functional groups in each molecule. - !Each row corresponds to a molecule ==> - !Functional groups: - !CH3, CH2, CH, C=C, C=CH, aero, pah, tol, EB, OH, phenol, ketone, aldehyde, COOH, aroNO2, water, C - NU_AQ( 1,:)=(/0 ,0 ,0 ,0 ,0 ,2 ,0 ,2 ,0 ,0 ,1 ,0 ,0 ,1 ,1 ,0 ,0 /) - NU_AQ( 2,:)=(/0 ,0 ,0 ,0 ,0 ,3 ,0 ,2 ,0 ,0 ,0 ,0 ,1 ,1 ,0 ,0 ,0 /) - NU_AQ( 3,:)=(/0 ,0 ,0 ,0 ,0 ,7 ,2 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 /) - NU_AQ( 4,:)=(/2 ,12 ,1 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 /) - NU_AQ( 5,:)=(/3 ,3 ,2 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,1 /) - NU_AQ( 6,:)=(/0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,2 ,0 ,0 /) - NU_AQ( 7,:)=(/1 ,0 ,0 ,0 ,2 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,2 ,0 ,0 ,0 /) - NU_AQ( 8,:)=(/2 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,2 ,0 ,0 ,0 ,0 /) - NU_AQ( 9,:)=(/2 ,0 ,2 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,1 ,0 ,0 ,0 /) - NU_AQ(10,:)=(/2 ,2 ,3 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 /) - NU_AQ(11,:)=(/0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 /) - - - !Copy and paste values from Griffin - !interaction parameters group-group - !CH3 - A_AQ(:,1)=(/ 0.0, 0.0, 0.0, 2520.00, 2520.00, -11.1200, & - -11.1200, -69.700, -69.700, 156.400, 10000.00, & - 26.7600, 505.700, 315.300, 5541.00, 300.0, 0.0 /) - !CH2 - A_AQ(:,2)=(/ 0.0, 0.0, & - 0.0, 2520.00, 2520.00, -11.1200, -11.1200, -69.700, & - -69.700, 156.400, 10000.00, 26.7600, 505.700, & - 315.300, 5541.00, 300.0, 0.0 /) - !CH - A_AQ(:,3)= (/ 0.0, 0.0, 0.0, 2520.00, & - 2520.00, -11.1200, -11.1200, -69.700, -69.700, & - 156.400, 10000.00, 26.7600, 505.700, 315.300, & - 5541.00, 300.0, 0.0 /) - !C=C - A_AQ(:,4) =(/ -200.00, -200.00, -200.00, 0.0, 0.0, & - -97.7800, -97.7800, -269.700, -269.700, 8694.00, & - 732.200, -82.9200, 0.0, 349.200, 0.0, 692.7, -200.00 & - /) - !C=CH - A_AQ(:,5) = (/ -200.00, -200.00, -200.00, 0.0, 0.0, -97.7800, & - -97.7800, -269.700, -269.700, 8694.00, 732.200, & - -82.9200, 0.0, 349.200, 0.0, 692.7, -200.00 /) - !aro - A_AQ(:,6) = (/ 61.1300, & - 61.1300, 61.1300, 340.700, 340.700, 0.0, 0.0, & - -146.800, -146.800, 89.600, 270.200, 140.100, 0.0, & - 62.3200, 1824.00, 362.3, 61.1300 /) - !pah - A_AQ(:,7) = (/ 61.1300, 61.1300, 61.1300, & - 340.700, 340.700, 0.0, 0.0, -146.800, -146.800, 89.600, & - 270.200, 140.100, 0.0, 62.3200, 1824.00, 362.3, 61.1300 & - /) - !tol - A_AQ(:,8) = (/ & - 76.500, 76.500, 76.500, 4102.00, 4102.00, 167.00, & - 167.00, 0.0, 0.0, 25.8200, 10000.00, 365.800, 0.0, & - 268.200, -127.800, 377.6, 76.500 /) - !EB - A_AQ(:,9) = (/ & - 76.500, 76.500, 76.500, & - 4102.00, 4102.00, 167.00, 167.00, 0.0, 0.0, 25.8200, & - 10000.00, 365.800, 0.0, 268.200, -127.800, 377.6, & - 76.500 /) - !OH - A_AQ(:,10) = (/ & - 986.500, 986.500, 986.500, 693.900, 693.900, & - 636.100, 636.100, 803.200, 803.200, 0.0, -274.500, & - 164.500, -404.800, -151.00, 561.600, -229.1, 986.500 /) - !phenol - A_AQ(:,11) = (/ & - 912.200, & - 912.200, 912.200, 926.300, 926.300, 1174.00, 1174.00, & - 674.300, 674.300, -442.100, 0.0, -246.800, 0.0, 0.0, & - 0.0, 324.5, 912.200 /) - !ketone - A_AQ(:,12) = (/ & - 476.400, 476.400, 476.400, 524.500, & - 524.500, 25.7700, 25.7700, -52.100, -52.100, 84.00, & - -158.800, 0.0, 128.00, -297.800, 0.0, -195.4, 476.400 /) - !aldehyde - A_AQ(:,13) = (/ & - 677.00, & - 677.00, 677.00, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 441.800, & - 0.0, -37.3600, 0.0, 0.0, 0.0, -257.3, 677.00 /) - !COOH - A_AQ(:,14) = (/ & - 663.500, 663.500, & - 663.500, 730.400, 730.400, 537.400, 537.400, 603.800, & - 603.800, 119.00, 0.0, 669.400, 0.0, 0.0, 0.0, -14.090, & - 663.500 /) -!aro NO2 - A_AQ(:,15) = (/ & - 543.00, 543.00, 543.00, 0.0, 0.0, 194.900, 194.900, & - 4448.00, 4448.00, 157.100, 0.0, 0.0, 0.0, 0.0, 0.0, & - 399.50, 543.00 /) -!water - A_AQ(:,16) = (/ & - 1318.00, 1318.00, 1318.00, 634.2, 634.2, 903.8, & - 903.8, 5695.0, 5695.0, 353.5, -601.8, 472.5, 232.7, & - -66.17, 360.7, 0.0, 1318.00 /) - !C - A_AQ(:,17) = (/ & - 0.0, 0.0, & - 0.0, 2520.00, 2520.00, -11.1200, -11.1200, -69.700, & - -69.700, 156.400, 10000.00, 26.7600, 505.700, & - 315.300, 5541.00, 300.0, 0.0 /) - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:AQ_UNIFAC_INI',1,ZHOOK_HANDLE) - END SUBROUTINE AQ_UNIFAC_INI - - - !************************************************************************* - - SUBROUTINE ZSR_INI_MPMPO() - use modd_binsolu - implicit none - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ZSR_INI_MPMPO',0,ZHOOK_HANDLE) - molalbinAQ(:,1) = (/ 555.600, 0.65000, 0.30762, 0.19305, 0.13537, 0.10038, 0.07666, 0.05927, 0.04567, 0.03431, 0.00000 /) - molalbinAQ(:,2) = (/ 555.600, 1.98908, 0.95252, 0.60644, 0.43292, 0.32835, 0.25820, 0.20764, 0.16923, 0.13830, 0.00000 /) - molalbinAQ(:,3) = (/ 555.600,63.80219,31.65389,20.93034,15.57215,12.35612,10.21267, 8.68083, 7.53173, 6.63831, 0.00000 /) - molalbinAQ(:,4) = (/ 555.600, 2.81667, 1.37478, 0.89336, 0.65205, 0.50667, 0.40951, 0.33965, 0.28692, 0.24558, 0.00000 /) - molalbinAQ(:,5) = (/ 555.600, 1.37882, 0.63792, 0.39248, 0.27079, 0.19847, 0.15067, 0.11672, 0.09124, 0.07117, 0.00000 /) - molalbinAQ(:,6) = (/ 555.600, 0.49396, 0.22574, 0.13569, 0.09018, 0.06232, 0.04319, 0.02890, 0.01740, 0.00755, 0.00000 /) - molalbinAQ(:,7) = (/ 555.600, 0.45742, 0.21651, 0.13549, 0.09439, 0.06918, 0.05184, 0.03891, 0.02848, 0.01921, 0.00000 /) - molalbinAQ(:,8) = (/ 555.600, 0.86272, 0.40057, 0.24605, 0.16855, 0.12160, 0.08988, 0.06671, 0.04860, 0.03329, 0.00000 /) - molalbinAQ(:,9) = (/ 555.600, 0.55832, 0.26300, 0.16412, 0.11418, 0.08375, 0.06308, 0.04780, 0.03574, 0.02543, 0.00000 /) - molalbinAQ(:,10)= (/ 555.600, 0.92947, 0.42461, 0.25726, 0.17392, 0.12435, 0.09149, 0.06809, 0.05035, 0.03601, 0.00000 /) - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ZSR_INI_MPMPO',1,ZHOOK_HANDLE) - END SUBROUTINE ZSR_INI_MPMPO - - !*********************************************************************************** - !************INITIALIZATION ROUTINES FOR PUN'S CODE********************************** - !*********************************************************************************** - SUBROUTINE BUNIFAC_INI() - - !Purpose: Set the values of declared in the bunifacparam module - - USE MODD_UNIFACPARAM - - IMPLICIT NONE - - !Group volume parameters - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:BUNIFAC_INI',0,ZHOOK_HANDLE) - RG_B(1:NFUNC_B)=(/0.9011, 0.6744, 0.4469, 1.1167, 0.8886, 0.5313, 0.3562, 1.2663 & - , 1.0396, 1.0000, 0.8952, 1.6724, 0.9980, 1.1450, 1.3013, 1.4199 /) - - !Group surface parameters - QG_B(1:NFUNC_B)=(/ 0.8480, 0.5400, 0.2280, 0.8670, 0.6760, 0.4000, 0.1200, 0.9680, & - 0.6600, 1.2000, 0.6800, 1.4880, 0.9480, 1.0880, 1.2440, 1.1040 /) - - !Set number of functional groups in each molecule. - !Each vector corresponds to a molecule - !fxm: it would be nice here to know what functional groups we actually talked about! - NU_B(1,:)=(/1, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 /) - NU_B(2,:)=(/1, 14, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 /) - NU_B(3,:)=(/0, 0 , 0, 0, 0, 2, 2, 0, 1, 0, 1, 1, 0, 2, 0, 0 /) - NU_B(4,:)=(/2, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /) - NU_B(5,:)=(/0, 0 , 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0 /) - NU_B(6,:)=(/0, 0 , 0, 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 1, 1 /) - NU_B(7,:)=(/ 0, 0 , 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0 /) - NU_B(8,:)=(/ 0, 0 , 0, 0, 0, 6, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1 /) - NU_B(9,:)=(/ 2, 12, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 /) - NU_B(10,:)=(/ 2, 3 , 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 /) - - A_B(1,:)=(/ 0.0, 0.0, 0.0, -200.00, -200.00, 61.13, 61.13, 76.50, 76.50 & - , 986.5, 912.2, 476.4, 677., 215.5, 663.5, 543.0 /) - A_B(2,:)=(/0.0 , 0.0 , 0.0 , -200.00, -200.00, 61.13, 61.13 , 76.50, 76.50 & - , 986.5 , 912.2 , 476.4 , 677. , 215.5 , 663.5, 543.0 /) - A_B(3,:)=(/ 0.0 , 0.0 , 0.0 , -200.00, -200.00, 61.13, 61.13 , 76.50, 76.50 & - , 986.5 , 912.2 , 476.4 , 677. , 215.5 , 663.5, 543.0 /) - A_B(4,:)=(/ 2520. , 2520. , 2520., 0.0 , 0.0, 340.7 , 340.7 , 4102. , 4102. & - , 693.9 , 926.3 , 524.5 , 0.0 , 389.3 , 730.4, 0.0 /) - A_B(5,:)=(/ 2520. , 2520. , 2520., 0.0 , 0.0 , 340.7 , 340.7 , 4102. , 4102. & - ,693.9 , 926.3, 524.5 , 0.0 , 389.3 , 730.4, 0.0 /) - A_B(6,:)= (/ -11.12, -11.12, -11.12, -97.78, -94.78, 0.0, 0.0, 167., 167. & - ,636.1 , 1174., 25.77, 0.0 , 32.14, 537.4, 194.9 /) - A_B(7,:)=(/ -11.12, -11.12, -11.12 ,-97.78, -94.78 , 0.0 , 0.0 , 167., 167. & - ,636.1 , 1174. , 25.77, 0.0 , 32.14 , 537.4, 194.9 /) - A_B(8,:)=(/ -69.70, -69.70, -69.70, -269.7, -269.7 , -146.8, -146.8, 0.0, 0.0 & - , 803.2 , 674.3 , -52.10, 0.0, 213.1 , 603.8, 4448. /) - A_B(9,:)= (/ -69.70, -69.70, -69.70, -269.7, -269.7 , -146.8, -146.8, 0.0 , 0.0 & - , 803.2 , 674.3 , -52.10, 0.0 , 213.1 , 603.8, 4448. /) - A_B(10,:)=(/ 156.4 ,156.4 , 156.4 , 8694., 8694., 89.60 , 89.60 , 25.82, 25.82 & - , 0.0, -442.1, 84.00 , 441.8, 28.06, 119.0, 157.1 /) - A_B(11,:)=(/10000. ,10000. , 10000. , 732.2, 732.2, 270.2 , 270.2 , 10000., 10000. & - , -274.5, 0.0 , -158.8, 0.0 , 0.0 , 0.0, 0.0 /) - A_B(12,:)=(/ 26.76, 26.76, 26.76, -82.92, -82.92, 140.1, 140.1, 365.8, 365.8 & - , 164.5 , -246.8, 0.0 , -37.36, 5.202 , 669.4, 0.0 /) - A_B(13,:)=(/505.7, 505.7 , 505.7 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 & - , -404.8, 0.0 , 128. , 0.0 , 304.1 , 0.0 , 0.0 /) - A_B(14,:)=(/ 83.36, 83.36 , 83.36 , 76.44 , 76.44 , 52.13, 52.13, 65.69, 65.69 & - , 237.7 , 0.0 , 2038. , -7.838, 0.0 , 664.6, 0.0 /) - A_B(15,:)=(/ 315.3 , 315.3 , 315.3 , 349.2 , 349.2 , 62.32 , 62.32 , 268.2, 268.2, & - -151., 0.0 , -297.8, 0.0, -338.5, 0.0 , 0.0 /) - A_B(16,:)=(/ 5541. ,5541. , 5541. , 0.0, 0.0, 1824. ,1824. , -27.8, -127.8 & - , 561.6, 0.0, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 /) - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:BUNIFAC_INI',1,ZHOOK_HANDLE) - END SUBROUTINE BUNIFAC_INI - - - !*************************************************************************************** - SUBROUTINE AUNIFAC_INI() - - !Purpose: Set the values of declared in the bunifacparam module - - USE modd_unifacparam - - IMPLICIT NONE - - !Group volume parameters - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:AUNIFAC_INI',0,ZHOOK_HANDLE) - RG_A(1:NFUNC_A)= (/ 0.9011, 0.6744, 0.4469, 1.1167, 0.8886, 0.6605 & - , 1.00, 0.92, 1.6724, 0.998, 1.3013 /) - - !Group surface parameters - QG_A(1:NFUNC_A)= (/0.8480, 0.5400, 0.2280, 0.8670, 0.6760, 0.4850 & - , 1.20, 1.40, 1.4880, 0.948, 1.2240 /) - - !Set number of functional groups in each molecule. - !Each vector corresponds to a molecule - !fxm: it would be nice here to know what functional groups we actually talked about! - NU_A(1,:)=(/0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2 /) - NU_A(2,:)=(/1, 0, 0, 0, 2, 0, 0, 0, 0, 1, 2 /) - NU_A(3,:)=(/2, 0, 0, 0, 1, 1, 1, 0, 0, 2, 0 /) - NU_A(4,:)=(/1, 2, 1, 1, 0, 0, 1, 0, 1, 0, 1 /) - NU_A(5,:)=(/0, 6, 1, 0, 0, 0, 1, 0, 1, 1, 0 /) - NU_A(6,:)=(/0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2 /) - NU_A(7,:)=(/0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 /) - - A_A(1,:)=(/ 0.0, 0.0, 0.0, -200.00, -200.00, -200.00, 986.500 & - , 1318.00, 476.400, 677.000, 663.500 /) - - A_A(2,:)=(/ 0.0, 0.0, 0.0, -200.00, -200.00, -200.00, 986.500 & - , 1318.00, 476.400, 677.000, 663.500 /) - - A_A(3,:)=(/ 0.0, 0.0, 0.0, -200.00, -200.00, -200.00, 986.500 & - , 1318.00, 476.400, 677.000, 663.500 /) - - A_A(4,:)=(/ 2520.00, 2520.00, 2520.00, 0.0, 0.0, 0.0, 693.900 & - , 634.200, 524.500, 0.0, 730.400 /) - - A_A(5,:)=(/ 2520.00, 2520.00, 2520.00, 0.0, 0.0, 0.0, 693.900 & - , 634.200, 524.500, 0.0, 730.400 /) - - A_A(6,:)= (/ 2520.00, 2520.00, 2520.00, 0.0, 0.0, 0.0, 693.900 & - , 634.200, 524.500, 0.0, 730.400 /) - - A_A(7,:)=(/ 156.400, 156.400, 156.400, 869.400, 869.400, 869.400, 0.0 & - , 353.500, 84.0000, 441.800, 119.000 /) - - A_A(8,:)=(/ 300.000, 300.000, 300.000, 692.700, 692.700, 692.700, -229.10 & - , 0.0, -195.40, -257.30, -14.090 /) - - A_A(9,:)= (/ 26.7600, 26.7600, 26.7600, -82.920, -82.920, -82.920, 164.500 & - , 472.500, 0.0, -37.360, 669.400 /) - - A_A(10,:)=(/ 505.700, 505.700, 505.700, 0.0, 0.0, 0.0, -404.80 & - , 232.700, 128.000, 0.0, 0.0 /) - - A_A(11,:)=(/315.300, 315.300, 315.311, 349.200, 349.200, 349.200, -151.00, & - -66.170, -297.80, 0.0, 0.0 /) - - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:AUNIFAC_INI',1,ZHOOK_HANDLE) - END SUBROUTINE AUNIFAC_INI - - !************************************************************************* - - - !**************************************************************************** - - SUBROUTINE ZSR_INI_PUN() - use modd_binsolu - implicit none - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ZSR_INI_PUN',0,ZHOOK_HANDLE) - molalbinA(:,1) = (/ 555.600, 0.49396, 0.22574, 0.13569, 0.09018, 0.06232, 0.04319, 0.02890, 0.01740, 0.00755, 0.00000 /) - molalbinA(:,2) = (/ 555.600, 0.45742, 0.21651, 0.13549, 0.09439, 0.06918, 0.05184, 0.03891, 0.02848, 0.01921, 0.00000 /) - molalbinA(:,3) = (/ 555.600, 0.86272, 0.40057, 0.24605, 0.16855, 0.12160, 0.08988, 0.06671, 0.04860, 0.03329, 0.00000 /) - molalbinA(:,4) = (/ 555.600, 0.55832, 0.26300, 0.16412, 0.11418, 0.08375, 0.06308, 0.04780, 0.03574, 0.02543, 0.00000 /) - molalbinA(:,5) = (/ 555.600, 0.92947, 0.42461, 0.25726, 0.17392, 0.12435, 0.09149, 0.06809, 0.05035, 0.03601, 0.00000 /) - molalbinA(:,6) = (/ 555.600, 0.54700, 0.25189, 0.15283, 0.10277, 0.07213, 0.05104, 0.03516, 0.02212, 0.00997, 0.00000 /) - IF (LHOOK) CALL DR_HOOK('MODE_UNIFAC:ZSR_INI_PUN',1,ZHOOK_HANDLE) - END SUBROUTINE ZSR_INI_PUN - -!************************************************************************************* - -END MODULE MODE_UNIFAC diff --git a/src/arome/chem/module/mode_zsrpun.F90 b/src/arome/chem/module/mode_zsrpun.F90 deleted file mode 100644 index fe0ca526f71db73f0753c98a417e7eb640b63aa8..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/mode_zsrpun.F90 +++ /dev/null @@ -1,135 +0,0 @@ -! ######spl -MODULE mode_zsrpun -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK - - USE modd_glo - - IMPLICIT NONE - - !************************************************************************** - !Purpose: ZSR is used to calculate the amount of water associated with Type - ! A organic molecules only when zsrflag = 1; when zsrflag = 0 use - ! Newt and UNIFAC to solve for Aw = RH - ! - !Revision history: 1. Developed by Betty Pun, AER, Feb 99 under EPRI funding - ! for the prototype SOA module. - ! 2. Modified November 99 by Betty Pun, AER, under CARB - ! funding to adhere to models-3 coding standards - ! 3. Modified to use ZSR or unifac to calculate water - ! associated with organics, as specified by zsrflag - ! by Betty Pun, Nov, 99. A file with xi at given Aw - ! is included binsolu.h - ! 4. Rewritten to FORTRAN90 by Alf Grini (alf.grini@cnrm.meteo.fr) - ! - !***************************************************************************/ - -CONTAINS - - subroutine ZSRPUN( & - AERO & !I [ug/m3] guess for aerosol concentrations - ,RH & !I [0-1] relative humidity - ,DELTALWC & !O [ug/m3] liquid water content - ,MOLALBIN & !I [umol/ug_{water}] molality of binary solutions - ,NSPIN & !I [nbr] number of species to take into account - ,NK & !I [nbr] number of sub and main component for main component - ,MW & !I [g/mol] molecular weight of species - ) - - USE modd_binsolu - - IMPLICIT NONE - - !INPUT - REAL, DIMENSION(:,:), INTENT(IN) :: AERO !I [ug/m3] guess for aerosol concentrations - REAL, DIMENSION(:), INTENT(IN) :: RH !I [0-1] relative humidity - REAL, DIMENSION(:,:), INTENT(IN) :: MOLALBIN !I ![umol/ug_{water}] molality of binary solutions - INTEGER, INTENT(IN) :: NSPIN !I [nbr] number of (main) species to take into account - INTEGER, DIMENSION(:), INTENT(IN) :: NK !I [nbr] number of sub and main component for main component - REAL, DIMENSION(:), INTENT(IN) :: MW !I [g/mol] molecular weight of species - - !OUTPUT - REAL, DIMENSION(:), INTENT(OUT) :: DELTALWC ![ug/m3] Liquid water content associated with organics - - !LOCAL, AUTOMATIC ARRAYS - REAL, DIMENSION(SIZE(AERO,1)) :: MOLAL1 ![umol_{aer}/ug_{water}] molality of aerosol in binary water mix @ RH1 - REAL, DIMENSION(SIZE(AERO,1)) :: MOLAL2 ![umol_{aer}/ug_{water}] molality of aerosol in binary water mix @ RH2 - REAL, DIMENSION(SIZE(AERO,1)) :: MOLALW ![umol_{aer}/ug_{water}] molality of aerosol binary water mix @ RH - INTEGER, DIMENSION(SIZE(AERO,1)) :: IRH1 ![0-10] lower index for relative humidity - INTEGER, DIMENSION(SIZE(AERO,1)) :: IRH2 ![1-11] upper index for relative humidity - - !LOCAL, ALLOCATABLE ARRAYS - REAL, DIMENSION(:,:), ALLOCATABLE :: AEROMOLEC ![umol/m3] concentration of main components - - !Small, integers, counters - INTEGER :: COMP_IDX ![idx] index for components (ions and main comp) - INTEGER :: I,J ![idx] counter for main and sub-components - INTEGER :: IX ![idx] conter for physical points - - !Allocate memory - REAL(KIND=JPRB) :: ZHOOK_HANDLE - IF (LHOOK) CALL DR_HOOK('MODE_ZSRPUN:ZSRPUN',0,ZHOOK_HANDLE) - ALLOCATE(AEROMOLEC(SIZE(AERO,1),NSPIN)) - - !Initialize water associated with organics - deltaLWC(:)=0.d0 - AEROMOLEC(:,:)=0.d0 - - !Start code - IF (ZSRFLAG.eq.0)THEN - stop "ZSRFLAG=0 not implemented yet" - - ELSE ! zsrflag = 1 - - !Get the total moles (umole/m3) of the main components, - !i.e. sum ions into main components - COMP_IDX=1 - DO I =1,NSPIN - AEROMOLEC(:,I)=AERO(:,COMP_IDX)/MW(COMP_IDX) - COMP_IDX=COMP_IDX+1 - - !add up the number of moles of ions - DO J=2,NK(I) - AEROMOLEC(:,I)=AEROMOLEC(:,I) & - + AERO(:,COMP_IDX)/MW(COMP_IDX) - - COMP_IDX=COMP_IDX+1 - ENDDO - ENDDO - - !Get the molality of component I in mix with water - !Note that is molality is low, it means RH is high, since we then - !have much water. So for RH=100%, molality should be very low - DO I=1,NSPIN - - DO IX=1,SIZE(AERO,1) !Loop on points - - IRH1(IX)=int(RH(IX)/RHGRAD) +1 !==> transforms lower RH into a 1-11 scale, we know binsolu for 0, 1, 2, 3, ..10 - - IRH2(IX)=int(RH(IX)/RHGRAD) +2 !==> transforms upper RH into a 1-11 scale, we know binsolu for 0, 1, 2, 3, ..10 - - !Get lower part of RH spectre - MOLAL1(IX)=MOLALBIN(IRH1(IX),I) - - !Get upper part of RH spectre - MOLAL2(IX)=MOLALBIN(IRH2(IX),I) - ENDDO !!Loop on points - - !Interpolate ==> molality at current RH for current component - MOLALW(:) = MOLAL1(:) & - +(MOLAL2(:)-MOLAL1(:))/RHgrad *(RH(:) - RHgrad*DBLE(IRH1(:)-1)) - - - !Use ZSR equation to add total water to deltaLWC - deltaLWC(:) = deltaLWC(:) + AEROMOLEC(:,I)/MOLALW(:) - - ENDDO - - ENDIF - - DEALLOCATE(AEROMOLEC) - - IF (LHOOK) CALL DR_HOOK('MODE_ZSRPUN:ZSRPUN',1,ZHOOK_HANDLE) - END SUBROUTINE ZSRPUN - -END MODULE mode_zsrpun diff --git a/src/arome/chem/module/modi_aer_effic.F90 b/src/arome/chem/module/modi_aer_effic.F90 deleted file mode 100644 index 8d2c3f684863ebff77bc7325011699ed68860bb8..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_aer_effic.F90 +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - MODULE MODI_AER_EFFIC -!! ######################## -!! -! -INTERFACE -!! -SUBROUTINE AER_EFFIC(PRG,PVGG, & !aerosol radius/fall speed (m/s) - PRHODREF, & !Air density - PMUW, PMU, & !mu water/air - PDPG, PEFC, & !diffusivity, efficiency - PRRS, & ! Rain water m.r. at time - KMODE, & ! Number of aerosol modes - PTEMP, PCOR, & ! air temp, cunningham corr factor - PDENSITY_AER ) ! aerosol density -! -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(IN) :: PRG, PVGG -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF -REAL, DIMENSION(:,:), INTENT(IN) :: PDPG -REAL, DIMENSION(:), INTENT(IN) :: PMU, PMUW -REAL, DIMENSION(:,:), INTENT(INOUT) :: PEFC -REAL, DIMENSION(:), INTENT(IN) :: PRRS -REAL, DIMENSION(:), INTENT(IN) :: PTEMP -REAL, DIMENSION(:,:), INTENT(IN) :: PCOR -INTEGER, INTENT(IN) :: KMODE -REAL, INTENT(IN) :: PDENSITY_AER - - -END SUBROUTINE AER_EFFIC -!! -END INTERFACE -END MODULE MODI_AER_EFFIC diff --git a/src/arome/chem/module/modi_aer_effic_dep.F90 b/src/arome/chem/module/modi_aer_effic_dep.F90 deleted file mode 100644 index 8b4074ccfae752ad2969aac410edf0410e8f11b3..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_aer_effic_dep.F90 +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - MODULE MODI_AER_EFFIC_DEP -!! ######################## -!! -! -INTERFACE -!! -SUBROUTINE AER_EFFIC_DEP(PRG,PVGG, & !aerosol radius/fall speed (m/s) - PRHODREF, & !Air density - PMUW, PMU, & !mu water/air - PDPG, PEFC, & !diffusivity, efficiency - PRRS, & ! Rain water m.r. at time - KMODE, & ! Number of aerosol modes - PTEMP, PCOR, & ! air temp, cunningham corr factor - PDENSITY_AER ) ! aerosol density -! -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(IN) :: PRG, PVGG -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF -REAL, DIMENSION(:,:), INTENT(IN) :: PDPG -REAL, DIMENSION(:), INTENT(IN) :: PMU, PMUW -REAL, DIMENSION(:,:), INTENT(INOUT) :: PEFC -REAL, DIMENSION(:), INTENT(IN) :: PRRS -REAL, DIMENSION(:), INTENT(IN) :: PTEMP -REAL, DIMENSION(:,:), INTENT(IN) :: PCOR -INTEGER, INTENT(IN) :: KMODE -REAL, INTENT(IN) :: PDENSITY_AER - - -END SUBROUTINE AER_EFFIC_DEP -!! -END INTERFACE -END MODULE MODI_AER_EFFIC_DEP diff --git a/src/arome/chem/module/modi_aer_velgrav.F90 b/src/arome/chem/module/modi_aer_velgrav.F90 deleted file mode 100644 index 9cfd6e26d1f26c4e2ae45bf944ec4ae6c97f15d1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_aer_velgrav.F90 +++ /dev/null @@ -1,22 +0,0 @@ -! ######spl - MODULE MODI_AER_VELGRAV -!! ######################## -!! -INTERFACE -!! -SUBROUTINE AER_VELGRAV(PRG, PABST, KMODE, PMU, & - PVGG, PDPG,PTEMP, PCOR, PDENSITY_AER) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(IN) :: PRG -REAL, DIMENSION(:), INTENT(IN) :: PTEMP -REAL, DIMENSION(:), INTENT(IN) :: PABST -INTEGER, INTENT(IN) :: KMODE -REAL, INTENT(IN) :: PDENSITY_AER -REAL, DIMENSION(:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:), INTENT(OUT) :: PVGG, PDPG -REAL, DIMENSION(:,:), INTENT(OUT) :: PCOR -END SUBROUTINE AER_VELGRAV -!! -END INTERFACE -!! -END MODULE MODI_AER_VELGRAV diff --git a/src/arome/chem/module/modi_aer_wet_dep.F90 b/src/arome/chem/module/modi_aer_wet_dep.F90 deleted file mode 100644 index e8c8a022383158fd0cb96d09ea4eb4beb6c5c54c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_aer_wet_dep.F90 +++ /dev/null @@ -1,46 +0,0 @@ -! ######spl - MODULE MODI_AER_WET_DEP -!! ################################ -!! -! -INTERFACE -!! -SUBROUTINE AER_WET_DEP (KSPLITR, PTSTEP, PZZ, PRHODREF, & - PRCT, PRRT, & - PRCS, PRRS, PSVT, PTHT, & - PPABST, PRGAER, PEVAP3D, KMODE, & - PDENSITY_AER, PMASSMIN, PSEA, PTOWN, & - PCCT, PCRT ) -! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step - ! integration for rain sedimendation -REAL, INTENT(IN) :: PTSTEP ! Time step -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference [kg/m3] air density -! -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCT ! Cloud water m.r. at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRT ! Rain water m.r. at t -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT ! Tracer m.r. at t -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCS ! Cloud water conc derived from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRS ! Rain water conc derifed from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PEVAP3D ! Instantaneous 3D Rain Evaporation flux (KG/KG/S) -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT !Potential temp -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST ! [Pa] pressure -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRGAER ! Aerosol radius (um) -INTEGER, INTENT(IN) :: KMODE ! Nb aerosols mode -REAL, INTENT(IN) :: PDENSITY_AER ! Begin Index for aerosol in cloud -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PMASSMIN ! Aerosol mass minimum value -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PSEA ! Sea mask -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PTOWN ! Town mask -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCCT ! Cloud water concentration -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCRT ! Rain water concentration -! -END SUBROUTINE AER_WET_DEP -!! -END INTERFACE -END MODULE MODI_AER_WET_DEP diff --git a/src/arome/chem/module/modi_aer_wet_dep_kmt_warm.F90 b/src/arome/chem/module/modi_aer_wet_dep_kmt_warm.F90 deleted file mode 100644 index 734817f62a9a5c5fe77a2af036779c19ae16de27..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_aer_wet_dep_kmt_warm.F90 +++ /dev/null @@ -1,46 +0,0 @@ -! ######spl - MODULE MODI_AER_WET_DEP_KMT_WARM -!! ################################ -!! -! -INTERFACE -!! -SUBROUTINE AER_WET_DEP_KMT_WARM(KSPLITR, PTSTEP, PZZ, PRHODREF, & - PRCT, PRRT, & - PRCS, PRRS, PSVT, PTHT, & - PPABST, PRGAER, PEVAP3D, KMODE, & - PDENSITY_AER, PMASSMIN, PSEA, PTOWN, & - PCCT, PCRT ) -! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KSPLITR ! Number of small time step - ! integration for rain sedimendation -REAL, INTENT(IN) :: PTSTEP ! Time step -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! Height (z) -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF! Reference [kg/m3] air density -! -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCT ! Cloud water m.r. at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRT ! Rain water m.r. at t -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT ! Tracer m.r. at t -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRCS ! Cloud water conc derived from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRRS ! Rain water conc derifed from source term -REAL, DIMENSION(:,:,:), INTENT(IN) :: PEVAP3D ! Instantaneous 3D Rain Evaporation flux (KG/KG/S) -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT !Potential temp -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST ! [Pa] pressure -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRGAER ! Aerosol radius (um) -INTEGER, INTENT(IN) :: KMODE ! Nb aerosols mode -REAL, INTENT(IN) :: PDENSITY_AER ! Begin Index for aerosol in cloud -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PMASSMIN ! Aerosol mass minimum value -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PSEA ! Sea mask -REAL, DIMENSION(:,:),OPTIONAL, INTENT(IN) :: PTOWN ! Town mask -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCCT ! Cloud water concentration -REAL, DIMENSION(:,:,:),OPTIONAL, INTENT(IN) :: PCRT ! Rain water concentration -! -END SUBROUTINE AER_WET_DEP_KMT_WARM -!! -END INTERFACE -END MODULE MODI_AER_WET_DEP_KMT_WARM diff --git a/src/arome/chem/module/modi_ch_aer_coag.F90 b/src/arome/chem/module/modi_ch_aer_coag.F90 deleted file mode 100644 index 43a553b67f987cc688b73e9296aebc7e7f6f4b24..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_coag.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_COAG -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_COAG(PM, PSIG0, PRG0, PN0,PDMINTRA,PDMINTER,PTGAS,PMU,& - PLAMBDA,PRHOP0) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM,PRHOP0 -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTRA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTER -REAL, DIMENSION(:),INTENT(IN) :: PTGAS -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG0, PRG0, PN0 -END SUBROUTINE CH_AER_COAG -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_COAG diff --git a/src/arome/chem/module/modi_ch_aer_driver.F90 b/src/arome/chem/module/modi_ch_aer_driver.F90 deleted file mode 100644 index de1929ff0491c99f554a082d41a58e6e0de103f3..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_driver.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_DRIVER -! ######################### -! -INTERFACE -! -SUBROUTINE CH_AER_DRIVER(PM, PSIG0, PRG0, PN0, PCTOTG, PCTOTA,& - PCCTOT, PDTACT, PSEDA,& - PMU, PLAMBDA, PRHOP0, POM, PSO4RAT, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PMASK,& - PTIME, PSOLORG) -IMPLICIT NONE -REAL, INTENT(IN) :: PDTACT, PTIME -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0, POM -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMASK -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -END SUBROUTINE CH_AER_DRIVER -! -END INTERFACE -! -END MODULE MODI_CH_AER_DRIVER diff --git a/src/arome/chem/module/modi_ch_aer_eqm_cormass.F90 b/src/arome/chem/module/modi_ch_aer_eqm_cormass.F90 deleted file mode 100644 index 7e844a370f852449f4d322851812d42d0dac71e5..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_eqm_cormass.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_EQM_CORMASS -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_EQM_CORMASS(PSVT) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT -END SUBROUTINE CH_AER_EQM_CORMASS -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_EQM_CORMASS diff --git a/src/arome/chem/module/modi_ch_aer_eqm_init0d.F90 b/src/arome/chem/module/modi_ch_aer_eqm_init0d.F90 deleted file mode 100644 index 023cc3595905e9c79e1324e8f6c30b4f1618e83c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_eqm_init0d.F90 +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_EQM_INIT0d -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_EQM_INIT0d(PMI, PAERO, PM3D, PRHOP3D, PSIG3D, PRG3D, & - PN3D, PCTOTA) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO, PMI -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM3D, PRHOP3D, PSIG3D, PRG3D, PN3D -REAL, DIMENSION(:,:,:),INTENT(INOUT) :: PCTOTA -END SUBROUTINE CH_AER_EQM_INIT0d -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_EQM_INIT0d diff --git a/src/arome/chem/module/modi_ch_aer_eqm_init_n.F90 b/src/arome/chem/module/modi_ch_aer_eqm_init_n.F90 deleted file mode 100644 index 4f7635654e7aa538964804e93049e1a354cc7447..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_eqm_init_n.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_EQM_INIT_n -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_EQM_INIT_n(PCHEM, PAERO, PM3D, PRHOP3D, PSIG3D, PRG3D, & - PN3D, PRHODREF, PCTOTA) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PM3D, PRHOP3D, PSIG3D, PRG3D, PN3D -REAL, DIMENSION(:,:,:,:,:),INTENT(INOUT) :: PCTOTA -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -END SUBROUTINE CH_AER_EQM_INIT_n -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_EQM_INIT_n diff --git a/src/arome/chem/module/modi_ch_aer_eqsam.F90 b/src/arome/chem/module/modi_ch_aer_eqsam.F90 deleted file mode 100644 index 2df646dc62971c1ec94f4f395576c1367ab9a500..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_eqsam.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_EQSAM -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_EQSAM(PAER,PRH, PPRESSURE, PTEMP) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PPRESSURE, PTEMP -END SUBROUTINE CH_AER_EQSAM -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_EQSAM diff --git a/src/arome/chem/module/modi_ch_aer_growth.F90 b/src/arome/chem/module/modi_ch_aer_growth.F90 deleted file mode 100644 index b97aa834fc0ebc2701237eb20d72c857403684aa..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_growth.F90 +++ /dev/null @@ -1,21 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_GROWTH -!! ######################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_GROWTH(PM,PSIG0, PRG0, PDMCOND,PDENAIR,PGASMW,PPGAS,PTGAS,PRH, POM,& - PSO4RAT, PDT) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMCOND, POM -REAL, DIMENSION(:), INTENT(IN) :: PDENAIR,PPGAS,PTGAS -REAL, DIMENSION(:), INTENT(INOUT) :: PRH, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0 -REAL, INTENT(INOUT) :: PGASMW -REAL, INTENT(IN) :: PDT -END SUBROUTINE CH_AER_GROWTH -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_GROWTH diff --git a/src/arome/chem/module/modi_ch_aer_init.F90 b/src/arome/chem/module/modi_ch_aer_init.F90 deleted file mode 100644 index 5ad642abea6088c33b3ac072e3799ed68fcaee6c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_init.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_INIT -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_INIT(PCHEM, PAERO, PRHODREF) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -END SUBROUTINE CH_AER_INIT -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_INIT diff --git a/src/arome/chem/module/modi_ch_aer_init_soa.F90 b/src/arome/chem/module/modi_ch_aer_init_soa.F90 deleted file mode 100644 index e34dbc812787af21fe93cb61a9e3fbd83f3d624e..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_init_soa.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_INIT_SOA -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_INIT_SOA(KOUT,KVERB) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KOUT, KVERB ! stdout output, verbosity level -END SUBROUTINE CH_AER_INIT_SOA -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_INIT_SOA diff --git a/src/arome/chem/module/modi_ch_aer_intermin.F90 b/src/arome/chem/module/modi_ch_aer_intermin.F90 deleted file mode 100644 index 8ce51f904bafb0b17714a2eaadbc4f07b8af1e3e..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_intermin.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl -MODULE MODI_CH_AER_INTERMIN -!! ########################### -!! -INTERFACE -!! - SUBROUTINE CH_AER_INTERMIN(v, w, x, y, z,zout,KVECNPT) - USE MODD_CH_AEROSOL - IMPLICIT NONE - INTEGER :: KVECNPT - REAL, DIMENSION(:) :: v - DOUBLE PRECISION, DIMENSION(:) :: w, x, y, z - DOUBLE PRECISION, DIMENSION(:,:) :: zout - END SUBROUTINE CH_AER_INTERMIN -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_INTERMIN diff --git a/src/arome/chem/module/modi_ch_aer_mineral.F90 b/src/arome/chem/module/modi_ch_aer_mineral.F90 deleted file mode 100644 index 7cb204b753bc381c58a988cdc69788f64313dd95..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_mineral.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_MINERAL -!! ####################### -!! -INTERFACE -! -SUBROUTINE CH_AER_MINERAL(PCTOTG, PCTOTA, PRV, PDENAIR, PPRESSURE, PTEMP, PRC, POM,& - PCCTOT,PSIG0, PRG0, PDT) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG, POM -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0 -REAL, INTENT(IN) :: PDT -! -END SUBROUTINE CH_AER_MINERAL -! -END INTERFACE -! -END MODULE MODI_CH_AER_MINERAL diff --git a/src/arome/chem/module/modi_ch_aer_mod_init.F90 b/src/arome/chem/module/modi_ch_aer_mod_init.F90 deleted file mode 100644 index a1798728b06cd62a3a628fc8a7bffb6bf63d5fb6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_mod_init.F90 +++ /dev/null @@ -1,10 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_MOD_INIT -!! ############################ -!! -INTERFACE -SUBROUTINE CH_AER_MOD_INIT -END SUBROUTINE CH_AER_MOD_INIT -END INTERFACE -!! -END MODULE MODI_CH_AER_MOD_INIT diff --git a/src/arome/chem/module/modi_ch_aer_mpmpo.F90 b/src/arome/chem/module/modi_ch_aer_mpmpo.F90 deleted file mode 100644 index 4e0312e5a62c7af490a31e868cb04ecba6903172..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_mpmpo.F90 +++ /dev/null @@ -1,35 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_MPMPO -!! ####################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_MPMPO( & - PTOT & !I [ug/m3] aerosol phase concentration - ,PTOTG & !I/O [ug/m3] gas phase concentrations - ,PTEMP & !I [K] temperature - ,PRH & !I [0-1] relative humidty - ,PLWC & !I [ug/m3] liquid water content - ,PPROTON & !I [mole/g_{water}] - ,PTOTNEW & !O [ug/m3] new aerosol concentration - ,PTOTGNEW & !O [ug/m3] new gas phase concentration - ,PSOLORG & !IO [%] Solubility of SOA (fraction) - ) - -IMPLICIT NONE - -REAL, DIMENSION(:,:), INTENT(IN) :: PTOT ![ug/m3] aerosol conc -REAL, DIMENSION(:,:), INTENT(IN) :: PTOTG ![ug/m3] gas concentration -REAL, DIMENSION(:), INTENT(IN) :: PTEMP, PRH ![K/-] temp and RH -REAL, DIMENSION(:), INTENT(IN) :: PLWC ![ug/m3] liquid water -REAL, DIMENSION(:), INTENT(IN) :: PPROTON ![mole/g_{water]] H+ -REAL, DIMENSION(:,:), INTENT(INOUT) :: PTOTNEW ![ug/m3] new aerosol conc -REAL, DIMENSION(:,:), INTENT(INOUT) :: PTOTGNEW ![ug/m3] new gas conc -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG ! [%] Solubility of SOA (fraction) - - -END SUBROUTINE CH_AER_MPMPO -! -END INTERFACE -! -END MODULE MODI_CH_AER_MPMPO diff --git a/src/arome/chem/module/modi_ch_aer_nucl.F90 b/src/arome/chem/module/modi_ch_aer_nucl.F90 deleted file mode 100644 index 67cb27975a31a759774cddc07f5b3d10e1b0f2a5..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_nucl.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl -MODULE MODI_CH_AER_NUCL -!! ################################ -!! -INTERFACE - !! - SUBROUTINE CH_AER_NUCL(ZRH,ZT,ZCONC,ZJ,ZAL,KVECNPT) - IMPLICIT NONE - !! -REAL, DIMENSION(:), INTENT(INOUT) :: ZJ,ZAL -REAL, DIMENSION(:), INTENT(IN) :: ZRH,ZT -REAL, DIMENSION(:), INTENT(INOUT) :: ZCONC -INTEGER, INTENT(IN) :: KVECNPT - !! - !! - END SUBROUTINE CH_AER_NUCL - !! -END INTERFACE -!! -END MODULE MODI_CH_AER_NUCL diff --git a/src/arome/chem/module/modi_ch_aer_organic.F90 b/src/arome/chem/module/modi_ch_aer_organic.F90 deleted file mode 100644 index 9815db558ef1fd9e6d6347f37c25db7f9f9665a2..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_organic.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_ORGANIC -!! ####################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_ORGANIC(PCTOTG, PCTOTA, PRV, PDENAIR, PPRESSURE, PTEMP, PRC, POM,& - PCCTOT,PSIG0, PRG0, PDT, PSOLORG) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG, POM -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG0, PRG0 -REAL, INTENT(IN) :: PDT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG - - - - -END SUBROUTINE CH_AER_ORGANIC -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_ORGANIC diff --git a/src/arome/chem/module/modi_ch_aer_pun.F90 b/src/arome/chem/module/modi_ch_aer_pun.F90 deleted file mode 100644 index 62bae98ccf7d5e0d8758ec26302ca74393c2c059..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_pun.F90 +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_PUN -!! ####################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_PUN( & - PTOT & !I [ug/m3] aerosol phase concentrations - ,PTOTG & !I [ug/m3] gas phase concentrations - ,PTEMP & !I [K] Temperature - ,PRH & !I [0-1] relative humidity - ,PLWC & !I [ug/m3] liquid water content - ,PPROTON & !I [mole/g_{water}] H+ concentration - ,PTOTNEW & !O [ug/m3] new aerosol concentration - ,PTOTGNEW & !O [ug/m3] new aerosol concentration - ) - -IMPLICIT NONE - -REAL, DIMENSION(:,:), INTENT(IN) :: PTOT !I [ug/m3] aerosol phase concentrations -REAL, DIMENSION(:,:), INTENT(IN) :: PTOTG !I [ug/m3] gas phase concentrations -REAL, DIMENSION(:), INTENT(IN) :: PTEMP !I [K] temperature -REAL, DIMENSION(:), INTENT(IN) :: PRH !I [0-1] relative humidity -REAL, DIMENSION(:), INTENT(INOUT) :: PLWC !I [ug/m3] liquid water content -REAL, DIMENSION(:), INTENT(INOUT) :: PPROTON !I [mole/g_{water}] H+ concentrations -REAL, DIMENSION(:,:), INTENT(OUT) :: PTOTNEW !O [ug/m3] aerosol phase concentrations -REAL, DIMENSION(:,:), INTENT(OUT) :: PTOTGNEW !O [ug/m3] gas phase concentrations - -END SUBROUTINE CH_AER_PUN -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_PUN diff --git a/src/arome/chem/module/modi_ch_aer_reallfi_n.F90 b/src/arome/chem/module/modi_ch_aer_reallfi_n.F90 deleted file mode 100644 index 0d6feb713f682928ff71256f0e2cdb051cd0fe3f..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_reallfi_n.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_REALLFI_n -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_REALLFI_n(PSV, PCO, PRHODREF) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -END SUBROUTINE CH_AER_REALLFI_n -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_REALLFI_n diff --git a/src/arome/chem/module/modi_ch_aer_sedim_n.F90 b/src/arome/chem/module/modi_ch_aer_sedim_n.F90 deleted file mode 100644 index 9f2875bb4c77a6c251abaa7a3fa45eb7cb19b6f9..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_sedim_n.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_SEDIM_n -!! ############################## -!! -INTERFACE -! -SUBROUTINE CH_AER_SEDIM_n(PDTMONITOR,PSVT,PTHT,& - PRHODREF,PPABST, PVDEPAERO, PZZ, PSEDA) - -IMPLICIT NONE - -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PVDEPAERO -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSEDA - - -END SUBROUTINE CH_AER_SEDIM_n -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_SEDIM_n diff --git a/src/arome/chem/module/modi_ch_aer_solv.F90 b/src/arome/chem/module/modi_ch_aer_solv.F90 deleted file mode 100644 index b7934b95467ec3811c4ba044e1ff43fbd5fb4e5b..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_solv.F90 +++ /dev/null @@ -1,29 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_SOLV -!! ####################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_SOLV(PM, PSIG0, PRG0, PN0,PCTOTG, PCTOTA, PCCTOT, & - PDMINTRA,PDMINTER,PDMCOND, PSEDA,PDT,& - POM, PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PTIME,PSOLORG) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: POM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTRA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMINTER -REAL, DIMENSION(:,:), INTENT(INOUT) :: PDMCOND -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -REAL, INTENT(IN) :: PDT, PTIME -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC - - -END SUBROUTINE CH_AER_SOLV -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_SOLV diff --git a/src/arome/chem/module/modi_ch_aer_surf.F90 b/src/arome/chem/module/modi_ch_aer_surf.F90 deleted file mode 100644 index 14157d948cca84292d996a50195ab43f27189e34..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_surf.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_SURF -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_SURF(PM, PRG, PSIG, PSURF) - -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(IN) :: PM ! moments -REAL, DIMENSION(:,:), INTENT(IN) :: PRG ! radius -REAL, DIMENSION(:,:), INTENT(IN) :: PSIG ! dispersion -REAL, DIMENSION(:,:), INTENT(OUT) :: PSURF ! aerosol surface -END SUBROUTINE CH_AER_SURF -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_SURF diff --git a/src/arome/chem/module/modi_ch_aer_thermo.F90 b/src/arome/chem/module/modi_ch_aer_thermo.F90 deleted file mode 100644 index 0860de632ffeb4fac92244ac38a1590516dff0bf..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_thermo.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl -MODULE MODI_CH_AER_THERMO -!! ################### -!! -INTERFACE -!! -SUBROUTINE CH_AER_THERMO(PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) -! -! -IMPLICIT NONE -! -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC -! -END SUBROUTINE CH_AER_THERMO -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_THERMO diff --git a/src/arome/chem/module/modi_ch_aer_trans.F90 b/src/arome/chem/module/modi_ch_aer_trans.F90 deleted file mode 100644 index df08626fd4dc04246eadaae5a3bfcd56e74b4d55..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_trans.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_TRANS -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_TRANS(KDIR, PM, PSIG0, PRG0, PN0, PRHOP0, PAERO,& - PCONC, PCTOTG, PCTOTA, PCCTOT,PFRAC,PMI,PMASK,GSCHEME) - - -IMPLICIT NONE -INTEGER, INTENT(IN) :: KDIR ! KDIR = 0 gas -> aero - ! KDIR = 1 aero -> gas -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM ! moments -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0, PRHOP0, PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCONC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMASK -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME - -END SUBROUTINE CH_AER_TRANS -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_TRANS diff --git a/src/arome/chem/module/modi_ch_aer_velgrav_n.F90 b/src/arome/chem/module/modi_ch_aer_velgrav_n.F90 deleted file mode 100644 index 4c60fa064f6ed74b7d96883770a768fecca910ea..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aer_velgrav_n.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_AER_VELGRAV_n -!! ############################## -!! -INTERFACE -!! -SUBROUTINE CH_AER_VELGRAV_n(PSIG, PRG, PTHT, PABST,PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -END SUBROUTINE CH_AER_VELGRAV_n -!! -END INTERFACE -!! -END MODULE MODI_CH_AER_VELGRAV_n diff --git a/src/arome/chem/module/modi_ch_allocate_taccs.F90 b/src/arome/chem/module/modi_ch_allocate_taccs.F90 deleted file mode 100644 index 0fe91b4314accc9f3116b0dd12e8000c1c6158b6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_allocate_taccs.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_CH_ALLOCATE_TACCS -! ########################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_ALLOCATE_TACCS(KMI,KVECNPT) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KMI ! model index -INTEGER, INTENT(IN) :: KVECNPT -END SUBROUTINE CH_ALLOCATE_TACCS -END INTERFACE -END MODULE MODI_CH_ALLOCATE_TACCS diff --git a/src/arome/chem/module/modi_ch_aqua.F90 b/src/arome/chem/module/modi_ch_aqua.F90 deleted file mode 100644 index b88ccdf6e1d8b2a50ae0c448bd3876ab3e8512f4..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_aqua.F90 +++ /dev/null @@ -1,27 +0,0 @@ -! ######spl - MODULE MODI_CH_AQUA -!! ################### -!! -INTERFACE -!! -!! ########################################################### - SUBROUTINE CH_AQUA (TEMP, P, LWC, & - H2O2, O3, SO2, CO2, HNO3, H2SO4, NH3, & - PFRAC, PPH, POX ) -!! ########################################################### -IMPLICIT NONE -REAL, INTENT(IN) :: TEMP ! air temperature -REAL, INTENT(IN) :: P ! pressure (in atm) -REAL, INTENT(IN) :: LWC ! cloud liquid water mixing ratio (kg/kg) -REAL, INTENT(IN) :: H2O2, O3, SO2, CO2, HNO3, H2SO4, NH3 - ! total concentration of these chemical species -REAL, INTENT(INOUT) :: PPH ! pH of the droplets -REAL, INTENT(OUT), DIMENSION(3,4) :: PFRAC ! fraction of each dissolved - ! species in the four states -REAL, INTENT(OUT), DIMENSION(2) :: POX ! SO2 oxidation by O3 - ! and H2O2 -END SUBROUTINE CH_AQUA -!! -END INTERFACE -!! -END MODULE MODI_CH_AQUA diff --git a/src/arome/chem/module/modi_ch_ares.F90 b/src/arome/chem/module/modi_ch_ares.F90 deleted file mode 100644 index c279e847dfd869e4221937400ec7635e8e20e7fb..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_ares.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_ARES -!! ##################### -!! -INTERFACE -!! -SUBROUTINE CH_ARES (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC - -END SUBROUTINE CH_ARES -!! -END INTERFACE -!! -END MODULE MODI_CH_ARES diff --git a/src/arome/chem/module/modi_ch_boundaries.F90 b/src/arome/chem/module/modi_ch_boundaries.F90 deleted file mode 100644 index 8e366d66ec3ea113e4be235cc06806c021e82d1d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_boundaries.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl -MODULE MODI_CH_BOUNDARIES -!######################## -! -INTERFACE -! - SUBROUTINE CH_BOUNDARIES (HLBCX,HLBCY, & - PSVBM,PUT,PVT,PSVBT ) -! -CHARACTER(LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX,HLBCY -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PSVBT,PSVBM -REAL, DIMENSION(:,:,:), INTENT(IN) :: PUT,PVT -! -END SUBROUTINE CH_BOUNDARIES -! -END INTERFACE -! -END MODULE MODI_CH_BOUNDARIES diff --git a/src/arome/chem/module/modi_ch_convect_linox.F90 b/src/arome/chem/module/modi_ch_convect_linox.F90 deleted file mode 100644 index e7314cda55eceb43f26663617a53db29281add16..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_convect_linox.F90 +++ /dev/null @@ -1,52 +0,0 @@ -! ######spl - MODULE MODI_CH_CONVECT_LINOX -! ############################ -! -INTERFACE -! - SUBROUTINE CH_CONVECT_LINOX( KLON, KLEV, PCH1, PCH1C, & - KDPL, KPBL, KLCL, KCTL, KLFS, KDBL, & - PUMF, PUER, PUDR, PDMF, PDER, PDDR, & - PTIMEC, PDXDY, PMIXF, PLMASS, PWSUB,& - KFTSTEPS, PUTT, PRHODREF, & - OUSECHEM, PZZ, PIC_RATE, PCG_RATE ) -! -INTEGER, INTENT(IN) :: KLON ! horizontal dimension -INTEGER, INTENT(IN) :: KLEV ! vertical dimension -! -REAL,DIMENSION(KLON,KLEV),INTENT(IN) :: PCH1 ! grid scale tracer concentr. -REAL,DIMENSION(KLON,KLEV),INTENT(OUT) :: PCH1C! conv adjusted tracer concntr. -! -INTEGER, DIMENSION(KLON), INTENT(IN) :: KDPL ! index for departure level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KPBL ! index for top of source layer -INTEGER, DIMENSION(KLON), INTENT(IN) :: KLCL ! index lifting condens. level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KCTL ! index for cloud top level -INTEGER, DIMENSION(KLON), INTENT(IN) :: KLFS ! index for level of free sink -INTEGER, DIMENSION(KLON), INTENT(IN) :: KDBL ! index for downdraft base level -! -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUMF ! updraft mass flux (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUER ! updraft entrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUDR ! updraft detrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDMF ! downdraft mass flux (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDER ! downdraft entrainment (kg/s) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PDDR ! downdraft detrainment (kg/s) -! -REAL, DIMENSION(KLON), INTENT(IN) :: PTIMEC! convection time step -REAL, DIMENSION(KLON), INTENT(IN) :: PDXDY ! grid area (m^2) -REAL, DIMENSION(KLON), INTENT(IN) :: PMIXF ! mixed fraction at LFS -REAL, DIMENSION(KLON,KLEV),INTENT(IN) :: PLMASS! mass of model layer (kg) -REAL, DIMENSION(KLON,KLEV),INTENT(IN) :: PWSUB ! envir. compensating subsidence(Pa/s) -INTEGER, INTENT(IN) :: KFTSTEPS ! maximum fractional time steps -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PUTT ! updraft temperature (K) -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PRHODREF -! -LOGICAL, INTENT(IN) :: OUSECHEM ! to indicate if chemistry is used -REAL, DIMENSION(KLON,KLEV), INTENT(IN) :: PZZ ! height of model layer (m) -REAL, DIMENSION(KLON), INTENT(INOUT) :: PIC_RATE ! IC lightning frequency -REAL, DIMENSION(KLON), INTENT(INOUT) :: PCG_RATE ! CG lightning frequency -! -END SUBROUTINE CH_CONVECT_LINOX -! -END INTERFACE -! -END MODULE MODI_CH_CONVECT_LINOX diff --git a/src/arome/chem/module/modi_ch_cranck.F90 b/src/arome/chem/module/modi_ch_cranck.F90 deleted file mode 100644 index 3b3658a4c4030652fec471090323871553eb718a..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_cranck.F90 +++ /dev/null @@ -1,23 +0,0 @@ -! ######spl - MODULE MODI_CH_CRANCK -!! ##################### -!! -! -INTERFACE -!! -SUBROUTINE CH_CRANCK(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PALPHA) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -REAL, INTENT(IN) :: PALPHA -END SUBROUTINE CH_CRANCK -!! -END INTERFACE -!! -END MODULE MODI_CH_CRANCK diff --git a/src/arome/chem/module/modi_ch_deallocate_taccs.F90 b/src/arome/chem/module/modi_ch_deallocate_taccs.F90 deleted file mode 100644 index 2fb25d20ad271dfa11ed3d4e0d4028946cebfcc8..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_deallocate_taccs.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_DEALLOCATE_TACCS -! ########################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_DEALLOCATE_TACCS(KMI) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KMI ! model index -END SUBROUTINE CH_DEALLOCATE_TACCS -END INTERFACE -END MODULE MODI_CH_DEALLOCATE_TACCS diff --git a/src/arome/chem/module/modi_ch_diagnostics.F90 b/src/arome/chem/module/modi_ch_diagnostics.F90 deleted file mode 100644 index fb7caae71d30f6ac3edd3a87c370f50e6a6442e6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_diagnostics.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_DIAGNOSTICS -!! ########################## -! -INTERFACE -SUBROUTINE CH_DIAGNOSTICS(PCONC, KMI, KVECNPT) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KVECNPT -REAL, DIMENSION(:,:), INTENT(IN) :: PCONC ! the chem species -INTEGER, INTENT(IN) :: KMI -END SUBROUTINE CH_DIAGNOSTICS -END INTERFACE -END MODULE MODI_CH_DIAGNOSTICS diff --git a/src/arome/chem/module/modi_ch_emission_flux0d.F90 b/src/arome/chem/module/modi_ch_emission_flux0d.F90 deleted file mode 100644 index a7d8a87a2496e7d36dd1e91d9c5c86d7b95dc54f..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_emission_flux0d.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_CH_EMISSION_FLUX0D -!! ############################ -!! -INTERFACE -SUBROUTINE CH_EMISSION_FLUX0D(PTIME, PFLUX, HINPUTFILE, KLUOUT, KVERB) -USE MODD_CH_M9, ONLY: NEQ -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME ! time of simulation in sec UTC - ! (counting from midnight) -REAL, DIMENSION(NEQ), INTENT(OUT) :: PFLUX ! emission flux in ppp*m/s -CHARACTER*(*), INTENT(IN) :: HINPUTFILE ! name of the input file -INTEGER, INTENT(IN) :: KLUOUT ! output listing channel -INTEGER, INTENT(IN) :: KVERB ! verbosity level -END SUBROUTINE CH_EMISSION_FLUX0D -END INTERFACE -!! -END MODULE MODI_CH_EMISSION_FLUX0D diff --git a/src/arome/chem/module/modi_ch_exqssa.F90 b/src/arome/chem/module/modi_ch_exqssa.F90 deleted file mode 100644 index e868fa9b40cbb68811cd6b3ad7593001aa747bc4..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_exqssa.F90 +++ /dev/null @@ -1,26 +0,0 @@ -! ######spl - MODULE MODI_CH_EXQSSA -!! ##################### -!! -! -INTERFACE -!! -SUBROUTINE CH_EXQSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PSLOW, PFAST, PDTMAX) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC - ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC - ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number - ! reac. rates, auxiliary variables -REAL, INTENT(IN) :: PSLOW, PFAST, PDTMAX -END SUBROUTINE CH_EXQSSA -!! -END INTERFACE -!! -END MODULE MODI_CH_EXQSSA diff --git a/src/arome/chem/module/modi_ch_fcn.F90 b/src/arome/chem/module/modi_ch_fcn.F90 deleted file mode 100644 index 94b62fa785bc112fd5b687336a8fff662416a728..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_fcn.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_FCN -!! ################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_FCN(PTIME,PCONC,PDCDT,KMI,KVECNPT,KEQ) -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PDCDT -INTEGER, INTENT(IN) :: KMI -!! -END SUBROUTINE CH_FCN -END INTERFACE -END MODULE MODI_CH_FCN diff --git a/src/arome/chem/module/modi_ch_field_value_n.F90 b/src/arome/chem/module/modi_ch_field_value_n.F90 deleted file mode 100644 index 725ba6980925388d8627f57d4a9abb76721c90e6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_field_value_n.F90 +++ /dev/null @@ -1,22 +0,0 @@ -! ######spl - MODULE MODI_CH_FIELD_VALUE_n -!! ############################ -!! -INTERFACE -!! -FUNCTION CH_FIELD_VALUE_n(PZ, HGRIDTYPE, HNAME, & - HUNIT, KLUOUT, KVERB) -IMPLICIT NONE -REAL :: CH_FIELD_VALUE_n! the function name -REAL, INTENT(IN) :: PZ ! x-y-z coo. to initialize -CHARACTER(LEN=*), INTENT(IN) :: HGRIDTYPE ! grid type passed as x-y-z coo. -CHARACTER(LEN=*), INTENT(IN) :: HNAME ! name of species to initialize -CHARACTER(LEN=*), INTENT(OUT):: HUNIT ! unit ("CON" or "MIX") -INTEGER, INTENT(IN) :: KLUOUT ! output listing channel -INTEGER, INTENT(IN) :: KVERB ! verbosity level -!! -END FUNCTION CH_FIELD_VALUE_n -!! -END INTERFACE -!! -END MODULE MODI_CH_FIELD_VALUE_n diff --git a/src/arome/chem/module/modi_ch_gauss.F90 b/src/arome/chem/module/modi_ch_gauss.F90 deleted file mode 100644 index 86a1e899479b4f3abf1d0aedcda528edb3f4dbbb..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_gauss.F90 +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - MODULE MODI_CH_GAUSS -!! ############################# - -INTERFACE - -SUBROUTINE CH_GAUSS(PIN,POUT,KDIM,KFAIL) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KDIM ! dimension of the matrix -INTEGER, INTENT(INOUT) :: KFAIL ! error flag -REAL, DIMENSION(KDIM,KDIM), INTENT(IN) :: PIN ! matrix to be inverted -REAL, DIMENSION(KDIM,KDIM), INTENT(OUT) :: POUT ! inverse matrix -END SUBROUTINE CH_GAUSS - -END INTERFACE - -END MODULE MODI_CH_GAUSS diff --git a/src/arome/chem/module/modi_ch_get_cnames.F90 b/src/arome/chem/module/modi_ch_get_cnames.F90 deleted file mode 100644 index 57434daf497a5b32ad6b0bc6b9c25ef61e33f67f..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_get_cnames.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_GET_CNAMES -!! ########################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_GET_CNAMES(HNAMES) -IMPLICIT NONE -CHARACTER(LEN=32), DIMENSION(:), INTENT(OUT) :: HNAMES -END SUBROUTINE CH_GET_CNAMES -END INTERFACE -END MODULE MODI_CH_GET_CNAMES diff --git a/src/arome/chem/module/modi_ch_get_rates.F90 b/src/arome/chem/module/modi_ch_get_rates.F90 deleted file mode 100644 index 32543c35c34eac09774483bfb8812ef95b055311..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_get_rates.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_GET_RATES -!! ######################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_GET_RATES(PRATE,KMI,KVECNPT,KREAC) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KREAC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KREAC) :: PRATE -INTEGER, INTENT(IN) :: KMI -END SUBROUTINE CH_GET_RATES -END INTERFACE -END MODULE MODI_CH_GET_RATES diff --git a/src/arome/chem/module/modi_ch_ini_orilam.F90 b/src/arome/chem/module/modi_ch_ini_orilam.F90 deleted file mode 100644 index b0199b611e7ca470d260734a2f9190c801e9740d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_ini_orilam.F90 +++ /dev/null @@ -1,27 +0,0 @@ -! ######spl - MODULE MODI_CH_INI_ORILAM -!! ########################### -!! -INTERFACE - SUBROUTINE CH_INI_ORILAM(PM, PSIG0, PRG0, PN0,PCTOTG, PCTOTA, PCCTOT, & - PSEDA, POM, PRHOP0, PAERO,PCHEM,PRV, PDENAIR,& - PPRESSURE, PTEMP, PRC, PFRAC, PMI, GSCHEME) -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM, POM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCHEM, PAERO -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME - - - -END SUBROUTINE CH_INI_ORILAM -END INTERFACE -!! -END MODULE MODI_CH_INI_ORILAM diff --git a/src/arome/chem/module/modi_ch_init_ccs.F90 b/src/arome/chem/module/modi_ch_init_ccs.F90 deleted file mode 100644 index f6ad91e52f19580373d98530e0ca918bd9c07651..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_ccs.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_CCS -! ####################### -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_INIT_CCS(KEQ,KOUT,KVERB) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KEQ ! number of scalar variables -INTEGER, INTENT(IN) :: KOUT, KVERB ! stdout output, verbosity level -END SUBROUTINE CH_INIT_CCS -END INTERFACE -END MODULE MODI_CH_INIT_CCS diff --git a/src/arome/chem/module/modi_ch_init_const_n.F90 b/src/arome/chem/module/modi_ch_init_const_n.F90 deleted file mode 100644 index 83e46413a265d3d9bef9144d20bc76cf925b8f70..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_const_n.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_CONST_n -!! ################################ -!! -INTERFACE -!! -SUBROUTINE CH_INIT_CONST_n (KLUOUT, KVERB) - -IMPLICIT NONE -!! - -INTEGER, INTENT(IN) :: KLUOUT ! output listing channel -INTEGER, INTENT(IN) :: KVERB ! verbosity level -!! -END SUBROUTINE CH_INIT_CONST_n -!! -END INTERFACE -!! -END MODULE MODI_CH_INIT_CONST_n diff --git a/src/arome/chem/module/modi_ch_init_jvalues.F90 b/src/arome/chem/module/modi_ch_init_jvalues.F90 deleted file mode 100644 index def1ade2ad305ef8108eb57e4f31b94fc89a6ab4..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_jvalues.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_JVALUES -! ############################ -! -INTERFACE -! - SUBROUTINE CH_INIT_JVALUES(KDAY, KMONTH, KYEAR, KLUOUT) -! -INTEGER, INTENT(IN) :: KLUOUT -INTEGER, INTENT(IN) :: KYEAR ! Current Year -INTEGER, INTENT(IN) :: KMONTH ! Current Month -INTEGER, INTENT(IN) :: KDAY ! Current Day - -! -! -END SUBROUTINE CH_INIT_JVALUES -! -END INTERFACE -! -END MODULE MODI_CH_INIT_JVALUES diff --git a/src/arome/chem/module/modi_ch_init_meteo.F90 b/src/arome/chem/module/modi_ch_init_meteo.F90 deleted file mode 100644 index 73e751b2cc0acdb3de1fbd9ffe03636ebfe342e9..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_meteo.F90 +++ /dev/null @@ -1,12 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_METEO -!! ######################### -!! -! -INTERFACE -SUBROUTINE CH_INIT_METEO(TPM) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -TYPE(METEOTRANSTYPE), INTENT(OUT) :: TPM ! the meteo variables -END SUBROUTINE CH_INIT_METEO -END INTERFACE -END MODULE MODI_CH_INIT_METEO diff --git a/src/arome/chem/module/modi_ch_init_model0d.F90 b/src/arome/chem/module/modi_ch_init_model0d.F90 deleted file mode 100644 index 256ae09812d1b53ab567a57a24d24020b7cc30a0..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_model0d.F90 +++ /dev/null @@ -1,11 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_MODEL0D -!! ########################### -!! -INTERFACE -SUBROUTINE CH_INIT_MODEL0D(HNAMELISTFILE) -IMPLICIT NONE -CHARACTER*(*), INTENT(IN) :: HNAMELISTFILE -END SUBROUTINE CH_INIT_MODEL0D -END INTERFACE -END MODULE MODI_CH_INIT_MODEL0D diff --git a/src/arome/chem/module/modi_ch_init_output.F90 b/src/arome/chem/module/modi_ch_init_output.F90 deleted file mode 100644 index 1076c69fb4b19cc4aebcd253bc08ab9d7c04ec71..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_output.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_OUTPUT -!! ########################## -!! -! -INTERFACE -SUBROUTINE CH_INIT_OUTPUT(TPM) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -TYPE(METEOTRANSTYPE), INTENT(IN) :: TPM -END SUBROUTINE CH_INIT_OUTPUT -END INTERFACE -END MODULE MODI_CH_INIT_OUTPUT diff --git a/src/arome/chem/module/modi_ch_init_scheme.F90 b/src/arome/chem/module/modi_ch_init_scheme.F90 deleted file mode 100644 index 595529b1acf2c845f4bf587cc1dbeb3230731969..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_init_scheme.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_INIT_SCHEME -! ############################ -! -INTERFACE -! - SUBROUTINE CH_INIT_SCHEME(KLUOUT) -! -INTEGER, INTENT(IN) :: KLUOUT -! -! -END SUBROUTINE CH_INIT_SCHEME -! -END INTERFACE -! -END MODULE MODI_CH_INIT_SCHEME diff --git a/src/arome/chem/module/modi_ch_interp_jvalues.F90 b/src/arome/chem/module/modi_ch_interp_jvalues.F90 deleted file mode 100644 index b225f44be69c18577d98fc67d62970523eb3d36c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_interp_jvalues.F90 +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - MODULE MODI_CH_INTERP_JVALUES -! ############################# -! - INTERFACE -! - SUBROUTINE CH_INTERP_JVALUES(PJVALUES,PZZ, PZS, PALBUV, PZENITH, & - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB, KLUOUT) -! -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX - IMPLICIT NONE - INTEGER, INTENT(IN) :: KLUOUT - INTEGER, INTENT(IN) :: KLON ! dimension I - INTEGER, INTENT(IN) :: KLAT ! dimension J - INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels - REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALBUV, PZS - REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ - REAL, DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES - INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim - INTEGER, INTENT(IN) :: KVERB ! verbosity level - END SUBROUTINE CH_INTERP_JVALUES - END INTERFACE -! - END MODULE MODI_CH_INTERP_JVALUES diff --git a/src/arome/chem/module/modi_ch_interp_jvalues_n.F90 b/src/arome/chem/module/modi_ch_interp_jvalues_n.F90 deleted file mode 100644 index a4ea7be4a125ab5384e3f4ef915a7e62ad460970..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_interp_jvalues_n.F90 +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - MODULE MODI_CH_INTERP_JVALUES_n -! ################################ -! - INTERFACE -! - SUBROUTINE CH_INTERP_JVALUES_n(PJVALUES,PZZ, PZS, PALBUV, PZENITH,& - KLON, KLAT, KLEV, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB, KLUOUT) -! -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX - IMPLICIT NONE - INTEGER, INTENT(IN) :: KLUOUT - INTEGER, INTENT(IN) :: KLON ! dimension I - INTEGER, INTENT(IN) :: KLAT ! dimension J - INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels - REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALBUV, PZS - REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ - REAL, DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES - INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim - INTEGER, INTENT(IN) :: KVERB ! verbosity level - END SUBROUTINE CH_INTERP_JVALUES_n - END INTERFACE -! - END MODULE MODI_CH_INTERP_JVALUES_n diff --git a/src/arome/chem/module/modi_ch_isoropia.F90 b/src/arome/chem/module/modi_ch_isoropia.F90 deleted file mode 100644 index dd120354447cf2266f3aeac79610cc1ee96ca4cb..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_isoropia.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_ISOROPIA -!! ######################## -!! -INTERFACE -!! -SUBROUTINE CH_ISOROPIA (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) -USE MODD_CH_M9 -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC -END SUBROUTINE CH_ISOROPIA -!! -END INTERFACE -!! -END MODULE MODI_CH_ISOROPIA diff --git a/src/arome/chem/module/modi_ch_jac.F90 b/src/arome/chem/module/modi_ch_jac.F90 deleted file mode 100644 index da64de2747e0e106fa445b762fe90600bc0cb00d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_jac.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_CH_JAC -!! ################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_JAC(PTIME,PCONC,PJAC,KMI,KVECNPT,KEQ) -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ,KEQ) :: PJAC -INTEGER, INTENT(IN) :: KMI -END SUBROUTINE CH_JAC -END INTERFACE -END MODULE MODI_CH_JAC diff --git a/src/arome/chem/module/modi_ch_jvalues_clouds.F90 b/src/arome/chem/module/modi_ch_jvalues_clouds.F90 deleted file mode 100644 index 1edd2d1851df75d6d0fc5dac5058b670f29c0d57..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_jvalues_clouds.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_JVALUES_CLOUDS -! ############################# - INTERFACE - SUBROUTINE CH_JVALUES_CLOUDS(PZENITH, KPJVMAX, KJVLEVEL, PAZ, PLWC, PFCLD) - IMPLICIT NONE - INTEGER, INTENT(IN) :: KPJVMAX, KJVLEVEL - REAL, DIMENSION(:,:), INTENT(IN) :: PZENITH - REAL, DIMENSION(:,:,:), INTENT(IN) :: PLWC, PAZ - REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PFCLD - END SUBROUTINE CH_JVALUES_CLOUDS - END INTERFACE - END MODULE MODI_CH_JVALUES_CLOUDS diff --git a/src/arome/chem/module/modi_ch_jvalues_clouds_n.F90 b/src/arome/chem/module/modi_ch_jvalues_clouds_n.F90 deleted file mode 100644 index c76366a95cd159f97cfd6ed7fdd10281b47aed72..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_jvalues_clouds_n.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_CH_JVALUES_CLOUDS_n -! ############################# - INTERFACE - SUBROUTINE CH_JVALUES_CLOUDS_n(PZENITH, KPJVMAX, KJVLEVEL, PAZ, PLWC, PFCLD) - IMPLICIT NONE - INTEGER, INTENT(IN) :: KPJVMAX, KJVLEVEL - REAL, DIMENSION(:,:,:), INTENT(IN) :: PLWC, PAZ - REAL, DIMENSION(:,:), INTENT(IN) :: PZENITH - REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PFCLD - - END SUBROUTINE CH_JVALUES_CLOUDS_n - END INTERFACE - END MODULE MODI_CH_JVALUES_CLOUDS_n diff --git a/src/arome/chem/module/modi_ch_jvalues_n.F90 b/src/arome/chem/module/modi_ch_jvalues_n.F90 deleted file mode 100644 index f710767ebac5d86c25a8f41dc709349873ae38a1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_jvalues_n.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_JVALUES_n -! ############################################# -! - INTERFACE - SUBROUTINE CH_JVALUES_n(KVECNPT, KIINDEX, KJINDEX, KMODELLEVEL, KRATES, PJVALUES, PRATES) - IMPLICIT NONE - INTEGER, DIMENSION(:), INTENT(IN) :: KMODELLEVEL - INTEGER, INTENT(IN) :: KVECNPT - INTEGER, DIMENSION(:), INTENT(IN) :: KIINDEX,KJINDEX - ! current model grid point - INTEGER, INTENT(IN) :: KRATES - ! dimension of PRATES - REAL, DIMENSION(KVECNPT,KRATES), INTENT(OUT) :: PRATES - ! photolysis rates - REAL,DIMENSION(:,:,:,:), INTENT(IN) :: PJVALUES ! Tuv coefficients - - END SUBROUTINE CH_JVALUES_n - END INTERFACE - END MODULE MODI_CH_JVALUES_n diff --git a/src/arome/chem/module/modi_ch_linssa.F90 b/src/arome/chem/module/modi_ch_linssa.F90 deleted file mode 100644 index ff1134f80e2a10aee4a6809a7c081a2e518adbe4..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_linssa.F90 +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - MODULE MODI_CH_LINSSA -!! ##################### -!! -! -INTERFACE -!! -SUBROUTINE CH_LINSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - KSSA, KSSAINDEX) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -INTEGER, INTENT(IN) :: KSSA -INTEGER, DIMENSION(1000) :: KSSAINDEX -! -END SUBROUTINE CH_LINSSA -!! -END INTERFACE -!! -END MODULE MODI_CH_LINSSA diff --git a/src/arome/chem/module/modi_ch_meteo_trans.F90 b/src/arome/chem/module/modi_ch_meteo_trans.F90 deleted file mode 100644 index 367d0ee424da65aac0dd814f58b89840e551d4ee..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_meteo_trans.F90 +++ /dev/null @@ -1,34 +0,0 @@ -! ######spl - MODULE MODI_CH_METEO_TRANS -!! ############################# -!! -! -INTERFACE -!! -SUBROUTINE CH_METEO_TRANS(KL, PRHODREF, PRT, PTHT, PABST, & - KVECNPT, KVECMASK, TPM, KDAY,& - KMONTH, KYEAR, PLAT, PLON, PLAT0, PLON0,& - OUSERV, OUSERC, KLUOUT ) - -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! air density -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PRT ! moist variables at t -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST ! theta and pressure at t -INTEGER, DIMENSION(:,:), INTENT(IN) :: KVECMASK -TYPE(METEOTRANSTYPE), DIMENSION(:), INTENT(INOUT) :: TPM - ! meteo variable for CCS -INTEGER, INTENT(IN) :: KYEAR ! Current Year -INTEGER, INTENT(IN) :: KMONTH ! Current Month -INTEGER, INTENT(IN) :: KDAY ! Current Day -INTEGER, INTENT(IN) :: KLUOUT ! channel for output listing -INTEGER, INTENT(IN) :: KL, KVECNPT -REAL, DIMENSION(:,:), INTENT(IN) :: PLAT, PLON -REAL, INTENT(IN) :: PLAT0, PLON0 -LOGICAL, INTENT(IN) :: OUSERV, OUSERC - -END SUBROUTINE CH_METEO_TRANS -!! -END INTERFACE -!! -END MODULE MODI_CH_METEO_TRANS diff --git a/src/arome/chem/module/modi_ch_monitor_n.F90 b/src/arome/chem/module/modi_ch_monitor_n.F90 deleted file mode 100644 index b886dbf0177c3e91054765aab470be7a94b6a829..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_monitor_n.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_MONITOR_n -!! ######################## -!! -! -INTERFACE -!! -SUBROUTINE CH_MONITOR_n(KTCOUNT,PTSTEP, KLUOUT, KVERB) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KTCOUNT ! iteration count -REAL, INTENT(IN) :: PTSTEP ! Double timestep except - ! for the first time step (single one) -INTEGER, INTENT(IN) :: KLUOUT ! unit for output listing count -INTEGER, INTENT(IN) :: KVERB ! verbosity level -END SUBROUTINE CH_MONITOR_n -!! -END INTERFACE -!! -END MODULE MODI_CH_MONITOR_n diff --git a/src/arome/chem/module/modi_ch_nnares.F90 b/src/arome/chem/module/modi_ch_nnares.F90 deleted file mode 100644 index b897c069d8d4b6bb1a3c3bbd5a7cee21df65ae97..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_nnares.F90 +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - MODULE MODI_CH_NNARES -!! ##################### -!! -INTERFACE -!! -SUBROUTINE CH_NNARES (PAER,PRH, PDENAIR, PPRESSURE, PTEMP, PRC) -USE MODD_CH_M9 -IMPLICIT NONE -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAER -REAL, DIMENSION(:), INTENT(IN) :: PRH, PDENAIR, PPRESSURE, PTEMP, PRC - -END SUBROUTINE CH_NNARES -!! -END INTERFACE -!! -END MODULE MODI_CH_NNARES diff --git a/src/arome/chem/module/modi_ch_nonzeroterms.F90 b/src/arome/chem/module/modi_ch_nonzeroterms.F90 deleted file mode 100644 index ac9ce3729b40f0cf750d4ec548e023b7bbb33a34..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_nonzeroterms.F90 +++ /dev/null @@ -1,11 +0,0 @@ -! ######spl - MODULE MODI_CH_NONZEROTERMS -!! ########################### -INTERFACE -SUBROUTINE CH_NONZEROTERMS(KINDEX, KINDEXDIM) -IMPLICIT NONE -INTEGER, INTENT(IN) :: KINDEXDIM -INTEGER, INTENT(OUT), DIMENSION(2,KINDEXDIM) :: KINDEX -END SUBROUTINE CH_NONZEROTERMS -END INTERFACE -END MODULE MODI_CH_NONZEROTERMS diff --git a/src/arome/chem/module/modi_ch_open_input.F90 b/src/arome/chem/module/modi_ch_open_input.F90 deleted file mode 100644 index dc4242709a6f39429b22713e75d93668ebcae3e9..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_open_input.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_CH_OPEN_INPUT -!! ######################### -!! -INTERFACE -!! -SUBROUTINE CH_OPEN_INPUT(HCHEM_INPUT_FILE,HKEYWORD,KCHANNEL,KLUOUT,KVERB) -IMPLICIT NONE -CHARACTER(LEN=*), INTENT(IN) :: HCHEM_INPUT_FILE ! general purpose input file -CHARACTER(LEN=*), INTENT(IN) :: HKEYWORD ! keyword for positioning -INTEGER , INTENT(OUT):: KCHANNEL ! I/O channel to choose -INTEGER, INTENT(IN) :: KLUOUT ! output listing channel -INTEGER, INTENT(IN) :: KVERB ! verbosity level -END SUBROUTINE CH_OPEN_INPUT -!! -END INTERFACE -!! -END MODULE MODI_CH_OPEN_INPUT diff --git a/src/arome/chem/module/modi_ch_orilam.F90 b/src/arome/chem/module/modi_ch_orilam.F90 deleted file mode 100644 index a8209958ff45599f19f6c6f7a6ee63cd502fd3d0..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_orilam.F90 +++ /dev/null @@ -1,34 +0,0 @@ -! ######spl - MODULE MODI_CH_ORILAM -!! ######################### -!! -INTERFACE -!! -SUBROUTINE CH_ORILAM(PAERO, PCHEM, PM, PSIG0, PRG0, PN0, PCTOTG, PCTOTA,& - PCCTOT, PDTACT, PSEDA,& - PMU, PLAMBDA, PRHOP0, POM, PSO4RAT, & - PRV, PDENAIR, PPRESSURE, PTEMP, PRC, PFRAC, PMI,& - PTIME, GSCHEME, PSOLORG) -IMPLICIT NONE -REAL, INTENT(IN) :: PDTACT, PTIME -REAL, DIMENSION(:,:), INTENT(INOUT) :: PRHOP0, POM -REAL, DIMENSION(:), INTENT(INOUT) :: PLAMBDA, PMU, PSO4RAT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSIG0, PRG0, PN0 -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCTOTG -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSEDA -REAL, DIMENSION(:,:), INTENT(INOUT) :: PCHEM -REAL, DIMENSION(:,:), INTENT(INOUT) :: PAERO -REAL, DIMENSION(:,:), INTENT(INOUT) :: PFRAC -REAL, DIMENSION(:,:), INTENT(INOUT) :: PMI -REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PCTOTA, PCCTOT -REAL, DIMENSION(:,:), INTENT(INOUT) :: PSOLORG -REAL, DIMENSION(:), INTENT(IN) :: PRV, PDENAIR, PPRESSURE, PTEMP, PRC -CHARACTER(LEN=10), INTENT(IN) :: GSCHEME - - -END SUBROUTINE CH_ORILAM -!! -END INTERFACE -!! -END MODULE MODI_CH_ORILAM diff --git a/src/arome/chem/module/modi_ch_output.F90 b/src/arome/chem/module/modi_ch_output.F90 deleted file mode 100644 index 0eb25c09be3ddf0c5c30289f0875106b9b3586d1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_output.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_OUTPUT -!! ##################### -! -INTERFACE -SUBROUTINE CH_OUTPUT(PCONC, PAERO, PMI, TPM, KMI, KVECNPT) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -INTEGER, INTENT(IN) :: KVECNPT -!REAL, DIMENSION(KVECNPT,NEQ), INTENT(IN) :: PCONC ! the chem species -REAL, DIMENSION(:,:), INTENT(IN) :: PCONC ! the chem species -REAL, DIMENSION(:,:), INTENT(IN) :: PAERO ! the chem species -REAL, DIMENSION(:,:), INTENT(IN) :: PMI ! the molecular mass -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN) :: TPM ! the meteo variables -INTEGER, INTENT(IN) :: KMI -! -END SUBROUTINE CH_OUTPUT -END INTERFACE -END MODULE MODI_CH_OUTPUT diff --git a/src/arome/chem/module/modi_ch_prodloss.F90 b/src/arome/chem/module/modi_ch_prodloss.F90 deleted file mode 100644 index 3724496eaf47665b7157cbcbc15e9e3cd52f6f48..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_prodloss.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_CH_PRODLOSS -!! ####################### -INTERFACE -SUBROUTINE CH_PRODLOSS(PTIME,PCONC,PPROD,PLOSS,KMI,KVECNPT,KEQ) -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PPROD, PLOSS -INTEGER, INTENT(IN) :: KMI -END SUBROUTINE CH_PRODLOSS -END INTERFACE -END MODULE MODI_CH_PRODLOSS diff --git a/src/arome/chem/module/modi_ch_qssa.F90 b/src/arome/chem/module/modi_ch_qssa.F90 deleted file mode 100644 index 33f8801cdc8f957dae0e9757850dd1d54aef19f3..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_qssa.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_CH_QSSA -!! ################### -!! -! -INTERFACE -!! -SUBROUTINE CH_QSSA(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PSLOW, PFAST, KQSSAITER) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER,INTENT(IN) :: KMI ! model number -REAL, INTENT(IN) :: PSLOW, PFAST -INTEGER, INTENT(IN) :: KQSSAITER -END SUBROUTINE CH_QSSA -!! -END INTERFACE -!! -END MODULE MODI_CH_QSSA diff --git a/src/arome/chem/module/modi_ch_read_chem.F90 b/src/arome/chem/module/modi_ch_read_chem.F90 deleted file mode 100644 index 4e5158970b445a2b1a00c97acdd53bf0389b645c..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_read_chem.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_READ_CHEM -!! ######################## -!! -! -INTERFACE -SUBROUTINE CH_READ_CHEM(PCONC, PAERO, PRHODREF, HFILE) -IMPLICIT NONE -REAL, DIMENSION(:), INTENT(INOUT) :: PCONC ! gas concentration vector to be read -REAL, DIMENSION(:), INTENT(INOUT) :: PAERO ! aerosol concentration vector to be read -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF ! air density -CHARACTER(LEN=*), INTENT(IN) :: HFILE ! name of the file to be read from -END SUBROUTINE CH_READ_CHEM -END INTERFACE -!! -END MODULE MODI_CH_READ_CHEM diff --git a/src/arome/chem/module/modi_ch_read_meteo.F90 b/src/arome/chem/module/modi_ch_read_meteo.F90 deleted file mode 100644 index 946fc1dcba19de51c591f9668f8060b04c631fa1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_read_meteo.F90 +++ /dev/null @@ -1,12 +0,0 @@ -! ######spl - MODULE MODI_CH_READ_METEO -!! ######################### -! -INTERFACE -SUBROUTINE CH_READ_METEO(TPM) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -TYPE(METEOTRANSTYPE), INTENT(INOUT) :: TPM -END SUBROUTINE CH_READ_METEO -END INTERFACE -END MODULE MODI_CH_READ_METEO diff --git a/src/arome/chem/module/modi_ch_read_vector.F90 b/src/arome/chem/module/modi_ch_read_vector.F90 deleted file mode 100644 index 1c9d9365129c00db85b7e8a5eac4aec7a400985d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_read_vector.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_CH_READ_VECTOR -!! ########################## -!! -INTERFACE -!! -SUBROUTINE CH_READ_VECTOR(KEQ, HNAMES, PVAR, PDEFAULT, KIN, KOUT, KVERB) -IMPLICIT NONE -!! -INTEGER, INTENT(IN) :: KEQ - ! number of variables to be defined -CHARACTER*(*), DIMENSION(KEQ), INTENT(IN) :: HNAMES - ! names of the variables to be defined -REAL, DIMENSION(KEQ), INTENT(OUT):: PVAR - ! value of the variable to be read -REAL, INTENT(IN) :: PDEFAULT - ! default value -INTEGER, INTENT(IN) :: KIN - ! I/O channel for file input -INTEGER, INTENT(IN) :: KOUT - ! I/O channel for printing -INTEGER, INTENT(IN) :: KVERB - ! verbosity level -END SUBROUTINE CH_READ_VECTOR -!! -END INTERFACE -!! -END MODULE MODI_CH_READ_VECTOR diff --git a/src/arome/chem/module/modi_ch_set_photo_rates.F90 b/src/arome/chem/module/modi_ch_set_photo_rates.F90 deleted file mode 100644 index 83b6fa78594800dafe490c59e72f7a5f06378770..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_set_photo_rates.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_SET_PHOTO_RATES -!! ############################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_SET_PHOTO_RATES(PTIME,PCONC,KL,TPM,KMI,KOUT,KVERB,KVECNPT,KVECMASK,KEQ,PJVALUES) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT,KL,KEQ,KMI -INTEGER, DIMENSION(:,:), INTENT(IN) :: KVECMASK -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN) :: TPM -INTEGER, INTENT(IN) :: KOUT,KVERB -REAL,DIMENSION(:,:,:,:), INTENT(IN) :: PJVALUES ! Tuv coefficient -END SUBROUTINE CH_SET_PHOTO_RATES -END INTERFACE -END MODULE MODI_CH_SET_PHOTO_RATES diff --git a/src/arome/chem/module/modi_ch_set_rates.F90 b/src/arome/chem/module/modi_ch_set_rates.F90 deleted file mode 100644 index e7b1bb04c86cddd819753eb0404b1cd97399d3a9..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_set_rates.F90 +++ /dev/null @@ -1,20 +0,0 @@ -! ######spl - MODULE MODI_CH_SET_RATES -!! ######################## -!! This code has been created automatically by preprocessor m10, -!! version: 9.7, copyright 1995-1999 by Meteo France/Universite Paul Sabatier. -!! Please report all bugs to K. Suhre (Lab. d'Aerologie UPS/CNRS). -INTERFACE -SUBROUTINE CH_SET_RATES(PTIME,PCONC,TPM,KMI,KOUT,KVERB,KVECNPT,KEQ) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -TYPE(METEOTRANSTYPE), DIMENSION(KVECNPT), INTENT(IN):: TPM -INTEGER, INTENT(IN) :: KMI -INTEGER, INTENT(IN) :: KOUT,KVERB -END SUBROUTINE CH_SET_RATES -END INTERFACE -END MODULE MODI_CH_SET_RATES diff --git a/src/arome/chem/module/modi_ch_show_chem.F90 b/src/arome/chem/module/modi_ch_show_chem.F90 deleted file mode 100644 index 877bec80c8fcccb844ed0ecd619795677c55dcee..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_show_chem.F90 +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - MODULE MODI_CH_SHOW_CHEM -!! ######################## -!! -! -INTERFACE -!! -SUBROUTINE CH_SHOW_CHEM(PCONC, HNAMES) -IMPLICIT NONE -!REAL, DIMENSION(NEQ), INTENT(IN) :: PCONC ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(IN) :: PCONC ! PCONC: concentration vector -CHARACTER(LEN=32), DIMENSION(:), INTENT(IN) :: HNAMES ! name of each species -END SUBROUTINE CH_SHOW_CHEM -!! -END INTERFACE -!! -END MODULE MODI_CH_SHOW_CHEM diff --git a/src/arome/chem/module/modi_ch_sis.F90 b/src/arome/chem/module/modi_ch_sis.F90 deleted file mode 100644 index c047720ca82f4de54278baea8a3c260e8686a5fc..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_sis.F90 +++ /dev/null @@ -1,21 +0,0 @@ -! ######spl - MODULE MODI_CH_SIS -!! ################## -!! -! -INTERFACE -!! -SUBROUTINE CH_SIS(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model number -END SUBROUTINE CH_SIS -!! -END INTERFACE -!! -END MODULE MODI_CH_SIS diff --git a/src/arome/chem/module/modi_ch_solver_n.F90 b/src/arome/chem/module/modi_ch_solver_n.F90 deleted file mode 100644 index a2485148496d3c9a3081fcb159bdf63651ba35ce..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_solver_n.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_CH_SOLVER_n -!! ##################### -!! -! -INTERFACE -SUBROUTINE CH_SOLVER_n(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KMI ! model number -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC ! solution at PTSIMUL + PDTACT -END SUBROUTINE CH_SOLVER_n -END INTERFACE -!! -END MODULE MODI_CH_SOLVER_n diff --git a/src/arome/chem/module/modi_ch_sparse.F90 b/src/arome/chem/module/modi_ch_sparse.F90 deleted file mode 100644 index 2cc38c03ababd3f112bf0ca9b69fd3ad62a8e2d5..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_sparse.F90 +++ /dev/null @@ -1,11 +0,0 @@ -! ######spl - MODULE MODI_CH_SPARSE -!! ##################### -INTERFACE -SUBROUTINE CH_SPARSE(KSPARSE, KSPARSEDIM) -IMPLICIT NONE -INTEGER, INTENT(INOUT) :: KSPARSEDIM -INTEGER, INTENT(OUT), DIMENSION(2,KSPARSEDIM) :: KSPARSE -END SUBROUTINE CH_SPARSE -END INTERFACE -END MODULE MODI_CH_SPARSE diff --git a/src/arome/chem/module/modi_ch_svode.F90 b/src/arome/chem/module/modi_ch_svode.F90 deleted file mode 100644 index 47504ec6e5503df8ddf45a380d64f17aee63a313..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_svode.F90 +++ /dev/null @@ -1,26 +0,0 @@ -! ######spl - MODULE MODI_CH_SVODE -!! ############################# - -! -INTERFACE - -SUBROUTINE CH_SVODE(PTSIMUL, PDTACT, PCONC, PNEWCONC, KEQ, KVECNPT, KMI, & - PRTOL, PATOL, KPED ) -IMPLICIT NONE -REAL, INTENT(IN) :: PTSIMUL ! time of simulation -REAL, INTENT(IN) :: PDTACT ! actual time-step -INTEGER, INTENT(IN) :: KEQ ! dimension of the problem to solve -INTEGER, INTENT(IN) :: KVECNPT -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC - ! concentration vector at PTSIMUL -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ) :: PNEWCONC - ! solution at PTSIMUL + PDTACT -INTEGER, INTENT(IN) :: KMI ! model index -REAL, INTENT(IN) :: PRTOL, PATOL -INTEGER, INTENT(IN) :: KPED -END SUBROUTINE CH_SVODE - -END INTERFACE - -END MODULE MODI_CH_SVODE diff --git a/src/arome/chem/module/modi_ch_terms.F90 b/src/arome/chem/module/modi_ch_terms.F90 deleted file mode 100644 index 5f1ef5ef399550d9e274a55edd3c00df1cc127d3..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_terms.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_CH_TERMS -!! #################### -INTERFACE -SUBROUTINE CH_TERMS(PTIME,PCONC,PTERMS,KMI,KVECNPT,KEQ,KREAC) -IMPLICIT NONE -REAL, INTENT(IN) :: PTIME -INTEGER, INTENT(IN) :: KVECNPT -INTEGER, INTENT(IN) :: KEQ, KREAC -REAL, INTENT(IN), DIMENSION(KVECNPT,KEQ) :: PCONC -REAL, INTENT(OUT), DIMENSION(KVECNPT,KEQ,KREAC):: PTERMS -INTEGER, INTENT(IN) :: KMI -END SUBROUTINE CH_TERMS -END INTERFACE -END MODULE MODI_CH_TERMS diff --git a/src/arome/chem/module/modi_ch_update_jvalues.F90 b/src/arome/chem/module/modi_ch_update_jvalues.F90 deleted file mode 100644 index 1d02b0db6eeb653caf48a91a73e8877543fcc6d7..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_update_jvalues.F90 +++ /dev/null @@ -1,45 +0,0 @@ -! ######spl - MODULE MODI_CH_UPDATE_JVALUES -!! ############################# - - INTERFACE -! - SUBROUTINE CH_UPDATE_JVALUES(KLUOUT, PZENITH, PRT, & - PALB_UV, PZS, PZZ, PLAT0, PLON0, & - KLON, KLAT, KLEV,KRR, & - KDAY, KMONTH, KYEAR, PTIME, & - OCH_TUV_ONLINE, HCH_TUV_CLOUDS, & - PALBNEW, PDOBNEW, PRHODREF, PJVALUES, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB ) -! -!! EXTERNAL -!! -------- -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX -! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KLON ! dimension I -INTEGER, INTENT(IN) :: KLAT ! dimension J -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PLAT0, PLON0 -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALB_UV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PRHODREF -REAL, DIMENSION(KLON,KLAT,KLEV,KRR), INTENT(IN) :: PRT -INTEGER, INTENT(IN) :: KDAY, KMONTH, KYEAR ! current date -REAL, INTENT(IN) :: PTIME ! current time (s) -INTEGER, INTENT(IN) :: KLUOUT -LOGICAL, INTENT(IN) :: OCH_TUV_ONLINE ! online/lookup table -CHARACTER*4, INTENT(IN) :: HCH_TUV_CLOUDS ! clouds and radiation -REAL, INTENT(IN) :: PALBNEW ! surface albedo -REAL, INTENT(IN) :: PDOBNEW ! ozone column dobson -REAL,DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES ! Tuv coefficients -INTEGER, INTENT(IN) :: KVERB ! verbosity level -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -!! -! -END SUBROUTINE CH_UPDATE_JVALUES -! -END INTERFACE -! -END MODULE MODI_CH_UPDATE_JVALUES diff --git a/src/arome/chem/module/modi_ch_update_jvalues_n.F90 b/src/arome/chem/module/modi_ch_update_jvalues_n.F90 deleted file mode 100644 index c4f1081c8716f1522cc3dc338146977ab365fb5f..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_update_jvalues_n.F90 +++ /dev/null @@ -1,45 +0,0 @@ -! ######spl - MODULE MODI_CH_UPDATE_JVALUES_n -!! ############################### - - INTERFACE -! - SUBROUTINE CH_UPDATE_JVALUES_n(KLUOUT, PZENITH, PRT, & - PALB_UV, PZS, PZZ, PLAT0, PLON0, & - KLON, KLAT, KLEV,KRR, & - KDAY, KMONTH, KYEAR, PTIME, & - OCH_TUV_ONLINE, HCH_TUV_CLOUDS, & - PALBNEW, PDOBNEW, PRHODREF, PJVALUES, & - NIB,NIE,NJB,NJE,NIU,NJU, KVERB ) -! -!! EXTERNAL -!! -------- -USE MODD_CH_INIT_JVALUES, ONLY : JPJVMAX -! -IMPLICIT NONE -INTEGER, INTENT(IN) :: KLON ! dimension I -INTEGER, INTENT(IN) :: KLAT ! dimension J -INTEGER, INTENT(IN) :: KLEV ! Number of vertical levels -INTEGER, INTENT(IN) :: KRR ! Number of moist variables -REAL, INTENT(IN) :: PLAT0, PLON0 -REAL, DIMENSION(KLON,KLAT), INTENT(IN) :: PZENITH, PALB_UV, PZS -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PZZ -REAL, DIMENSION(KLON,KLAT,KLEV), INTENT(IN) :: PRHODREF -REAL, DIMENSION(KLON,KLAT,KLEV,KRR), INTENT(IN) :: PRT -INTEGER, INTENT(IN) :: KDAY, KMONTH, KYEAR ! current date -REAL, INTENT(IN) :: PTIME ! current time (s) -INTEGER, INTENT(IN) :: KLUOUT -LOGICAL, INTENT(IN) :: OCH_TUV_ONLINE ! online/lookup table -CHARACTER*4, INTENT(IN) :: HCH_TUV_CLOUDS ! clouds and radiation -REAL, INTENT(IN) :: PALBNEW ! surface albedo -REAL, INTENT(IN) :: PDOBNEW ! ozone column dobson -REAL,DIMENSION(KLON,KLAT,KLEV,JPJVMAX), INTENT(INOUT) :: PJVALUES ! Tuv coefficients -INTEGER, INTENT(IN) :: KVERB ! verbosity level -INTEGER, INTENT(IN) :: NIB,NIE,NJB,NJE,NIU,NJU ! domain dim -!! -! -END SUBROUTINE CH_UPDATE_JVALUES_n -! -END INTERFACE -! -END MODULE MODI_CH_UPDATE_JVALUES_n diff --git a/src/arome/chem/module/modi_ch_update_meteo.F90 b/src/arome/chem/module/modi_ch_update_meteo.F90 deleted file mode 100644 index 0698316809e0e482dc80dc03720dc9afadaea986..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_update_meteo.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_CH_UPDATE_METEO -!! ########################### -! -INTERFACE -SUBROUTINE CH_UPDATE_METEO(TPM,PTIME) -USE MODD_CH_M9, ONLY: METEOTRANSTYPE -IMPLICIT NONE -TYPE(METEOTRANSTYPE), INTENT(INOUT) :: TPM -REAL, INTENT(IN) :: PTIME ! current simulation time -END SUBROUTINE CH_UPDATE_METEO -END INTERFACE -END MODULE MODI_CH_UPDATE_METEO diff --git a/src/arome/chem/module/modi_ch_write_chem.F90 b/src/arome/chem/module/modi_ch_write_chem.F90 deleted file mode 100644 index 817c69dd3ede01881aa907e2ff11dccce23c5191..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ch_write_chem.F90 +++ /dev/null @@ -1,16 +0,0 @@ -! ######spl - MODULE MODI_CH_WRITE_CHEM -!! ######################### -!! -! -INTERFACE -SUBROUTINE CH_WRITE_CHEM(PCONC, PAERO, PRHODREF, HFILE) -IMPLICIT NONE -!REAL, DIMENSION(NEQ), INTENT(IN) :: PCONC ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(IN) :: PCONC ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(IN) :: PAERO ! PCONC: concentration vector -REAL, DIMENSION(:), INTENT(IN) :: PRHODREF ! air density -CHARACTER(LEN=*), INTENT(IN) :: HFILE ! HFILE: name of the file for write -END SUBROUTINE CH_WRITE_CHEM -END INTERFACE -END MODULE MODI_CH_WRITE_CHEM diff --git a/src/arome/chem/module/modi_dust_filter.F90 b/src/arome/chem/module/modi_dust_filter.F90 deleted file mode 100644 index 5c2c70a90659eb52c128da04cf2249e3e6f00575..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_dust_filter.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_DUST_FILTER -!! ############################## -!! -INTERFACE -! -SUBROUTINE DUST_FILTER(PSV, PRHODREF) - -IMPLICIT NONE - -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF - -END SUBROUTINE DUST_FILTER -!! -END INTERFACE -!! -END MODULE MODI_DUST_FILTER diff --git a/src/arome/chem/module/modi_dust_velgrav.F90 b/src/arome/chem/module/modi_dust_velgrav.F90 deleted file mode 100644 index 9e23d6c7fa1e2c1c496aaa95f352c2e6d25a9550..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_dust_velgrav.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_DUST_VELGRAV -!! ############################## -!! -INTERFACE -!! -SUBROUTINE DUST_VELGRAV(PSIG, PRG, PTHT, PABST,PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) -IMPLICIT NONE -REAL, INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -END SUBROUTINE DUST_VELGRAV -!! -END INTERFACE -!! -END MODULE MODI_DUST_VELGRAV diff --git a/src/arome/chem/module/modi_dustlfi_n.F90 b/src/arome/chem/module/modi_dustlfi_n.F90 deleted file mode 100644 index 2ce74fcea25c1340612b5f189e2a615356a24b21..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_dustlfi_n.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_DUSTLFI_n -! ######################## -! -INTERFACE -! -SUBROUTINE DUSTLFI_n(PSV, PRHODREF) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -END SUBROUTINE DUSTLFI_n -! -END INTERFACE -! -END MODULE MODI_DUSTLFI_n diff --git a/src/arome/chem/module/modi_eqsam_v03d_sub.F90 b/src/arome/chem/module/modi_eqsam_v03d_sub.F90 deleted file mode 100644 index fe0fad0d9c4f7a7f398dbbd1b01053e5cefcfe6f..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_eqsam_v03d_sub.F90 +++ /dev/null @@ -1,17 +0,0 @@ -! ######spl - MODULE MODI_eqsam_v03d_sub -!! ######################## -!! -INTERFACE -!! -SUBROUTINE eqsam_v03d_sub(yi,yo,nca,nco,iopt,loop,imax) -IMPLICIT NONE -integer,intent(in) :: nca,nco,imax,loop -integer,intent(inout) :: iopt -real,dimension(:,:),intent(in) :: yi -real,dimension(:,:),intent(inout) :: yo -END SUBROUTINE eqsam_v03d_sub -!! -END INTERFACE -!! -END MODULE MODI_eqsam_v03d_sub diff --git a/src/arome/chem/module/modi_ini_wet_dep.F90 b/src/arome/chem/module/modi_ini_wet_dep.F90 deleted file mode 100644 index 3947f4f48af03f7ad4942fd0c58f54c020da9a5e..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_ini_wet_dep.F90 +++ /dev/null @@ -1,14 +0,0 @@ -! ######spl - MODULE MODI_INI_WET_DEP -! ######################## -! -INTERFACE - SUBROUTINE INI_WET_DEP -! -!INTEGER, INTENT(IN) :: KLUOUT ! Logical unit number for prints -! -END SUBROUTINE INI_WET_DEP -! -END INTERFACE -! -END MODULE MODI_INI_WET_DEP diff --git a/src/arome/chem/module/modi_init_dust.F90 b/src/arome/chem/module/modi_init_dust.F90 deleted file mode 100644 index b3521452a05bdbd574e515f84cbd1a3d7352014d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_init_dust.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_INIT_DUST -!! ############################## -!! -INTERFACE -! -SUBROUTINE INIT_DUST(PSV, PRHODREF) - -IMPLICIT NONE - -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF - - -END SUBROUTINE INIT_DUST -!! -END INTERFACE -!! -END MODULE MODI_INIT_DUST diff --git a/src/arome/chem/module/modi_inv_levels.F90 b/src/arome/chem/module/modi_inv_levels.F90 deleted file mode 100644 index aa1e4c7cb1b0f35e9a3e6c7e5b0b7e1d2ce86ac6..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_inv_levels.F90 +++ /dev/null @@ -1,72 +0,0 @@ - MODULE MODI_INV_LEVELS -! ######################## -INTERFACE - SUBROUTINE INV_LEVELS(KIDIA,KFDIA,KLEV,KINCR,PARRAYALD, & - PARRAYMNH) - USE PARKIND1, ONLY : JPRB, JPIM - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ########################################################################## -! -!!**** * - transforms from MNH (KLEV+2) arrays to -!! Aladin (KLEV) arrays and reversely -!! -!! PURPOSE -!! ------- -!! The purpose of this routine is to reshuffle Aladin (MNH) arrays to -!! MNH (Aladin) ones -!! -!!** METHOD -!! ------ -!! To go from MNH to ALADIN (KINCR=1): -!! Suppress first and last level. levels -!! To go from ALADIN to MNH (KINCR=-1): -!! Add a vertical level at top and bottom and then reverse orders -!! -!! -!! -!! EXTERNAL -!! -------- -!! None -!! -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! -!! Documentation "New data flux for diagnostics in Arome" -!! -!! AUTHOR -!! ------ -!! O.Riviere -!! -!! MODIFICATIONS -!! ------------- -!! Original 18/06/08 - -!! -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -IMPLICIT NONE -! -!* 0.1 Declarations of dummy arguments : -! -! - -! -INTEGER(KIND=JPIM), INTENT(IN) :: KINCR ! =1 if ALD->MNH and -1 if MNH->ALD -INTEGER(KIND=JPIM), INTENT(IN) :: KIDIA,KFDIA -INTEGER(KIND=JPIM), INTENT(IN) :: KLEV !Number of vertical levels -REAL(KIND=JPRB), DIMENSION(KFDIA,KLEV), INTENT(INOUT) :: PARRAYALD ! Aladin type arry -REAL(KIND=JPRB), DIMENSION(KFDIA,1,KLEV+2), INTENT(INOUT) :: PARRAYMNH ! MNH type array - -END SUBROUTINE INV_LEVELS -END INTERFACE -END MODULE MODI_INV_LEVELS - - diff --git a/src/arome/chem/module/modi_mpdata_scalar.F90 b/src/arome/chem/module/modi_mpdata_scalar.F90 deleted file mode 100644 index 816a3f79445a145bf1426d3731734316545ae4e4..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_mpdata_scalar.F90 +++ /dev/null @@ -1,32 +0,0 @@ -! ######spl - MODULE MODI_MPDATA_SCALAR -! ######################### -INTERFACE - SUBROUTINE MPDATA_SCALAR ( KLITER, HLBCX, HLBCY, KSV, & - PTSTEP, PRHODJ, PSVM, PSVT, & - PRUCT, PRVCT, PRWCT, PRSVS ) -! -INTEGER, INTENT(IN) :: KLITER ! Number of iterations MPDATA -! -CHARACTER(LEN=4),DIMENSION(2),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC -! -INTEGER, INTENT(IN) :: KSV ! Number of Scalar Variables -! -REAL, INTENT(IN) :: PTSTEP ! Time step -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVM - ! Variables at t-dt -! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRUCT,PRVCT,PRWCT ! Contravariants - ! components of the momentum -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSVT - ! Variables at t -! -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS - ! Sources terms -END SUBROUTINE MPDATA_SCALAR -! -END INTERFACE -! -END MODULE MODI_MPDATA_SCALAR diff --git a/src/arome/chem/module/modi_salt_filter.F90 b/src/arome/chem/module/modi_salt_filter.F90 deleted file mode 100644 index 9e43223d1a263d35ab5f372f8f5017e5b72b1895..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_salt_filter.F90 +++ /dev/null @@ -1,18 +0,0 @@ -! ######spl - MODULE MODI_SALT_FILTER -!! ############################## -!! -INTERFACE -! -SUBROUTINE SALT_FILTER(PSV, PRHODREF) - -IMPLICIT NONE - -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF - -END SUBROUTINE SALT_FILTER -!! -END INTERFACE -!! -END MODULE MODI_SALT_FILTER diff --git a/src/arome/chem/module/modi_salt_velgrav.F90 b/src/arome/chem/module/modi_salt_velgrav.F90 deleted file mode 100644 index cd1ac942de202c89493381a68d57bb4572a0eb96..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_salt_velgrav.F90 +++ /dev/null @@ -1,19 +0,0 @@ -! ######spl - MODULE MODI_SALT_VELGRAV -!! ############################## -!! -INTERFACE -!! -SUBROUTINE SALT_VELGRAV(PSIG, PRG, PTHT, PABST,PRHODREF, PRHOP, PMU, PVGK,PDPK, PVGG) -IMPLICIT NONE -REAL, INTENT(IN) :: PRHOP -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PSIG, PRG -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT, PABST, PRHODREF -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGK,PDPK -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU -REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: PVGG -END SUBROUTINE SALT_VELGRAV -!! -END INTERFACE -!! -END MODULE MODI_SALT_VELGRAV diff --git a/src/arome/chem/module/modi_saltlfi_n.F90 b/src/arome/chem/module/modi_saltlfi_n.F90 deleted file mode 100644 index 7c133a768505d07b27c39cc3c32851a73cc8bc4d..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_saltlfi_n.F90 +++ /dev/null @@ -1,15 +0,0 @@ -! ######spl - MODULE MODI_SALTLFI_n -! ######################## -! -INTERFACE -! -SUBROUTINE SALTLFI_n(PSV, PRHODREF) -IMPLICIT NONE -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSV -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF -END SUBROUTINE SALTLFI_n -! -END INTERFACE -! -END MODULE MODI_SALTLFI_n diff --git a/src/arome/chem/module/modi_sedim_dust.F90 b/src/arome/chem/module/modi_sedim_dust.F90 deleted file mode 100644 index 8b3fc50873c284d1a11197a613b4c0ad2e09e82e..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_sedim_dust.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_SEDIM_DUST -!! ############################## -!! -INTERFACE -! -SUBROUTINE SEDIM_DUST( & - PTHT & !I [K] theta - ,PDTMONITOR & !I Time step - ,PRHODREF & !I [kg/m3] air density - ,PPABST & !I [Pa] pressure - ,PZZ & !I [m] height of layers - ,PSVT & !IO [scalar variable, ppp] sea salt concentration - ) - -IMPLICIT NONE - -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !scalar variable -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST - - -END SUBROUTINE SEDIM_DUST -!! -END INTERFACE -!! -END MODULE MODI_SEDIM_DUST diff --git a/src/arome/chem/module/modi_sedim_salt.F90 b/src/arome/chem/module/modi_sedim_salt.F90 deleted file mode 100644 index 3b5692546f33739cbe38277c35488e412845bb88..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_sedim_salt.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_SEDIM_SALT -!! ############################## -!! -INTERFACE -! -SUBROUTINE SEDIM_SALT( & - PTHT & !I [K] theta - ,PDTMONITOR & !I Time step - ,PRHODREF & !I [kg/m3] air density - ,PPABST & !I [Pa] pressure - ,PZZ & !I [m] height of layers - ,PSVT & !IO [scalar variable, ppp] sea salt concentration - ) - -IMPLICIT NONE - -REAL, INTENT(IN) :: PDTMONITOR -REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PSVT !scalar variable -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHT,PRHODREF, PZZ -REAL, DIMENSION(:,:,:), INTENT(IN) :: PPABST - - -END SUBROUTINE SEDIM_SALT -!! -END INTERFACE -!! -END MODULE MODI_SEDIM_SALT diff --git a/src/arome/chem/module/modi_troe.F90 b/src/arome/chem/module/modi_troe.F90 deleted file mode 100644 index 57a44df92e23254efc9b4be4cf9d6f42b17c70cf..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_troe.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_TROE - ! ################ - INTERFACE - FUNCTION TROE(PCOEF,PKO, PNEXP, PKINF, PMEXP, PM, PT, KVECNPT) - IMPLICIT NONE - INTEGER, INTENT(IN) :: KVECNPT ! no. of points in vector mask - REAL, DIMENSION(KVECNPT) :: TROE - REAL, INTENT(IN) :: PCOEF,PKO, PNEXP, PKINF, PMEXP - REAL, DIMENSION(KVECNPT), INTENT(IN) :: PM, PT - END FUNCTION TROE - END INTERFACE - END MODULE MODI_TROE diff --git a/src/arome/chem/module/modi_troe_equil.F90 b/src/arome/chem/module/modi_troe_equil.F90 deleted file mode 100644 index bba462cafb153b5e36668cb1976c8f035e8096b1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modi_troe_equil.F90 +++ /dev/null @@ -1,13 +0,0 @@ -! ######spl - MODULE MODI_TROE_EQUIL - ! ###################### - INTERFACE - FUNCTION TROE_EQUIL(PKO, PNEXP, PKINF, PMEXP, PAFACT, PB, PM, PT, KVECNPT) - IMPLICIT NONE - INTEGER, INTENT(IN) :: KVECNPT ! no. of points in vector mask - REAL,DIMENSION(KVECNPT) :: TROE_EQUIL - REAL, INTENT(IN) :: PKO, PNEXP, PKINF, PMEXP, PAFACT, PB - REAL, DIMENSION(KVECNPT), INTENT(IN) :: PM, PT - END FUNCTION TROE_EQUIL - END INTERFACE - END MODULE MODI_TROE_EQUIL diff --git a/src/arome/chem/module/modn_ch_orilam.F90 b/src/arome/chem/module/modn_ch_orilam.F90 deleted file mode 100644 index 29322c06898281262723a2a55a9fe3a82b690db0..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modn_ch_orilam.F90 +++ /dev/null @@ -1,44 +0,0 @@ -! ######spl - MODULE MODN_CH_ORILAM -!! ##################### -!! -!!*** *MODN_CH_ORILAM* -!! -!! PURPOSE -!! ------- -! Namelist for ORILAM aerosol scheme parameters -!! -!!** AUTHOR -!! ------ -!! P. Tulet *CNRM* -! -!! MODIFICATIONS -!! ------------- -!! Original 24/02/05 -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -USE MODD_CH_AEROSOL, ONLY: LORILAM, XN0IMIN, XN0JMIN, LSEDIMAERO, LAERINIT, & - LHETEROSO4, CNUCLEATION, XINISIGI, XINISIGJ, & - XINIRADIUSI, XINIRADIUSJ, LVARSIGI,& - LVARSIGJ, CMINERAL, CORGANIC,& - XSIGIMIN, XSIGIMAX,XSIGJMIN, XSIGJMAX, & - XCOEFRADIMAX, XCOEFRADIMIN, XCOEFRADJMAX, XCOEFRADJMIN,& - CRGUNIT, LRGFIX -!! -!----------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ----------------- -IMPLICIT NONE -SAVE -NAMELIST /NAM_CH_ORILAM/ LORILAM, XN0IMIN, XN0JMIN, LSEDIMAERO, LAERINIT, & - LHETEROSO4, CNUCLEATION, XINISIGI, XINISIGJ, & - XINIRADIUSI, XINIRADIUSJ, LVARSIGI,& - LVARSIGJ, CMINERAL, CORGANIC, & - XSIGIMIN, XSIGIMAX,XSIGJMIN, XSIGJMAX, & - XCOEFRADIMAX, XCOEFRADIMIN, XCOEFRADJMAX, XCOEFRADJMIN,& - CRGUNIT, LRGFIX - -! -END MODULE MODN_CH_ORILAM diff --git a/src/arome/chem/module/modn_dust.F90 b/src/arome/chem/module/modn_dust.F90 deleted file mode 100644 index 9836e87a386f5bb49671ccf1552d553bac29face..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modn_dust.F90 +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - MODULE MODN_DUST -!! ##################### -!! -!!*** *MODN_DUST* -!! -!! PURPOSE -!! ------- -! Namelist for desertic dust scheme parameters -!! -!!** AUTHOR -!! ------ -!! P. Tulet *CNRM* -! -!! MODIFICATIONS -!! ------------- -!! Original 24/02/05 -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!----------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ----------------- -USE MODD_DUST -IMPLICIT NONE -! -NAMELIST /NAM_DUST/ LDUST, CRGUNITD, LVARSIG, LSEDIMDUST, XN0MIN, XINIRADIUS, & - XINISIG, XSIGMIN, XSIGMAX, XCOEFRADMAX, XCOEFRADMIN, & - NMODE_DST, LRGFIX_DST, LDEPOS_DST -! -END MODULE MODN_DUST diff --git a/src/arome/chem/module/modn_salt.F90 b/src/arome/chem/module/modn_salt.F90 deleted file mode 100644 index fc546213150dd714612024380454f675e25cfde1..0000000000000000000000000000000000000000 --- a/src/arome/chem/module/modn_salt.F90 +++ /dev/null @@ -1,33 +0,0 @@ -! ######spl - MODULE MODN_SALT -!! ##################### -!! -!!*** *MODN_SALT* -!! -!! PURPOSE -!! ------- -! Namelist for marine sea salt scheme parameters -!! -!!** AUTHOR -!! ------ -!! P. Tulet *CNRM* -! -!! MODIFICATIONS -!! ------------- -!! Original 24/02/05 -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! -!----------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ----------------- -USE MODD_SALT -IMPLICIT NONE -! -NAMELIST /NAM_SALT/ LSALT, CRGUNITS, LVARSIG_SLT,LSEDIMSALT,XN0MIN_SLT, XINIRADIUS_SLT, & - XINISIG_SLT, XSIGMIN_SLT, XSIGMAX_SLT, XCOEFRADMAX_SLT, XCOEFRADMIN_SLT, & - NMODE_SLT, LRGFIX_SLT -! -END MODULE MODN_SALT diff --git a/src/arome/dead_code/modd_dynn.F90 b/src/arome/dead_code/modd_dynn.F90 deleted file mode 100644 index f74faf12893795d671d44a546aacf3d3f5a47681..0000000000000000000000000000000000000000 --- a/src/arome/dead_code/modd_dynn.F90 +++ /dev/null @@ -1,4 +0,0 @@ -MODULE MODD_DYN_n -IMPLICIT NONE -LOGICAL, PARAMETER :: LOCEAN=.FALSE. -ENDMODULE MODD_DYN_n diff --git a/src/arome/dead_code/mode_fmbidon.F90 b/src/arome/dead_code/mode_fmbidon.F90 deleted file mode 100644 index eec30b4a1d772938f25bf8d173fd11b34db8929b..0000000000000000000000000000000000000000 --- a/src/arome/dead_code/mode_fmbidon.F90 +++ /dev/null @@ -1,31 +0,0 @@ -! ######spl - MODULE MODE_FM -! ################# -! -!!**** *MODE_FM* - -!! -!! PURPOSE -!! ------- -! -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! -!! -!! AUTHOR -!! ------ -!! -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/05 -! -! -IMPLICIT NONE -! -END MODULE MODE_FM diff --git a/src/arome/dead_code/mode_fmwritbidon.F90 b/src/arome/dead_code/mode_fmwritbidon.F90 deleted file mode 100644 index c7d50da93759d06bbb0f07d0e2206ac621e26d32..0000000000000000000000000000000000000000 --- a/src/arome/dead_code/mode_fmwritbidon.F90 +++ /dev/null @@ -1,31 +0,0 @@ -! ######spl - MODULE MODE_FMWRIT -! ################# -! -!!**** *MODE_FM* - -!! -!! PURPOSE -!! ------- -! -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!! REFERENCE -!! --------- -!! -!! -!! AUTHOR -!! ------ -!! -!! -!! MODIFICATIONS -!! ------------- -!! Original 02/03/05 -! -! -IMPLICIT NONE -! -END MODULE MODE_FMWRIT diff --git a/src/arome/dead_code/modn_turb.F90 b/src/arome/dead_code/modn_turb.F90 deleted file mode 100644 index 8456d253ac28471f67fcae3b9f90a13c34f0c19c..0000000000000000000000000000000000000000 --- a/src/arome/dead_code/modn_turb.F90 +++ /dev/null @@ -1,37 +0,0 @@ -! ######spl - MODULE MODN_TURB -! ################### -! -!!**** *MODN_TURB* - declaration of namelist NAM_TURB -!! -!! PURPOSE -!! ------- -! The purpose of this module is to specify the namelist NAM_TURB -! which concern the parameters of the turbulence scheme for all models -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! -!! REFERENCE -!! --------- -!! -!! AUTHOR -!! ------ -!! V. Masson * Meteo-France * -!! -!! MODIFICATIONS -!! ------------- -!! Original November 2005 -!------------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_CTURB -! -IMPLICIT NONE -! -NAMELIST/NAM_TURB/XPHI_LIM, XSBL_O_BL, XFTOP_O_FSURF -! -END MODULE MODN_TURB diff --git a/src/arome/ext/aro_adjust_lima.F90 b/src/arome/ext/aro_adjust_lima.F90 index 91c9a5fc7c0793e4052e5096b2ac4b05f7ebae22..169373f4974ae90ae14ebd0df4f5f19508cf2737 100644 --- a/src/arome/ext/aro_adjust_lima.F90 +++ b/src/arome/ext/aro_adjust_lima.F90 @@ -87,7 +87,7 @@ USE MODD_PARAM_LIMA USE MODD_NSV ! USE MODI_LIMA_ADJUST -!USE MODI_BUDGET_DDH +!USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH diff --git a/src/arome/ext/aro_convbu.F90 b/src/arome/ext/aro_convbu.F90 index d6e320a50f83cb2b48fe5cb5567c1da76faf0c68..6cb03579814bc14aebf704684fc84775b686ace3 100644 --- a/src/arome/ext/aro_convbu.F90 +++ b/src/arome/ext/aro_convbu.F90 @@ -3,7 +3,7 @@ USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK USE MODD_BUDGET,ONLY: LBU_ENABLE, LBUDGET_TH, LBUDGET_RV, LBUDGET_RC, LBUDGET_RI -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH USE YOMMDDH, ONLY : TMDDH diff --git a/src/arome/ext/aro_lima.F90 b/src/arome/ext/aro_lima.F90 index 2bcc226d32dac8816e267357c208a42bd61cd58f..4b10ba776c133c4c6a7c2b292f4e14bcad303be8 100644 --- a/src/arome/ext/aro_lima.F90 +++ b/src/arome/ext/aro_lima.F90 @@ -48,7 +48,7 @@ USE MODD_PARAM_LIMA USE MODD_NSV ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_LIMA ! diff --git a/src/arome/ext/aro_rain_ice.F90 b/src/arome/ext/aro_rain_ice.F90 index 329b6859dc0546954392de8021875419d9c76c11..ccc9271418fa9b34d8f8349c8943d850e5fc0301 100644 --- a/src/arome/ext/aro_rain_ice.F90 +++ b/src/arome/ext/aro_rain_ice.F90 @@ -93,7 +93,7 @@ USE MODD_SPP_TYPE ! USE MODD_BUDGET, ONLY: LBUDGET_RV, LBUDGET_RC, LBUDGET_RR, LBUDGET_RI, LBUDGET_RS, & & LBUDGET_RG, LBUDGET_RH, LBUDGET_TH, TBUDGETDATA, NBUDGET_RH -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_RAIN_ICE ! diff --git a/src/arome/ext/aro_startbu.F90 b/src/arome/ext/aro_startbu.F90 index f3dd9f9dcd4e2e4e6e34403560d24d6579be9af6..8eebeb0fca08d209f47737ac8847c262c14e73c0 100644 --- a/src/arome/ext/aro_startbu.F90 +++ b/src/arome/ext/aro_startbu.F90 @@ -44,7 +44,7 @@ USE YOMHOOK , ONLY : LHOOK, DR_HOOK ! ------------ ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE DDH_MIX , ONLY : TYP_DDH USE YOMLDDH , ONLY : TLDDH USE YOMMDDH , ONLY : TMDDH diff --git a/src/arome/ext/aroini_budget.F90 b/src/arome/ext/aroini_budget.F90 index dc8aa470aa1a3ba869a75961f345a1db40d87f19..c4d752ac2be45b04e68bb334f489f1b53fe3f519 100644 --- a/src/arome/ext/aroini_budget.F90 +++ b/src/arome/ext/aroini_budget.F90 @@ -1,11 +1,6 @@ ! ######spl -SUBROUTINE AROINI_BUDGET(LDBU_ENABLE, HLUOUT,KULOUT, PTSTEP,KSV,KRR, & - HRAD,HDCONV,HSCONV,HTURB,HTURBDIM,HCLOUD, & - HMET_ADV_SCHEME, HSV_ADV_SCHEME) -USE PARKIND1, ONLY : JPRB -USE YOMHOOK , ONLY : LHOOK, DR_HOOK +SUBROUTINE AROINI_BUDGET(LDBU_ENABLE) ! -!!!!old definition SUBROUTINE AROINI_BUDGET !**** *AROINI_BUDGET* - Initialize common meso_NH MODD_ used in BUDGET for AROME ! Purpose. @@ -45,14 +40,19 @@ USE YOMHOOK , ONLY : LHOOK, DR_HOOK ! -------------- ! Original : 03-12-12 ! T. Kovacic 05-04-27 Initialization for DDH +! S. Riette July-22 Simplification ! ------------------------------------------------------------------ ! !* 0. DECLARATIONS ! ------------ ! -USE MODD_BUDGET !!!!, ONLY : NBUMOD, LBUDGET_U, LBUDGET_V, LBUDGET_W, LBUDGET_SV& -! !!!! &, LBUDGET_RV, LBUDGET_RC, LBUDGET_RI, LBUDGET_TH -USE MODI_INI_BUDGET +USE PARKIND1, ONLY : JPRB +USE YOMHOOK , ONLY : LHOOK, DR_HOOK +! +USE MODD_BUDGET, ONLY : LBU_ENABLE, LBUDGET_U, LBUDGET_V, LBUDGET_W, LBUDGET_SV, & + & LBUDGET_TH, LBUDGET_TKE, & + & LBUDGET_RV, LBUDGET_RC, LBUDGET_RR, LBUDGET_RI, LBUDGET_RS, & + & LBUDGET_RG, LBUDGET_RH ! IMPLICIT NONE ! @@ -60,135 +60,32 @@ IMPLICIT NONE ! ! LOGICAL :: LDBU_ENABLE -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name of output listing -INTEGER, INTENT(IN) :: KULOUT -REAL, INTENT(IN) :: PTSTEP ! time step -INTEGER, INTENT(IN) :: KSV ! number of scalar variables -INTEGER, INTENT(IN) :: KRR ! number of moist variables -CHARACTER (LEN=*), INTENT(IN) :: HRAD ! type of the radiation scheme -CHARACTER (LEN=*), INTENT(IN) :: HDCONV ! type of the deep convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HSCONV ! type of the shallow convection scheme -CHARACTER (LEN=*), INTENT(IN) :: HTURB ! type of the turbulence scheme - - -CHARACTER (LEN=*), INTENT(IN) :: HTURBDIM! dimensionnality of the turbulence - ! scheme -CHARACTER (LEN=*), INTENT(IN) :: HCLOUD ! type of microphysical scheme -CHARACTER (LEN=*), INTENT(IN) :: HMET_ADV_SCHEME ! type of advection scheme for meteorological scalar variables -CHARACTER (LEN=*), INTENT(IN) :: HSV_ADV_SCHEME ! type of advection scheme for tracer scalar variables ! !* 0.2 Declarations of local variables : ! ! -LOGICAL :: GNUMDIFU ! switch to activate momentum numerical diffusion -LOGICAL :: GNUMDIFTH ! for theta -LOGICAL :: GNUMDIFSV ! for scalars -LOGICAL :: GHORELAX_UVWTH ! switch for the horizontal relaxation for U,V,W,TH -LOGICAL :: GHORELAX_RV ! switch for the horizontal relaxation for Rv -LOGICAL :: GHORELAX_RC ! switch for the horizontal relaxation for Rc -LOGICAL :: GHORELAX_RR ! switch for the horizontal relaxation for Rr -LOGICAL :: GHORELAX_RI ! switch for the horizontal relaxation for Ri -LOGICAL :: GHORELAX_RS ! switch for the horizontal relaxation for Rs -LOGICAL :: GHORELAX_RG ! switch for the horizontal relaxation for Rg -LOGICAL :: GHORELAX_RH ! switch for the horizontal relaxation for Rh -LOGICAL :: GHORELAX_TKE ! switch for the horizontal relaxation for tke -LOGICAL,DIMENSION(:), ALLOCATABLE :: GHORELAX_SV ! switch for the - ! horizontal relaxation for scalar variables -LOGICAL :: GVE_RELAX ! switch to activate the vertical - ! relaxation -LOGICAL :: GCHTRANS ! switch to activate convective - !transport for SV -LOGICAL :: GDRAGTREE ! switch to activate vegetation drag -LOGICAL :: LLNUDGING -REAL :: ZTSTEP -! -!------------------------------------------------------------------------------- -! REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('AROINI_BUDGET',0,ZHOOK_HANDLE) -LBU_ENABLE = LDBU_ENABLE -IF (.NOT.LBU_ENABLE) THEN -! -!* 1. RUN WITHOUT BUDGETS, early versions of AROME -! -------------------------------------------- -! - NBUMOD=5 !pour qu'il ne fasse pas de budget dans rain_ice - !pour qu'il ne fasse pas de budget dans Ice_adjust - LBUDGET_U =.FALSE. - LBUDGET_V =.FALSE. - LBUDGET_W =.FALSE. - LBUDGET_TH=.FALSE. - LBUDGET_TKE=.FALSE. - LBUDGET_RV=.FALSE. - LBUDGET_RC=.FALSE. - - LBUDGET_RR =.FALSE. - LBUDGET_RI =.FALSE. - LBUDGET_RS =.FALSE. - LBUDGET_RG =.FALSE. - LBUDGET_RH =.FALSE. - LBUDGET_SV=.FALSE. - -ELSE ! !------------------------------------------------------------------------------- ! -!* 2. SETUP -! ----- -! -! -!* 2.1 SETUP FOR DDH -! -! -!-- For DDH in AROME, variables from MODD_BUDGERT are not read from namelists. -! Proper values are given in subroutine DDH_BUDTET_SETUP -! -! CALL DDH_BUDTET_SETUP -! -!* 3. INITIALIZATION FOR AROME -! -! -! -!* 3.1. Setting switches for not needed processes to FALS -! -! - GNUMDIFU = .FALSE. - GNUMDIFTH = .FALSE. - GNUMDIFSV = .FALSE. - GHORELAX_UVWTH = .FALSE. - GHORELAX_RV = .FALSE. - GHORELAX_RC = .FALSE. - GHORELAX_RR = .FALSE. - GHORELAX_RI = .FALSE. - GHORELAX_RS = .FALSE. - GHORELAX_RG = .FALSE. - GHORELAX_RH = .FALSE. - GHORELAX_TKE = .FALSE. - GVE_RELAX = .FALSE. - GCHTRANS = .FALSE. - ALLOCATE(GHORELAX_SV(1)) - GHORELAX_SV(1) = .FALSE. - GDRAGTREE = .FALSE. - +IF (LHOOK) CALL DR_HOOK('AROINI_BUDGET',0,ZHOOK_HANDLE) ! -!* 3.1. Initialization +LBU_ENABLE = LDBU_ENABLE ! +LBUDGET_U = LBU_ENABLE +LBUDGET_V = LBU_ENABLE +LBUDGET_W = LBU_ENABLE +LBUDGET_TH = LBU_ENABLE +LBUDGET_TKE= LBU_ENABLE +LBUDGET_RV = LBU_ENABLE +LBUDGET_RC = LBU_ENABLE +LBUDGET_RR = LBU_ENABLE +LBUDGET_RI = LBU_ENABLE +LBUDGET_RS = LBU_ENABLE +LBUDGET_RG = LBU_ENABLE +LBUDGET_RH = LBU_ENABLE +LBUDGET_SV = LBU_ENABLE ! -LLNUDGING=.FALSE. -ZTSTEP = PTSTEP - CALL INI_BUDGET(KULOUT, HLUOUT, ZTSTEP,KSV,KRR, & - &GNUMDIFU,GNUMDIFTH,GNUMDIFSV, & - &GHORELAX_UVWTH,GHORELAX_RV,GHORELAX_RC,GHORELAX_RR, & - &GHORELAX_RI,GHORELAX_RS, GHORELAX_RG, GHORELAX_RH,GHORELAX_TKE, & - &GHORELAX_SV,GVE_RELAX,GCHTRANS,LLNUDGING,GDRAGTREE, & - &HRAD,HSCONV,HDCONV,HTURB,HTURBDIM,HCLOUD, & - &HMET_ADV_SCHEME,HSV_ADV_SCHEME) - -! LBU_ENABLE=.FALSE. - - -ENDIF - IF (LHOOK) CALL DR_HOOK('AROINI_BUDGET',1,ZHOOK_HANDLE) -RETURN +! END SUBROUTINE AROINI_BUDGET diff --git a/src/arome/ext/aroini_budget.h b/src/arome/ext/aroini_budget.h new file mode 100644 index 0000000000000000000000000000000000000000..b77fabe735f1a460e974bb53ad1cfd7d2b71da59 --- /dev/null +++ b/src/arome/ext/aroini_budget.h @@ -0,0 +1,8 @@ +INTERFACE +SUBROUTINE AROINI_BUDGET(LDBU_ENABLE) +! ########################################################################## +USE PARKIND1 ,ONLY : JPIM ,JPRB +LOGICAL :: LDBU_ENABLE + +END SUBROUTINE AROINI_BUDGET +END INTERFACE diff --git a/src/arome/ext/aroini_turb.F90 b/src/arome/ext/aroini_turb.F90 new file mode 100644 index 0000000000000000000000000000000000000000..6a9edd9d97e6a27dc15a17f06d2be8d18a759f3f --- /dev/null +++ b/src/arome/ext/aroini_turb.F90 @@ -0,0 +1,82 @@ +! ######spl +SUBROUTINE AROINI_TURB(PLINI,OHARATU) +USE PARKIND1, ONLY : JPRB +USE YOMHOOK , ONLY : LHOOK, DR_HOOK +!**** *INI_TURB* - Initialize common meso_NH MODD_ used in Turbulence scheme +! for AROME +! Purpose. +! -------- +! Initialize MODD_LES and MODD_TKE +! parameters used in AROME turbulence scheme + +!** Interface. +! ---------- +! *CALL* *INI_TURB + +! Explicit arguments : +! -------------------- +! None + +! Implicit arguments : +! -------------------- +! + +! Method. +! ------- +! See documentation + +! Externals. +! ---------- + +! Reference. +! ---------- +! Documentation AROME + +! Author. +! ------- +! Y. Seity + +! Modifications. +! -------------- +! Original : 03-12-12 +! ------------------------------------------------------------------ + +USE MODD_LES, ONLY : LLES, LLES_CALL +USE MODD_CTURB, ONLY : XLINI, LHARAT +USE MODD_TURB_n, ONLY : CTURBLEN + +USE MODI_INI_CTURB + +IMPLICIT NONE +! +!* 0.1 Declarations of dummy arguments : +! +! +REAL, INTENT(IN) :: PLINI ! minimum bl89 mixing length +LOGICAL,INTENT(IN) :: OHARATU ! switch HARATU +! +! ------------------------------------------------------------------ + +! 1. Set implicit default values for MODD_CTURB + +REAL(KIND=JPRB) :: ZHOOK_HANDLE +IF (LHOOK) CALL DR_HOOK('AROINI_TURB',0,ZHOOK_HANDLE) +CALL INI_CTURB + +! 1bis. Modification of MODD_CTURB values +XLINI=PLINI +LHARAT=OHARATU + +! 2. Set implicit default values for MODD_LES + +LLES=.FALSE. +LLES_CALL=.FALSE. + +! 3. Set implicit default values for MODD_TURB_n + +CTURBLEN = 'BL89' + +! ------------------------------------------------------------------ +IF (LHOOK) CALL DR_HOOK('AROINI_TURB',1,ZHOOK_HANDLE) +RETURN +END SUBROUTINE AROINI_TURB diff --git a/src/arome/dead_code/aro_icecld.F90 b/src/arome/ext/dead_code/aro_icecld.F90 similarity index 100% rename from src/arome/dead_code/aro_icecld.F90 rename to src/arome/ext/dead_code/aro_icecld.F90 diff --git a/src/arome/dead_code/aro_tiwmx.F90 b/src/arome/ext/dead_code/aro_tiwmx.F90 similarity index 100% rename from src/arome/dead_code/aro_tiwmx.F90 rename to src/arome/ext/dead_code/aro_tiwmx.F90 diff --git a/src/arome/dead_code/modi_aro_icecld.F90 b/src/arome/ext/dead_code/modi_aro_icecld.F90 similarity index 100% rename from src/arome/dead_code/modi_aro_icecld.F90 rename to src/arome/ext/dead_code/modi_aro_icecld.F90 diff --git a/src/arome/dead_code/modi_aro_tiwmx.F90 b/src/arome/ext/dead_code/modi_aro_tiwmx.F90 similarity index 100% rename from src/arome/dead_code/modi_aro_tiwmx.F90 rename to src/arome/ext/dead_code/modi_aro_tiwmx.F90 diff --git a/src/arome/ext/suphmpa.F90 b/src/arome/ext/suphmpa.F90 new file mode 100644 index 0000000000000000000000000000000000000000..c5ce5a44ed1c82a1a307712563733980545a4ea9 --- /dev/null +++ b/src/arome/ext/suphmpa.F90 @@ -0,0 +1,195 @@ +SUBROUTINE SUPHMPA(YDGEOMETRY,YDLDDH,YDML_GCONF,YDML_PHY_MF,KULOUT) + +!**** *SUPHMPA* - Initialize common meso_NH MODD_ used in physics for AROME + +! Purpose. +! -------- +! Initialize MODD_PARAMETERS, MODD_CST, MODD_CONF, +! MODD_RAIN_ICE_DESCR, MODD_RAIN_ICE_PARAM, MODD_BUDGET +! parameters used in meso_NH Physics and aladin/meso_NH physics +! interface + +!** Interface. +! ---------- +! *CALL* *SUPHMPA(KULOUT) + +! Explicit arguments : +! -------------------- +! KULOUT : Logical unit for the output + +! Implicit arguments : +! -------------------- +! COMMON YOMPHY2 + +! Method. +! ------- +! See documentation + +! Externals. +! ---------- + +! Reference. +! ---------- +! Documentation AROME + +! Author. +! ------- +! R. Zaaboul +! Original : 28-Feb-2006 + +! Modifications. +! -------------- +! E. BAZILE : 01-09-2006 : Modified for LCVPPKF. +! Y. Seity : 28-March-2007 Move chemistry setup under suphmse +! O.Riviere: 01/10/2008 removal of call to now obsolete aro_iniapft +! S.Riette: 24 Aug 2011 add call to AROINI_NEB +! Y.Seity: 9 Feb 2014 : add autoconversion setup (*CRIAUT*) +! Y.Seity: 12 Nov 2014 : add test on NGFL_EZDIAG +! S. Riette (Jan 2015): new ICE3 and ICE4 parameters with new aroini_micro interface +! ------------------------------------------------------------------ + +USE MODEL_GENERAL_CONF_MOD , ONLY : MODEL_GENERAL_CONF_TYPE +USE MODEL_PHYSICS_MF_MOD , ONLY : MODEL_PHYSICS_MF_TYPE +USE GEOMETRY_MOD , ONLY : GEOMETRY +USE PARKIND1 ,ONLY : JPIM ,JPRB +USE YOMHOOK ,ONLY : LHOOK, DR_HOOK + + +USE YOMLDDH , ONLY : TLDDH +USE YOMCT0 ,ONLY : LTWOTL, LELAM + +! ------------------------------------------------------------------ + +IMPLICIT NONE + +TYPE(GEOMETRY) ,INTENT(IN) :: YDGEOMETRY +TYPE(TLDDH) ,INTENT(INOUT) :: YDLDDH +TYPE(MODEL_GENERAL_CONF_TYPE),INTENT(INOUT):: YDML_GCONF +TYPE(MODEL_PHYSICS_MF_TYPE),INTENT(INOUT):: YDML_PHY_MF +INTEGER(KIND=JPIM),INTENT(IN) :: KULOUT + +! ------------------------------------------------------------------ + + +REAL(KIND=JPRB) :: ZTSTEP +REAL(KIND=JPRB) :: ZHOOK_HANDLE + +LOGICAL :: LLNOTMAP +! ------------------------------------------------------------------ + +#include "sucvmnh.intfb.h" +#include "aroini_cstmnh.h" +#include "aroini_micro.h" +#include "aroini_budget.h" +#include "aroini_turb.h" +#include "abor1.intfb.h" +#include "aroini_mfshal.h" + +#include "aroini_micro_lima.h" + +IF (LHOOK) CALL DR_HOOK('SUPHMPA',0,ZHOOK_HANDLE) +ASSOCIATE(YDDIM=>YDGEOMETRY%YRDIM,YDDIMV=>YDGEOMETRY%YRDIMV,YDGEM=>YDGEOMETRY%YRGEM, YDMP=>YDGEOMETRY%YRMP, & + & YDPHY=>YDML_PHY_MF%YRPHY,YDRIP=>YDML_GCONF%YRRIP,YDARPHY=>YDML_PHY_MF%YRARPHY,YDPARAR=>YDML_PHY_MF%YRPARAR) +ASSOCIATE(XDETR_LUP=>YDPARAR%XDETR_LUP, XCMF=>YDPARAR%XCMF, & + & XBDETR=>YDPARAR%XBDETR, XLINI=>YDPARAR%XLINI, XABUO=>YDPARAR%XABUO, & + & XLAMBDA=>YDPARAR%XLAMBDA, RT0CRIAUTI=>YDPARAR%RT0CRIAUTI, & + & XKCF_MF=>YDPARAR%XKCF_MF, XALP_PERT=>YDPARAR%XALP_PERT, & + & NSPLITR=>YDPARAR%NSPLITR, NSPLITG=>YDPARAR%NSPLITG, XSIGMA_MF=>YDPARAR%XSIGMA_MF, XA1=>YDPARAR%XA1, & + & CMICRO=>YDPARAR%CMICRO, XENTR_DRY=>YDPARAR%XENTR_DRY, & + & XENTR_MF=>YDPARAR%XENTR_MF, CSEDIM=>YDPARAR%CSEDIM, NSV=>YDPARAR%NSV, & + & XFRAC_UP_MAX=>YDPARAR%XFRAC_UP_MAX, XB=>YDPARAR%XB, XC=>YDPARAR%XC, & + & XTAUSIGMF=>YDPARAR%XTAUSIGMF, RCRIAUTC=>YDPARAR%RCRIAUTC, & + & XDETR_DRY=>YDPARAR%XDETR_DRY, XR=>YDPARAR%XR, RCRIAUTI=>YDPARAR%RCRIAUTI, & + & LOWARM=>YDPARAR%LOWARM, XBENTR=>YDPARAR%XBENTR, XBETA1=>YDPARAR%XBETA1, & + & LAROBU_ENABLE=>YDPARAR%LAROBU_ENABLE, LCRIAUTI=>YDPARAR%LCRIAUTI, & + & XKRC_MF=>YDPARAR%XKRC_MF, XALPHA_MF=>YDPARAR%XALPHA_MF, & + & XPRES_UV=>YDPARAR%XPRES_UV, NRR=>YDPARAR%NRR, XCRAD_MF=>YDPARAR%XCRAD_MF, & + & CMF_UPDRAFT=>YDPARAR%CMF_UPDRAFT, LHARATU=>YDPARAR%LHARATU, & + & LMPA=>YDARPHY%LMPA, LKFBCONV=>YDARPHY%LKFBCONV, LMFSHAL=>YDARPHY%LMFSHAL, & + & LGRADHPHY=>YDARPHY%LGRADHPHY, & + & NPROMA=>YDDIM%NPROMA, & + & LEDKF=>YDPHY%LEDKF, LCVPPKF=>YDPHY%LCVPPKF, & + & NFLEVG=>YDDIMV%NFLEVG, & + & LSDDH=>YDLDDH%LSDDH, TSTEP=>YDRIP%TSTEP, & + & XTSTEP_TS=>YDPARAR%XTSTEP_TS, CSNOWRIMING=>YDPARAR%CSNOWRIMING, XMRSTEP=>YDPARAR%XMRSTEP,& + & NMAXITER_MICRO=>YDPARAR%NMAXITER_MICRO, LFEEDBACKT=>YDPARAR%LFEEDBACKT, LEVLIMIT=>YDPARAR%LEVLIMIT, & + & LNULLWETG=>YDPARAR%LNULLWETG, LWETGPOST=>YDPARAR%LWETGPOST, LNULLWETH=>YDPARAR%LNULLWETH,& + & LWETHPOST=>YDPARAR%LWETHPOST, XFRACM90=>YDPARAR%XFRACM90, LCONVHG=>YDPARAR%LCONVHG, & + & CSUBG_RC_RR_ACCR=>YDPARAR%CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP=>YDPARAR%CSUBG_RR_EVAP, & + & CSUBG_PR_PDF=>YDPARAR%CSUBG_PR_PDF, LCRFLIMIT=>YDPARAR%LCRFLIMIT, & + & CFRAC_ICE_ADJUST=>YDPARAR%CFRAC_ICE_ADJUST, XSPLIT_MAXCFL=>YDPARAR%XSPLIT_MAXCFL,& + & CFRAC_ICE_SHALLOW_MF=>YDPARAR%CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER=>YDPARAR%LSEDIM_AFTER,& + & LDEPOSC=>YDPARAR%LDEPOSC, XVDEPOSC=>YDPARAR%XVDEPOSC) +! ------------------------------------------------------------------ +! ------------------------------------------------------------------ +! 1. Initialisation of MesoNH constantes + +IF (LELAM) THEN + LLNOTMAP=.NOT.YDGEOMETRY%YREGEO%LMAP +ELSE + LLNOTMAP=.TRUE. +ENDIF +CALL AROINI_CSTMNH (KULOUT,LTWOTL,LLNOTMAP) + +! 2. Initialisation for microphysics scheme + +ZTSTEP=TSTEP +IF (CMICRO == 'LIMA') THEN + CALL AROINI_MICRO (KULOUT,ZTSTEP,LOWARM,'ICE3',NSPLITR,CSEDIM,LCRIAUTI,& + & RCRIAUTI,RT0CRIAUTI,RCRIAUTC, XTSTEP_TS, CSNOWRIMING, XMRSTEP,& + & NMAXITER_MICRO, LFEEDBACKT, LEVLIMIT, LNULLWETG, LWETGPOST, LNULLWETH,& + & LWETHPOST, XFRACM90, LCONVHG, CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP, CSUBG_PR_PDF,& + & LCRFLIMIT, CFRAC_ICE_ADJUST, XSPLIT_MAXCFL,& + & CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER, LDEPOSC, XVDEPOSC) + CALL AROINI_MICRO_LIMA (KULOUT,4,ZTSTEP,LOWARM,CMICRO,NSPLITR,NSPLITG,CSEDIM,LCRIAUTI,& + & RCRIAUTI,RT0CRIAUTI,RCRIAUTC) +ELSE +CALL AROINI_MICRO (KULOUT,ZTSTEP,LOWARM,CMICRO,NSPLITR,CSEDIM,LCRIAUTI,& + & RCRIAUTI,RT0CRIAUTI,RCRIAUTC,XTSTEP_TS, CSNOWRIMING, XMRSTEP,& + & NMAXITER_MICRO, LFEEDBACKT, LEVLIMIT, LNULLWETG, LWETGPOST, LNULLWETH,& + & LWETHPOST, XFRACM90, LCONVHG, CSUBG_RC_RR_ACCR, CSUBG_RR_EVAP, CSUBG_PR_PDF,& + & LCRFLIMIT, CFRAC_ICE_ADJUST, XSPLIT_MAXCFL,& + & CFRAC_ICE_SHALLOW_MF, LSEDIM_AFTER, LDEPOSC, XVDEPOSC) + ENDIF + +! 3. Initialisation of Budget + +LAROBU_ENABLE=LMPA.AND.LSDDH +CALL AROINI_BUDGET(LAROBU_ENABLE) + + +! 4. Initialisation of Turbulence scheme + +CALL AROINI_TURB(XLINI,LHARATU) + +! 5. Initialisation of Mass Flux Shallow convection scheme + +IF(LMFSHAL.OR.LEDKF) CALL AROINI_MFSHAL(XALP_PERT,XABUO,XBENTR,XBDETR,XCMF,XENTR_MF,XCRAD_MF,XENTR_DRY,& + & XDETR_DRY,XDETR_LUP,XKCF_MF,XKRC_MF,XTAUSIGMF,XPRES_UV,XFRAC_UP_MAX,& + & XALPHA_MF,XSIGMA_MF,XA1,XB,XC,XBETA1,XR,XLAMBDA) + +IF (LMFSHAL.AND.YDML_GCONF%YGFL%NGFL_EZDIAG < 3) THEN + CALL ABOR1 ("With LMFSHAL NGFL_EZDIAG should be >= 3 !") +ENDIF + +! 6. Initialisation of Convection scheme + +IF(LKFBCONV.OR.LCVPPKF) THEN + CALL SUCVMNH(YDML_PHY_MF,KULOUT) +ENDIF + +! 7. Initialisation of nebulosity computation + +CALL AROINI_NEB + +! 8. Initialisation of The Horizontal Gradient on Z levels for 3D turbulence +! Quand il y aura des initialisations +IF (LGRADHPHY .AND. .NOT. LELAM) THEN + CALL ABOR1 ("With LGRADHPHY, LELAM should be TRUE !") +ENDIF + +! ----------------------------------------------------------------------- +END ASSOCIATE +END ASSOCIATE +IF (LHOOK) CALL DR_HOOK('SUPHMPA',1,ZHOOK_HANDLE) +END SUBROUTINE SUPHMPA diff --git a/src/arome/gmkpack_ignored_files b/src/arome/gmkpack_ignored_files index 453d9746c1d2bd85f47eb1860727d81e5eeb4ca7..241c60e347f7160b3d2c9d1d0feba0b5d98630a9 100644 --- a/src/arome/gmkpack_ignored_files +++ b/src/arome/gmkpack_ignored_files @@ -192,9 +192,14 @@ phyex/micro/modd_nsv.F90 phyex/micro/modd_refaro.F90 phyex/micro/mode_fmbidon.F90 phyex/micro/mode_fmwritbidon.F90 -phyex/turb/modd_dynn.F90 phyex/turb/mode_thermo_mono.F90 phyex/turb/modn_turb.F90 mse/dummy/second_mnh.F90 mse/dummy/les_mean_subgrid_surf.F90 mse/dummy/les_mean_subgrid_3d.F90 +mpa/micro/externals/aro_buprocn.F90 +mpa/micro/interface/aro_buprocn.h +mpa/micro/externals/aro_subudget.F90 +mpa/micro/interface/aro_subudget.h +mpa/micro/interface/aroend_budget.h +mpa/micro/externals/invert_vlev.F90 diff --git a/src/arome/micro/lima.F90 b/src/arome/micro/lima.F90 index e6a9ef41186419563223a1ba422a9af6c8bf16f6..a96c98099c5846f08e8e395d74c36031ad50bdcb 100644 --- a/src/arome/micro/lima.F90 +++ b/src/arome/micro/lima.F90 @@ -109,7 +109,7 @@ USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_CCN_FREE, NSV NSV_LIMA_IFN_NUCL, NSV_LIMA_IMM_NUCL, NSV_LIMA_HOM_HAZE USE MODD_CST, ONLY : XCI, XCL, XCPD, XCPV, XLSTT, XLVTT, XTT ! -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV USE MODI_LIMA_WARM_SEDIMENTATION USE MODI_LIMA_COLD_SEDIMENTATION diff --git a/src/arome/micro/lima_adjust.F90 b/src/arome/micro/lima_adjust.F90 index 5a890472e708a910d6d0f2d8c8653b4ad4929cbc..fd7e8f5cd090d0f6936cc2fc43cca5ec3803d1a8 100644 --- a/src/arome/micro/lima_adjust.F90 +++ b/src/arome/micro/lima_adjust.F90 @@ -157,7 +157,7 @@ USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH USE YOMMDDH, ONLY : TMDDH ! -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODI_LIMA_FUNCTIONS ! ! diff --git a/src/arome/micro/lima_ccn_hom_freezing.F90 b/src/arome/micro/lima_ccn_hom_freezing.F90 index 2b1c25c4459de6bcbed03d519bc6a3b0988117cf..a7da41311666b48be8c8eca8f0b36c7660f91853 100644 --- a/src/arome/micro/lima_ccn_hom_freezing.F90 +++ b/src/arome/micro/lima_ccn_hom_freezing.F90 @@ -83,7 +83,7 @@ USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV ! USE MODD_NSV USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! IMPLICIT NONE ! diff --git a/src/arome/micro/lima_cold.F90 b/src/arome/micro/lima_cold.F90 index ff4827fda1741b219c3b234979259c54f7e86013..2c6030595882735561eaa737fb363c8f161bab51 100644 --- a/src/arome/micro/lima_cold.F90 +++ b/src/arome/micro/lima_cold.F90 @@ -124,7 +124,7 @@ USE MODD_NSV USE MODD_PARAM_LIMA ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_LIMA_COLD_SEDIMENTATION USE MODI_LIMA_MEYERS diff --git a/src/arome/micro/lima_cold_hom_nucl.F90 b/src/arome/micro/lima_cold_hom_nucl.F90 index 74d950fa1c55dbfb07cf2b3155b00b600fcade1f..f30a0feb314e23c19f6c63ef96af144bcd158b60 100644 --- a/src/arome/micro/lima_cold_hom_nucl.F90 +++ b/src/arome/micro/lima_cold_hom_nucl.F90 @@ -126,7 +126,7 @@ USE YOMMDDH, ONLY : TMDDH ! USE MODD_NSV USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! IMPLICIT NONE ! diff --git a/src/arome/micro/lima_cold_slow_processes.F90 b/src/arome/micro/lima_cold_slow_processes.F90 index dda09872cbf3ef68cd4e09fac8e9bf801c845346..a342f7d220a33f5a136080653c7c8c55fa104a13 100644 --- a/src/arome/micro/lima_cold_slow_processes.F90 +++ b/src/arome/micro/lima_cold_slow_processes.F90 @@ -112,7 +112,7 @@ USE MODD_PARAM_LIMA_COLD, ONLY : XLBI, XLBEXI, XLBS, XLBEXS, XBI, XCXS, XCCS, & USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV USE MODD_BUDGET USE MODD_NSV, ONLY : NSV_LIMA_NI -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH diff --git a/src/arome/micro/lima_meyers.F90 b/src/arome/micro/lima_meyers.F90 index 06ac11de3917f156d4506e0c2d7ff776b080c799..a10953731a448a6cfd393e63f7e94bff6eb4629a 100644 --- a/src/arome/micro/lima_meyers.F90 +++ b/src/arome/micro/lima_meyers.F90 @@ -126,7 +126,7 @@ USE MODD_CST USE MODD_PARAM_LIMA USE MODD_PARAM_LIMA_COLD USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NI ! USE DDH_MIX, ONLY : TYP_DDH diff --git a/src/arome/micro/lima_meyers_nucleation.F90 b/src/arome/micro/lima_meyers_nucleation.F90 index f27af7a6b0bf2db32269a824c12e45c2bd382d1e..2b90ca08c6b59dc50f8de755ce8a782755b420f6 100644 --- a/src/arome/micro/lima_meyers_nucleation.F90 +++ b/src/arome/micro/lima_meyers_nucleation.F90 @@ -108,7 +108,7 @@ USE MODD_CST USE MODD_PARAM_LIMA USE MODD_PARAM_LIMA_COLD USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NI ! USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV diff --git a/src/arome/micro/lima_mixed.F90 b/src/arome/micro/lima_mixed.F90 index 1e073298670d6a1748283c507a900ed5d968af18..000b503761054740e5f1279e7f1f093d8c4c13c1 100644 --- a/src/arome/micro/lima_mixed.F90 +++ b/src/arome/micro/lima_mixed.F90 @@ -123,7 +123,7 @@ USE MODD_PARAM_LIMA_MIXED, ONLY : XLBG, XLBEXG, XLBH, XLBEXH USE MODD_NSV ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV USE MODI_LIMA_MIXED_SLOW_PROCESSES diff --git a/src/arome/micro/lima_mixed_fast_processes.F90 b/src/arome/micro/lima_mixed_fast_processes.F90 index d50dbd2d47e782471eca6b3766119cbc3f7f6089..9bcfa9bb67e4266f3bfc89f07fe31e47027889c8 100644 --- a/src/arome/micro/lima_mixed_fast_processes.F90 +++ b/src/arome/micro/lima_mixed_fast_processes.F90 @@ -160,7 +160,7 @@ USE MODD_PARAM_LIMA_MIXED ! USE MODD_NSV USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH diff --git a/src/arome/micro/lima_mixed_slow_processes.F90 b/src/arome/micro/lima_mixed_slow_processes.F90 index 566145a72bbdfb947487ce4850d2d1e07d73604c..ff8f782ce2387307ec721362792d2b6bd29273cf 100644 --- a/src/arome/micro/lima_mixed_slow_processes.F90 +++ b/src/arome/micro/lima_mixed_slow_processes.F90 @@ -130,7 +130,7 @@ USE MODD_PARAM_LIMA_MIXED, ONLY : XLBG, XLBEXG, XLBDAG_MAX, & ! USE MODD_NSV USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE DDH_MIX, ONLY : TYP_DDH USE YOMLDDH, ONLY : TLDDH diff --git a/src/arome/micro/lima_nucleation_procs.F90 b/src/arome/micro/lima_nucleation_procs.F90 index a00ee56f72bf754c0e0129edb85e35f3a0218933..9b23d62f2eecc0767c22e64df6a43f57820fce37 100644 --- a/src/arome/micro/lima_nucleation_procs.F90 +++ b/src/arome/micro/lima_nucleation_procs.F90 @@ -68,7 +68,7 @@ USE MODD_BUDGET, ONLY : LBU_ENABLE, LBUDGET_TH, LBUDGET_RV, LBUDGET_RC, LBUD USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_CCN_FREE, & NSV_LIMA_NI, NSV_LIMA_IFN_FREE ! -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODI_LIMA_CCN_ACTIVATION USE MODI_LIMA_PHILLIPS_IFN_NUCLEATION USE MODI_LIMA_MEYERS_NUCLEATION diff --git a/src/arome/micro/lima_phillips.F90 b/src/arome/micro/lima_phillips.F90 index 9726b5c920f9e345fbdc020034e58ffe2ad348d1..6791798d429ba2196f73325c46c47259d27773a5 100644 --- a/src/arome/micro/lima_phillips.F90 +++ b/src/arome/micro/lima_phillips.F90 @@ -145,7 +145,7 @@ USE MODI_LIMA_PHILLIPS_REF_SPECTRUM USE MODI_LIMA_PHILLIPS_INTEG ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NI, NSV_LIMA_IFN_FREE ! USE DDH_MIX, ONLY : TYP_DDH diff --git a/src/arome/micro/lima_phillips_ifn_nucleation.F90 b/src/arome/micro/lima_phillips_ifn_nucleation.F90 index a86129119290962d62c07450ddb28a0101db6b02..068d15cfc3be0c89f61b485641cf7720f87848b6 100644 --- a/src/arome/micro/lima_phillips_ifn_nucleation.F90 +++ b/src/arome/micro/lima_phillips_ifn_nucleation.F90 @@ -120,7 +120,7 @@ USE MODI_LIMA_PHILLIPS_REF_SPECTRUM USE MODI_LIMA_PHILLIPS_INTEG ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NI, NSV_LIMA_IFN_FREE ! ! diff --git a/src/arome/micro/lima_precip_scavenging.F90 b/src/arome/micro/lima_precip_scavenging.F90 index cafea718c39f7270556d40f32b3898b5b7e37bed..ad63b968348186447f7a3c7aaa39900ad8345810 100644 --- a/src/arome/micro/lima_precip_scavenging.F90 +++ b/src/arome/micro/lima_precip_scavenging.F90 @@ -127,7 +127,7 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_IFN, NSPECIE, XFRAC, USE MODD_PARAM_LIMA_WARM, ONLY : XCR, XDR ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! IMPLICIT NONE ! diff --git a/src/arome/micro/lima_warm.F90 b/src/arome/micro/lima_warm.F90 index 7778d173fce30e3def032344b8a7099fa2b3886b..bcec122552a41bac0f997294e159a62349e92f1a 100644 --- a/src/arome/micro/lima_warm.F90 +++ b/src/arome/micro/lima_warm.F90 @@ -146,7 +146,7 @@ USE MODD_NSV ! ! USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_LIMA_WARM_SEDIMENTATION USE MODI_LIMA_WARM_NUCL diff --git a/src/arome/micro/lima_warm_coal.F90 b/src/arome/micro/lima_warm_coal.F90 index b71c5476cb770ee3c772e1c391dc6632951cd6b2..cf7ade8f31605d5dc667bf75c58b1d6798437965 100644 --- a/src/arome/micro/lima_warm_coal.F90 +++ b/src/arome/micro/lima_warm_coal.F90 @@ -117,7 +117,7 @@ USE MODD_PARAM_LIMA_WARM ! USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NR USE MODD_BUDGET -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH ! USE MODI_LIMA_FUNCTIONS, ONLY : COUNTJV ! diff --git a/src/arome/micro/rain_ice_old.F90 b/src/arome/micro/rain_ice_old.F90 index b87f8ba57abea5338f6571a941736025bd85749f..c1ac467d1833cbb0ac48973016fd45e58e0e6b9f 100644 --- a/src/arome/micro/rain_ice_old.F90 +++ b/src/arome/micro/rain_ice_old.F90 @@ -169,7 +169,7 @@ USE MODD_PARAM_ICE USE MODD_BUDGET USE MODD_SPP_TYPE USE MODD_LES -USE MODI_BUDGET_DDH +USE MODE_BUDGET, ONLY: BUDGET_DDH USE MODI_GAMMA USE MODE_TIWMX USE MODE_ICECLOUD, ONLY : ICECLOUD diff --git a/src/arome/programs/ch_make_lookup.F90 b/src/arome/programs/ch_make_lookup.F90 deleted file mode 100644 index 0b67c3135fc3e579998f117dc039d55efcf9e7ef..0000000000000000000000000000000000000000 --- a/src/arome/programs/ch_make_lookup.F90 +++ /dev/null @@ -1,188 +0,0 @@ -! ######spl - PROGRAM CH_MAKE_LOOKUP - USE PARKIND1, ONLY : JPRB - USE YOMHOOK , ONLY : LHOOK, DR_HOOK -! ###################### -!! -!!*** *CH_MAKE_LOOKUP* -!! -!! PURPOSE -!! ------- -! create a lookup table for J-Values used by MesoNH-chemistry -!! -!!** METHOD -!! ------ -!! The radiative transfer model TUV is called for a dicrete number -!! of times. The lookup table is fixed for one latitude, longitude, date, -!! surface albedo and ozone column dobson. TUV itself requires -!! a number of input files that will reside in directories -!! DATAX, DATA0 and DATA4 (to be created at runtime by tar xvf TUVDATA.tar). -!! The program may be piloted via a namelistfile LOOKUP1.nam. -!! The format of the lookup table is as follows: -!! -!!============================================================================== -!! COMMENT LINE -!! NPHOTO (NUMBER OF REACTIONS) -!! NLEVEL, DZ (NUMBER OF VERTICAL POINTS, HEIGHT INCREMENT IN M) -!! NTIME, DT (NUMBER OF TEMPORAL POINTS, TIME INCREMENT IN H) -!! REACTION 1 -!! ... -!! REACTION NPHOTO -!! FORTRAN FORMAT FOR THE FOLLOWING DATA -!! HEIGHT1 TIME1 J1 ... JN -!! HEIGHT1 TIME2 J1 ... JN -!! ... -!! HEIGHT1 TIMEN J1 ... JN -!! HEIGHT2 TIME1 J1 ... JN -!! ... -!! HEIGHTM TIMEN J1 ... JN -!!============================================================================== -!! -!! REFERENCES -!! ---------- -!! MesoNH-chemistry book 3 -!! -!! AUTHOR -!! ------ -!! K. Suhre -!! -!! MODIFICATIONS -!! ------------- -!! Original 01/03/99 -!! -!! EXTERNAL -!! -------- -!! TUV39.f (Fortran 77 code from S. Madronich) -!! -!! IMPLICIT ARGUMENTS -!! ------------------ -!! None -!! -!------------------------------------------------------------------------------ -! -!* 0. DECLARATIONS -! ----------------- -! -IMPLICIT NONE -! -REAL :: ALAT, ALONG ! LATITUDE AND LONGITUDE -REAL :: ALBNEW, DOBNEW ! SURFACE ALBEDO AND O3 COLUMN DOBSON -INTEGER :: IDATE ! DATE IN FORMAT YYMMDD -! -INTEGER, PARAMETER :: NTIME = 96 + 1 ! TEMPORAL DISCRETIZATION -INTEGER, PARAMETER :: NLEVEL = 30 + 1 ! VERTICAL DISCRETIZATION -REAL, DIMENSION(NLEVEL) :: AZ, LWC -REAL, DIMENSION(NTIME) :: ATIME -REAL :: DZ, DT -REAL :: ZMAX = 30E3 ! MAXIMUM HEIGHT FOR WHICH J-VALUES WILL BE COMPUTED -! -! J VALUE STORAGE -INTEGER, PARAMETER :: NJOUT = 21 -REAL, DIMENSION(NLEVEL,NJOUT) :: JOUT -REAL, DIMENSION(NLEVEL, NJOUT, NTIME) :: JDATA -CHARACTER*40, DIMENSION(NJOUT) :: JLABELOUT -! -CHARACTER*120 :: HEADDER -REAL :: UT -INTEGER :: I, J, K, NJIO -CHARACTER*40 :: YFMT = '(2F11.2,5E11.4/99(7E11.4/))' -! -! NAMELIST for options -NAMELIST /NAM_TUV/ ALAT, ALONG, IDATE, ALBNEW, DOBNEW -! -! -!* 1. INITIALISATION -! ------------------- -! -! initialize az and atime -REAL(KIND=JPRB) :: ZHOOK_HANDLE -IF (LHOOK) CALL DR_HOOK('CH_MAKE_LOOKUP',0,ZHOOK_HANDLE) -DZ = ZMAX / FLOAT(NLEVEL - 1) -DO J = 1, NLEVEL - AZ(J) = FLOAT(J-1) * DZ - LWC(J)= 0.0 -ENDDO -DT = 24.00 / FLOAT(NTIME - 1) -DO I = 1, NTIME - ATIME(I) = FLOAT(I-1) * DT -ENDDO -! -! initialize default values -ALAT = 45. -ALONG = 0. -IDATE = 970621 -ALBNEW = -1. -DOBNEW = -1. -! -! read the namelist -WRITE(*,*) "TRYING TO OPEN FILE LOOKUP1.nam ..." -OPEN(UNIT=42,FILE="LOOKUP1.nam",STATUS="OLD",FORM="FORMATTED", ERR=100) -READ(42,NAM_TUV) -WRITE(*,*) "NAMELIST NAM_TUV INITIALIZED TO:" -WRITE(*,NAM_TUV) -CLOSE(42) -GOTO 200 -! -100 CONTINUE -! read from input if no namelist file exists -WRITE(*,*) "NO FILE LOOKUP1.NAM FOUND, TRYING INTERACTIVE ..." -PRINT *, "ENTER LATITUDE (+N, -S)" -READ(*,*) ALAT -PRINT *, "ENTER LONGITUDE (+E, -W)" -READ(*,*) ALONG -PRINT *, "ENTER DATE (YYMMDD)" -READ(*,*) IDATE -PRINT *, "ENTER SURFACE ALBEDO (IF <0 -->DATAX/ALBEDO.DAT)" -READ(*,*) ALBNEW -PRINT *, "ENTER TOTAL COLUMN DOBSON (IF <0 NO SCALING)" -READ(*,*) DOBNEW -! -200 CONTINUE -! -WRITE(HEADDER,'(A,F6.1,A,F6.1,A,I6,A,F6.3,A,F8.2)') & - "TUV39,LAT=", ALAT, ",LON=", ALONG, & - ",IDATE(YYMMDD)=", IDATE, & - ",ALB=", ALBNEW, & - ",DOB=", DOBNEW -PRINT *, HEADDER -! -!* 2. CALL TUV 3.5 -! ----------------- -! -DO I = 1, NTIME - UT = ATIME(I) - PRINT *, I, " FROM ", NTIME, " DONE ... UT = ", UT - NJIO = NJOUT - CALL TUVMAIN(ALAT, ALONG, IDATE, UT, ALBNEW, DOBNEW, NLEVEL, AZ, LWC, & - NJIO, JOUT, JLABELOUT) - DO J = 1, NLEVEL - DO K = 1, NJIO - JDATA(J, K, I) = JOUT(J,K) - ENDDO - ENDDO -ENDDO -! -!* 3. WRITE LOOKUP TABLE FILE -! ----------------- -! -OPEN(66,FILE="PHOTO.TUV39",STATUS="UNKNOWN",FORM="FORMATTED") -WRITE(66,'(A)') HEADDER -WRITE(66,'(I6,A)') NJIO, " NUMBER OF PHOTOLYSIS REACTIONS" -WRITE(66,'(I6, F10.0, A)') NLEVEL, DZ, & - " NUMBER OF LEVELS, VERTICAL INCREMENT (M)" -WRITE(66,'(I6, F10.4, A)') NTIME, DT, & - " NUMBER OF TEMPORAL RECS, TEMPORAL INCREMENT (H)" -WRITE(66,'(A)') (JLABELOUT(K), K=1, NJIO) -WRITE(66,'(A)') YFMT -DO J = 1, NLEVEL - DO I = 1, NTIME - WRITE(66,YFMT) AZ(J), ATIME(I), (JDATA(J,K,I), K=1, NJIO) - ENDDO -ENDDO -CLOSE(66) -! -PRINT *, 'Lookup table file PHOTO.TUV39 has been generated.' -PRINT *, 'CH_MAKE_LOOKUP ended correctly.' -! -IF (LHOOK) CALL DR_HOOK('CH_MAKE_LOOKUP',1,ZHOOK_HANDLE) -END PROGRAM CH_MAKE_LOOKUP diff --git a/src/common/aux/modd_budget.F90 b/src/common/aux/modd_budget.F90 index 6244e27b36482f7398e091ce8ce0afc875a30123..0819c0048d11ced7225d70beb6942876a0f40084 100644 --- a/src/common/aux/modd_budget.F90 +++ b/src/common/aux/modd_budget.F90 @@ -33,11 +33,11 @@ !! V. Masson 27/11/02 add 2way nesting effect !! P. Jabouille 07/07/04 add budget terms for microphysics !! C. Barthe 19/11/09 add budget terms for electricity +!! S. Riette July 2022 simplification for PHYEX !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS ! ------------ -USE MODD_PARAMETERS, ONLY :JPBUMAX, JPBUPROMAX ! IMPLICIT NONE @@ -65,592 +65,7 @@ ENDTYPE ! General variables LOGICAL :: LBU_ENABLE=.FALSE. ! -INTEGER, DIMENSION(JPBUMAX,JPBUPROMAX) & ! number of processes to be - :: NBUINC=0 ! avoided for every budget - ! between one active - ! source to the next one -INTEGER, DIMENSION(JPBUMAX) & ! counter for all the processes - :: NBUCTR_ACTV=0 ! activated or not -! -CHARACTER (LEN=4) :: CBUTYPE ! type of desired budget 'CART' - ! (cartesian box) or 'MASK' (budget - ! zone defined by a mask) or 'NONE' - ! (no budget) -INTEGER :: NBUMOD=0 ! model in which budget is - ! calculated -INTEGER, DIMENSION(:), & ! number of processes for each - ALLOCATABLE :: NBUPROCNBR ! budget -! -INTEGER, DIMENSION(:), & ! process counter linked to each - ALLOCATABLE :: NBUPROCCTR ! budget -! -CHARACTER(LEN=2), DIMENSION(:,:), & ! resulting string character of the - ALLOCATABLE :: CBUACTION ! transcription of the budget actions - ! (integer) read in namelists or - ! set by default -CHARACTER (LEN=16), DIMENSION(:,:),& ! names of records on the FM file - ALLOCATABLE :: CBURECORD ! for the budgets -! -CHARACTER (LEN=99), DIMENSION(:,:),& ! name of a process for a budget. It - ALLOCATABLE :: CBUCOMMENT ! will appear in the comment part of - ! the previous record -! -LOGICAL :: LBU_BEG=.FALSE. ! switch for budget beginning -! -REAL :: XBULEN=0. ! length in seconds of the budget - ! temporal average -! -INTEGER :: NBUSTEP=0 ! number of model timesteps required - ! for the budget time average -REAL :: XBUWRI=0. ! period in seconds of - ! budget writing on FM-files -INTEGER :: NBUWRNB=0 ! number of budget periods when storage - ! arrays are written on FM-files -INTEGER :: NBUTSHIFT=0 ! temporal shift for budgets writing -! -INTEGER :: NBUKH=0 ! lowest and highest K indice values -INTEGER :: NBUKL=0 ! lowest and highest K indice values - ! of the budget box -LOGICAL :: LBU_KCP=.FALSE. ! switch for compression in K - ! direction -! -! Variables used by the cartesian box case ('CART') only -! -INTEGER :: NBUIL=0 ! lowest and highest I indice values -INTEGER :: NBUIH=0 ! lowest and highest I indice values - ! of the cartesian box -INTEGER :: NBUJL=0 ! lowest and highest J indice values -INTEGER :: NBUJH=0 ! lowest and highest J indice values - ! of the cartesian box -LOGICAL :: LBU_ICP=.FALSE. ! switch for compression in I - ! direction -LOGICAL :: LBU_JCP=.FALSE. ! switch for comppression in J - ! direction -! -! Variables used by the mask case ('MASK') only -! -INTEGER :: NBUMASK=0 ! number of MASK zones for which - ! budgets are performed -LOGICAL, DIMENSION(:,:,:), & ! define the zone where the MASK - ALLOCATABLE :: LBU_MASK ! is True -! -REAL, DIMENSION(:,:,:,:), & ! surface for each mask at each - ALLOCATABLE :: XBUSURF ! budget step -! -INTEGER :: NBUTIME=0 ! number of budget time periods -! -! Variables for budget storage -! -! General variables -INTEGER :: NBUSIL=0 ! lowest and highest I indices of the intersection -INTEGER :: NBUSIH=0 ! lowest and highest I indices of the intersection - ! of the cartesian box with the sub-domain -INTEGER :: NBUSJL=0 ! lowest and highest J indices of the intersection -INTEGER :: NBUSJH=0 ! lowest and highest J indices of the intersection - ! of the global cartesian box -INTEGER :: NBUIMAX_ll=0 ! second dimension of the budget -INTEGER :: NBUJMAX_ll=0 ! second dimension of the budget - ! array in the global domain (in CART case) -! -INTEGER :: NBUIMAX=0 ! first dimension of the budget - ! tabular -INTEGER :: NBUJMAX=0 ! second dimension of the budget - ! tabular -INTEGER :: NBUKMAX=0 ! dimension along K of the budget - ! tabular -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RU, RV and - ALLOCATABLE :: XBURU, XBURV, XBURW ! RW (wind components) respectively -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RTH (potential - ALLOCATABLE :: XBURTH, XBURTKE ! temperature) and RTKE (kinetic - ! energy) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRV (water vapor) - ALLOCATABLE :: XBURRV, XBURRC ! and RRC (cloud water) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRR (rain water) - ALLOCATABLE :: XBURRR, XBURRI ! and RRI (ice) -REAL, DIMENSION(:,:,:,:), & ! budget arrays for RRS (snow) - ALLOCATABLE :: XBURRS, XBURRG ! and RRG (graupel) -REAL, DIMENSION(:,:,:,:), & ! budget array for RRH (hail) - ALLOCATABLE :: XBURRH ! -REAL, DIMENSION(:,:,:,:,:), & - ALLOCATABLE :: XBURSV ! Budget of the SVx -REAL, DIMENSION(:,:,:), & ! budget arrays for RHODJ at - ALLOCATABLE :: XBURHODJ , & ! scalar localization - XBURHODJU, & ! U localization - XBURHODJV, & ! V localization - XBURHODJW ! and W localization -! -! Allowed processes for the budget of the x scalar variables -! (transport part only) -! -! For each budget, the switches values (from 0 to JPBUPROMAX) for budgets -! activation may be set by the user in a namelist. Their default value is 0. -! In the following declaration, the corresponding process names are given -! beside as comments. -! -! Allowed processes for the budget of RU (wind component along x) -! -! Courant namelist: NAM_BURU -! -LOGICAL :: LBU_RU=.FALSE. ! True when the budget of RU is performed -! -INTEGER :: NASSEU=0 ! time filter -INTEGER :: NNESTU=0 ! Efffect of 2way nesting on U -INTEGER :: NADVXU=0 ! advection along X -INTEGER :: NADVYU=0 ! advection along Y -INTEGER :: NADVZU=0 ! advection along Z -INTEGER :: NFRCU=0 ! forcing -INTEGER :: NNUDU=0 ! nudging -INTEGER :: NCURVU=0 ! curvature -INTEGER :: NCORU=0 ! Coriolis terms -INTEGER :: NDIFU=0 ! numerical diffusion -INTEGER :: NRELU=0 ! relaxation -INTEGER :: NHTURBU=0 ! horizontal TURBulence -INTEGER :: NVTURBU=0 ! vertical turbulence -INTEGER :: NDRAGU=0 ! vegetation drag -INTEGER :: NMAFLU=0 ! mass flux -INTEGER :: NPRESU=0 ! pressure term -! -! Allowed processes for the budget of RV (wind component along y) -! -! Courant namelist: NAM_BURV -! -LOGICAL :: LBU_RV=.FALSE. ! True when the budget of RV is performed -! -INTEGER :: NASSEV=0 ! time filter -INTEGER :: NNESTV=0 ! Efffect of 2way nesting on V -INTEGER :: NADVXV=0 ! advection along X -INTEGER :: NADVYV=0 ! advection along Y -INTEGER :: NADVZV=0 ! advection along Z -INTEGER :: NFRCV=0 ! forcing -INTEGER :: NNUDV=0 ! nudging -INTEGER :: NCURVV=0 ! curvature -INTEGER :: NCORV=0 ! Coriolis terms -INTEGER :: NDIFV=0 ! numerical diffusion -INTEGER :: NRELV=0 ! relaxation -INTEGER :: NHTURBV=0 ! horizontal turbulence -INTEGER :: NVTURBV=0 ! vertical turbulence -INTEGER :: NDRAGV=0 ! vegetation drag -INTEGER :: NMAFLV=0 ! mass flux -INTEGER :: NPRESV=0 ! pressure term -! -! Allowed processes for the budget of RW (wind vertical component) -! -! Courant namelist: NAM_BURW -! -LOGICAL :: LBU_RW=.FALSE. ! True when the budget of RW is performed -! -INTEGER :: NASSEW=0 ! time filter -INTEGER :: NNESTW=0 ! Efffect of 2way nesting on W -INTEGER :: NADVXW=0 ! advection along X -INTEGER :: NADVYW=0 ! advection along Y -INTEGER :: NADVZW=0 ! advection along Z -INTEGER :: NFRCW=0 ! forcing -INTEGER :: NNUDW=0 ! nudging -INTEGER :: NCURVW=0 ! curvature -INTEGER :: NCORW=0 ! Coriolis terms -INTEGER :: NGRAVW=0 ! gravity term -INTEGER :: NDIFW=0 ! numerical diffusion -INTEGER :: NRELW=0 ! relaxation -INTEGER :: NHTURBW=0 ! horizontal turbulence -INTEGER :: NVTURBW=0 ! vertical turbulence -INTEGER :: NPRESW=0 ! pressure term -! -! Allowed processes for the budget of RTH (potential temperature) -! -! Courant namelist: NAM_BURTH -! -LOGICAL :: LBU_RTH=.FALSE. ! True when the budget of RTH is performed -! -INTEGER :: NASSETH=0 ! time filter -INTEGER :: NNESTTH=0 ! Efffect of 2way nesting on Th -INTEGER :: NADVTH=0 ! Total advection for PPM -INTEGER :: NADVXTH=0 ! advection along X (all except PPM) -INTEGER :: NADVYTH=0 ! advection along Y (all except PPM) -INTEGER :: NADVZTH=0 ! advection along Z (all except PPM) -INTEGER :: NFRCTH=0 ! forcing -INTEGER :: N2DADVTH=0 ! 2d advecting forcing -INTEGER :: N2DRELTH=0 ! 2d relaxation forcing -INTEGER :: NNUDTH=0 ! nudging -INTEGER :: NPREFTH=0 ! theta source term due to the reference pressure - ! (Dyn. Sources) only present if KRR>0 -INTEGER :: NDIFTH=0 ! numerical diffusion -INTEGER :: NRELTH=0 ! relaxation -INTEGER :: NRADTH=0 ! RADiation -INTEGER :: NDCONVTH=0 ! KAFR CONVection -INTEGER :: NMAFLTH=0 ! Mass flux -INTEGER :: NHTURBTH=0 ! horizontal turbulence -INTEGER :: NVTURBTH=0 ! vertical turbulence -INTEGER :: NDISSHTH=0 ! dissipative heating -INTEGER :: NNEGATH=0 ! negative correction induced by hydrometeors -INTEGER :: NREVATH=0 ! rain evaporation -INTEGER :: NCONDTH=0 ! evaporation/condensation -INTEGER :: NHENUTH=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NHONTH=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NSFRTH=0 ! Spontaneous FReezing ICE3 -INTEGER :: NDEPSTH=0 ! DEPosition on Snow ICE3 -INTEGER :: NDEPGTH=0 ! DEPosition on Graupel ICE3 -INTEGER :: NRIMTH=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCTH=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCFRZTH=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGTH=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGTH=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTTH=0 ! Graupel MeLTing ICE3 -INTEGER :: NIMLTTH=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFITH=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPITH=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NWETHTH=0 ! wet growth of hail ICE4 -INTEGER :: NHMLTTH=0 ! melting of hail ICE4 -INTEGER :: NHINDTH=0 ! Heterogeneous Nucleation by Deposition C3R5 -INTEGER :: NHINCTH=0 ! Heterogeneous Nucleation by Contact C3R5 -INTEGER :: NHONHTH=0 ! Haze Homogeneous Nucleation C3R5 -INTEGER :: NHONCTH=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NHONRTH=0 ! drop homogeneous nucleation C3R5 -INTEGER :: NCEDSTH=0 ! adjustment C3R5 -! -! Allowed processes for the budget of RTKE (kinetic energy) -! -! Courant namelist: NAM_BURTKE -! -LOGICAL :: LBU_RTKE=.FALSE. ! True when the budget of RTKE is performed -! -INTEGER :: NASSETKE=0 ! time filter -INTEGER :: NADVTKE=0 ! Total advection for PPM -INTEGER :: NADVXTKE=0 ! advection along X (all except PPM) -INTEGER :: NADVYTKE=0 ! advection along Y (all except PPM) -INTEGER :: NADVZTKE=0 ! advection along Z (all except PPM) -INTEGER :: NFRCTKE=0 ! forcing -INTEGER :: NDIFTKE=0 ! numerical diffusion -INTEGER :: NRELTKE=0 ! relaxation -INTEGER :: NDPTKE=0 ! dynamic production of TKE -INTEGER :: NTPTKE=0 ! thermal production of TKE -INTEGER :: NDRAGTKE=0 ! vegetation drag -INTEGER :: NDISSTKE=0 ! dissipation of TKE -INTEGER :: NTRTKE=0 ! turbulent transport of TKE -! -! -! Allowed processes for the budget of moist variable RRV (water vapor) -! -! Courant namelist: NAM_BURRV -! -LOGICAL :: LBU_RRV=.FALSE. ! true when the budget of RRV is performed -! -INTEGER :: NASSERV=0 ! time filter -INTEGER :: NNESTRV=0 ! Effect of 2way nesting on Rv -INTEGER :: NADVRV=0 ! Total advection for PPM -INTEGER :: NADVXRV=0 ! advection along X (all except PPM) -INTEGER :: NADVYRV=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRV=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRV=0 ! forcing -INTEGER :: N2DADVRV=0 ! 2d advecting forcing -INTEGER :: N2DRELRV=0 ! 2d relaxation forcing -INTEGER :: NNUDRV=0 ! nudging -INTEGER :: NDIFRV=0 ! numerical diffusion -INTEGER :: NRELRV=0 ! relaxation -INTEGER :: NDCONVRV=0 ! KAFR CONVection -INTEGER :: NMAFLRV=0 ! Mass flux -INTEGER :: NHTURBRV=0 ! horizontal turbulence -INTEGER :: NVTURBRV=0 ! vertical turbulence -INTEGER :: NNEGARV=0 ! negative correction -INTEGER :: NREVARV=0 ! rain evaporation -INTEGER :: NCONDRV=0 ! evaporation/condensation -INTEGER :: NHENURV=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NDEPSRV=0 ! DEPosition on Snow ICE3 -INTEGER :: NDEPGRV=0 ! DEPosition on Graupel ICE3 -INTEGER :: NCDEPIRV=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NHINDRV=0 ! Heterogeneous Nucleation by Deposition C3R5 -INTEGER :: NHONHRV=0 ! Haze Homogeneous Nucleation C3R5 -INTEGER :: NCEDSRV=0 ! adjustement C3R5 -! -! Allowed processes for the budget of moist variable RRC (cloud water) -! -! Courant namelist: NAM_BURRC -! -LOGICAL :: LBU_RRC=.FALSE. ! True when the budget of RRC is performed -! -INTEGER :: NASSERC=0 ! time filter -INTEGER :: NNESTRC=0 ! Efffect of 2way nesting on Rc -INTEGER :: NADVRC=0 ! Total advection for PPM -INTEGER :: NADVXRC=0 ! advection along X (all except PPM) -INTEGER :: NADVYRC=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRC=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRC=0 ! forcing -INTEGER :: NDIFRC=0 ! numerical diffusion -INTEGER :: NRELRC=0 ! relaxation -INTEGER :: NDCONVRC=0 ! Deep CONVection -INTEGER :: NHTURBRC=0 ! horizontal turbulence -INTEGER :: NVTURBRC=0 ! vertical turbulence -INTEGER :: NNEGARC=0 ! negative correction -INTEGER :: NACCRRC=0 ! accretion -INTEGER :: NAUTORC=0 ! autoconversion -INTEGER :: NCONDRC=0 ! evaporation/condensation -INTEGER :: NHONRC=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NRIMRC=0 ! RIMing of cloudwater ICE3 -INTEGER :: NWETGRC=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRC=0 ! DRY Growth of graupel ICE3 -INTEGER :: NIMLTRC=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFIRC=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPIRC=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NHENURC=0 ! CCN Activation C2R2 -INTEGER :: NSEDIRC=0 ! sedimentation C2R2 -INTEGER :: NWETHRC=0 ! wet growth of hail -INTEGER :: NHINCRC=0 ! Heterogeneous Nucleation by Contact C3R5 -INTEGER :: NHONCRC=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NCEDSRC=0 ! adjustment C3R5 -INTEGER :: NREVARC=0 ! evaporation of rain drops -INTEGER :: NDEPORC=0 ! ground deposition -INTEGER :: NDEPOTRRC=0 ! deposition on tree -! -! Allowed processes for the budget of moist variable RRR (rain water) -! -! Courant namelist: NAM_BURRR -! -LOGICAL :: LBU_RRR=.FALSE. ! True when the budget of RRR is performed -! -INTEGER :: NASSERR=0 ! time filter -INTEGER :: NNESTRR=0 ! Efffect of 2way nesting on Rr -INTEGER :: NADVRR=0 ! Total advection for PPM -INTEGER :: NADVXRR=0 ! advection along X (all except PPM) -INTEGER :: NADVYRR=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRR=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRR=0 ! forcing -INTEGER :: NDIFRR=0 ! numerical diffusion -INTEGER :: NRELRR=0 ! relaxation -INTEGER :: NNEGARR=0 ! negative correction -INTEGER :: NACCRRR=0 ! accretion -INTEGER :: NAUTORR=0 ! autoconversion -INTEGER :: NREVARR=0 ! rain evaporation -INTEGER :: NSEDIRR=0 ! sedimentation -INTEGER :: NSFRRR=0 ! Spontaneous FReezing ICE3 -INTEGER :: NACCRR=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCFRZRR=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRR=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRR=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTRR=0 ! Graupel MeLTing ICE3 -INTEGER :: NWETHRR=0 ! wet growth of hail ICE4 -INTEGER :: NHMLTRR=0 ! melting of hail ICE4 -INTEGER :: NHONRRR=0 ! drop homogeneous nucleation C3R5 -! -! Allowed processes for the budget of moist variable RRI (ice) -! -! Courant namelist: NAM_BURRI -! -LOGICAL :: LBU_RRI=.FALSE. ! True when the budget of RRI is performed -! -INTEGER :: NASSERI=0 ! time filter -INTEGER :: NNESTRI=0 ! Efffect of 2way nesting on Ri -INTEGER :: NADVRI=0 ! Total advection for PPM -INTEGER :: NADVXRI=0 ! advection along X (all except PPM) -INTEGER :: NADVYRI=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRI=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRI=0 ! forcing -INTEGER :: NDIFRI=0 ! numerical diffusion -INTEGER :: NRELRI=0 ! relaxation -INTEGER :: NDCONVRI=0 ! Deep CONVection -INTEGER :: NHTURBRI=0 ! horizontal turbulence -INTEGER :: NVTURBRI=0 ! vertical turbulence -INTEGER :: NNEGARI=0 ! negative correction -INTEGER :: NSEDIRI=0 ! SEDImentation ICE3 -INTEGER :: NHENURI=0 ! HEterogenous NUcleation ICE3 -INTEGER :: NHONRI=0 ! HOmogeneous Nucleation ICE3 -INTEGER :: NAGGSRI=0 ! AGGregation of snow ICE3 -INTEGER :: NAUTSRI=0 ! AUToconversion of ice ICE3 -INTEGER :: NCFRZRI=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRI=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRI=0 ! DRY Growth of graupel ICE3 -INTEGER :: NIMLTRI=0 ! Ice MeLTing ICE3 -INTEGER :: NBERFIRI=0 ! BERgeron-FIndeisen gth. ICE3 -INTEGER :: NCDEPIRI=0 ! Cond./DEPosition on ice ICE3 -INTEGER :: NWETHRI=0 ! wet growth of hail ICE4 -INTEGER :: NHINDRI=0 ! heterogeneous nucleation by deposition C3R5 -INTEGER :: NHINCRI=0 ! heterogeneous nucleation by contact C3R5 -INTEGER :: NHONHRI=0 ! haze homogeneous nucleation source C3R5 -INTEGER :: NHONCRI=0 ! droplet homogeneous nucleation C3R5 -INTEGER :: NCNVIRI=0 ! Conversion of snow to r_i C3R5 -INTEGER :: NCNVSRI=0 ! Conversion of pristine ice to r_s C3R5 -INTEGER :: NHMSRI=0 ! Hallett-Mossop ice multiplication process due to snow riming C3R5 -INTEGER :: NHMGRI=0 ! Hallett-Mossop ice multiplication process due to graupel riming C3R5 -INTEGER :: NCEDSRI=0 ! adjustement C3R5 -! -! Allowed processes for the budget of moist variable RRS (snow) -! -! Courant namelist: NAM_BURRS -! -LOGICAL :: LBU_RRS=.FALSE. ! True when the budget of RRS is performed -! -INTEGER :: NASSERS=0 ! time filter -INTEGER :: NNESTRS=0 ! Efffect of 2way nesting on Rs -INTEGER :: NADVRS=0 ! Total advection for PPM -INTEGER :: NADVXRS=0 ! advection along X (all except PPM) -INTEGER :: NADVYRS=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRS=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRS=0 ! forcing -INTEGER :: NDIFRS=0 ! numerical diffusion -INTEGER :: NRELRS=0 ! relaxation -INTEGER :: NNEGARS=0 ! negative correction -INTEGER :: NSEDIRS=0 ! SEDImentation ICE3 -INTEGER :: NDEPSRS=0 ! DEPosition on Snow ICE3 -INTEGER :: NAGGSRS=0 ! AGGregation of snow ICE3 -INTEGER :: NAUTSRS=0 ! AUToconversion of ice ICE3 -INTEGER :: NRIMRS=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCRS=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCMELRS=0 ! Conversion MeLTing ICE3 -INTEGER :: NWETGRS=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRS=0 ! DRY Growth of graupel ICE3 -INTEGER :: NWETHRS=0 ! wet growth of hail ICE4 -INTEGER :: NCNVIRS=0 ! Conversion of snow to r_i C3R5 -INTEGER :: NCNVSRS=0 ! Conversion of pristine ice to r_s C3R5 -INTEGER :: NHMSRS=0 ! Hallett-Mossop ice multiplication process due to snow riming C3R5 -! -! Allowed processes for the budget of moist variable RRG (graupel) -! -! Courant namelist: NAM_BURRG -! -LOGICAL :: LBU_RRG=.FALSE. ! True when the budget of RRG is performed -! -INTEGER :: NASSERG=0 ! time filter -INTEGER :: NNESTRG=0 ! Efffect of 2way nesting on Rg -INTEGER :: NADVRG=0 ! Total advection for PPM -INTEGER :: NADVXRG=0 ! advection along X (all except PPM) -INTEGER :: NADVYRG=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRG=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRG=0 ! forcing -INTEGER :: NDIFRG=0 ! numerical diffusion -INTEGER :: NRELRG=0 ! relaxation -INTEGER :: NNEGARG=0 ! negative correction -INTEGER :: NSEDIRG=0 ! SEDImentation ICE3 -INTEGER :: NSFRRG=0 ! Spontaneous FReezing ICE3 -INTEGER :: NDEPGRG=0 ! DEPosition on Snow ICE3 -INTEGER :: NRIMRG=0 ! RIMing of cloudwater ICE3 -INTEGER :: NACCRG=0 ! ACCretion of rainwater ICE3 -INTEGER :: NCMELRG=0 ! Conversion MeLTing ICE3 -INTEGER :: NCFRZRG=0 ! Conversion FReeZing ICE3 -INTEGER :: NWETGRG=0 ! WET Growth of graupel ICE3 -INTEGER :: NDRYGRG=0 ! DRY Growth of graupel ICE3 -INTEGER :: NGMLTRG=0 ! Graupel MeLTing ICE3 -INTEGER :: NWETHRG=0 ! wet growth of hail ICE4 -INTEGER :: NHONRRG=0 ! drop homogeneous nucleation C3R5 -INTEGER :: NHMGRG=0 ! Hallett-Mossop ice multiplication process due to graupel riming -INTEGER :: NCOHGRG=0 ! conversion of hail to graupel -! -! Allowed processes for the budget of moist variable RRH (hail) -! -! Courant namelist: NAM_BURRH -! -LOGICAL :: LBU_RRH=.FALSE. ! True when the budget of RRH is performed -! -INTEGER :: NASSERH=0 ! time filter -INTEGER :: NNESTRH=0 ! Efffect of 2way nesting on Rh -INTEGER :: NADVRH=0 ! Total advection for PPM -INTEGER :: NADVXRH=0 ! advection along X (all except PPM) -INTEGER :: NADVYRH=0 ! advection along Y (all except PPM) -INTEGER :: NADVZRH=0 ! advection along Z (all except PPM) -INTEGER :: NFRCRH=0 ! forcing -INTEGER :: NDIFRH=0 ! numerical diffusion -INTEGER :: NRELRH=0 ! relaxation -INTEGER :: NNEGARH=0 ! negative correction -INTEGER :: NSEDIRH=0 ! sedimentation -INTEGER :: NWETGRH=0 ! wet growth of graupel -INTEGER :: NWETHRH=0 ! wet growth of hail -INTEGER :: NHMLTRH=0 ! melting -INTEGER :: NCOHGRH=0 ! conversion of hail to graupel -! -! Courant namelist: NAM_BURSV -! -LOGICAL :: LBU_RSV=.FALSE. ! True when the budget of RSVx is performed -! -INTEGER :: NASSESV=0 ! Asselin-Robert time filter -INTEGER :: NNESTSV=0 ! Efffect of 2way nesting on Sv -INTEGER :: NADVSV=0 ! Total advection for PPM -INTEGER :: NADVXSV=0 ! advection along X (all except PPM) -INTEGER :: NADVYSV=0 ! advection along Y (all except PPM) -INTEGER :: NADVZSV=0 ! advection along Z (all except PPM) -INTEGER :: NFRCSV=0 ! forcing -INTEGER :: NDIFSV=0 ! numerical diffusion -INTEGER :: NRELSV=0 ! relaxation -INTEGER :: NDCONVSV=0 ! Deep CONVection -INTEGER :: NMAFLSV=0 ! mass flux -INTEGER :: NHTURBSV=0 ! horizontal turbulence -INTEGER :: NVTURBSV=0 ! vertical turbulence -INTEGER :: NCHEMSV=0 ! chemistry activity -! -INTEGER :: NNEGASV=0 -! -! Allowed processes for the budget of electric charge carried by water vapor -INTEGER :: NDEPSQV=0 -INTEGER :: NDEPGQV=0 -INTEGER :: NREVAQV=0 -INTEGER :: NDEPIQV=0 -INTEGER :: NNEUTQV=0 -! -! Allowed processes for the budget of electric charge carried by cloud droplets -INTEGER :: NAUTOQC=0 -INTEGER :: NACCRQC=0 -INTEGER :: NRIMQC=0 -INTEGER :: NWETGQC=0 -INTEGER :: NDRYGQC=0 -INTEGER :: NIMLTQC=0 -INTEGER :: NBERFIQC=0 -INTEGER :: NDEPIQC=0 -INTEGER :: NINDQC=0 ! inductive process -INTEGER :: NSEDIQC=0 -INTEGER :: NNEUTQC=0 -! -! Allowed processes for the budget of electric charge carried by rain drops -INTEGER :: NAUTOQR=0 -INTEGER :: NACCRQR=0 -INTEGER :: NREVAQR=0 -INTEGER :: NACCQR=0 -INTEGER :: NCFRZQR=0 -INTEGER :: NWETGQR=0 -INTEGER :: NDRYGQR=0 -INTEGER :: NGMLTQR=0 -INTEGER :: NSEDIQR=0 -INTEGER :: NNEUTQR=0 -! -! Allowed processes for the budget of electric charge carried by ice crystals -INTEGER :: NAGGSQI=0 -INTEGER :: NAUTSQI=0 -INTEGER :: NCFRZQI=0 -INTEGER :: NWETGQI=0 -INTEGER :: NDRYGQI=0 -INTEGER :: NIMLTQI=0 -INTEGER :: NBERFIQI=0 -INTEGER :: NDEPIQI=0 -INTEGER :: NNIISQI=0 ! non-inductive I-S -INTEGER :: NSEDIQI=0 -INTEGER :: NNEUTQI=0 -! -! Allowed processes for the budget of electric charge carried by snow -INTEGER :: NDEPSQS=0 -INTEGER :: NAGGSQS=0 -INTEGER :: NAUTSQS=0 -INTEGER :: NRIMQS=0 -INTEGER :: NACCQS=0 -INTEGER :: NCMELQS=0 -INTEGER :: NWETGQS=0 -INTEGER :: NDRYGQS=0 -INTEGER :: NNIISQS=0 ! non-inductive I-S -INTEGER :: NSEDIQS=0 -INTEGER :: NNEUTQS=0 -! -! Allowed processes for the budget of electric charge carried by graupel -INTEGER :: NDEPGQG=0 -INTEGER :: NRIMQG=0 -INTEGER :: NACCQG=0 -INTEGER :: NCMELQG=0 -INTEGER :: NCFRZQG=0 -INTEGER :: NWETGQG=0 -INTEGER :: NDRYGQG=0 -INTEGER :: NGMLTQG=0 -INTEGER :: NINDQG=0 ! inductive process -INTEGER :: NSEDIQG=0 -INTEGER :: NNEUTQG=0 -! -! must add processes for electric charge carried by hail -! -! -REAL :: XTIME_BU=0. ! budget time in this time-step -REAL :: XTIME_BU_PROCESS=0. ! budget time per process for this time-step +INTEGER :: NBUMOD=0 ! model in which budget is calculated ! LOGICAL :: LBUDGET_U=.FALSE. ! flag to compute budget of RhoJu and/or LES budgets with u LOGICAL :: LBUDGET_V=.FALSE. ! flag to compute budget of RhoJv and/or LES budgets with u diff --git a/src/mesonh/aux/modd_dyn.f90 b/src/mesonh/aux/modd_dyn.f90 deleted file mode 100644 index 244a67f95a1145e3ffc00102a82b4285d18cba98..0000000000000000000000000000000000000000 --- a/src/mesonh/aux/modd_dyn.f90 +++ /dev/null @@ -1,86 +0,0 @@ -!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier -!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt -!MNH_LIC for details. version 1. -!----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ $Date$ -!----------------------------------------------------------------- -!----------------------------------------------------------------- -!----------------------------------------------------------------- -! ################ - MODULE MODD_DYN -! ################ -! -!!**** *MODD_DYN* - declaration of dynamic control variables -!! -!! PURPOSE -!! ------- -! The purpose of this declarative module is to declare the dynamic -! control variables for all models. -! -!! -!!** IMPLICIT ARGUMENTS -!! ------------------ -!! Module MODD_PARAMETERS : contains the maximum number of coupling files -!! -!! REFERENCE -!! --------- -!! Book2 of documentation of Meso-NH (module MODD_DYN) -!! Technical Specifications Report of the Meso-NH (chapters 2 and 3) -!! -!! AUTHOR -!! ------ -!! V. Ducrocq *Meteo France* -!! -!! MODIFICATIONS -!! ------------- -!! Original 06/05/94 -!! Modifications 17/10/94 (Stein) For LCORIO -!! Modifications 12/12/94 (Stein) remove LABSLAYER + add XALZBOT -!! and XALKBOT -!! Modifications 10/03/95 (I.Mallet) add coupling variables -!! 04/05/07 (C.Lac) Separation of num.diffusion -!! between variables -!--------------------------------------------------------------------------- -! -!* 0. DECLARATIONS -! ------------ -! -USE MODD_PARAMETERS -! -IMPLICIT NONE -! -REAL ,SAVE :: XSEGLEN ! Duration of segment (in seconds) -REAL ,SAVE :: XASSELIN ! Asselin coefficient -REAL ,SAVE :: XASSELIN_SV! Asselin coefficient for tracer variables -LOGICAL,SAVE :: LCORIO ! Coriolis flag -LOGICAL,SAVE :: LNUMDIFU ! logical switch for the NUMerical DIFFusion: - ! .TRUE. active .FALSE. unactive - ! for momentum -LOGICAL,SAVE :: LNUMDIFTH ! For theta and mixing ratio -LOGICAL,SAVE :: LNUMDIFSV ! For scalar variables -LOGICAL,SAVE :: LSTEADYLS ! logical switch to remove all Larger Scale fields - ! evolution during the segment (the LS fields are - ! STEADY).TRUE. LS steady .FALSE. LS unsteady -REAL ,SAVE :: XALKTOP ! Damping coef. at the top of the absorbing - ! layer -REAL ,SAVE :: XALZBOT ! Height of the absorbing layer base -! -REAL ,SAVE :: XALKGRD ! Damping coef. at the top of the absorbing - ! layer (bottom layer) -REAL ,SAVE :: XALZBAS ! Height of the absorbing layer base (bottom layer) -! -INTEGER,SAVE :: NCPL_NBR ! NumBeR of CouPLing files -INTEGER,SAVE :: NCPL_CUR ! Number of CURrent CouPLing file -! -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSERV_G, LUSERC_G, LUSERR_G, LUSERI_G -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSERS_G, LUSERH_G, LUSERG_G -LOGICAL, SAVE, DIMENSION(JPMODELMAX) :: LUSETKE -LOGICAL, SAVE, DIMENSION(JPSVMAX,JPMODELMAX) :: LUSESV -REAL, SAVE, DIMENSION(JPCPLFILEMAX,JPMODELMAX) :: NCPL_TIMES ! array of - ! the number for the coupling instants of every nested model -REAL, SAVE :: XTSTEP_MODEL1 ! time step of the - ! outermost model -END MODULE MODD_DYN diff --git a/tools/check_commit_ial.sh b/tools/check_commit_ial.sh index 65f286a7107f85c386483112847f39eead333e91..2c025352d383b8f56880d280e98345bc775345e7 100755 --- a/tools/check_commit_ial.sh +++ b/tools/check_commit_ial.sh @@ -194,7 +194,6 @@ if [ $compilation -eq 1 ]; then -f $dirpack/ \ -u $name reftree='main' - subs="-s gmkpack_ignored_files" #This file contains the list of source code files to exclude from recompilation else #Create main pack gmkpack -a -r 48t1 -b ${packBranch} -n 01 -l ${gmkpack_l} -o ${gmkpack_o} -p masterodb -h $HOMEPACK/PHYEX @@ -222,7 +221,6 @@ if [ $compilation -eq 1 ]; then resetpack -f #Is it really useful? reftree='local' - subs="" #There is nothing to exclude from compilation because (normally) only needed files are copied into the pack fi cd $HOMEPACK/$name/src/local/phyex @@ -234,7 +232,7 @@ if [ $compilation -eq 1 ]; then else expand_options="" fi - subs="$subs -s turb -s micro -s aux -s ext -s conv -s externals" #externals is the old name for aux/ext + subs="-s gmkpack_ignored_files -s turb -s micro -s aux -s ext -s conv -s externals" #externals is the old name for aux/ext prep_code=$PHYEXTOOLSDIR/prep_code.sh if [ "$fromdir" == '' ]; then echo "Clone repository, and checkout commit $commit (using prep_code.sh)" @@ -254,7 +252,18 @@ if [ $compilation -eq 1 ]; then [ -d PHYEX/$rep ] && mv PHYEX/$rep . done if [ -f PHYEX/gmkpack_ignored_files ]; then - sed -i "/^end_of_ignored_files/i $(first=1; for line in $(cat PHYEX/gmkpack_ignored_files); do echo -n $(test $first -ne 1 && echo \\n)${line}; first=0; done)" $HOMEPACK/$name/ics_masterodb + #gmkpack_ignored_files contains a list of file, present in the reference pack, that is not used anymore + #and must be excluded from compilation (in case of a full comilation) or from re-compilation (in case of a non-full + #compilation). + if [ $fullcompilation == 0 ]; then + #Content is added in the ics_masterodb script + sed -i "/^end_of_ignored_files/i $(first=1; for line in $(cat PHYEX/gmkpack_ignored_files); do echo -n $(test $first -ne 1 && echo \\n)${line}; first=0; done)" $HOMEPACK/$name/ics_masterodb + else + #Files must be suppressed (non phyex files) + for file in $(cat PHYEX/gmkpack_ignored_files); do + [ -f $HOMEPACK/$name/src/local/$file ] && rm -f $HOMEPACK/$name/src/local/$file + done + fi fi EXT=PHYEX/ext/ @@ -268,6 +277,7 @@ if [ $compilation -eq 1 ]; then [ -f $EXT/suphmpa.F90 ] && mv $EXT/suphmpa.F90 ../arpifs/phys_dmn/ #Special mpa case [ -f $EXT/modd_spp_type.F90 ] && mv $EXT/modd_spp_type.F90 ../mpa/micro/externals/ + [ -d $EXT/dead_code ] && rm -rf $EXT/dead_code/ if [ $EXT == "PHYEX/externals" ]; then mv $EXT . else diff --git a/tools/check_commit_mesonh.sh b/tools/check_commit_mesonh.sh index 0b1d7287ebce24f8b1f41127f5f1e9e06f2415b3..ff13abe7b90a12abec8472ee8b8e914d4d585851 100755 --- a/tools/check_commit_mesonh.sh +++ b/tools/check_commit_mesonh.sh @@ -222,12 +222,14 @@ if [ $compilation -eq 1 ]; then ! grep -i MODI_TH_R_FROM_THL_RT_ $(ls MNH/compute_entr_detr.f90 MNH/compute_entr_detr.f90 PHYEX/turb/mode_compute_updraft*.f90 MNH/ice_adjust_bis.f90 MNH/prep_ideal_case.f90 MNH/set_rsou.f90 2>/dev/null) > /dev/null && rm -f MNH/th_r_from_thl_rt_1d.f90 MNH/th_r_from_thl_rt_2d.f90 MNH/th_r_from_thl_rt_3d.f90 #Configure and compilation + command -v module && modulelist=$(module -t list 2>&1 | tail -n +2) #save loaded modules ./configure set +e #file ends with a test that can return false - . ../conf/profile_mesonh-* + . ../conf/profile_mesonh-* #This lines modifies the list of loaded modules set -e make -j 8 | tee ../Output_compilation make installmaster | tee -a ../Output_compilation + command -v module && module load $modulelist #restore loaded modules fi if [ $run -ge 1 ]; then