Changeset 3277


Ignore:
Timestamp:
Mar 20, 2024, 4:29:22 PM (8 months ago)
Author:
jleconte
Message:

flag moistadjustment_generic

Location:
trunk/LMDZ.GENERIC/libf/phystd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90

    r3236 r3277  
    5050      logical,save :: virtual_correction
    5151!$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)
    5454      logical,save :: aeroco2, aeroh2o, aeroh2so4, aeroback2lay
    5555!$OMP THREADPRIVATE(aeroco2, aeroh2o, aeroh2so4, aeroback2lay)
  • trunk/LMDZ.GENERIC/libf/phystd/inifis_mod.F90

    r3236 r3277  
    10201020     if (is_master) write(*,*)trim(rname)//": generic_condensation = ",generic_condensation
    10211021     
    1022      if (is_master) write(*,*)trim(rname)//": Generic Condensation of tracers ?"
     1022     if (is_master) write(*,*)trim(rname)//": Generic rain of tracers ?"
    10231023     generic_rain=.false. !default value
    10241024     call getin_p("generic_rain",generic_rain)
    10251025     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
    10261031     
    10271032     if (is_master) write(*,*)trim(rname)//": Virtual correction ?"
  • trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90

    r3270 r3277  
    7070                              tracer, UseTurbDiff, water, watercond, &
    7171                              waterrain, generic_rain, global1d, szangle, &
    72                               moistadjustment, varspec, varspec_data, nvarlayer
     72                              moistadjustment, moistadjustment_generic, varspec, varspec_data, nvarlayer
    7373      use generic_tracer_index_mod, only: generic_tracer_index
    7474      use nonoro_gwd_ran_mod, only: nonoro_gwd_ran
     
    16741674
    16751675
    1676   ! -------------------------
    1677   !   VI.3. Aerosol particles
    1678   ! -------------------------
    1679 
    1680          !Generic Condensation
     1676  ! ------------------------------------------
     1677  !   VI.3.a Generic Condensable Species (GCS)
     1678  ! ------------------------------------------
     1679
    16811680         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
    16821726            call condensation_generic(ngrid,nlayer,nq,ptimestep,pplev,pplay,   &
    16831727                                          pt,pq,pdt,pdq,dt_generic_condensation, &
     
    17941838         endif !generic_rain
    17951839
    1796          ! Sedimentation.
     1840  ! -------------------------
     1841  !   VI.3.b. Sedimentation.
     1842  ! -------------------------
    17971843         if (sedimentation) then
    17981844
Note: See TracChangeset for help on using the changeset viewer.