Changeset 5452 for LMDZ6/branches/contrails/libf/phylmd/physiq_mod.F90
- Timestamp:
- Dec 23, 2024, 6:12:29 PM (40 hours ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails/libf/phylmd/physiq_mod.F90
r5450 r5452 327 327 dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, & 328 328 !-- LSCP - aviation and contrails variables 329 Tcontr, qcontr, qcontr2, fcontrN, fcontrP, & 330 dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, & 329 rcont_seri, d_rcont_dyn, flight_dist, flight_h2o, & 330 Tcritcont, qcritcont, potcontfraP, potcontfraNP, & 331 dcf_avi, dqi_avi, dqvc_avi, & 331 332 ! 332 333 cldemi, & … … 511 512 ! 512 513 ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional), blowing snow (optional) 513 INTEGER,SAVE :: ivap, iliq, isol, ibs, icf, irvc 514 !$OMP THREADPRIVATE(ivap, iliq, isol, ibs, icf, irvc )514 INTEGER,SAVE :: ivap, iliq, isol, ibs, icf, irvc, ircont 515 !$OMP THREADPRIVATE(ivap, iliq, isol, ibs, icf, irvc, ircont) 515 516 ! 516 517 ! … … 1356 1357 icf = strIdx(tracers(:)%name, addPhase('H2O', 'f')) 1357 1358 irvc = strIdx(tracers(:)%name, addPhase('H2O', 'c')) 1359 ircont = strIdx(tracers(:)%name, addPhase('H2O', 'a')) 1358 1360 ! CALL init_etat0_limit_unstruct 1359 1361 ! IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed) … … 1418 1420 IF (ok_plane_contrail.AND..NOT.ok_ice_supersat) THEN 1419 1421 WRITE (lunout, *) ' ok_plane_contrail=y requires ok_ice_supersat=y ' 1422 abort_message='see above' 1423 CALL abort_physic(modname,abort_message,1) 1424 ENDIF 1425 1426 IF (ok_plane_contrail.AND.(nqo.LT.6)) THEN 1427 WRITE (lunout, *) ' ok_plane_contrail=y requires 6 H2O tracers ', & 1428 '(H2O_g, H2O_l, H2O_s, H2O_f, H2O_c, H2O_a) but nqo=', nqo, '. Might as well stop here.' 1420 1429 abort_message='see above' 1421 1430 CALL abort_physic(modname,abort_message,1) … … 1843 1852 & RG,RD,RCPD,RKAPPA,RLVTT,RETV) 1844 1853 CALL ratqs_ini(klon,klev,iflag_thermals,lunout,nbsrf,is_lic,is_ter,RG,RV,RD,RCPD,RLSTT,RLVTT,RTT) 1845 CALL lscp_ini(pdtphys,lunout,prt_level,ok_ice_supersat,iflag_ratqs,fl_cor_ebil, & 1854 CALL lscp_ini(pdtphys,lunout,prt_level,ok_ice_supersat,& 1855 ok_plane_contrail,iflag_ratqs,fl_cor_ebil, & 1846 1856 RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RV,RG,RPI,EPS_W) 1847 1857 CALL blowing_snow_ini(RCPD, RLSTT, RLVTT, RLMLT, & … … 2433 2443 cf_seri(i,k) = 0. 2434 2444 rvc_seri(i,k)= 0. 2445 rcont_seri(i,k)= 0. 2435 2446 !CR: ATTENTION, on rajoute la variable glace 2436 2447 IF (nqo.EQ.2) THEN !--vapour and liquid only … … 2443 2454 cf_seri(i,k) = qx(i,k,icf) 2444 2455 rvc_seri(i,k) = qx(i,k,irvc) 2456 ENDIF 2457 IF (ok_plane_contrail) THEN 2458 rcont_seri(i,k) = qx(i,k,ircont) 2445 2459 ENDIF 2446 2460 IF (ok_bs) THEN … … 2521 2535 d_cf_dyn(:,:) = (cf_seri(:,:)-cf_ancien(:,:))/phys_tstep 2522 2536 d_rvc_dyn(:,:)= (rvc_seri(:,:)-rvc_ancien(:,:))/phys_tstep 2537 d_rcont_dyn(:,:)= (rcont_seri(:,:)-rcont_ancien(:,:))/phys_tstep 2523 2538 CALL water_int(klon,klev,q_seri,zmasse,zx_tmp_fi2d) 2524 2539 d_q_dyn2d(:)=(zx_tmp_fi2d(:)-prw_ancien(:))/phys_tstep … … 2542 2557 d_cf_dyn(:,:) = 0.0 2543 2558 d_rvc_dyn(:,:)= 0.0 2559 d_rcont_dyn(:,:)= 0.0 2544 2560 d_q_dyn2d(:) = 0.0 2545 2561 d_ql_dyn2d(:) = 0.0 … … 3889 3905 dcf_sub, dcf_con, dcf_mix, dqi_adj, dqi_sub, dqi_con, dqi_mix, & 3890 3906 dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix, qsatliq, qsatice, & 3891 Tcontr, qcontr, qcontr2, fcontrN, fcontrP, &3892 dcf_avi, dqi_avi, dqvc_avi, flight_dist, flight_h2o, &3907 rcont_seri, flight_dist, flight_h2o, & 3908 Tcritcont, qcritcont, potcontfraP, potcontfraNP, dcf_avi, dqi_avi, dqvc_avi, & 3893 3909 cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv, & 3894 3910 qraindiag, qsnowdiag, dqreva, dqssub, dqrauto, dqrcol, dqrmelt, & … … 5606 5622 d_qx(i,k,icf) = ( cf_seri(i,k) - qx(i,k,icf) ) / phys_tstep 5607 5623 d_qx(i,k,irvc) = ( rvc_seri(i,k) - qx(i,k,irvc) ) / phys_tstep 5624 IF (nqo.ge.6 .and. ok_plane_contrail) THEN 5625 d_qx(i,k,ircont) = ( rcont_seri(i,k) - qx(i,k,ircont) ) / phys_tstep 5626 ENDIF 5608 5627 ENDIF 5609 5628 … … 5642 5661 cf_ancien(:,:) = cf_seri(:,:) 5643 5662 rvc_ancien(:,:)= rvc_seri(:,:) 5663 rcont_ancien(:,:)= rcont_seri(:,:) 5644 5664 CALL water_int(klon,klev,q_ancien,zmasse,prw_ancien) 5645 5665 CALL water_int(klon,klev,ql_ancien,zmasse,prlw_ancien)
Note: See TracChangeset
for help on using the changeset viewer.