Changeset 3188 for trunk/LMDZ.MARS/libf/phymars
- Timestamp:
- Jan 29, 2024, 4:18:28 PM (13 months ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars/dyn1d
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90
r3183 r3188 7 7 SUBROUTINE init_testphys1d(start1Dname,startfiname,startfiles_1D,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 )9 play,plev,latitude,longitude,cell_area,atm_wat_profile,atm_wat_tau,CO2cond_ps) 10 10 11 11 use ioipsl_getincom, only: getin ! To use 'getin' … … 78 78 real, dimension(1), intent(out) :: latitude, longitude, cell_area 79 79 real, intent(out) :: atm_wat_profile, atm_wat_tau ! Force atmospheric water profiles 80 real, intent(out) :: CO2cond_ps ! Relaxation coefficient for psurf 80 81 81 82 !======================================================================= … … 308 309 write(*,*) " psurf = ",psurf 309 310 311 ! Coefficient to control the surface pressure change 312 ! To be defined in "callphys.def" so that the PEM can read it asa well 313 CO2cond_ps = 1. ! Default value 314 write(*,*) 'Coefficient to control the surface pressure change?' 315 call getin("CO2cond_ps",CO2cond_ps) 316 if (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!' 319 endif 320 310 321 ! Reference pressures 311 322 pa = 20. ! transition pressure (for hybrid coord.) -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90
r3183 r3188 71 71 real :: dttestphys ! testphys1d timestep 72 72 real, dimension(nlayer) :: play ! Pressure at the middle of the layers (Pa) 73 real, dimension(nlayer + 1) :: plev ! intermediate pressure levels ( pa)73 real, dimension(nlayer + 1) :: plev ! intermediate pressure levels (Pa) 74 74 real :: psurf ! Surface pressure 75 real :: CO2cond_ps ! Coefficient to control the surface pressure change 75 76 real, dimension(nlayer) :: u, v ! zonal, meridional wind 76 77 real :: gru, grv ! prescribed "geostrophic" background wind … … 149 150 call init_testphys1d('start1D.txt','startfi.nc',startfiles_1D,therestart1D,therestartfi,ngrid,nlayer,odpref, & 150 151 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) 152 153 153 154 ! Write a "startfi" file … … 261 262 ! Compute pressure for next time step 262 263 ! ----------------------------------- 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 264 268 plev = ap + psurf*bp 265 269 play = aps + psurf*bps
Note: See TracChangeset
for help on using the changeset viewer.