Changeset 2981 for LMDZ5/trunk/libf/phylmd
- Timestamp:
- Aug 4, 2017, 7:06:56 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/regr_pr_time_av_m.F90
r2968 r2981 90 90 REAL, PARAMETER :: rho = 1.3 !--- Max tropopauses sigma ratio 91 91 REAL, PARAMETER :: o3t0 = 1.E-7 !--- Nominal O3 vmr at tropopause 92 LOGICAL, PARAMETER :: lo3tp=.FALSE. !--- Use param ztrized O3 vmr at tropopause92 LOGICAL, PARAMETER :: lo3tp=.FALSE. !--- Use parametrized O3 vmr at tropopause 93 93 94 94 CONTAINS … … 201 201 ELSE IF(lO3Trop) THEN 202 202 CALL msg(lAdjTro,' O3 CONCENTRATION AT TROPOPAUSE from file.') 203 ELSE IF(lo3tp) THEN 204 CALL msg(lAdjTro,' PARAMETRIZED O3 concentration at tropopause.') 203 205 ELSE 204 CALL msg(lAdjTro,' PARAMETRIZEDO3 concentration at tropopause.')206 CALL msg(lAdjTro,' CONSTANT O3 concentration at tropopause.') 205 207 END IF 206 208 END IF … … 211 213 !=== TIME INTERPOLATION FOR MONTHLY INPUT FILES 212 214 IF(linterp) THEN 213 WRITE(str,'(3(a,f 7.3))')'Interpolating O3 at julian day ',julien,' from '&215 WRITE(str,'(3(a,f12.8))')'Interpolating O3 at julian day ',julien,' from '& 214 216 &//'fields at times ',time_in(irec),' and ', time_in(irec+1) 215 217 CALL msg(.TRUE.,str,sub) … … 327 329 END IF 328 330 ELSE !=== MONTHLY FILES: GET 2 NEAREST RECS 331 IF(lfirst) irec=locate(time_in,julien) !--- Need to locate surrounding times 329 332 IF(.NOT.lfirst.AND.julien<time_in(irec+1)) RETURN 330 CALL msg(.TRUE., sub,'Refreshing adjacent Ozone forcing fields.')333 CALL msg(.TRUE.,'Refreshing adjacent Ozone forcing fields.',sub) 331 334 IF(lfirst) THEN !=== READ EARLIEST TIME FIELDS 332 irec=locate(time_in,julien) !--- Need to locate surrounding times 335 WRITE(str,'(a,i3,a,f12.8,a)')'Previous available field update (step 1): '& 336 //'reading record ',irec,' (time ',time_in(irec),')' 337 CALL msg(.TRUE.,str,sub) 333 338 CALL get_3Dfields(v1m) !--- Read ozone field(s) 334 339 IF(lAdjTro) THEN !--- Additional files for fields strain … … 338 343 END IF 339 344 ELSE !=== SHIFT FIELDS 345 irec=irec+1 346 WRITE(str,'(a,i3,a,f12.8,a)')'Previous available field update: shifting'& 347 //' current next one (',irec,', time ',time_in(irec),')' 348 CALL msg(.TRUE.,str,sub) 340 349 v1m=v1p !--- Ozone fields 341 350 IF(lAdjTro) THEN !--- Additional files for fields strain … … 346 355 END IF 347 356 irec=irec+1 357 WRITE(str,'(a,i3,a,f12.8,a)')'Next available field update: reading record'& 358 ,irec,' (time ',time_in(irec),')' 359 CALL msg(.TRUE.,str,sub) 348 360 CALL get_3Dfields(v1p) !--- Read ozone field(s) 349 361 IF(lAdjTro) THEN !--- Additional files for fields strain … … 352 364 IF(lO3Trop) CALL get_2Dfield(otp,"tro3_at_tropopause") 353 365 END IF 354 IF(lfirst)irec=irec-1366 irec=irec-1 355 367 END IF 356 368
Note: See TracChangeset
for help on using the changeset viewer.