Changeset 3207
- Timestamp:
- Feb 8, 2024, 2:50:21 PM (11 months ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3206 r3207 69 69 use compute_soiltemp_mod, only: compute_tsoil_pem 70 70 use writediagpem_mod, only: writediagpem, writediagsoilpem 71 use co2condens_mod, only: CO2cond_ps 71 72 72 73 #ifndef CPP_STD … … 136 137 real, dimension(:,:,:), allocatable :: q ! champs advectes 137 138 real, dimension(ip1jmp1) :: ps ! pression au sol 138 real :: CO2cond_ps ! Coefficient to control the surface pressure change139 139 real, dimension(:), allocatable :: ps_start_PCM ! (ngrid) surface pressure 140 140 real, dimension(:,:), allocatable :: ps_timeseries ! (ngrid x timelen) instantaneous surface pressure … … 296 296 allocate(q(ip1jmp1,llm,nqtot)) 297 297 allocate(longitude(ngrid),latitude(ngrid),cell_area(ngrid)) 298 CO2cond_ps = 1.299 298 #else 300 299 allocate(q(1,llm,nqtot)) … … 316 315 call init_testphys1d('start1D_evol.txt','startfi_evol.nc',therestart1D,therestartfi,ngrid,nlayer,610.,nq,q, & 317 316 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) 319 318 ps(2) = ps(1) 320 319 nsplit_phys = 1 -
trunk/LMDZ.MARS/changelog.txt
r3205 r3207 4473 4473 == 08/02/2024 == JBC 4474 4474 Fix 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 4477 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'. -
trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F
r3159 r3207 5 5 logical, save :: scavco2cond = .false. ! flag for using scavenging_by_co2 6 6 !$OMP THREADPRIVATE(scavco2cond) 7 real, save :: CO2cond_ps = 1. ! Coefficient to control the surface pressure change 7 8 8 9 CONTAINS -
trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90
r3203 r3207 7 7 SUBROUTINE init_testphys1d(start1Dname,startfiname,therestart1D,therestartfi,ngrid,nlayer,odpref, & 8 8 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) 10 10 11 11 use ioipsl_getincom, only: getin ! To use 'getin' … … 43 43 use paleoclimate_mod, only: paleoclimate, ini_paleoclimate_h, end_paleoclimate_h 44 44 use comslope_mod, only: nslope, subslope_dist, ini_comslope_h, end_comslope_h 45 use co2condens_mod, only: CO2cond_ps 45 46 ! Mostly for XIOS outputs: 46 47 use mod_const_mpi, only: COMM_LMDZ … … 79 80 real, dimension(1), intent(out) :: latitude, longitude, cell_area 80 81 real, intent(out) :: atm_wat_profile, atm_wat_tau ! Force atmospheric water profiles 81 real, intent(out) :: CO2cond_ps ! Coefficient to control the surface pressure change82 82 83 83 !======================================================================= … … 308 308 ! Coefficient to control the surface pressure change 309 309 ! 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 310 312 ! -------------------------------------------------------------------- 311 313 CO2cond_ps = 1. ! Default value -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90
r3205 r3207 72 72 real, dimension(nlayer + 1) :: plev ! intermediate pressure levels (Pa) 73 73 real :: psurf ! Surface pressure 74 real :: CO2cond_ps ! Coefficient to control the surface pressure change75 74 real, dimension(nlayer) :: u, v ! zonal, meridional wind 76 75 real :: gru, grv ! prescribed "geostrophic" background wind … … 147 146 call init_testphys1d('start1D.txt','startfi.nc',therestart1D,therestartfi,ngrid,nlayer,odpref,nq,q, & 148 147 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) 150 149 151 150 ! Write a "startfi" file … … 259 258 ! Compute pressure for next time step 260 259 ! ----------------------------------- 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 265 261 plev = ap + psurf*bp 266 262 play = aps + psurf*bps 267 263 268 264 ! Increment tracers 269 if (abs(CO2cond_ps) < 1.e-10) dq(1,:,igcm_co2) = 0.270 265 q = q + dttestphys*dq 271 266 enddo ! End of time stepping loop (idt=1,ndt) -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r3203 r3207 17 17 use calchim_mod, only: calchim, ichemistry, zdqchim, zdqschim 18 18 use watersat_mod, only: watersat 19 use co2condens_mod, only: co2condens 19 use co2condens_mod, only: co2condens, CO2cond_ps 20 20 use co2cloud_mod, only: co2cloud 21 21 use callradite_mod, only: callradite … … 2231 2231 $ zdqssed_co2,zcondicea_co2microp, 2232 2232 & 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 2233 2241 2234 2242 DO iq=1, nq
Note: See TracChangeset
for help on using the changeset viewer.