Changeset 5253 for LMDZ6/trunk
- Timestamp:
- Oct 22, 2024, 2:29:31 PM (2 months ago)
- Location:
- LMDZ6/trunk
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/Dust/read_surface.F90
r5249 r5253 10 10 USE mod_phys_lmdz_para 11 11 USE iophy 12 ! USE netcdf 12 USE netcdf, ONLY: nf90_get_var 13 13 IMPLICIT NONE 14 14 -
LMDZ6/trunk/libf/phylmd/Dust/read_vent.F90
r5249 r5253 3 3 USE mod_grid_phy_lmdz 4 4 USE mod_phys_lmdz_para 5 USE netcdf, ONLY: nf90_get_var 5 6 ! USE write_field_phy 6 7 IMPLICIT NONE -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r5252 r5253 2247 2247 "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /)) 2248 2248 2249 #ifdef CPP_Dust 2250 INCLUDE 'spla_output_dat.h' 2251 #endif 2249 INCLUDE 'spla_output_dat.h' 2252 2250 2253 2251 type(ctrl_out), save:: o_delta_sst & -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r5252 r5253 100 100 ! 101 101 ! 102 #ifdef CPP_Dust103 USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init104 USE phys_output_write_spl_mod105 #else106 102 USE phytrac_mod, ONLY : phytrac_init, phytrac 107 103 USE phys_output_write_mod 108 #endif109 104 110 105 … … 118 113 USE time_phylmdz_mod, ONLY: annee_ref, day_ini, day_ref, start_time 119 114 USE vertical_layers_mod, ONLY: aps, bps, ap, bp 120 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER 115 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER, CPPKEY_DUST 121 116 122 117 #ifdef CPP_RRTM … … 1509 1504 ok_water_mass_fixer=.FALSE. ! OB: by default we do not apply the mass fixer 1510 1505 CALL getin_p('ok_water_mass_fixer',ok_water_mass_fixer) 1511 #ifdef CPP_Dust 1512 IF (iflag_phytrac.EQ.0) THEN 1506 IF (CPPKEY_DUST) THEN 1507 IF (iflag_phytrac.EQ.0) THEN 1513 1508 WRITE(lunout,*) 'In order to run with SPLA, iflag_phytrac will be forced to 1' 1514 1509 iflag_phytrac = 1 1515 1510 ENDIF 1516 #endif 1511 END IF 1517 1512 nvm_lmdz = 13 1518 1513 CALL getin_p('NVM',nvm_lmdz) … … 1888 1883 END IF 1889 1884 1890 #ifdef CPP_Dust 1885 IF (CPPKEY_DUST) THEN 1891 1886 ! Quand on utilise SPLA, on force iflag_phytrac=1 1892 1887 CALL phytracr_spl_out_init() … … 1897 1892 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 1898 1893 flag_aerosol, flag_aerosol_strat, ok_cdnc) 1899 #else 1894 ELSE 1900 1895 ! phys_output_write écrit des variables traceurs seulement si iflag_phytrac == 1 1901 1896 ! donc seulement dans ce cas on doit appeler phytrac_init() … … 1909 1904 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 1910 1905 flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1) 1911 #endif 1906 END IF 1912 1907 1913 1908 … … 4261 4256 !--new aerosol properties SW and LW 4262 4257 ! 4263 #ifdef CPP_Dust 4258 IF (CPPKEY_DUST) THEN 4264 4259 !--SPL aerosol model 4265 4260 CALL splaerosol_optic_rrtm( ok_alw, pplay, paprs, t_seri, rhcl, & … … 4267 4262 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, & 4268 4263 tausum_aero, tau3d_aero) 4269 #else 4264 ELSE 4270 4265 !--climatologies or INCA aerosols 4271 4266 CALL readaerosol_optic_rrtm( debut, aerosol_couple, ok_alw, ok_volcan, & … … 4275 4270 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, & 4276 4271 tausum_aero, drytausum_aero, tau3d_aero) 4277 #endif 4272 END IF 4278 4273 4279 4274 IF (flag_aerosol .EQ. 7) THEN … … 5315 5310 ENDIF 5316 5311 5317 #ifdef CPP_Dust 5312 IF (CPPKEY_DUST) THEN 5318 5313 ! Avec SPLA, iflag_phytrac est forcé =1 5319 5314 CALL phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con, & ! I … … 5332 5327 d_tr_dyn,tr_seri) 5333 5328 5334 #else 5329 ELSE 5335 5330 IF (iflag_phytrac == 1 ) THEN 5336 5331 CALL phytrac ( & … … 5373 5368 ENDIF ! (iflag_phytrac=1) 5374 5369 5375 #endif 5370 END IF 5376 5371 !ENDIF ! (iflag_phytrac=1) 5377 5372 … … 5732 5727 !On effectue les sorties: 5733 5728 5734 #ifdef CPP_Dust 5729 IF (CPPKEY_DUST) THEN 5735 5730 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 5736 5731 pplay, lmax_th, aerosol_couple, & … … 5739 5734 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 5740 5735 flag_aerosol, flag_aerosol_strat, ok_cdnc) 5741 #else 5736 ELSE 5742 5737 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 5743 5738 pplay, lmax_th, aerosol_couple, & … … 5746 5741 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 5747 5742 flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1) 5748 #endif 5743 END IF 5749 5744 5750 5745 #ifndef CPP_XIOS -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r5252 r5253 100 100 ! 101 101 ! 102 #ifdef CPP_Dust103 102 USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init 104 103 USE phys_output_write_spl_mod 105 #else106 104 USE phytrac_mod, ONLY : phytrac_init, phytrac 107 105 USE phys_output_write_mod 108 #endif109 106 110 107 … … 433 430 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra 434 431 USE output_physiqex_mod, ONLY: output_physiqex 435 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER 432 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS, CPPKEY_STRATAER, CPPKEY_DUST 436 433 437 434 … … 1643 1640 iflag_phytrac = 1 ! by default we do want to call phytrac 1644 1641 CALL getin_p('iflag_phytrac',iflag_phytrac) 1645 #ifdef CPP_Dust 1646 IF (iflag_phytrac.EQ.0) THEN 1642 IF (CPPKEY_DUST) THEN 1643 IF (iflag_phytrac.EQ.0) THEN 1647 1644 WRITE(lunout,*) 'In order to run with SPLA, iflag_phytrac will be forced to 1' 1648 1645 iflag_phytrac = 1 1649 1646 ENDIF 1650 #endif 1647 END IF 1651 1648 nvm_lmdz = 13 1652 1649 CALL getin_p('NVM',nvm_lmdz) … … 2047 2044 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2048 2045 2049 #ifdef CPP_Dust 2046 IF (CPPKEY_DUST) THEN 2050 2047 ! Quand on utilise SPLA, on force iflag_phytrac=1 2051 2048 CALL phytracr_spl_out_init() … … 2056 2053 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 2057 2054 flag_aerosol, flag_aerosol_strat, ok_cdnc) 2058 #else 2055 ELSE 2059 2056 ! phys_output_write écrit des variables traceurs seulement si iflag_phytrac == 1 2060 2057 ! donc seulement dans ce cas on doit appeler phytrac_init() … … 2068 2065 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 2069 2066 flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1) 2070 #endif 2067 END IF 2071 2068 2072 2069 … … 5718 5715 !--new aerosol properties SW and LW 5719 5716 ! 5720 #ifdef CPP_Dust 5717 IF (CPPKEY_DUST) THEN 5721 5718 !--SPL aerosol model 5722 5719 CALL splaerosol_optic_rrtm( ok_alw, pplay, paprs, t_seri, rhcl, & … … 5724 5721 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, & 5725 5722 tausum_aero, tau3d_aero) 5726 #else 5723 ELSE 5727 5724 !--climatologies or INCA aerosols 5728 5725 CALL readaerosol_optic_rrtm( debut, aerosol_couple, ok_alw, ok_volcan, & … … 5732 5729 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, & 5733 5730 tausum_aero, drytausum_aero, tau3d_aero) 5734 #endif 5731 END IF 5735 5732 5736 5733 IF (flag_aerosol .EQ. 7) THEN … … 6902 6899 ENDIF 6903 6900 6904 #ifdef CPP_Dust 6901 IF (CPPKEY_DUST) THEN 6905 6902 ! Avec SPLA, iflag_phytrac est forcé =1 6906 6903 CALL phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con, & ! I … … 6919 6916 d_tr_dyn,tr_seri) 6920 6917 6921 #else 6918 ELSE 6922 6919 IF (iflag_phytrac == 1 ) THEN 6923 6920 CALL phytrac ( & … … 6962 6959 ENDIF ! (iflag_phytrac=1) 6963 6960 6964 #endif 6961 END IF 6965 6962 !ENDIF ! (iflag_phytrac=1) 6966 6963 … … 7361 7358 !On effectue les sorties: 7362 7359 7363 #ifdef CPP_Dust 7360 IF (CPPKEY_DUST) THEN 7364 7361 CALL phys_output_write_spl(itap, pdtphys, paprs, pphis, & 7365 7362 pplay, lmax_th, aerosol_couple, & … … 7368 7365 ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse, & 7369 7366 flag_aerosol, flag_aerosol_strat, ok_cdnc) 7370 #else 7367 ELSE 7371 7368 CALL phys_output_write(itap, pdtphys, paprs, pphis, & 7372 7369 pplay, lmax_th, aerosol_couple, & … … 7375 7372 ptconvth, d_u, d_t, qx, d_qx, zmasse, & 7376 7373 flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1) 7377 #endif 7374 END IF 7378 7375 7379 7376 #ifndef CPP_XIOS -
LMDZ6/trunk/makelmdz
r5252 r5253 500 500 fi 501 501 502 if [[ "$dust" == "true" ]] 503 then502 src_dirs="$src_dirs phy${physique}/Dust" 503 if [[ "$dust" == "true" ]]; then 504 504 CPP_KEY="$CPP_KEY CPP_Dust" 505 src_dirs="$src_dirs phy${physique}/Dust"506 505 fi 507 506 -
LMDZ6/trunk/makelmdz_fcm
r5252 r5253 488 488 fi 489 489 490 if [[ "$dust" == "true" ]] 491 then490 DUST_PATH="$LIBFGCM/phy${physique}/Dust" 491 if [[ "$dust" == "true" ]]; then 492 492 CPP_KEY="$CPP_KEY CPP_Dust" 493 DUST_PATH="$LIBFGCM/phy${physique}/Dust"494 493 fi 495 494
Note: See TracChangeset
for help on using the changeset viewer.