Changeset 2789 for trunk/LMDZ.MARS/libf
- Timestamp:
- Aug 31, 2022, 6:30:47 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F
r2672 r2789 15 15 use phyredem, only: physdem0,physdem1 16 16 use geometry_mod, only: init_geometry 17 use watersat_mod, only: watersat 18 use tracer_mod, only: igcm_h2o_vap,igcm_h2o_ice 17 19 use planete_h, only: year_day, periheli, aphelie, peri_day, 18 20 & obliquit, emin_turb, lmixmin … … 128 130 REAL halfaxe, excentric, Lsperi 129 131 Logical paleomars 132 c JN : Force atmospheric water profiles 133 INTEGER atm_wat_profile 134 REAL,ALLOCATABLE :: zqsat(:) ! useful for (atm_wat_profile=2) 135 130 136 131 137 c MVals: isotopes as in the dynamics (CRisi) … … 246 252 allocate(tname(nq)) 247 253 allocate(q(nlayer,nq)) 254 allocate(zqsat(nlayer)) 248 255 allocate(qsurf(nq)) 249 256 allocate(dq(nlayer,nq)) … … 678 685 write(*,*) " watercaptag = ",watercaptag 679 686 687 c Check if the atmospheric water profile is specified 688 c --------------------------------------------------- 689 ! Adding an option to force atmospheric water values JN 690 atm_wat_profile=0 ! Default: no water ice reservoir 691 print *,'Force atmospheric water vapor profile ?' 692 call getin("atm_wat_profile",atm_wat_profile) 693 write(*,*) "atm_wat_profile = ", atm_wat_profile 694 if (atm_wat_profile.EQ.0) then 695 write(*,*) "Free atmospheric water vapor profile" 696 else if (atm_wat_profile.EQ.1) then 697 write(*,*) "Dry atmospheric water vapor profile" 698 else if (atm_wat_profile.EQ.2) then 699 write(*,*) "Wet atmospheric water vapor profile" 700 endif 701 680 702 681 703 c Initialization for GRADS outputs in "g1d.dat" and "g1d.ctl" … … 742 764 ENDDO 743 765 766 c Force atmospheric water if asked 767 c Added "atm_wat_profile" flag (JN) 768 c ------------------------------------- 769 call watersat(nlayer,temp,play,zqsat) 770 DO iq = 1, nq 771 IF ((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.1)) THEN 772 DO ilayer=1,nlayer 773 q(ilayer,igcm_h2o_vap)=0. 774 c write(*,*) "atm_wat_profile dry" 775 c write(*,*) "iq (igcm_h2o_vap)", iq 776 ENDDO! ilayer=1,nlayer 777 ELSE IF((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN 778 DO ilayer=1,nlayer 779 q(ilayer,igcm_h2o_vap)=zqsat(ilayer)*0.7 780 c write(*,*) "atm_wat_profile wet" 781 c write(*,*) "iq (igcm_h2o_vap)", iq 782 c q(ilayer,igcm_h2o_vap)=zqsat(ilayer)-0.9*zqsat(ilayer) 783 ENDDO! ilayer=1,nlayer 784 ELSE IF ((iq.eq.igcm_h2o_ice).and.(atm_wat_profile.ne.0)) THEN 785 DO ilayer=1,nlayer 786 q(ilayer,igcm_h2o_ice)=0. 787 c write(*,*) "atm_wat_profile : reset ice" 788 c write(*,*) "iq (igcm_h2o_ice)", iq 789 ENDDO! ilayer=1,nlayer 790 ENDIF !((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN 791 ENDDO 792 793 794 ! write(*,*) "testphys1d avant q", q(1,:) 744 795 c call physics 745 796 c -------------------- 746 ! write(*,*) "testphys1d avant q", q(1,:)747 797 CALL physiq (1,llm,nq, 748 798 , firstcall,lastcall,
Note: See TracChangeset
for help on using the changeset viewer.