Changeset 2560
- Timestamp:
- Sep 7, 2021, 3:28:26 PM (3 years ago)
- Location:
- trunk/LMDZ.VENUS
- Files:
-
- 26 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/deftank/context_lmdz_physics-78niv.xml
r2465 r2560 101 101 long_name="Vertical wind" 102 102 unit="Pa/s" /> 103 <field id="vitwz" 104 long_name="Vertical wind (m/s)" 105 unit="m/s" /> 103 106 <field id="Kz" 104 107 long_name="vertical diffusion coef" -
trunk/LMDZ.VENUS/deftank/context_lmdz_physics-notrac.xml
r2465 r2560 101 101 long_name="Vertical wind" 102 102 unit="Pa/s" /> 103 <field id="vitwz" 104 long_name="Vertical wind (m/s)" 105 unit="m/s" /> 103 106 <field id="Kz" 104 107 long_name="vertical diffusion coef" -
trunk/LMDZ.VENUS/deftank/context_lmdz_physics.xml
r2465 r2560 101 101 long_name="Vertical wind" 102 102 unit="Pa/s" /> 103 <field id="vitwz" 104 long_name="Vertical wind (m/s)" 105 unit="m/s" /> 103 106 <field id="Kz" 104 107 long_name="vertical diffusion coef" -
trunk/LMDZ.VENUS/deftank/physiq-96x96x50-chemistry.def
r2279 r2560 73 73 # 74 74 iflag_ajs = 1 75 76 # Solar radiation module 77 ##~~~~~~~~~~~~~~~~~~~~~~ 78 ## 1 = Rainer Haus Tables 79 ## 2 = Generic solar module 75 80 # 81 solarchoice=1 82 76 83 # Thermosphere and nlte parameters 77 84 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/LMDZ.VENUS/deftank/physiq-96x96x50-notrac.def
r2279 r2560 73 73 # 74 74 iflag_ajs = 1 75 76 # Solar radiation module 77 ##~~~~~~~~~~~~~~~~~~~~~~ 78 ## 1 = Rainer Haus Tables 79 ## 2 = Generic solar module 75 80 # 81 solarchoice=1 82 76 83 # Thermosphere and nlte parameters 77 84 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/LMDZ.VENUS/deftank/physiq-96x96x78-chemistry.def
r2465 r2560 73 73 # 74 74 iflag_ajs = 1 75 76 # Solar radiation module 77 ##~~~~~~~~~~~~~~~~~~~~~~ 78 ## 1 = Rainer Haus Tables 79 ## 2 = Generic solar module 75 80 # 81 solarchoice=1 82 76 83 # Thermosphere and nlte parameters 77 84 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/LMDZ.VENUS/deftank/physiq-96x96x90-chemistry.def
r2465 r2560 73 73 # 74 74 iflag_ajs = 1 75 76 # Solar radiation module 77 ##~~~~~~~~~~~~~~~~~~~~~~ 78 ## 1 = Rainer Haus Tables 79 ## 2 = Generic solar module 75 80 # 81 solarchoice=1 82 76 83 # Thermosphere and nlte parameters 77 84 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/LMDZ.VENUS/deftank/physiq.def
r2279 r2560 73 73 # 74 74 iflag_ajs = 1 75 76 # Solar radiation module 77 ##~~~~~~~~~~~~~~~~~~~~~~ 78 ## 1 = Rainer Haus Tables 79 ## 2 = Generic solar module 75 80 # 81 solarchoice=1 82 76 83 # Thermosphere and nlte parameters 77 84 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
trunk/LMDZ.VENUS/libf/phyvenus/clesphys.h
r2487 r2560 19 19 INTEGER nircorr, nltemodel, solvarmod 20 20 INTEGER nb_mode 21 INTEGER solarchoice 21 22 REAL ecriphy 22 23 REAL z0, lmixmin … … 33 34 & iflag_con, iflag_ajs, & 34 35 & lev_histins, lev_histday, lev_histmth, tr_scheme, & 35 & cl_scheme, nircorr, nltemodel, solvarmod, nb_mode 36 & cl_scheme, nircorr, nltemodel, solvarmod, nb_mode, & 37 & solarchoice 36 38 37 39 COMMON/clesphys_r/ ecriphy, z0, lmixmin, & -
trunk/LMDZ.VENUS/libf/phyvenus/conf_phys.F90
r2487 r2560 388 388 call getin('nb_mode',nb_mode) 389 389 390 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 391 ! PARAMETER FOR SOLAR RADIATION 392 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 393 394 ! 395 !Config Key = solarchoice 396 !Config Desc = 397 !Config Def = 1 398 !Config Help = 399 ! 400 ! 1 = RH Tables 401 ! 2 = Generic module 402 solarchoice = 1 403 call getin('solarchoice',solarchoice) 404 390 405 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 391 406 ! PARAMETER FOR NLTE PHYSICS … … 514 529 write(lunout,*)' ok_sedim = ',ok_sedim 515 530 write(lunout,*)' nb_mode = ',nb_mode 531 write(lunout,*)' solarchoice = ',solarchoice 516 532 write(lunout,*)' callnlte = ',callnlte 517 533 write(lunout,*)' nltemodel = ',nltemodel -
trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F
r2534 r2560 33 33 . topsw,toplw,solsw,sollw,sollwdown,lwnet,swnet 34 34 use write_field_phy 35 use radinc_h, only: ini_radinc_h 35 36 36 37 #ifdef CPP_XIOS … … 60 61 !=========== 61 62 INTEGER k, kk, i, j, band 63 integer,save :: i_sw 64 integer,parameter :: subloop=100 62 65 63 66 REAL PPB(klev+1) … … 103 106 call load_ksi(ksive) 104 107 108 i_sw = subloop 109 c for sw_venus_corrk 110 if (solarchoice.eq.2) call ini_radinc_h(klev) 111 105 112 endif ! firstcall 106 113 c------------------------------------------- … … 108 115 DO k = 1, klev 109 116 DO i = 1, klon 110 heat(i,k)=0. 117 ! Solar heating rates from generic => directly on klon 118 ! only once every subloop calls, because of high frequency needed by lw... 119 if (i_sw.eq.subloop) heat(i,k)=0. 111 120 cool(i,k)=0. 112 121 ENDDO … … 600 609 c CALL SW_venus_rh_1Dglobave(zrmu0,zfract, ! pour moy globale 601 610 c S PPB,temp, 602 CALL SW_venus_rh(zrmu0,zfract,latdeg, 611 c S zheat, 612 c S ztopsw,zsolsw,ZFSNET) 613 614 cc SOLAR : RH TABLES 615 if (solarchoice.eq.1) then 616 CALL SW_venus_rh(zrmu0,zfract,latdeg, 603 617 S PPA,PPB,temp, 604 618 S zheat, 605 619 S ztopsw,zsolsw,ZFSNET) 620 endif ! solarchoice.eq.1 621 606 622 c====================================================================== 607 radsol(j) = zsolsw - zsollw ! + vers bas 608 topsw(j) = ztopsw! + vers bas623 c lw into klon grid: 624 radsol(j) = - zsollw ! + vers bas 609 625 toplw(j) = ztoplw ! + vers haut 610 solsw(j) = zsolsw ! + vers bas611 626 sollw(j) = -zsollw ! + vers bas 612 627 sollwdown(j) = zsollwdown ! + vers bas 613 628 614 629 DO k = 1, klev+1 615 lwnet (j,k) = ZFLNET(k) 616 swnet (j,k) = ZFSNET(k) 630 lwnet (j,k) = ZFLNET(k) ! + vers haut 617 631 ENDDO 618 632 633 cc SOLAR : RH TABLES 634 c sw into klon grid (if not using the generic routine) 635 if (solarchoice.eq.1) then 636 radsol(j)= radsol(j)+zsolsw ! + vers bas 637 topsw(j) = ztopsw ! + vers bas 638 solsw(j) = zsolsw ! + vers bas 639 DO k = 1, klev+1 640 swnet (j,k) = ZFSNET(k) ! + vers bas 641 ENDDO 642 endif ! solarchoice.eq.1 643 619 644 c 620 C heat/cool with upper atmosphere645 C cool with upper atmosphere 621 646 C 622 647 IF(callnlte) THEN 623 648 DO k = 1,nlaylte 624 heat(j,k) = zheat(k)625 649 cool(j,k) = zcool(k) 626 650 ENDDO … … 628 652 if (klev.gt.nlaylte) then 629 653 do k = nlaylte+1, klev 630 heat(j,k) = 0.631 654 cool(j,k) = 0. 632 655 enddo … … 634 657 ELSE 635 658 DO k = 1, klev 636 heat(j,k) = zheat(k)637 659 cool(j,k) = zcool(k) 638 660 ENDDO 639 661 ENDIF ! callnlte 662 663 cc SOLAR : RH TABLES 664 C heat with upper atmosphere 665 IF(solarchoice.eq.1) THEN 666 IF(callnlte) THEN 667 DO k = 1,nlaylte 668 heat(j,k) = zheat(k) 669 ENDDO 670 c Zero tendencies for any remaining layers between nlaylte and klev 671 if (klev.gt.nlaylte) then 672 do k = nlaylte+1, klev 673 heat(j,k) = 0. 674 enddo 675 endif 676 ELSE 677 DO k = 1, klev 678 heat(j,k) = zheat(k) 679 ENDDO 680 ENDIF ! callnlte 681 ENDIF ! solarchoice.eq.1 682 640 683 ENDDO ! of DO j = 1, klon 641 684 c+++++++ FIN BOUCLE SUR LA GRILLE +++++++++++++++++++++++++ 685 686 cc SOLAR : GENERICS 687 ! Solar heating rates from generic => directly on klon 688 ! only once every subloop calls, because of high frequency needed by lw... 689 if (solarchoice.eq.2) then 690 691 if (i_sw.eq.subloop) then 692 693 call sw_venus_corrk(klon,klev,rmu0,paprs,pplay,t,tsol, 694 . fract,dist,heat,solsw,topsw,swnet,firstcall) 695 696 IF(callnlte) THEN 697 c Zero tendencies for any remaining layers between nlaylte and klev 698 if (klev.gt.nlaylte) then 699 do k = nlaylte+1,klev 700 heat(:,k) = 0. 701 enddo 702 endif 703 ENDIF ! callnlte 704 705 i_sw=0 706 endif ! i_sw=subloop 707 708 radsol(:)=radsol(:)+solsw(:) 709 i_sw=i_sw+1 710 endif ! solarchoice.eq.2 711 712 !---------------------------------------------------------- 642 713 643 714 ! for tests: write output fields... -
trunk/LMDZ.VENUS/libf/phyvenus/write_histins.h
r1661 r2560 46 46 c call histwrite_phy(nid_ins,.false.,"mang",itau_w,mang) 47 47 c call histwrite_phy(nid_ins,.false.,"Kz",itau_w,ycoefh) 48 49 48 c call histwrite_phy(nid_ins,.false.,"mmean",itau_w,mmean) 49 c call histwrite_phy(nid_ins,.false.,"rho",itau_w,rho) 50 50 51 51 c plusieurs traceurs !!!outputs in [vmr] … … 104 104 ENDIF 105 105 106 106 c call histwrite_phy(nid_ins,.false.,"WH2SO4",itau_w,WH2SO4) 107 107 108 109 108 c call histwrite_phy(nid_ins,.false.,"rho_droplet",itau_w, 109 c & rho_droplet) 110 110 ENDIF 111 111 -
trunk/LMDZ.VENUS/libf/phyvenus/write_histmth.h
r1667 r2560 51 51 c plusieurs traceurs !!!outputs in [vmr] 52 52 IF (iflag_trac.eq.1) THEN 53 DO iq=1,nqmax 53 DO iq=1,nqmax-nmicro 54 54 call histwrite_phy(nid_mth,.false.,tname(iq),itau_w,qx(:,:,iq) 55 55 & *mmean(:,:)/M_tr(iq)) 56 ENDDO 57 DO iq=nqmax-nmicro+1,nqmax 58 call histwrite_phy(nid_mth,.false.,tname(iq),itau_w,qx(:,:,iq)) 56 59 ENDDO 57 60 ENDIF … … 105 108 c en K/s 106 109 call histwrite_phy(nid_mth,.false.,"dtswr",itau_w,dtsw) 107 108 110 c call histwrite_phy(nid_mth,.false.,"dtswrNLTE",itau_w,d_t_nirco2) 111 c call histwrite_phy(nid_mth,.false.,"dtswrDCrisp",itau_w,heat) 109 112 c en K/s 110 113 call histwrite_phy(nid_mth,.false.,"dtlwr",itau_w,dtlw)
Note: See TracChangeset
for help on using the changeset viewer.