Changeset 3838
- Timestamp:
- Jul 7, 2025, 3:11:29 PM (3 days ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/changelog.txt
r3831 r3838 4894 4894 4895 4895 == 04/07/2025 == JBC 4896 Imposing the prescribed atmospheric water profile though 'dq' instead of 'q' directly (more correct). 4896 Imposing the prescribed atmospheric water profile though 'dq' instead of 'q' directly for the 1D model (more correct). 4897 4898 == 04/07/2025 == JBC 4899 More explicit code and comments about the prescribtion of the atmospheric water profile in the 1D model. 4900 4901 == 07/07/2025 == JBC 4902 Fixing formula for prescribing atmospheric water profile in the 1D model (already under discretization) + Addition of more explicit comments. -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F90
r3836 r3838 195 195 ! Wind increment: specific for 1D 196 196 ! ------------------------------- 197 ! The physics compute the tendencies on u and v, 198 ! here we just add Coriolos effect 197 ! The physics computes the tendencies on u and v, here we just add Coriolos effect 199 198 !do ilayer = 1,nlayer 200 199 ! du(ilayer) = du(ilayer) + ptif*(v(ilayer) - grv) … … 207 206 !endif 208 207 208 ! Water tracer increment: specific for 1D 209 ! --------------------------------------- 210 ! The physics computes the tendency on q(1,:,igcm_h2o_vap), here we can mimic an effect of the "3D dynamics" 211 ! either by forcing a profile or by relaxing towards a prescribed profile 212 if (water .and. prescribed_h2ovap) then ! If atmospheric water profile is prescribed 213 if (h2ovap_relax_time < 0.) then ! Forcing 214 ! For some tests: unless it reaches saturation (maximal value) 215 !call watersat(nlayer,temp,play,zqsat) 216 !dq(1,:,igcm_h2o_vap) = (min(zqsat(:),q_prescribed_h2o_vap(:)) - q(1,:,igcm_h2o_vap))/dttestphys 217 dq(1,:,igcm_h2o_vap) = (q_prescribed_h2o_vap(:) - q(1,:,igcm_h2o_vap))/dttestphys 218 else ! Relaxation 219 dq(1,:,igcm_h2o_vap) = dq(1,:,igcm_h2o_vap) - (q(1,:,igcm_h2o_vap) - q_prescribed_h2o_vap(:))/h2ovap_relax_time 220 endif 221 endif 222 209 223 ! Compute time for next time step 210 224 ! ------------------------------- … … 231 245 play = aps + psurf*bps 232 246 233 ! Prescription of atmospheric water if asked234 ! ------------------------------------------235 if (water .and. prescribed_h2ovap) then ! If atmospheric water profile is prescribed236 if (h2ovap_relax_time < 0.) then ! Forcing237 !call watersat(nlayer,temp,play,zqsat)238 dq(1,:,igcm_h2o_vap) = (q_prescribed_h2o_vap(:) - q(1,:,igcm_h2o_vap))/dttestphys239 else ! Relaxation240 dq(1,:,igcm_h2o_vap) = (q_prescribed_h2o_vap(:) + (q(1,:,igcm_h2o_vap) - q_prescribed_h2o_vap(:))*dexp(-dttestphys/h2ovap_relax_time) - q(1,:,igcm_h2o_vap))/dttestphys241 endif242 endif243 244 247 ! Compute tracers for next time step 245 248 ! ----------------------------------
Note: See TracChangeset
for help on using the changeset viewer.