Changeset 3277
- Timestamp:
- Mar 20, 2024, 4:29:22 PM (8 months ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90
r3236 r3277 50 50 logical,save :: virtual_correction 51 51 !$OMP THREADPRIVATE(varactive,varfixed,sedimentation,generic_condensation,generic_rain,virtual_correction) 52 logical,save :: water ,watercond, waterrain, moistadjustment 53 !$OMP THREADPRIVATE(water, watercond, waterrain, moistadjustment )52 logical,save :: water ,watercond, waterrain, moistadjustment, moistadjustment_generic 53 !$OMP THREADPRIVATE(water, watercond, waterrain, moistadjustment, moistadjustment_generic) 54 54 logical,save :: aeroco2, aeroh2o, aeroh2so4, aeroback2lay 55 55 !$OMP THREADPRIVATE(aeroco2, aeroh2o, aeroh2so4, aeroback2lay) -
trunk/LMDZ.GENERIC/libf/phystd/inifis_mod.F90
r3236 r3277 1020 1020 if (is_master) write(*,*)trim(rname)//": generic_condensation = ",generic_condensation 1021 1021 1022 if (is_master) write(*,*)trim(rname)//": Generic Condensation of tracers ?"1022 if (is_master) write(*,*)trim(rname)//": Generic rain of tracers ?" 1023 1023 generic_rain=.false. !default value 1024 1024 call getin_p("generic_rain",generic_rain) 1025 1025 if (is_master) write(*,*)trim(rname)//": generic_rain = ",generic_rain 1026 1027 if (is_master) write(*,*)trim(rname)//": Include moist adjustement for GCS ?" 1028 moistadjustment_generic=.false. ! default value 1029 call getin_p("moistadjustment_generic",moistadjustment_generic) 1030 if (is_master) write(*,*)trim(rname)//": moistadjustment_generic = ", moistadjustment_generic 1026 1031 1027 1032 if (is_master) write(*,*)trim(rname)//": Virtual correction ?" -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r3270 r3277 70 70 tracer, UseTurbDiff, water, watercond, & 71 71 waterrain, generic_rain, global1d, szangle, & 72 moistadjustment, varspec, varspec_data, nvarlayer72 moistadjustment, moistadjustment_generic, varspec, varspec_data, nvarlayer 73 73 use generic_tracer_index_mod, only: generic_tracer_index 74 74 use nonoro_gwd_ran_mod, only: nonoro_gwd_ran … … 1674 1674 1675 1675 1676 ! ------------------------- 1677 ! VI.3. Aerosol particles 1678 ! ------------------------- 1679 1680 !Generic Condensation 1676 ! ------------------------------------------ 1677 ! VI.3.a Generic Condensable Species (GCS) 1678 ! ------------------------------------------ 1679 1681 1680 if (generic_condensation) then 1681 if ((.not.water).and.(.not.calltherm).and.moistadjustment_generic) then 1682 write(*,*) "moist adjustment for GCS" 1683 dqmoist(1:ngrid,1:nlayer,1:nq)=0. 1684 dtmoist(1:ngrid,1:nlayer)=0. 1685 1686 ! Moist Convective Adjustment. 1687 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1688 call moistadj_generic(ngrid,nlayer,nq,pt,pq,pdq,pplev,pplay,dtmoist,dqmoist,ptimestep,rneb_man) 1689 1690 pdq(1:ngrid,1:nlayer,1:nq) = pdq(1:ngrid,1:nlayer,1:nq) & 1691 + dqmoist(1:ngrid,1:nlayer,1:nq) 1692 pdq(1:ngrid,1:nlayer,1:nq) = pdq(1:ngrid,1:nlayer,1:nq) & 1693 + dqmoist(1:ngrid,1:nlayer,1:nq) 1694 pdt(1:ngrid,1:nlayer) = pdt(1:ngrid,1:nlayer)+dtmoist(1:ngrid,1:nlayer) 1695 1696 ! Test energy conservation. 1697 if(enertest)then 1698 call planetwide_sumval(cpp*massarea(:,:)*dtmoist(:,:)/totarea_planet,dEtot) 1699 call planetwide_maxval(dtmoist(:,:),dtmoist_max) 1700 call planetwide_minval(dtmoist(:,:),dtmoist_min) 1701 madjdEz(:,:)=cpp*mass(:,:)*dtmoist(:,:) 1702 1703 do ig=1,ngrid 1704 madjdE(ig) = cpp*SUM(mass(:,:)*dtmoist(:,:)) 1705 enddo 1706 1707 if (is_master) then 1708 print*,'In moistadj atmospheric energy change =',dEtot,' W m-2' 1709 print*,'In moistadj MAX atmospheric energy change =',dtmoist_max*ptimestep,'K/step' 1710 print*,'In moistadj MIN atmospheric energy change =',dtmoist_min*ptimestep,'K/step' 1711 endif 1712 1713 ! igcm_generic_vap & igcm_generic_ice are not declared below 1714 ! call planetwide_sumval(massarea(:,:)*dqmoist(:,:,igcm_generic_vap)*ptimestep/totarea_planet+ & 1715 ! massarea(:,:)*dqmoist(:,:,igcm_generic_ice)*ptimestep/totarea_planet,dWtot) 1716 ! if (is_master) print*,'In moistadj atmospheric water change =',dWtot,' kg m-2' 1717 1718 endif ! end of 'enertest' 1719 else 1720 ! rneb_man, dqmoist are output of moistadj, but used later on 1721 ! so set them to zero if moistadj is not called 1722 rneb_man(:,:)=0 1723 dqmoist(:,:,:)=0 1724 endif ! end of '(.not.calltherm).and.moistadjustment_generic' 1725 1682 1726 call condensation_generic(ngrid,nlayer,nq,ptimestep,pplev,pplay, & 1683 1727 pt,pq,pdt,pdq,dt_generic_condensation, & … … 1794 1838 endif !generic_rain 1795 1839 1796 ! Sedimentation. 1840 ! ------------------------- 1841 ! VI.3.b. Sedimentation. 1842 ! ------------------------- 1797 1843 if (sedimentation) then 1798 1844
Note: See TracChangeset
for help on using the changeset viewer.