Changeset 6126 for LMDZ6/trunk/libf
- Timestamp:
- Mar 24, 2026, 5:45:21 PM (8 days ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 5 edited
-
phylmd/Dust/phys_output_write_spl_mod.F90 (modified) (4 diffs)
-
phylmd/phys_output_mod.F90 (modified) (5 diffs)
-
phylmd/phys_output_write_mod.F90 (modified) (4 diffs)
-
phylmd/physiq_mod.F90 (modified) (4 diffs)
-
phylmdiso/physiq_mod.F90 (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/Dust/phys_output_write_spl_mod.F90
r6059 r6126 81 81 ! ug Routine pour définir (lors du premier passageà) ET sortir les variables 82 82 SUBROUTINE phys_output_write_spl(itap, pdtphys, paprs, pphis, & 83 pplay, lmax_th, aerosol_couple, & 84 ok_ade, ok_aie, ivap, ok_sync, & 83 pplay, lmax_th, & 84 !aerosol_couple, & 85 !ok_ade, ok_aie, 86 ivap, ok_sync, & 85 87 ptconv, read_climoz, clevSTD, ptconvth, & 86 d_t, qx, d_qx, d_tr_dyn, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc) 88 d_t, qx, d_qx, d_tr_dyn, zmasse) 89 !, flag_aerosol, flag_aerosol_strat, ok_cdnc) 87 90 88 91 ! This subroutine does the actual writing of diagnostics that were … … 93 96 USE dimphy, ONLY: klon, klev, klevp1 94 97 USE ocean_slab_mod, ONLY: nslay 98 USE conf_phys_m, ONLY: aerosol_couple, ok_ade, ok_aie, ok_cdnc, & 99 flag_aerosol, flag_aerosol_strat 95 100 USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, & 96 101 is_ave, is_sic, o_contfracATM, o_contfracOR, & … … 406 411 INTEGER :: itap, ivap, read_climoz 407 412 INTEGER, DIMENSION(klon) :: lmax_th 408 LOGICAL :: aerosol_couple, ok_sync 409 LOGICAL :: ok_ade, ok_aie 413 !LOGICAL :: aerosol_couple, ok_sync 414 LOGICAL :: ok_sync 415 !LOGICAL :: ok_ade, ok_aie 410 416 LOGICAL, DIMENSION(klon, klev) :: ptconv, ptconvth 411 417 REAL :: pdtphys … … 418 424 REAL,DIMENSION(klon,klev,nbtr),INTENT(IN) :: d_tr_dyn 419 425 REAL, DIMENSION(klon, nbp_lev) :: zmasse 420 INTEGER :: flag_aerosol_strat421 INTEGER :: flag_aerosol422 LOGICAL :: ok_cdnc426 !INTEGER :: flag_aerosol_strat 427 !INTEGER :: flag_aerosol 428 !LOGICAL :: ok_cdnc 423 429 REAL, DIMENSION(3) :: freq_moyNMC 424 430 -
LMDZ6/trunk/libf/phylmd/phys_output_mod.F90
r5927 r6126 31 31 32 32 SUBROUTINE phys_output_open(rlon,rlat,pim,tabij,ipt,jpt,plon,plat, & 33 jjmp1,nlevSTD,clevSTD,rlevSTD, dtime, ok_veget, & 34 type_ocean, iflag_pbl,iflag_pbl_split,ok_mensuel,ok_journe, & 35 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, read_climoz, & 36 phys_out_filestations, & 37 aerosol_couple, flag_aerosol_strat, & 38 pdtphys, paprs, pphis, pplay, lmax_th, ptconv, ptconvth, ivap, & 33 jjmp1,nlevSTD,clevSTD,rlevSTD, dtime, read_climoz, & 34 phys_out_filestations, pdtphys, paprs, pphis, & 35 pplay, lmax_th, ptconv, ptconvth, ivap, & 39 36 d_u, d_t, qx, d_qx, zmasse, ok_sync) 40 37 … … 53 50 USE vertical_layers_mod, ONLY: ap,bp,preff,presnivs, aps, bps, pseudoalt, presinter 54 51 USE time_phylmdz_mod, ONLY: day_ini, itau_phy, start_time, annee_ref, day_ref 55 56 52 USE AERO_MOD, ONLY : nbands_lw_rrtm !FC 57 58 53 ! ug Pour les sorties XIOS 59 54 USE wxios_mod … … 65 60 #endif 66 61 #endif 67 68 62 USE clesphys_mod_h 69 63 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER 70 64 USE yomcst_mod_h 65 USE surface_data, ONLY : type_ocean, ok_veget 66 USE conf_phys_m, ONLY : ok_mensuel,ok_journe, & 67 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, & 68 aerosol_couple, flag_aerosol_strat 69 USE compbl_mod_h, ONLY : iflag_pbl,iflag_pbl_split 71 70 72 71 IMPLICIT NONE … … 96 95 INTEGER :: jjmp1 97 96 INTEGER :: nlevSTD, radpas 98 LOGICAL :: ok_mensuel, ok_journe, ok_hf, ok_instan99 LOGICAL :: ok_LES,ok_ade,ok_aie100 INTEGER :: flag_aerosol_strat101 LOGICAL :: aerosol_couple102 97 INTEGER, INTENT(IN):: read_climoz ! read ozone climatology 103 98 ! Allowed values are 0, 1 and 2 … … 114 109 INTEGER :: nsrf, k, iq, iff, i, j, ilev, itr, itrb, ixt, iiso, izone 115 110 INTEGER :: naero 116 LOGICAL :: ok_veget117 INTEGER :: iflag_pbl118 INTEGER :: iflag_pbl_split119 111 CHARACTER(LEN=4) :: bb2 120 112 CHARACTER(LEN=2) :: bb3 121 CHARACTER(LEN=6) :: type_ocean122 113 INTEGER, DIMENSION(nbp_lon*jjmp1) :: ndex2d 123 114 INTEGER, DIMENSION(nbp_lon*jjmp1*klev) :: ndex3d -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r6116 r6126 17 17 ! ug Routine pour définir (lors du premier passage) ET sortir les variables 18 18 SUBROUTINE phys_output_write(itap, pdtphys, paprs, pphis, & 19 pplay, lmax_th, aerosol_couple, & 20 ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, ok_sync, & 19 pplay, lmax_th, ivap, iliq, isol, ibs, ok_sync, & 21 20 ptconv, read_climoz, clevSTD, ptconvth, & 22 d_u, d_t, qx, d_qx, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1)21 d_u, d_t, qx, d_qx, zmasse, t, u1, v1) 23 22 24 23 ! This subroutine does the actual writing of diagnostics that were … … 35 34 USE water_int_mod, ONLY: water_int 36 35 USE lmdz_gwd_ini, ONLY: ok_orodr, ok_orolf, ok_hines, ok_gwd_rando 36 USE conf_phys_m, ONLY : aerosol_couple, ok_ade, ok_aie, ok_volcan, & 37 flag_aerosol, flag_aerosol_strat, ok_cdnc 37 38 USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, & 38 39 o_longitude, o_latitude, & … … 554 555 INTEGER :: itap, ivap, iliq, isol, ibs, read_climoz 555 556 INTEGER, DIMENSION(klon) :: lmax_th 556 LOGICAL :: aerosol_couple, ok_sync 557 LOGICAL :: ok_ade, ok_aie, ok_volcan 557 LOGICAL :: ok_sync 558 558 LOGICAL, DIMENSION(klon, klev) :: ptconv, ptconvth 559 559 REAL :: pdtphys … … 565 565 REAL, DIMENSION(klon,klev,nqtot) :: qx, d_qx 566 566 REAL, DIMENSION(klon, klev) :: zmasse 567 INTEGER :: flag_aerosol_strat568 INTEGER :: flag_aerosol569 LOGICAL :: ok_cdnc570 567 REAL, DIMENSION(klon,klev) :: t ! output for phystoken - offline flux 571 568 REAL, DIMENSION(klon) :: u1, v1 ! output for phystoken - offline flux -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r6125 r6126 1597 1597 CALL phys_output_open(longitude_deg,latitude_deg,nCFMIP,tabijGCM, & 1598 1598 iGCM,jGCM,lonGCM,latGCM, & 1599 jjmp1,nlevSTD,clevSTD,rlevSTD, phys_tstep,ok_veget, & 1600 type_ocean,iflag_pbl,iflag_pbl_split,ok_mensuel,ok_journe, & 1601 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, & 1602 read_climoz, phys_out_filestations, & 1603 aerosol_couple, & 1604 flag_aerosol_strat, pdtphys, paprs, pphis, & 1599 jjmp1,nlevSTD,clevSTD,rlevSTD, phys_tstep, read_climoz, & 1600 phys_out_filestations, pdtphys, paprs, pphis, & 1605 1601 pplay, lmax_th, ptconv, ptconvth, ivap, & 1606 1602 d_u, d_t, qx, d_qx, zmasse, ok_sync_omp) … … 1774 1770 CALL phytracr_spl_out_init() 1775 1771 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 1776 pplay, lmax_th, aerosol_couple,&1777 ok_ade, ok_aie,ivap, ok_sync, &1772 pplay, lmax_th, & 1773 ivap, ok_sync, & 1778 1774 ptconv, read_climoz, clevSTD, & 1779 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 1780 flag_aerosol, flag_aerosol_strat, ok_cdnc) 1775 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse) 1781 1776 ELSE 1782 1777 ! phys_output_write écrit des variables traceurs seulement si iflag_phytrac == 1 … … 1786 1781 ENDIF 1787 1782 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 1788 pplay, lmax_th, aerosol_couple,&1789 ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, ok_sync,&1783 pplay, lmax_th, & 1784 ivap, iliq, isol, ibs, ok_sync, & 1790 1785 ptconv, read_climoz, clevSTD, & 1791 1786 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 1792 flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1)1787 t, u1, v1) 1793 1788 END IF 1794 1789 … … 5333 5328 IF (CPPKEY_DUST) THEN 5334 5329 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 5335 pplay, lmax_th, aerosol_couple,&5336 ok_ade, ok_aie,ivap, ok_sync, &5330 pplay, lmax_th, & 5331 ivap, ok_sync, & 5337 5332 ptconv, read_climoz, clevSTD, & 5338 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 5339 flag_aerosol, flag_aerosol_strat, ok_cdnc) 5333 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse) 5340 5334 ELSE 5341 5335 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 5342 pplay, lmax_th, aerosol_couple, & 5343 ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, & 5344 ok_sync, ptconv, read_climoz, clevSTD, & 5336 pplay, lmax_th, & 5337 ivap, iliq, isol, ibs, & 5338 ok_sync, & 5339 ptconv, read_climoz, clevSTD, & 5345 5340 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 5346 flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1)5341 t, u1, v1) 5347 5342 END IF 5348 5343 -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r6125 r6126 1719 1719 ok_sync_omp=.FALSE. 1720 1720 CALL getin('ok_sync',ok_sync_omp) 1721 1721 1722 CALL phys_output_open(longitude_deg,latitude_deg,nCFMIP,tabijGCM, & 1722 1723 iGCM,jGCM,lonGCM,latGCM, & 1723 jjmp1,nlevSTD,clevSTD,rlevSTD, phys_tstep,ok_veget, & 1724 type_ocean,iflag_pbl,iflag_pbl_split,ok_mensuel,ok_journe, & 1725 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, & 1726 read_climoz, phys_out_filestations, & 1727 aerosol_couple, & 1728 flag_aerosol_strat, pdtphys, paprs, pphis, & 1724 jjmp1,nlevSTD,clevSTD,rlevSTD, phys_tstep, read_climoz, & 1725 phys_out_filestations, pdtphys, paprs, pphis, & 1729 1726 pplay, lmax_th, ptconv, ptconvth, ivap, & 1730 1727 d_u, d_t, qx, d_qx, zmasse, ok_sync_omp) … … 1902 1899 CALL phytracr_spl_out_init() 1903 1900 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 1904 pplay, lmax_th, aerosol_couple, & 1905 ok_ade, ok_aie, ivap, ok_sync, & 1906 ptconv, read_climoz, clevSTD, & 1907 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 1908 flag_aerosol, flag_aerosol_strat, ok_cdnc) 1901 pplay, lmax_th, & 1902 ivap, ok_sync, & 1903 ptconv, read_climoz, clevSTD, & 1904 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse) 1909 1905 ELSE 1910 1906 ! phys_output_write écrit des variables traceurs seulement si iflag_phytrac == 1 … … 1913 1909 CALL phytrac_init() 1914 1910 ENDIF 1915 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 1916 pplay, lmax_th, aerosol_couple, & 1917 ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, ok_sync,& 1918 ptconv, read_climoz, clevSTD, & 1919 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 1920 flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1) 1911 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 1912 pplay, lmax_th, & 1913 ivap, iliq, isol, ibs, & 1914 ok_sync, & 1915 ptconv, read_climoz, clevSTD, & 1916 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 1917 t, u1, v1) 1921 1918 END IF 1922 1923 1919 1924 1920 IF (using_xios) THEN … … 6407 6403 END IF 6408 6404 6409 IF (CPPKEY_COSP2) THEN6410 IF (itap.eq.1.or.MOD(itap,NINT(freq_cosp/phys_tstep)).EQ.0) THEN6411 6412 IF (prt_level .GE.10) THEN6413 print*,'freq_cosp',freq_cosp6414 ENDIF6415 mr_ozone=wo(:, :, 1) * dobson_u * 1e3 / zmasse6416 print*,'Dans physiq.F avant appel '6417 ! s ref_liq,ref_ice6418 CALL phys_cosp2(itap,phys_tstep,missing_val, &6419 klon,klev,longitude_deg,latitude_deg,presnivs,overlap, &6420 JrNt,ref_liq,ref_ice, &6421 pctsrf(:,is_ter)+pctsrf(:,is_lic), &6422 zu10m,zv10m,pphis, &6423 zphi,paprs(:,1:klev),pplay,zxtsol,t_seri, &6424 qx(:,:,ivap),zx_rh,cldfra,rnebcon,flwc,fiwc, &6425 prfl(:,1:klev),psfl(:,1:klev), &6426 pmflxr(:,1:klev),pmflxs(:,1:klev), &6427 mr_ozone,cldtau, cldemi)6428 ENDIF6429 END IF6430 6431 6405 IF (CPPKEY_COSPV2) THEN 6432 6406 IF (itap.eq.1.or.MOD(itap,NINT(freq_cosp/phys_tstep)).EQ.0) THEN … … 7045 7019 7046 7020 IF (CPPKEY_DUST) THEN 7047 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 7048 pplay, lmax_th, aerosol_couple, & 7049 ok_ade, ok_aie, ivap, ok_sync, & 7050 ptconv, read_climoz, clevSTD, & 7051 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 7052 flag_aerosol, flag_aerosol_strat, ok_cdnc) 7021 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 7022 pplay, lmax_th, & 7023 ivap, ok_sync, & 7024 ptconv, read_climoz, clevSTD, & 7025 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse) 7053 7026 ELSE 7054 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 7055 pplay, lmax_th, aerosol_couple, & 7056 ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, & 7057 ok_sync, ptconv, read_climoz, clevSTD, & 7058 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 7059 flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1) 7027 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 7028 pplay, lmax_th, & 7029 ivap, iliq, isol, ibs, & 7030 ok_sync, & 7031 ptconv, read_climoz, clevSTD, & 7032 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 7033 t, u1, v1) 7060 7034 END IF 7061 7035
Note: See TracChangeset
for help on using the changeset viewer.
