Changeset 2524


Ignore:
Timestamp:
May 17, 2021, 2:14:13 PM (4 years ago)
Author:
cmathe
Message:

minor fix in co2condens4micro; fix co2 sedimentation rate outputs

Location:
trunk/LMDZ.MARS
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r2522 r2524  
    33823382Added a logical flag allowing for a temperature-dependant parametrization of the water contact parameter : "temp_dependant_m". Default value is false for now.
    33833383
    3384 
     3384== 17/05/2021 == CM
     3385minor fix in co2condens4micro; fix co2 sedimentation rate outputs
  • trunk/LMDZ.MARS/libf/phymars/co2cloud.F90

    r2494 r2524  
    946946  call WRITEDIAGFI(ngrid, "satuco2", "vap in satu", " ", 3, satuco2)
    947947
     948  call WRITEDIAGFI(ngrid, "precip_co2_ice", "surface deposition of co2 ice", "kg.m-2", 2,  pdqs_sedco2(:)*ptimestep)
     949
     950  call WRITEDIAGFI(ngrid, "precip_co2_ice_rate", "surface deposition rate of co2 ice", "kg.m-2.s-1", 2, pdqs_sedco2(:))
     951
     952  call WRITEDIAGFI(ngrid, "co2ice_cond_rate", "CO2 condensation rate in atm layers", "kg.kg-1.s-1", 3, pcondicea)
     953
     954  call WRITEDIAGFI(ngrid, "pdtcloudco2", "temperature variation of CO2 latent heat", "K.s-1", 3, pdtcloudco2)
     955
     956  call writediagfi(ngrid, "riceco2", "ice radius", "m", 3, riceco2)
     957
     958  call WRITEDIAGFI(ngrid, "Tau3D1mic", " co2 ice opacities", " ", 3, Qext1bins2)
     959
     960  call WRITEDIAGFI(ngrid, "tau1mic", "co2 ice opacity 1 micron", " ", 2, tau1mic)
     961
     962  call WRITEDIAGFI(ngrid, "mem_Nccn_co2", "CCN number used by CO2", "kg.kg-1", 3, mem_Nccn_co2)
     963
     964  call WRITEDIAGFI(ngrid, "mem_Mccn_co2", "CCN mass used by CO2",  "kg.kg-1", 3, mem_Mccn_co2)
     965
     966  call WRITEDIAGFI(ngrid, "mem_Mh2o_co2", "H2O mass in CO2 crystal", "kg.kg-1", 3, mem_Mh2o_co2)
    948967  if (CLFvaryingCO2) then
    949968    call WRITEDIAGFI(ngrid, "co2cloudfrac", "co2 cloud fraction", " ", 3, co2cloudfrac)
    950969  end if
    951 
    952   call writediagfi(ngrid, "riceco2", "ice radius", "m", 3, riceco2)
    953 
    954   call WRITEDIAGFI(ngrid, "Tau3D1mic", " co2 ice opacities", " ", 3, Qext1bins2)
    955 
    956   call WRITEDIAGFI(ngrid, "tau1mic", "co2 ice opacity 1 micron", " ", 2, tau1mic)
    957 
    958   call WRITEDIAGFI(ngrid, "mem_Nccn_co2", "CCN number used by CO2", "kg/kg", 3, mem_Nccn_co2)
    959 
    960   call WRITEDIAGFI(ngrid, "mem_Mccn_co2", "CCN mass used by CO2",  "kg/kg", 3, mem_Mccn_co2)
    961 
    962   call WRITEDIAGFI(ngrid, "mem_Mh2o_co2", "H2O mass in CO2 crystal", "kg/kg", 3, mem_Mh2o_co2)
    963970!======================================================================================================================!
    964971! END =================================================================================================================!
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F

    r2409 r2524  
    1414     $                  fluxsurf_sw,zls,
    1515     $                  zdqssed_co2,pcondicea_co2microp,
    16      $                  zdtcloudco2,pdqsc)
     16     $                  pdqsc)
    1717                                                   
    1818       use tracer_mod, only: noms, igcm_h2o_ice, igcm_h2o_vap,
     
    8181      REAL,INTENT(IN) :: zdqssed_co2(ngrid)  ! CO2 flux at the surface  (kg.m-2.s-1)
    8282      REAL,INTENT(IN) :: pcondicea_co2microp(ngrid,nlayer)! tendency due to CO2 condensation (kg/kg.s-1)
    83       REAL,INTENT(IN) :: zdtcloudco2(ngrid,nlayer) ! tendency on temperature due to latent heat                 
    8483
    8584      REAL,INTENT(INOUT) :: piceco2(ngrid) ! CO2 ice on the surface (kg.m-2)
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod4micro.F90

    r2494 r2524  
    6161  subroutine co2condens4micro(ngrid, nlayer, nq, ptimestep, pcapcal, pplay, pplev, ptsrf, pt, pphi, pdt, pdu, pdv, &
    6262                              pdtsrf, pu, pv, pq, pdq, piceco2, psolaralb, pemisurf, pdtc, pdtsrfc, pdpsrf, pduc, &
    63                               pdvc, pdqc, fluxsurf_sw, zls, zdqssed_co2, pcondicea_co2microp, zdtcloudco2)
     63                              pdvc, pdqc, fluxsurf_sw, zls, zdqssed_co2, pcondicea_co2microp)
    6464
    6565  use tracer_mod, only: noms, igcm_co2, igcm_co2_ice, igcm_h2o_vap, igcm_h2o_ice, igcm_dust_number, igcm_dust_mass, &
     
    108108     pdq(ngrid,nlayer,nq),            &! tendency on tracers from previous physical processes
    109109     zdqssed_co2(ngrid),              &! CO2 flux at the surface  (kg.m-2.s-1)
    110      zdtcloudco2(ngrid,nlayer),       &! tendency on temperature due to latent heat
    111110     fluxsurf_sw(ngrid,2),            &! added to calculate flux dependent albedo
    112111     zls,                             &! solar longitude (rad)
     
    297296  end do
    298297
    299   call writediagfi(ngrid, "zcondicea","Condensation rate in layers", " ", 3, zcondicea)
    300 
    301   call writediagfi(ngrid,"zfallice", "Sedimentation rate", " ", 2, zfallice)
    302 
    303298! Compute without microphysics
    304299 diff_zcondicea(1:ngrid, 1:nlayer) = 0.
     
    333328       end if
    334329       pdtc_2(ig,l) = (ztcond_2(ig,l) - zt_2(ig,l))/ptimestep
    335        zcondicea_2(ig,l) = (pplev(ig,l)-pplev(ig,l+1))*ccond*pdtc(ig,l)- zfallheat_2
     330       zcondicea_2(ig,l) = (pplev(ig,l)-pplev(ig,l+1))*ccond*pdtc_2(ig,l)- zfallheat_2
    336331       ! Case when the ice from above sublimes entirely
    337332       ! """""""""""""""""""""""""""""""""""""""""""""""
     
    725720          MQtot = MQtot + masse(m+1)*q(m+1)
    726721          if (m==0) then
    727             call abort_physic('co2condens_mod4micro','vl1d',1)
     722            exit
    728723          end if
    729724        end do
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2514 r2524  
    434434      REAL dsotop(ngrid,nlayer) ! density scaled opacity for topdust
    435435
    436       REAL nccnco2(ngrid,nlayer)   ! true n ccnco2 (kg/kg)
    437       REAL qccnco2(ngrid,nlayer)  ! true q ccnco2 (kg/kg)
    438436
    439437c Test 1d/3d scavenging
     
    16571655               pdt(1:ngrid,1:nlayer) =
    16581656     &              pdt(1:ngrid,1:nlayer) +
    1659      &              zdtcloudco2(1:ngrid,1:nlayer)! --> in co2condens
     1657     &              zdtcloudco2(1:ngrid,1:nlayer)
    16601658           
    16611659
     
    19531951     $                  zdtc,zdtsurfc,pdpsrf,zduc,zdvc,zdqc,
    19541952     $                  fluxsurf_sw,zls,
    1955      $                  zdqssed_co2,zcondicea_co2microp,
    1956      &                  zdtcloudco2)
     1953     $                  zdqssed_co2,zcondicea_co2microp)
    19571954         ! no scavenging yet
    19581955         zdqsc(:,:) = 0.
     
    19651962     $              fluxsurf_sw,zls,
    19661963     $              zdqssed_co2,zcondicea_co2microp,
    1967      &              zdtcloudco2,zdqsc)
     1964     &              zdqsc)
    19681965           DO iq=1, nq
    19691966           DO ig=1,ngrid
     
    19711968           ENDDO  ! (ig)
    19721969           ENDDO    ! (iq)
    1973         end if
     1970        end if ! co2clouds
    19741971        DO l=1,nlayer
    19751972           DO ig=1,ngrid
     
    24162413           endif !(rdstorm)
    24172414
    2418            if (co2clouds) then
    2419               do ig=1,ngrid
    2420                  nccnco2(ig,:) =
    2421      &                zq(ig,:,igcm_ccnco2_number)*tauscaling(ig)
    2422                  qccnco2(ig,:) =
    2423      &                zq(ig,:,igcm_ccnco2_mass)*tauscaling(ig)
    2424               enddo
    2425            endif ! of if (co2clouds)
    24262415                             
    24272416           if (water) then
     
    29272916
    29282917      if (tracer.and.(igcm_co2.ne.0)) then
    2929 !       call WRITEDIAGFI(ngrid,"co2_l1","co2 mix. ratio in 1st layer",
    2930 !    &                   "kg/kg",2,zq(1,1,igcm_co2))
    29312918        call WRITEDIAGFI(ngrid,"co2","co2 mass mixing ratio",
    2932      &                   "kg/kg",3,zq(:,:,igcm_co2))
     2919     &                   "kg.kg-1",3,zq(:,:,igcm_co2))
    29332920
    29342921        if (co2clouds) then
    2935           call WRITEDIAGFI(ngrid,'zdtcloudco2',
    2936      &                     'temperature variation of CO2 latent heat',
    2937      &                     'K/s',3,zdtcloudco2)
    2938  
    2939           call WRITEDIAGFI(ngrid,'ccnqco2','CCNco2 mass mr',
    2940      &                     'kg/kg',3,qccnco2)
     2922          call WRITEDIAGFI(ngrid,'ccnqco2','CCNco2 mmr',
     2923     &                     'kg.kg-1',3,zq(:,:,igcm_ccnco2_mass))
    29412924
    29422925          call WRITEDIAGFI(ngrid,'ccnNco2','CCNco2 number',
    2943      &                     'part/kg',3,nccnco2)
    2944 
    2945           call WRITEDIAGFI(ngrid,'co2_ice','co2_ice','kg/kg',
    2946      &                     3,zq(:,:,igcm_co2_ice))
    2947 
    2948           call WRITEDIAGFI(ngrid,'precip_co2_ice',
    2949      &                     'surface deposition of co2 ice',
    2950      &                     'kg.m-2.s-1',2,
    2951      &                     zdqssed(1:ngrid,igcm_co2_ice))
     2926     &                     'part.kg-1',3,zq(:,:,igcm_ccnco2_number))
     2927
     2928          call WRITEDIAGFI(ngrid,'co2_ice','co2_ice mmr in atm',
     2929     &                     'kg.kg-1', 3, zq(:,:,igcm_co2_ice))
     2930
     2931         call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2,
     2932     &                  emis)
    29522933        end if ! of if (co2clouds)
    29532934      end if ! of if (tracer.and.(igcm_co2.ne.0))
     
    37693750           rave2=max(rave2/max(totrave2,1.e-30),1.e-30)
    37703751          CALL WRITEDIAGFI(ngrid,'rmoym',
    3771      &                      'reffice',
     3752     &                     'reffice',
    37723753     &                      'm',0,rave2)
    37733754
     
    38043785
    38053786        ENDIF ! of IF (water)
    3806 
    3807 
    3808       ! co2clouds
    3809       if (co2clouds) then
    3810         call WRITEDIAGFI(ngrid,'zdtcloudco2',
    3811      &                   'temperature variation of CO2 latent heat',
    3812      &                   'K/s',3,zdtcloudco2)
    3813          call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2,
    3814      &                  emis)
    3815 
    3816       end if
    3817          
     3787       
    38183788ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
    38193789ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Note: See TracChangeset for help on using the changeset viewer.