Changeset 4065 for LMDZ6/trunk/libf/phylmdiso
- Timestamp:
- Jan 26, 2022, 4:00:14 PM (3 years ago)
- Location:
- LMDZ6/trunk/libf/phylmdiso
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmdiso/phys_local_var_mod.F90
r4040 r4065 16 16 REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:) 17 17 !$OMP THREADPRIVATE(u_seri, v_seri) 18 REAL, SAVE, ALLOCATABLE :: l_mixmin(:,:,:),l_mix(:,:,:),tke_dissip(:,:,:), wprime(:,:,:) 18 REAL, SAVE, ALLOCATABLE :: rneb_seri(:,:) 19 !$OMP THREADPRIVATE(rneb_seri) 20 REAL, SAVE, ALLOCATABLE :: d_rneb_dyn(:,:) 21 !$OMP THREADPRIVATE(d_rneb_dyn) 22 REAL, SAVE, ALLOCATABLE :: l_mixmin(:,:,:),l_mix(:,:,:),tke_dissip(:,:,:),wprime(:,:,:) 19 23 !$OMP THREADPRIVATE(l_mixmin, l_mix, tke_dissip,wprime) 20 24 REAL, SAVE, ALLOCATABLE :: tr_seri(:,:,:) … … 602 606 !$OMP THREADPRIVATE(zn2mout) 603 607 608 REAL, SAVE, ALLOCATABLE :: qclr(:,:) 609 !$OMP THREADPRIVATE(qclr) 610 REAL, SAVE, ALLOCATABLE :: qcld(:,:) 611 !$OMP THREADPRIVATE(qcld) 612 REAL, SAVE, ALLOCATABLE :: qss(:,:) 613 !$OMP THREADPRIVATE(qss) 614 REAL, SAVE, ALLOCATABLE :: qvc(:,:) 615 !$OMP THREADPRIVATE(qvc) 616 REAL, SAVE, ALLOCATABLE :: rnebclr(:,:) 617 !$OMP THREADPRIVATE(rnebclr) 618 REAL, SAVE, ALLOCATABLE :: rnebss(:,:) 619 !$OMP THREADPRIVATE(rnebss) 620 REAL, SAVE, ALLOCATABLE :: gamma_ss(:,:) 621 !$OMP THREADPRIVATE(gamma_ss) 622 REAL, SAVE, ALLOCATABLE :: N1_ss(:,:) 623 !$OMP THREADPRIVATE(N1_ss) 624 REAL, SAVE, ALLOCATABLE :: N2_ss(:,:) 625 !$OMP THREADPRIVATE(N2_ss) 626 REAL, SAVE, ALLOCATABLE :: drneb_sub(:,:) 627 !$OMP THREADPRIVATE(drneb_sub) 628 REAL, SAVE, ALLOCATABLE :: drneb_con(:,:) 629 !$OMP THREADPRIVATE(drneb_con) 630 REAL, SAVE, ALLOCATABLE :: drneb_tur(:,:) 631 !$OMP THREADPRIVATE(drneb_tur) 632 REAL, SAVE, ALLOCATABLE :: drneb_avi(:,:) 633 !$OMP THREADPRIVATE(drneb_avi) 634 REAL, SAVE, ALLOCATABLE :: zqsatl(:,:) 635 !$OMP THREADPRIVATE(zqsatl) 636 REAL, SAVE, ALLOCATABLE :: zqsats(:,:) 637 !$OMP THREADPRIVATE(zqsats) 638 REAL, SAVE, ALLOCATABLE :: Tcontr(:,:) 639 !$OMP THREADPRIVATE(Tcontr) 640 REAL, SAVE, ALLOCATABLE :: qcontr(:,:) 641 !$OMP THREADPRIVATE(qcontr) 642 REAL, SAVE, ALLOCATABLE :: qcontr2(:,:) 643 !$OMP THREADPRIVATE(qcontr2) 644 REAL, SAVE, ALLOCATABLE :: fcontrN(:,:) 645 !$OMP THREADPRIVATE(fcontrN) 646 REAL, SAVE, ALLOCATABLE :: fcontrP(:,:) 647 !$OMP THREADPRIVATE(fcontrP) 648 604 649 #ifdef CPP_StratAer 605 650 ! … … 1037 1082 1038 1083 ALLOCATE(zn2mout(klon,6)) 1084 1085 ! Supersaturation 1086 ALLOCATE(rneb_seri(klon,klev)) 1087 ALLOCATE(d_rneb_dyn(klon,klev)) 1088 ALLOCATE(qclr(klon,klev), qcld(klon,klev), qss(klon,klev), qvc(klon,klev)) 1089 ALLOCATE(rnebclr(klon,klev), rnebss(klon,klev), gamma_ss(klon,klev)) 1090 ALLOCATE(N1_ss(klon,klev), N2_ss(klon,klev)) 1091 ALLOCATE(drneb_sub(klon,klev), drneb_con(klon,klev), drneb_tur(klon,klev), drneb_avi(klon,klev)) 1092 ALLOCATE(zqsatl(klon,klev), zqsats(klon,klev)) 1093 ALLOCATE(Tcontr(klon,klev), qcontr(klon,klev), qcontr2(klon,klev), fcontrN(klon,klev), fcontrP(klon,klev)) 1039 1094 1040 1095 #ifdef CPP_StratAer … … 1390 1445 DEALLOCATE(zn2mout) 1391 1446 1447 ! Supersaturation 1448 DEALLOCATE(rneb_seri) 1449 DEALLOCATE(d_rneb_dyn) 1450 DEALLOCATE(qclr, qcld, qss, qvc) 1451 DEALLOCATE(rnebclr, rnebss, gamma_ss) 1452 DEALLOCATE(N1_ss, N2_ss) 1453 DEALLOCATE(drneb_sub, drneb_con, drneb_tur, drneb_avi) 1454 DEALLOCATE(zqsatl, zqsats) 1455 DEALLOCATE(Tcontr, qcontr, qcontr2, fcontrN, fcontrP) 1456 1392 1457 #ifdef CPP_StratAer 1393 1458 ! variables for strat. aerosol CK -
LMDZ6/trunk/libf/phylmdiso/phys_output_ctrlout_mod.F90
r3940 r4065 1940 1940 'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 10) /)) 1941 1941 1942 !--aviation & supersaturation 1943 TYPE(ctrl_out), SAVE :: o_oclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1944 'oclr', 'Clear sky total water', 'kg/kg', (/ ('', i=1, 10) /)) 1945 TYPE(ctrl_out), SAVE :: o_ocld = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1946 'ocld', 'Cloudy sky total water', 'kg/kg', (/ ('', i=1, 10) /)) 1947 TYPE(ctrl_out), SAVE :: o_oss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1948 'oss', 'ISSR total water', 'kg/kg', (/ ('', i=1, 10) /)) 1949 TYPE(ctrl_out), SAVE :: o_ovc = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1950 'ovc', 'In-cloup vapor', 'kg/kg', (/ ('', i=1, 10) /)) 1951 TYPE(ctrl_out), SAVE :: o_rnebclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1952 'rnebclr', 'Clear sky fraction', '-', (/ ('', i=1, 10) /)) 1953 TYPE(ctrl_out), SAVE :: o_rnebss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1954 'rnebss', 'ISSR fraction', '-', (/ ('', i=1, 10) /)) 1955 TYPE(ctrl_out), SAVE :: o_rnebseri = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1956 'rnebseri', 'Cloud fraction', '-', (/ ('', i=1, 10) /)) 1957 TYPE(ctrl_out), SAVE :: o_gammass = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1958 'gammass', 'Gamma supersaturation', '', (/ ('', i=1, 10) /)) 1959 TYPE(ctrl_out), SAVE :: o_N1_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1960 'N1ss', 'N1', '', (/ ('', i=1, 10) /)) 1961 TYPE(ctrl_out), SAVE :: o_N2_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1962 'N2ss', 'N2', '', (/ ('', i=1, 10) /)) 1963 TYPE(ctrl_out), SAVE :: o_drnebsub = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1964 'drnebsub', 'Cloud fraction change because of sublimation', 's-1', (/ ('', i=1, 10) /)) 1965 TYPE(ctrl_out), SAVE :: o_drnebcon = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1966 'drnebcon', 'Cloud fraction change because of condensation', 's-1', (/ ('', i=1, 10) /)) 1967 TYPE(ctrl_out), SAVE :: o_drnebtur = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1968 'drnebtur', 'Cloud fraction change because of turbulence', 's-1', (/ ('', i=1, 10) /)) 1969 TYPE(ctrl_out), SAVE :: o_drnebavi = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1970 'drnebavi', 'Cloud fraction change because of aviation', 's-1', (/ ('', i=1, 10) /)) 1971 TYPE(ctrl_out), SAVE :: o_qsatl = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1972 'qsatl', 'Saturation with respect to liquid water', '', (/ ('', i=1, 10) /)) 1973 TYPE(ctrl_out), SAVE :: o_qsats = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1974 'qsats', 'Saturation with respect to solid water', '', (/ ('', i=1, 10) /)) 1975 TYPE(ctrl_out), SAVE :: o_flight_m = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1976 'flightm', 'Flown meters', 'm/s/mesh', (/ ('', i=1, 10) /)) 1977 TYPE(ctrl_out), SAVE :: o_flight_h2o = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), & 1978 'flighth2o', 'H2O flight emission', 'kg H2O/s/mesh', (/ ('', i=1, 10) /)) 1979 TYPE(ctrl_out), SAVE :: o_Tcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),& 1980 'Tcontr', 'Temperature threshold for contrail formation', 'K', (/ ('',i=1,10) /)) 1981 TYPE(ctrl_out), SAVE :: o_qcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),& 1982 'qcontr', 'Specific humidity threshold for contrail formation','Pa', (/ ('', i=1, 10) /)) 1983 TYPE(ctrl_out), SAVE :: o_qcontr2 = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),& 1984 'qcontr2', 'Specific humidity threshold for contrail formation','kg/kg', (/ ('', i=1, 10) /)) 1985 TYPE(ctrl_out), SAVE :: o_fcontrN = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),& 1986 'fcontrN', 'Fraction with non-persistent contrail in clear-sky', '-', (/ ('', i=1,10)/)) 1987 TYPE(ctrl_out), SAVE :: o_fcontrP = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),& 1988 'fcontrP', 'Fraction with persistent contrail in ISSR', '-', (/ ('', i=1,10)/)) 1989 1942 1990 !!!!!!!!!!!!! Sorties niveaux standards de pression NMC 1943 1991 TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), & -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r4061 r4065 73 73 USE tracinca_mod, ONLY: config_inca 74 74 USE tropopause_m, ONLY: dyn_tropopause 75 USE ice_sursat_mod, ONLY: flight_init, airplane 75 76 USE vampir 76 77 USE VERTICAL_LAYERS_MOD, ONLY: aps,bps, ap, bp … … 167 168 ! [Variables internes non sauvegardees de la physique] 168 169 ! Variables locales pour effectuer les appels en serie 169 t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,tr_seri, &170 t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,tr_seri,rneb_seri, & 170 171 ! Dynamic tendencies (diagnostics) 171 172 d_t_dyn,d_q_dyn,d_ql_dyn,d_qs_dyn,d_u_dyn,d_v_dyn,d_tr_dyn,d_rneb_dyn, & … … 514 515 INTEGER isol ! indice de traceurs pour eau glace 515 516 PARAMETER (isol=3) 517 INTEGER irneb ! indice de traceurs pour fraction nuageuse LS (optional) 518 PARAMETER (irneb=4) 516 519 ! 517 520 ! … … 1393 1396 ENDIF 1394 1397 1395 IF ( (iflag_ice_sursat.GT.0).AND.(iflag_ice_thermo.EQ.0)) THEN1396 WRITE (lunout, *) ' iflag_ice_sursat=1requires iflag_ice_thermo=1 as well'1398 IF (ok_ice_sursat.AND.(iflag_ice_thermo.EQ.0)) THEN 1399 WRITE (lunout, *) ' ok_ice_sursat=y requires iflag_ice_thermo=1 as well' 1397 1400 abort_message='see above' 1398 1401 CALL abort_physic(modname,abort_message,1) 1399 1402 ENDIF 1400 1403 1401 IF ( (iflag_ice_sursat.GT.0).AND.(nqo.NE.4)) THEN1402 WRITE (lunout, *) ' iflag_ice_sursat=1requires 4 H2O tracers ', &1404 IF (ok_ice_sursat.AND.(nqo.NE.4)) THEN 1405 WRITE (lunout, *) ' ok_ice_sursat=y requires 4 H2O tracers ', & 1403 1406 '(H2Ov, H2Ol, H2Oi, rnebi) but nqo=', nqo, '. Might as well stop here.' 1404 1407 abort_message='see above' … … 2403 2406 ELSE IF (nqo.eq.3) THEN 2404 2407 qs_seri(i,k) = qx(i,k,isol) 2408 ELSE IF (nqo.eq.4) THEN 2409 qs_seri(i,k) = qx(i,k,isol) 2410 rneb_seri(i,k) = qx(i,k,irneb) 2405 2411 ENDIF 2406 2412 ENDDO … … 4620 4626 IF (ok_new_lscp) THEN 4621 4627 4622 CALL lscp(phys_tstep,missing_val ue,paprs,pplay, &4628 CALL lscp(phys_tstep,missing_val,paprs,pplay, & 4623 4629 t_seri, q_seri,ptconv,ratqs, & 4624 4630 d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneb_seri, & … … 4628 4634 prfl, psfl, rhcl, & 4629 4635 zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, & 4630 iflag_ice_thermo, iflag_ice_sursat)4636 iflag_ice_thermo, ok_ice_sursat) 4631 4637 4632 4638 ELSE
Note: See TracChangeset
for help on using the changeset viewer.