Changeset 3188


Ignore:
Timestamp:
Jan 29, 2024, 4:18:28 PM (10 months ago)
Author:
jbclement
Message:

Mars PCM:
Addition of the parameter 'CO2cond_ps' (= 1 by default) for 1D. This coefficient controls the surface pressure change. If 'relaxcoef_ps = 1', then surface pressure varies normally. If 'relaxcoef_ps = 0', then surface pressure is kept constant. The ratio of polar cap surface over planetary surface is a typical value (8.3e-4) for tests. To be defined in "callphys.def" so that both PCM and PEM can read it.
JBC

Location:
trunk
Files:
4 edited

Legend:

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

    r3181 r3188  
    137137real, dimension(:,:,:), allocatable :: q             ! champs advectes
    138138real, dimension(ip1jmp1)            :: ps            ! pression au sol
     139real                                :: CO2cond_ps    ! Coefficient to control the surface pressure change
    139140real, dimension(:),     allocatable :: ps_start_PCM  ! (ngrid) surface pressure
    140141real, dimension(:,:),   allocatable :: ps_timeseries ! (ngrid x timelen) instantaneous surface pressure
     
    300301    allocate(q(ip1jmp1,llm,nqtot))
    301302    allocate(longitude(ngrid),latitude(ngrid),cell_area(ngrid))
     303    CO2cond_ps = 1.
    302304#else
    303305    allocate(q(1,llm,nqtot))
     
    319321    call init_testphys1d('start1D_evol.txt','startfi_evol.nc',.true.,therestart1D,therestartfi,ngrid,nlayer,610., &
    320322                         nq,q,time_0,ps(1),ucov,vcov,teta,ndt,ptif,pks,dtphys,zqsat,dq,dqdyn,day0,day,gru,grv,w,  &
    321                          play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau)
     323                         play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
    322324    ps(2) = ps(1)
    323325    nsplit_phys = 1
     
    643645    do i = 1,ngrid
    644646        do islope = 1,nslope
    645             global_avg_press_new = global_avg_press_new - g*cell_area(i)*tend_co2_ice(i,islope)*subslope_dist(i,islope)/cos(pi*def_slope_mean(islope)/180.)/Total_surface
     647            global_avg_press_new = global_avg_press_new - CO2cond_ps*g*cell_area(i)*tend_co2_ice(i,islope)*subslope_dist(i,islope)/cos(pi*def_slope_mean(islope)/180.)/Total_surface
    646648        enddo
    647649    enddo
  • trunk/LMDZ.MARS/changelog.txt

    r3186 r3188  
    24662466microphysics (just like water clouds). The amplitude is spantCO2, also read from callphys.def
    24672467- The previous logical microphysco2 has been removed.
    2468 - Cloud opacity at 1µm is now computed in the co2cloud.F routine
     2468- Cloud opacity at 1µm is now computed in the co2cloud.F routine
    24692469- Most of the co2 ice clouds scheme writediagfi are now in co2clouds.F
    24702470- Some cleaning of the CO2 ice clouds routine has been done. Not perfect yet!
     
    24822482  if a gravity wave propagates to the mesosphere or not (wheter the wave saturates on its way or not).
    24832483  The sub-grid temperature distribution is cancelled if the saturation index value of the column (between 12 and 80 km) is > 0.1, and is applied (+/- 3K) otherwise. if the keyword satindexco2=.true. in callphys.def (only applies if CLFvaryingCO2=.true. anyway). If set to .false., deactivate this filter and the sub grid T distribution applies everywhere and everytime. See comments in co2clouds.F
    2484 - All that you need to launch a GCM run with co2 clouds is described in co2clouds.F comments. Ehouarn Millour and Anni Määttänen have the files.
     2484- All that you need to launch a GCM run with co2 clouds is described in co2clouds.F comments. Ehouarn Millour and Anni Määttänen have the files.
    24852485 
    24862486== 15/11/2017 == EM
     
    42914291d_coef=X for the diffusion coeficent (4e-4 is the defualt)
    42924292<h2o_ice_depth=X> if its zero or lower there is no subsurface ice (default -1).
    4293 outputs: zdq_ssi, momentarily zdqsdif after the interaction with the SSIzdq_subtimestep,  momentarily flux after the interaction with the SSIzdq_ssi_frost momentarily zdqsdif after the interaction of the frost with the SSI
     4293outputs: zdq_ssi, momentarily zdqsdif after the interaction with the SSIzdq_subtimestep,  momentarily flux after the interaction with the SSIzdq_ssi_frost momentarily zdqsdif after the interaction of the frost with the SSI
    42944294q1, atmospheric first layer water vapor quatity
    42954295qeq, SSI water vapor quantity
     
    44474447
    44484448== 26/01/2024 == CS
    4449 - conc_mod.F : Added new subroutines init_r_cp_mu and update_r_cp_mu_ak to replace initialization of rnew, cpnew, mmean and akknew as constants and their update if callthermos or photochem (same update as in concentrations.F) that were done in physic_mod.F.
     4449- conc_mod.F : Added new subroutines init_r_cp_mu and update_r_cp_mu_ak to replace initialization of rnew, cpnew, mmean and akknew as constants and their update if callthermos or photochem (same update as in concentrations.F) that were done in physic_mod.F.
    44504450- rnew, cpnew, mmean and akknew are now protected meaning they cannot be modified anywhere in the model other than in conc_mod.F .
    44514451- concentrations.F has been removed.
     
    44544454== 26/01/2024 == CS
    44554455Following revision 3185 concentrations.F has been deleted from LMDZ.MARS/aeronomars/
     4456
     4457== 29/01/2024 == JBC
     4458Addition of the parameter 'CO2cond_ps' (= 1 by default) for 1D. This coefficient controls the surface pressure change. If 'relaxcoef_ps = 1', then surface pressure varies normally. If 'relaxcoef_ps = 0', then surface pressure is kept constant. The ratio of polar cap surface over planetary surface is a typical value (8.3e-4) for tests. To be defined in "callphys.def" so that both PCM and PEM can read it.
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90

    r3183 r3188  
    77SUBROUTINE init_testphys1d(start1Dname,startfiname,startfiles_1D,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)
     9                           play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
    1010
    1111use ioipsl_getincom,          only: getin ! To use 'getin'
     
    7878real, dimension(1),                  intent(out) :: latitude, longitude, cell_area
    7979real,                                intent(out) :: atm_wat_profile, atm_wat_tau ! Force atmospheric water profiles
     80real,                                intent(out) :: CO2cond_ps                 ! Relaxation coefficient for psurf
    8081
    8182!=======================================================================
     
    308309write(*,*) " psurf = ",psurf
    309310
     311! Coefficient to control the surface pressure change
     312! To be defined in "callphys.def" so that the PEM can read it asa well
     313CO2cond_ps = 1. ! Default value
     314write(*,*) 'Coefficient to control the surface pressure change?'
     315call getin("CO2cond_ps",CO2cond_ps)
     316if (CO2cond_ps < 0. .or. CO2cond_ps > 1.) then
     317    write(*,*) 'Value for ''CO2cond_ps'' is not between 0 and 1.'
     318    error stop 'Please, specify a correct value!'
     319endif
     320
    310321! Reference pressures
    311322pa = 20.     ! transition pressure (for hybrid coord.)
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90

    r3183 r3188  
    7171real                                :: dttestphys    ! testphys1d timestep
    7272real, dimension(nlayer)             :: play          ! Pressure at the middle of the layers (Pa)
    73 real, dimension(nlayer + 1)         :: plev          ! intermediate pressure levels (pa)
     73real, dimension(nlayer + 1)         :: plev          ! intermediate pressure levels (Pa)
    7474real                                :: psurf         ! Surface pressure
     75real                                :: CO2cond_ps    ! Coefficient to control the surface pressure change
    7576real, dimension(nlayer)             :: u, v          ! zonal, meridional wind
    7677real                                :: gru, grv      ! prescribed "geostrophic" background wind
     
    149150call init_testphys1d('start1D.txt','startfi.nc',startfiles_1D,therestart1D,therestartfi,ngrid,nlayer,odpref, &
    150151                     nq,q,time,psurf,u,v,temp,ndt,ptif,pks,dttestphys,zqsat,dq,dqdyn,day0,day,gru,grv,w,     &
    151                      play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau)
     152                     play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps)
    152153
    153154! Write a "startfi" file
     
    261262    ! Compute pressure for next time step
    262263    ! -----------------------------------
    263     psurf = psurf + dttestphys*dpsurf(1) ! surface pressure change
     264    ! CO2cond_ps is a coefficient to control the surface pressure change
     265    ! If CO2cond_ps = 0, psurf is kept constant; If CO2cond_ps = 1, psurf varies normally
     266    ! CO2cond_ps = 300*400/144.37e6 = 8.31e-4 (ratio of polar cap surface over planetary surface) is a typical value for tests
     267    psurf = psurf + CO2cond_ps*dttestphys*dpsurf(1) ! Surface pressure change
    264268    plev = ap + psurf*bp
    265269    play = aps + psurf*bps
Note: See TracChangeset for help on using the changeset viewer.