Changeset 3657 for trunk/LMDZ.TITAN/libf/phytitan/inifis_mod.F90
- Timestamp:
- Feb 27, 2025, 2:53:07 PM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/libf/phytitan/inifis_mod.F90
r3497 r3657 20 20 use planete_mod, only: nres 21 21 use planetwide_mod, only: planetwide_sumval 22 use mm_globals, only: mm_global_init_0 23 use mmp_globals, only: mmp_w_ps2s, mmp_w_qe 22 24 use callkeys_mod 23 25 use mod_phys_lmdz_para, only : is_parallel 26 use errors, only: error 24 27 25 28 !======================================================================= … … 73 76 integer,intent(in) :: day_ini 74 77 INTEGER ig,ierr 78 TYPE(error) :: err 75 79 76 80 EXTERNAL iniorbit,orbite 77 81 EXTERNAL SSUM 78 82 REAL SSUM 79 83 80 84 ! Initialize flags lunout, prt_level, debug (in print_control_mod) 81 85 CALL init_print_control … … 93 97 94 98 ! Initialize some "temporal and calendar" related variables 95 #ifndef MESOSCALE 99 ! -- MESOSCALE : we do it for the right print (and avoid crash in debug) 100 ! -- MESOSCALE : and sporadic use in physiq, e.g. daysec used in soil 96 101 CALL init_time(day_ini,pdaysec,nday,ptimestep) 97 #endif98 102 99 103 ! read in some parameters from "run.def" for physics, … … 503 507 504 508 write(*,*) "Equivalent radius production (m) ?" 505 rc_prod= 2.0e-8 ! default value509 rc_prod=1.0e-8 ! default value 506 510 call getin_p("rc_prod",rc_prod) 507 511 write(*,*)" rhc_prod = ",rc_prod … … 513 517 514 518 write(*,*) "Path to microphys. config file ?" 515 config_mufi='datagcm/microphysics/config.cfg' ! default value 519 ! default path is set in datadir 520 write(*,*) "microphysics config file data base folder:",trim(datadir),"/microphysics" 521 config_mufi=trim(datadir)//'/microphysics/config.ne15.cfg' ! default value 516 522 call getin_p("config_mufi",config_mufi) 523 config_mufi = trim(datadir)//'/microphysics/'//config_mufi 517 524 write(*,*)" config_mufi = ",config_mufi 525 526 ! in mesoscale the following variables are defined in callphys.def 527 ! before they were defined in the config file, in datagcm (EMoi) 528 #ifdef MESOSCALE 529 write(*,*) "Monomer radius (m)" 530 rm=50e-9 ! default value 531 call getin_p("rm",rm) 532 write(*,*)" rm = ",rm 533 534 write(*,*) "Fractal dimension" 535 df=2.0 ! default value 536 call getin_p("df",df) 537 write(*,*)" df = ",df 538 539 write(*,*) "Aerosol density (kg.m-3)" 540 rho_aer=600. ! default value 541 call getin_p("rho_aer",rho_aer) 542 write(*,*)" rho_aer = ",rho_aer 543 544 write(*,*) "Enable/disable Haze production process" 545 w_h_prod=.true. ! default value 546 call getin_p("haze_production",w_h_prod) 547 write(*,*)" haze_production = ",w_h_prod 548 549 write(*,*) "Enable/disable Haze coagulation process" 550 w_h_coag=.true. ! default value 551 call getin_p("haze_coagulation",w_h_coag) 552 write(*,*)" haze_coagulation = ",w_h_coag 553 554 write(*,*) "Coagulation interactions" 555 coag_choice=7 ! default value 556 call getin_p("haze_coag_interactions",coag_choice) 557 write(*,*)" haze_coag_interactions = ",coag_choice 558 559 write(*,*) "Enable/disable Haze sedimentation process" 560 w_h_sed=.true. ! default value 561 call getin_p("haze_sedimentation",w_h_sed) 562 write(*,*)" haze_sedimentation = ",w_h_sed 563 564 write(*,*) "Disable Fiadero correction for sedimentation process" 565 no_fiadero=.true. ! default value 566 call getin_p("no_fiadero",no_fiadero) 567 write(*,*)" no_fiadero = ",no_fiadero 568 569 write(*,*) "Fiadero correction minimum ratio threshold" 570 fiad_min=0.1 ! default value 571 call getin_p("fiadero_min_ratio",fiad_min) 572 write(*,*)" fiadero_min_ratio = ",fiad_min 573 574 write(*,*) "Fiadero correction maximum ratio threshold" 575 fiad_max=10. ! default value 576 call getin_p("fiadero_max_ratio",fiad_max) 577 write(*,*)" fiadero_max_ratio = ",fiad_max 578 579 write(*,*) "Force settling velocity to M0" 580 fwsed_m0=.true. ! default value 581 call getin_p("wsed_m0",fwsed_m0) 582 write(*,*)" wsed_m0 = ",fwsed_m0 583 584 write(*,*) "Force settling velocity to M3" 585 fwsed_m3=.false. ! default value 586 call getin_p("wsed_m3",fwsed_m3) 587 write(*,*)" wsed_m3 = ",fwsed_m3 588 589 write(*,*) "Enable/disable clouds sedimentation process" 590 w_c_sed=.true. ! default value 591 call getin_p("clouds_sedimentation",w_c_sed) 592 write(*,*)" clouds_sedimentation = ",w_c_sed 593 594 write(*,*) "Enable/disable clouds nucleation and condensation processes" 595 w_c_nucond=.true. ! default value 596 call getin_p("clouds_nuc_cond",w_c_nucond) 597 write(*,*)" clouds_nuc_cond = ",w_c_nucond 598 599 write(*,*) "Path to condensible species configuration file" 600 ! default path is set in datadir 601 write(*,*) "condensible species config file data base folder:",trim(datadir),"/microphysics" 602 spcpath=trim(datadir)//"/microphysics/mp2m_species.cfg" ! default value 603 call getin_p("specie_cfg",spcpath) 604 spcpath = trim(datadir)//'/microphysics/'//spcpath 605 write(*,*)" specie_cfg = ",spcpath 606 607 write(*,*) "Enable/disable spherical mode transfert probability" 608 mmp_w_ps2s=.true. ! default value 609 call getin_p("transfert_probability",mmp_w_ps2s) 610 write(*,*)" transfert_probability = ",mmp_w_ps2s 611 612 write(*,*) "Path to spherical mode transfert probability look-up tables file" 613 ! default path is set in datadir 614 write(*,*) "spherical mode transfert probability look-up tables file data base folder:",trim(datadir),"/microphysics" 615 pssfile=trim(datadir)//"/microphysics/mmp_ps2s_rm50_ne15.nc" ! default value 616 call getin_p("ps2s_file",pssfile) 617 pssfile = trim(datadir)//'/microphysics/'//pssfile 618 write(*,*)" ps2s_file = ",pssfile 619 620 write(*,*) "Electric charging coagulation correction" 621 mmp_w_qe=.true. ! default value 622 call getin_p("electric_charging",mmp_w_qe) 623 write(*,*)" electric_charging = ",mmp_w_qe 624 625 write(*,*) "Electric charging correction factor file" 626 ! default path is set in datadir 627 write(*,*) "Electric charging correction factor file data base folder:",trim(datadir),"/microphysics" 628 mqfile=trim(datadir)//"/microphysics/mmp_qmean_rm50_ne15.nc" ! default value 629 call getin_p("mq_file",mqfile) 630 mqfile = trim(datadir)//'/microphysics/'//mqfile 631 write(*,*)" mq_file = ",mqfile 632 633 write(*,*) "Aerosol spherical mode total number min. threshold" 634 m0as_min=1e-10 ! default value 635 call getin_p("m0as_min",m0as_min) 636 write(*,*)" m0as_min = ",m0as_min 637 638 write(*,*) "Aerosol spherical mode min. caracteristic radius threshold" 639 rcs_min=1e-9 ! default value 640 call getin_p("rcs_min",rcs_min) 641 write(*,*)" rcs_min = ",rcs_min 642 643 write(*,*) "Aerosol fractal mode total number min. threshold" 644 m0af_min=1e-10 ! default value 645 call getin_p("m0af_min",m0af_min) 646 write(*,*)" m0af_min = ",m0af_min 647 648 write(*,*) "Aerosol fractal mode min. caracteristic radius threshold (updated to monomer radius at runtime if needed)" 649 rcf_min=1e-9 ! default value 650 call getin_p("rcf_min",rcf_min) 651 write(*,*)" rcf_min = ",rcf_min 652 653 write(*,*) "cloud drop total number min. threshold" 654 m0n_min=1e-10 ! default value 655 call getin_p("m0n_min",m0n_min) 656 write(*,*)" m0n_min = ",m0n_min 657 658 write(*,*) "microphysics debug flag" 659 wdebug=.false. ! default value 660 call getin_p("wdebug",wdebug) 661 write(*,*)" wdebug = ",wdebug 662 #endif 518 663 519 664 ! Soil model … … 669 814 ! allocate "comsoil_h" arrays 670 815 call ini_comsoil_h(ngrid) 671 816 817 #ifdef MESOSCALE 818 ! YAMMS initialization. 819 err = mm_global_init_0(ptimestep,df,rm,rho_aer,p_prod,tx_prod,rc_prod,rad,g, & 820 air_rad,mugaz,coag_choice,callclouds,spcpath, & 821 w_h_prod,w_h_sed,w_h_coag,w_c_nucond, & 822 w_c_sed,fwsed_m0,fwsed_m3, & 823 no_fiadero,fiad_min,fiad_max, & 824 m0as_min,rcs_min,m0af_min,rcf_min,m0n_min,wdebug) 825 IF (ierr /= 0) THEN 826 PRINT *, "PROBLEM WITH YAMMS INITIATILIZATION" 827 ENDIF 828 #endif 829 830 672 831 END SUBROUTINE inifis 673 832
Note: See TracChangeset
for help on using the changeset viewer.