Changeset 3207


Ignore:
Timestamp:
Feb 8, 2024, 2:50:21 PM (11 months ago)
Author:
jbclement
Message:

Mars PCM:
Modification of r3200 for the 1D model: the 'CO2cond_ps' coefficient (now defined in "co2condens_mod.F") is applied not only to update the surface pressure but also all the tracers and the winds from now on. It is done in "physiq_mod.F" just after the call to 'co2condens'.
JBC

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/pem.F90

    r3206 r3207  
    6969use compute_soiltemp_mod,       only: compute_tsoil_pem
    7070use writediagpem_mod,           only: writediagpem, writediagsoilpem
     71use co2condens_mod,             only: CO2cond_ps
    7172
    7273#ifndef CPP_STD
     
    136137real, dimension(:,:,:), allocatable :: q             ! champs advectes
    137138real, dimension(ip1jmp1)            :: ps            ! pression au sol
    138 real                                :: CO2cond_ps    ! Coefficient to control the surface pressure change
    139139real, dimension(:),     allocatable :: ps_start_PCM  ! (ngrid) surface pressure
    140140real, dimension(:,:),   allocatable :: ps_timeseries ! (ngrid x timelen) instantaneous surface pressure
     
    296296    allocate(q(ip1jmp1,llm,nqtot))
    297297    allocate(longitude(ngrid),latitude(ngrid),cell_area(ngrid))
    298     CO2cond_ps = 1.
    299298#else
    300299    allocate(q(1,llm,nqtot))
     
    316315    call init_testphys1d('start1D_evol.txt','startfi_evol.nc',therestart1D,therestartfi,ngrid,nlayer,610.,nq,q, &
    317316                         time_0,ps(1),ucov,vcov,teta,ndt,ptif,pks,dtphys,zqsat,dq,dqdyn,day0,day,gru,grv,w,     &
    318                          play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
     317                         play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau)
    319318    ps(2) = ps(1)
    320319    nsplit_phys = 1
  • trunk/LMDZ.MARS/changelog.txt

    r3205 r3207  
    44734473== 08/02/2024 == JBC
    44744474Fix the situation where the 1D model read the "startfi.nc" or "start1D.txt" if they were present even though 'startfiles=.false', instead of initializing by default.
     4475
     4476== 08/02/2024 == JBC
     4477Modification of r3200 for the 1D model: the 'CO2cond_ps' coefficient (now defined in "co2condens_mod.F") is applied not only to update the surface pressure but also all the tracers and the winds from now on. It is done in "physiq_mod.F" just after the call to 'co2condens'.
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F

    r3159 r3207  
    55      logical, save :: scavco2cond = .false. ! flag for using scavenging_by_co2
    66!$OMP THREADPRIVATE(scavco2cond)
     7      real,    save :: CO2cond_ps = 1.       ! Coefficient to control the surface pressure change
    78
    89      CONTAINS
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90

    r3203 r3207  
    77SUBROUTINE init_testphys1d(start1Dname,startfiname,therestart1D,therestartfi,ngrid,nlayer,odpref, &
    88                           nq,q,time,psurf,u,v,temp,ndt,ptif,pks,dttestphys,zqsat,dq,dqdyn,day0,day,gru,grv,w,  &
    9                            play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
     9                           play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau)
    1010
    1111use ioipsl_getincom,          only: getin ! To use 'getin'
     
    4343use paleoclimate_mod,         only: paleoclimate, ini_paleoclimate_h, end_paleoclimate_h
    4444use comslope_mod,             only: nslope, subslope_dist, ini_comslope_h, end_comslope_h
     45use co2condens_mod,           only: CO2cond_ps
    4546! Mostly for XIOS outputs:
    4647use mod_const_mpi,            only: COMM_LMDZ
     
    7980real, dimension(1),                  intent(out) :: latitude, longitude, cell_area
    8081real,                                intent(out) :: atm_wat_profile, atm_wat_tau ! Force atmospheric water profiles
    81 real,                                intent(out) :: CO2cond_ps                   ! Coefficient to control the surface pressure change
    8282
    8383!=======================================================================
     
    308308! Coefficient to control the surface pressure change
    309309! To be defined in "callphys.def" so that the PEM can read it asa well
     310! If CO2cond_ps = 0, surface pressure is kept constant; If CO2cond_ps = 1, surface pressure varies normally
     311! CO2cond_ps = 300*400/144.37e6 = 8.31e-4 (ratio of polar cap surface over planetary surface) is a typical value for tests
    310312! --------------------------------------------------------------------
    311313CO2cond_ps = 1. ! Default value
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90

    r3205 r3207  
    7272real, dimension(nlayer + 1)         :: plev          ! intermediate pressure levels (Pa)
    7373real                                :: psurf         ! Surface pressure
    74 real                                :: CO2cond_ps    ! Coefficient to control the surface pressure change
    7574real, dimension(nlayer)             :: u, v          ! zonal, meridional wind
    7675real                                :: gru, grv      ! prescribed "geostrophic" background wind
     
    147146call init_testphys1d('start1D.txt','startfi.nc',therestart1D,therestartfi,ngrid,nlayer,odpref,nq,q, &
    148147                     time,psurf,u,v,temp,ndt,ptif,pks,dttestphys,zqsat,dq,dqdyn,day0,day,gru,grv,w, &
    149                      play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
     148                     play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau)
    150149
    151150! Write a "startfi" file
     
    259258    ! Compute pressure for next time step
    260259    ! -----------------------------------
    261     ! CO2cond_ps is a coefficient to control the surface pressure change
    262     ! If CO2cond_ps = 0, psurf is kept constant; If CO2cond_ps = 1, psurf varies normally
    263     ! CO2cond_ps = 300*400/144.37e6 = 8.31e-4 (ratio of polar cap surface over planetary surface) is a typical value for tests
    264     psurf = psurf + CO2cond_ps*dttestphys*dpsurf(1) ! Surface pressure change
     260    psurf = psurf + dttestphys*dpsurf(1) ! Surface pressure change
    265261    plev = ap + psurf*bp
    266262    play = aps + psurf*bps
    267263
    268264    ! Increment tracers
    269     if (abs(CO2cond_ps) < 1.e-10) dq(1,:,igcm_co2) = 0.
    270265    q = q + dttestphys*dq
    271266enddo ! End of time stepping loop (idt=1,ndt)
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r3203 r3207  
    1717      use calchim_mod, only: calchim, ichemistry, zdqchim, zdqschim
    1818      use watersat_mod, only: watersat
    19       use co2condens_mod, only: co2condens
     19      use co2condens_mod, only: co2condens, CO2cond_ps
    2020      use co2cloud_mod, only: co2cloud
    2121      use callradite_mod, only: callradite
     
    22312231     $              zdqssed_co2,zcondicea_co2microp,
    22322232     &              zdqsc)
     2233
     2234          if (ngrid == 1) then ! For the 1D model
     2235          ! CO2cond_ps is a coefficient to control the surface pressure change
     2236              pdpsrf = CO2cond_ps*pdpsrf
     2237              zduc   = CO2cond_ps*zduc
     2238              zdvc   = CO2cond_ps*zdvc
     2239              zdqc   = CO2cond_ps*zdqc
     2240          endif
    22332241
    22342242         DO iq=1, nq
Note: See TracChangeset for help on using the changeset viewer.