Changeset 5790 for LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_ini.f90
- Timestamp:
- Jul 28, 2025, 6:44:28 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_ini.f90
r5779 r5790 232 232 !$OMP THREADPRIVATE(ok_plane_contrail) 233 233 234 LOGICAL, SAVE, PROTECTED :: ok_precip_lincontrails=.TRUE. ! if True, linear contrails can be autoconverted to snow 235 !$OMP THREADPRIVATE(ok_precip_lincontrails) 236 237 LOGICAL, SAVE, PROTECTED :: ok_precip_circontrails=.FALSE. ! if True, cirrus contrails can be autoconverted to snow 238 !$OMP THREADPRIVATE(ok_precip_circontrails) 239 240 REAL, SAVE, PROTECTED :: aspect_ratio_lincontrails=.1 ! [-] aspect ratio of linear contrails 241 !$OMP THREADPRIVATE(aspect_ratio_lincontrails) 242 243 REAL, SAVE, PROTECTED :: coef_mixing_lincontrails ! [-] tuning coefficient for the linear contrails mixing process 244 !$OMP THREADPRIVATE(coef_mixing_lincontrails) 245 246 REAL, SAVE, PROTECTED :: coef_shear_lincontrails ! [-] additional coefficient for the linear contrails shearing process (subprocess of the contrails mixing process) 247 !$OMP THREADPRIVATE(coef_shear_lincontrails) 248 249 REAL, SAVE, PROTECTED :: chi_mixing_lincontrails=3. ! [-] factor for increasing the chance that moist air is surrounding linear contrails 250 !$OMP THREADPRIVATE(chi_mixing_lincontrails) 234 REAL, SAVE, PROTECTED :: aspect_ratio_contrails ! [-] aspect ratio of contrails 235 !$OMP THREADPRIVATE(aspect_ratio_contrails) 236 237 REAL, SAVE, PROTECTED :: coef_mixing_contrails ! [-] tuning coefficient for the contrails mixing process 238 !$OMP THREADPRIVATE(coef_mixing_contrails) 239 240 REAL, SAVE, PROTECTED :: coef_shear_contrails ! [-] additional coefficient for the contrails shearing process (subprocess of the contrails mixing process) 241 !$OMP THREADPRIVATE(coef_shear_contrails) 242 243 REAL, SAVE, PROTECTED :: chi_mixing_contrails ! [-] factor for increasing the chance that moist air is surrounding contrails 244 !$OMP THREADPRIVATE(chi_mixing_contrails) 245 246 REAL, SAVE, PROTECTED :: Nice_init_contrails=100. ! [#/cm3] initial ice crystals concentration in contrails 247 !$OMP THREADPRIVATE(Nice_init_contrails) 248 249 REAL, SAVE, PROTECTED :: N_Brunt_Vaisala_aviation=0.01 ! [s-1] average Brunt Vaisala frequency, for contrail formation 250 !$OMP THREADPRIVATE(N_Brunt_Vaisala_aviation) 251 252 REAL, SAVE, PROTECTED :: circ_0_loss ! [m/s] circulation for contrail formation, will be set automatically 253 !$OMP THREADPRIVATE(circ_0_loss) 254 255 REAL, SAVE, PROTECTED :: plume_area_loss ! [m2] plume area for contrail formation, will be set automatically 256 !$OMP THREADPRIVATE(plume_area_loss) 257 258 REAL, SAVE, PROTECTED :: nice_init_ref_loss ! [#/m3] reference ice crystals concentration for contrail formation, will be set automatically 259 !$OMP THREADPRIVATE(nice_init_ref_loss) 260 261 REAL, SAVE, PROTECTED :: Naer_amb=600. ! [#/cm3] ambiant background aerosol number concentration, for contrail formation 262 !$OMP THREADPRIVATE(Naer_amb) 263 264 REAL, SAVE, PROTECTED :: raer_amb_mean=15. ! [nm] average radius of the background aerosols, for contrail formation 265 !$OMP THREADPRIVATE(raer_amb_mean) 266 267 REAL, SAVE, PROTECTED :: raer_amb_std=2.2 ! [?] standard deviation of the radius of the background aerosols, for contrail formation 268 !$OMP THREADPRIVATE(raer_amb_std) 269 270 REAL, SAVE, PROTECTED :: r_soot_mean=15. ! [nm] average radius of the background aerosols, for contrail formation 271 !$OMP THREADPRIVATE(r_soot_mean) 272 273 REAL, SAVE, PROTECTED :: r_soot_std=1.6 ! [?] standard deviation of the radius of the background aerosols, for contrail formation 274 !$OMP THREADPRIVATE(r_soot_std) 275 276 REAL, SAVE, PROTECTED :: air_to_fuel_ratio_engine=70. ! [-] air to fuel ratio engine, for contrail formation 277 !$OMP THREADPRIVATE(air_to_fuel_ratio_engine) 278 279 REAL, SAVE, PROTECTED :: wingspan=60. ! [m] average aircraft wingspan, for contrail formation 280 !$OMP THREADPRIVATE(wingspan) 281 282 REAL, SAVE, PROTECTED :: EI_soot_aviation=1.5e15 ! [#/kg] emission index of soot number for a given fuel type 283 !$OMP THREADPRIVATE(EI_soot_aviation) 251 284 252 285 REAL, SAVE, PROTECTED :: EI_H2O_aviation=1.25 ! [kgH2O/kg] emission index of water vapor for a given fuel type … … 273 306 REAL, SAVE, PROTECTED :: fallice_cirrus_contrails=1. ! [m/s] Ice fallspeed velocity in cirrus contrails 274 307 !$OMP THREADPRIVATE(fallice_cirrus_contrails) 308 309 REAL, SAVE, PROTECTED :: eff2vol_radius_contrails=0.7 ! [-] 310 !$OMP THREADPRIVATE(eff2vol_radius_contrails) 275 311 276 312 REAL, SAVE, PROTECTED :: aviation_coef=1. ! [-] scaling factor for aviation emissions and flown distance … … 568 604 CALL getin_p('chi_mixing',chi_mixing) 569 605 ! for aviation 570 CALL getin_p('ok_precip_lincontrails',ok_precip_lincontrails) 571 CALL getin_p('ok_precip_circontrails',ok_precip_circontrails) 572 CALL getin_p('aspect_ratio_lincontrails',aspect_ratio_lincontrails) 573 coef_mixing_lincontrails=coef_mixing_lscp 574 CALL getin_p('coef_mixing_lincontrails',coef_mixing_lincontrails) 575 coef_shear_lincontrails=coef_shear_lscp 576 CALL getin_p('coef_shear_lincontrails',coef_shear_lincontrails) 577 CALL getin_p('chi_mixing_lincontrails',chi_mixing_lincontrails) 606 aspect_ratio_contrails=aspect_ratio_cirrus 607 CALL getin_p('aspect_ratio_contrails',aspect_ratio_contrails) 608 coef_mixing_contrails=coef_mixing_lscp 609 CALL getin_p('coef_mixing_contrails',coef_mixing_contrails) 610 coef_shear_contrails=coef_shear_lscp 611 CALL getin_p('coef_shear_contrails',coef_shear_contrails) 612 chi_mixing_contrails=chi_mixing 613 CALL getin_p('chi_mixing_contrails',chi_mixing_contrails) 614 CALL getin_p('Nice_init_contrails',Nice_init_contrails) 578 615 CALL getin_p('EI_H2O_aviation',EI_H2O_aviation) 616 CALL getin_p('EI_soot_aviation',EI_soot_aviation) 617 CALL getin_p('air_to_fuel_ratio_engine',air_to_fuel_ratio_engine) 618 CALL getin_p('wingspan',wingspan) 619 CALL getin_p('Naer_amb',Naer_amb) 620 CALL getin_p('raer_amb_mean',raer_amb_mean) 621 CALL getin_p('raer_amb_std',raer_amb_std) 622 CALL getin_p('r_soot_mean',r_soot_mean) 623 CALL getin_p('r_soot_std',r_soot_std) 624 CALL getin_p('N_Brunt_Vaisala_aviation',N_Brunt_Vaisala_aviation) 579 625 CALL getin_p('qheat_fuel_aviation',qheat_fuel_aviation) 580 626 CALL getin_p('prop_efficiency_aviation',prop_efficiency_aviation) … … 584 630 CALL getin_p('fallice_linear_contrails',fallice_linear_contrails) 585 631 CALL getin_p('fallice_cirrus_contrails',fallice_cirrus_contrails) 632 CALL getin_p('eff2vol_radius_contrails',eff2vol_radius_contrails) 586 633 CALL getin_p('aviation_coef',aviation_coef) 587 634 ! for cloudth routines … … 689 736 WRITE(lunout,*) 'lscp_ini, chi_mixing:', chi_mixing 690 737 ! for aviation 691 WRITE(lunout,*) 'lscp_ini, ok_precip_lincontrails:', ok_precip_lincontrails 692 WRITE(lunout,*) 'lscp_ini, ok_precip_circontrails:', ok_precip_circontrails 693 WRITE(lunout,*) 'lscp_ini, aspect_ratio_lincontrails:', aspect_ratio_lincontrails 694 WRITE(lunout,*) 'lscp_ini, coef_mixing_lincontrails:', coef_mixing_lincontrails 695 WRITE(lunout,*) 'lscp_ini, coef_shear_lincontrails:', coef_shear_lincontrails 696 WRITE(lunout,*) 'lscp_ini, chi_mixing_lincontrails:', chi_mixing_lincontrails 738 WRITE(lunout,*) 'lscp_ini, aspect_ratio_contrails:', aspect_ratio_contrails 739 WRITE(lunout,*) 'lscp_ini, coef_mixing_contrails:', coef_mixing_contrails 740 WRITE(lunout,*) 'lscp_ini, coef_shear_contrails:', coef_shear_contrails 741 WRITE(lunout,*) 'lscp_ini, chi_mixing_contrails:', chi_mixing_contrails 742 WRITE(lunout,*) 'lscp_ini, Nice_init_contrails:', Nice_init_contrails 697 743 WRITE(lunout,*) 'lscp_ini, EI_H2O_aviation:', EI_H2O_aviation 744 WRITE(lunout,*) 'lscp_ini, EI_soot_aviation:', EI_soot_aviation 745 WRITE(lunout,*) 'lscp_ini, air_to_fuel_ratio_engine:', air_to_fuel_ratio_engine 746 WRITE(lunout,*) 'lscp_ini, wingspan:', wingspan 747 WRITE(lunout,*) 'lscp_ini, Naer_amb:', Naer_amb 748 WRITE(lunout,*) 'lscp_ini, raer_amb_mean:', raer_amb_mean 749 WRITE(lunout,*) 'lscp_ini, raer_amb_std:', raer_amb_std 750 WRITE(lunout,*) 'lscp_ini, r_soot_mean:', r_soot_mean 751 WRITE(lunout,*) 'lscp_ini, r_soot_std:', r_soot_std 752 WRITE(lunout,*) 'lscp_ini, N_Brunt_Vaisala_aviation:', N_Brunt_Vaisala_aviation 698 753 WRITE(lunout,*) 'lscp_ini, qheat_fuel_aviation:', qheat_fuel_aviation 699 754 WRITE(lunout,*) 'lscp_ini, prop_efficiency_aviation:', prop_efficiency_aviation … … 703 758 WRITE(lunout,*) 'lscp_ini, fallice_linear_contrails:', fallice_linear_contrails 704 759 WRITE(lunout,*) 'lscp_ini, fallice_cirrus_contrails:', fallice_cirrus_contrails 760 WRITE(lunout,*) 'lscp_ini, eff2vol_radius_contrails:', eff2vol_radius_contrails 705 761 WRITE(lunout,*) 'lscp_ini, aviation_coef:', aviation_coef 706 762 ! for cloudth routines … … 765 821 / nu_iwc_pdf_lscp**(1./3.) 766 822 823 IF ( ok_plane_contrail ) THEN 824 !--Calculated here to lighten calculations 825 !--See Unterstrasser (2016), Lottermoser and Unterstrasser (2025), and lmdz_aviation routine 826 ! U16, Eq. A16 and LU25, section A2 827 plume_area_loss = 2. * RPI * (1.5 + 0.314 * wingspan)**2 828 ! initial circulation [m/s], U16, Eq. A5 829 circ_0_loss = 10. * wingspan - 70. 830 ! reference ice crystals number concentration [#/m3], LU25, section A1 831 nice_init_ref_loss = 3.38e12 / (2. * RPI * (1.5 + 0.314 * 60.3)**2) 832 ENDIF 833 767 834 !AA Temporary initialisation 768 835 a_tr_sca(1) = -0.5
Note: See TracChangeset
for help on using the changeset viewer.
