Changeset 3144 for trunk/LMDZ.MARS/libf
- Timestamp:
- Nov 29, 2023, 4:04:35 PM (14 months ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/conf_phys.F
r3130 r3144 41 41 use microphys_h, only: mteta 42 42 use comsoil_h, only: adsorption_soil, choice_ads 43 use nonoro_gwd_mix_mod, only: calljliu_gwimix 43 44 44 45 IMPLICIT NONE … … 296 297 call getin_p("calllott_nonoro",calllott_nonoro) 297 298 write(*,*)" calllott_nonoro = ",calllott_nonoro 299 300 write(*,*)"call jliu's nonoro GWs-induced mixing ", 301 & "scheme ?" 302 calljliu_gwimix=.false. ! default value 303 call getin_p("calljliu_gwimix",calljliu_gwimix) 304 write(*,*)" calljliu_gwimix = ",calljliu_gwimix 305 298 306 299 307 ! rocket dust storm injection scheme -
trunk/LMDZ.MARS/libf/phymars/phyetat0_mod.F90
r3142 r3144 21 21 inquire_dimension, inquire_dimension_length 22 22 use nonoro_gwd_ran_mod, only: du_nonoro_gwd, dv_nonoro_gwd 23 use nonoro_gwd_mix_mod, only: du_eddymix_gwd, dv_eddymix_gwd, de_eddymix_rto, & 24 df_eddymix_flx !dr_depflux_gwd 25 23 26 use compute_dtau_mod, only: dtau 24 27 use dust_rad_adjust_mod, only: dust_rad_adjust_prev,dust_rad_adjust_next … … 621 624 write(*,*) " <dv_nonoro_gwd> range:", & 622 625 minval(dv_nonoro_gwd), maxval(dv_nonoro_gwd) 626 if (startphy_file) then 627 call get_field("du_eddymix_gwd",du_eddymix_gwd,found,indextime) 628 if (.not.found) then 629 write(*,*) "phyetat0: <du_eddymix_gwd> not in file" 630 du_eddymix_gwd(:,:)=0. 631 endif 632 else 633 du_eddymix_gwd(:,:)=0. 634 endif ! if (startphy_file) 635 write(*,*) "phyetat0: Memory of zonal wind tendency due to non-orographic GW mixing" 636 write(*,*) " <du_eddymix_gwd> range:", & 637 minval(du_eddymix_gwd), maxval(du_eddymix_gwd) 638 639 640 if (startphy_file) then 641 call get_field("dv_nonoro_gwd",dv_nonoro_gwd,found,indextime) 642 if (.not.found) then 643 write(*,*) "phyetat0: <dv_nonoro_gwd> not in file" 644 dv_nonoro_gwd(:,:)=0. 645 endif 646 else ! ! if (startphy_file) 647 dv_nonoro_gwd(:,:)=0. 648 endif ! if (startphy_file) 649 write(*,*) "phyetat0: Memory of meridional wind tendency due to non-orographic GW" 650 write(*,*) " <dv_nonoro_gwd> range:", & 651 minval(dv_nonoro_gwd), maxval(dv_nonoro_gwd) 652 653 if (startphy_file) then 654 call get_field("dv_eddymix_gwd",dv_eddymix_gwd,found,indextime) 655 if (.not.found) then 656 write(*,*) "phyetat0: <dv_eddymix_gwd> not in file" 657 dv_eddymix_gwd(:,:)=0. 658 endif 659 else ! ! if (startphy_file) 660 dv_eddymix_gwd(:,:)=0. 661 endif ! if (startphy_file) 662 write(*,*) "phyetat0: Memory of meridional wind tendency due to non-orographic GW mixing" 663 write(*,*) " <dv_eddymix_gwd> range:", & 664 minval(dv_eddymix_gwd), maxval(dv_eddymix_gwd) 665 666 !if (startphy_file) then 667 ! call get_field("dr_depflux_gwd",dr_depflux_gwd,found,indextime) 668 ! if (.not.found) then 669 ! write(*,*) "phyetat0: <dr_depflux_gwd> not in file" 670 ! dr_depflux_gwd(:,:,:)=0. 671 ! endif 672 !else ! ! if (startphy_file) 673 !!dr_depflux_gwd(:,:,:)=0. 674 !endif ! if (startphy_file) 675 !write(*,*) "phyetat0: Memory of meridional wind tendency due to non-orographic GW mixing" 676 !write(*,*) " <dr_depflux_gwd> range:", & 677 ! minval(dr_depflux_gwd), maxval(dr_depflux_gwd) 678 679 if (startphy_file) then 680 call get_field("de_eddymix_rto",de_eddymix_rto,found,indextime) 681 if (.not.found) then 682 write(*,*) "phyetat0: <de_eddymix_rto> not in file" 683 de_eddymix_rto(:,:)=0. 684 endif 685 else ! ! if (startphy_file) 686 de_eddymix_rto(:,:)=0. 687 endif ! if (startphy_file) 688 write(*,*) "phyetat0: Memory of meridional wind tendency due to non-orographic GW mixing" 689 write(*,*) " <de_eddymix_rto> range:", & 690 minval(de_eddymix_rto), maxval(de_eddymix_rto) 691 692 if (startphy_file) then 693 call get_field("df_eddymix_flx ",df_eddymix_flx ,found,indextime) 694 if (.not.found) then 695 write(*,*) "phyetat0: <df_eddymix_flx > not in file" 696 df_eddymix_flx (:,:)=0. 697 endif 698 else ! ! if (startphy_file) 699 df_eddymix_flx (:,:)=0. 700 endif ! if (startphy_file) 701 write(*,*) "phyetat0: Memory of meridional wind tendency due to non-orographic GW mixing" 702 write(*,*) " <df_eddymix_flx > range:", & 703 minval(df_eddymix_flx ), maxval(df_eddymix_flx ) 704 705 623 706 624 707 ! tracer on surface -
trunk/LMDZ.MARS/libf/phymars/phys_state_var_init_mod.F90
r3095 r3144 57 57 use nonoro_gwd_ran_mod, only: ini_nonoro_gwd_ran, & 58 58 end_nonoro_gwd_ran 59 use nonoro_gwd_mix_mod, only: ini_nonoro_gwd_mix, & 60 end_nonoro_gwd_mix 59 61 use dust_param_mod, only: ini_dust_param_mod, & 60 62 end_dust_param_mod … … 170 172 call ini_nonoro_gwd_ran(ngrid,nlayer) 171 173 174 ! allocate arrays in "nonoro_gwd_mix_mod" 175 call end_nonoro_gwd_mix 176 call ini_nonoro_gwd_mix(ngrid,nlayer) 177 172 178 ! allocate arrays in "dust_param_mod" 173 179 call end_dust_param_mod -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r3142 r3144 90 90 use compute_dtau_mod, only: compute_dtau 91 91 use nonoro_gwd_ran_mod, only: nonoro_gwd_ran 92 use nonoro_gwd_mix_mod, only: nonoro_gwd_mix, calljliu_gwimix 92 93 use check_fields_mod, only: check_physics_fields 93 94 use surfini_mod, only: surfini … … 492 493 REAL d_u_hin(ngrid,nlayer), d_v_hin(ngrid,nlayer) 493 494 REAL d_t_hin(ngrid,nlayer) 495 REAL d_u_mix(ngrid,nlayer), d_v_mix(ngrid,nlayer) 496 REAL d_t_mix(ngrid,nlayer), zdq_mix(ngrid,nlayer,nq) 497 494 498 c Diagnostics 2D of gw_nonoro 495 499 REAL zustrhi(ngrid), zvstrhi(ngrid) … … 1690 1694 & zustrhi,zvstrhi, 1691 1695 & d_t_hin, d_u_hin, d_v_hin) 1696 IF (calljliu_gwimix) THEN 1697 CALL nonoro_gwd_mix(ngrid,nlayer,ptimestep, 1698 & nq,cpnew, rnew, 1699 & zplay, 1700 & zmax_th, 1701 & pt, pu, pv, pq, 1702 !loss, chemical reaction loss rates 1703 & pdt, pdu, pdv, pdq, 1704 ! zustrhi,zvstrhi, 1705 & zdq_mix, d_t_mix, d_u_mix, d_v_mix) 1706 ENDIF 1692 1707 1693 1708 ! Update tendencies … … 1698 1713 pdv(1:ngrid,1:nlayer)=pdv(1:ngrid,1:nlayer) 1699 1714 & +d_v_hin(1:ngrid,1:nlayer) 1715 ! Update tendencies of gw mixing 1716 IF (calljliu_gwimix) THEN 1717 pdt(1:ngrid,1:nlayer)=pdt(1:ngrid,1:nlayer) 1718 & +d_t_mix(1:ngrid,1:nlayer) 1719 pdu(1:ngrid,1:nlayer)=pdu(1:ngrid,1:nlayer) 1720 & +d_u_mix(1:ngrid,1:nlayer) 1721 pdv(1:ngrid,1:nlayer)=pdv(1:ngrid,1:nlayer) 1722 & +d_v_mix(1:ngrid,1:nlayer) 1723 pdq(1:ngrid,1:nlayer,1:nq)=pdq(1:ngrid,1:nlayer,1:nq) 1724 & +zdq_mix(1:ngrid,1:nlayer,1:nq) 1725 ENDIF 1726 1700 1727 1701 1728 ENDIF ! of IF (calllott_nonoro)
Note: See TracChangeset
for help on using the changeset viewer.