Changeset 2789 for trunk/LMDZ.MARS
- Timestamp:
- Aug 31, 2022, 6:30:47 PM (2 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r2741 r2789 3730 3730 initialized to zero if not found in the startfi.nc file. 3731 3731 3732 == 01/07/2022 == EM3732 == 01/07/2022 == JN 3733 3733 "caps" flag is no longer called in surfini.F to set the location of watercaptag. 3734 3734 It now only affects the temperature of south pole grid cell in co2condens. 3735 3736 == 31/08/2022 == JN 3737 Added "atm_wat_profile" flag in 1d to force dry and wet atmospheric water vapor profiles. -
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.