Changeset 94 for trunk/mesoscale/LMD_LES_MARS
- Timestamp:
- Mar 14, 2011, 12:11:24 PM (14 years ago)
- Location:
- trunk/mesoscale/LMD_LES_MARS
- Files:
-
- 2 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mesoscale/LMD_LES_MARS/LMD_LES_MARS_install
r34 r94 35 35 ln -sf ../modif_mars/module_em.F . 36 36 ln -sf ../modif_mars/module_diffusion_em.F . 37 ln -sf ../modif_mars/Makefile_dyn_em Makefile 37 38 cd .. 38 39 … … 50 51 ln -sf ../modif_mars/module_lmd_driver.F . 51 52 ln -sf ../modif_mars/module_physics_addtendc.F . 53 ln -sf ../modif_mars/module_physics_init.F . 52 54 cd .. 53 55 -
trunk/mesoscale/LMD_LES_MARS/modif_mars/Makefile
r17 r94 7 7 8 8 MODULES = \ 9 module_bl_ysu.o \10 module_bl_mrf.o \11 module_bl_gfs.o \12 module_bl_myjpbl.o \13 module_bl_acm.o \14 module_cu_g3.o \15 module_cu_kf.o \16 module_cu_bmj.o \17 module_cu_kfeta.o \18 module_cu_gd.o \19 module_cu_sas.o \20 module_mp_kessler.o \21 module_mp_lin.o \22 module_mp_wsm3.o \23 module_mp_wsm5.o \24 module_mp_wsm6.o \25 module_mp_etanew.o \26 module_mp_thompson.o \27 module_mp_gsfcgce.o \28 module_mp_morr_two_moment.o \29 module_ra_sw.o \30 module_ra_gsfcsw.o \31 module_ra_rrtm.o \32 module_ra_cam_support.o \33 module_ra_cam.o \34 module_ra_gfdleta.o \35 module_ra_hs.o \36 module_sf_sfclay.o \37 module_sf_gfs.o \38 module_sf_slab.o \39 module_sf_noahdrv.o \40 module_sf_noahlsm.o \41 module_sf_urban.o \42 module_sf_lsm_nmm.o \43 module_sf_pxlsm.o \44 module_sf_ruclsm.o \45 module_sf_sfcdiags.o \46 module_sf_myjsfc.o \47 module_sf_pxsfclay.o \48 9 module_physics_addtendc.o \ 49 10 module_physics_init.o \ 50 module_gfs_machine.o \51 module_gfs_funcphys.o \52 module_gfs_physcons.o \53 module_progtm.o \54 module_pbl_driver.o \55 module_data_gocart_dust.o \56 module_cumulus_driver.o \57 module_microphysics_driver.o \58 module_microphysics_zero_out.o \59 module_mixactivate.o \60 module_radiation_driver.o \61 module_surface_driver.o \62 module_diagnostics.o \63 module_fdda_psufddagd.o \64 module_fddagd_driver.o \65 module_fddaobs_rtfdda.o \66 module_fddaobs_driver.o \67 11 module_lmd_driver.o 68 12 … … 94 38 # DEPENDENCIES : only dependencies after this line (don't remove the word DEPENDENCIES) 95 39 96 module_bl_myjpbl.o: ../share/module_model_constants.o97 98 module_bl_gfs.o: module_gfs_machine.o \99 module_gfs_physcons.o100 101 module_cu_bmj.o: ../share/module_model_constants.o102 103 module_cu_kf.o: ../frame/module_wrf_error.o104 105 module_cu_kfeta.o: ../frame/module_wrf_error.o106 107 module_cu_gd.o:108 109 module_gfs_physcons.o: module_gfs_machine.o110 111 module_gfs_funcphys.o: module_gfs_machine.o \112 module_gfs_physcons.o113 114 module_cu_sas.o: module_gfs_machine.o \115 module_gfs_funcphys.o \116 module_gfs_physcons.o117 118 module_ra_gfdleta.o: ../frame/module_dm.o119 120 module_ra_rrtm.o: ../frame/module_wrf_error.o \121 ../frame/module_dm.o122 123 module_ra_cam_support.o: ../frame/module_wrf_error.o124 125 module_ra_cam.o: module_ra_cam_support.o \126 ../frame/module_wrf_error.o127 128 module_mp_lin.o : ../frame/module_wrf_error.o129 130 module_sf_lsm_nmm.o: ../share/module_model_constants.o \131 ../share/module_MPP.o132 133 module_sf_myjsfc.o: ../share/module_model_constants.o134 135 module_sf_gfs.o: module_gfs_machine.o \136 module_gfs_funcphys.o \137 module_gfs_physcons.o \138 module_progtm.o139 140 module_sf_noahdrv.o: module_sf_noahlsm.o module_data_gocart_dust.o \141 module_sf_urban.o142 143 module_sf_noahlsm.o: ../share/module_model_constants.o144 145 module_sf_ruclsm.o: ../frame/module_wrf_error.o module_data_gocart_dust.o146 147 module_sf_pxlsm.o: ../share/module_model_constants.o148 149 40 module_physics_addtendc.o: \ 150 module_cu_kf.o \151 module_cu_kfeta.o \152 41 ../frame/module_state_description.o \ 153 42 ../frame/module_configure.o 154 43 155 44 module_physics_init.o : \ 156 module_ra_rrtm.o \157 module_ra_cam.o \158 module_ra_cam_support.o \159 module_ra_sw.o \160 module_ra_gsfcsw.o \161 module_ra_gfdleta.o \162 module_ra_hs.o \163 module_sf_sfclay.o \164 module_sf_slab.o \165 module_sf_myjsfc.o \166 module_sf_pxsfclay.o \167 module_sf_noahlsm.o \168 module_sf_noahdrv.o \169 module_sf_ruclsm.o \170 module_sf_pxlsm.o \171 module_bl_ysu.o \172 module_bl_mrf.o \173 module_bl_gfs.o \174 module_bl_acm.o \175 module_bl_myjpbl.o \176 module_cu_kf.o \177 module_cu_g3.o \178 module_cu_kfeta.o \179 module_cu_bmj.o \180 module_cu_gd.o \181 module_cu_sas.o \182 module_mp_wsm3.o \183 module_mp_wsm5.o \184 module_mp_wsm6.o \185 module_mp_etanew.o \186 module_fdda_psufddagd.o \187 module_fddaobs_rtfdda.o \188 module_mp_thompson.o \189 module_mp_gsfcgce.o \190 module_mp_morr_two_moment.o \191 45 ../frame/module_state_description.o \ 192 46 ../frame/module_configure.o \ 193 47 ../frame/module_wrf_error.o \ 194 48 ../frame/module_dm.o \ 195 ../share/module_model_constants.o \196 module_sf_lsm_nmm.o197 198 module_microphysics_driver.o: \199 module_mixactivate.o \200 module_mp_kessler.o module_mp_lin.o \201 module_mp_wsm3.o module_mp_wsm5.o \202 module_mp_wsm6.o module_mp_etanew.o \203 module_mp_thompson.o \204 module_mp_gsfcgce.o \205 module_mp_morr_two_moment.o \206 ../frame/module_driver_constants.o \207 ../frame/module_state_description.o \208 ../frame/module_wrf_error.o \209 ../frame/module_configure.o \210 49 ../share/module_model_constants.o 211 212 module_cumulus_driver.o: \213 module_cu_kf.o \214 module_cu_g3.o \215 module_cu_kfeta.o \216 module_cu_bmj.o \217 module_cu_gd.o \218 module_cu_sas.o \219 ../frame/module_state_description.o \220 ../frame/module_configure.o \221 ../share/module_model_constants.o222 223 module_pbl_driver.o: \224 module_bl_myjpbl.o \225 module_bl_acm.o \226 module_bl_ysu.o \227 module_bl_mrf.o \228 module_bl_gfs.o \229 ../frame/module_state_description.o \230 ../frame/module_configure.o \231 ../share/module_model_constants.o232 233 module_data_gocart_dust.o:234 235 module_mixactivate.o: \236 module_radiation_driver.o237 238 module_radiation_driver.o: \239 module_ra_sw.o \240 module_ra_gsfcsw.o \241 module_ra_rrtm.o \242 module_ra_cam.o \243 module_ra_gfdleta.o \244 module_ra_hs.o \245 ../frame/module_driver_constants.o \246 ../frame/module_state_description.o \247 ../frame/module_dm.o \248 ../frame/module_domain.o \249 ../frame/module_wrf_error.o \250 ../frame/module_configure.o \251 ../share/module_bc.o \252 ../share/module_model_constants.o253 254 module_surface_driver.o: \255 module_sf_sfclay.o \256 module_sf_slab.o \257 module_sf_myjsfc.o \258 module_sf_pxsfclay.o \259 module_sf_gfs.o \260 module_sf_noahdrv.o \261 module_sf_ruclsm.o \262 module_sf_pxlsm.o \263 module_sf_sfcdiags.o \264 ../frame/module_state_description.o \265 ../frame/module_configure.o \266 ../share/module_model_constants.o \267 module_sf_lsm_nmm.o268 269 module_diagnostics.o: ../frame/module_dm.o270 271 272 module_mixactivate.o: \273 module_radiation_driver.o274 275 module_fddagd_driver.o: \276 ../frame/module_state_description.o \277 ../frame/module_configure.o \278 ../share/module_model_constants.o \279 module_fdda_psufddagd.o280 281 module_fddaobs_driver.o: \282 ../frame/module_domain.o \283 ../share/module_bc.o \284 ../share/module_model_constants.o \285 module_fddaobs_rtfdda.o286 50 287 51 module_lmd_driver.o: \ -
trunk/mesoscale/LMD_LES_MARS/modif_mars/module_first_rk_step_part1.F
r92 r94 32 32 USE module_domain, ONLY : domain 33 33 USE module_configure, ONLY : grid_config_rec_type, model_config_rec 34 USE module_radiation_driver, ONLY : pre_radiation_driver, radiation_driver 35 USE module_surface_driver, ONLY : surface_driver 36 USE module_cumulus_driver, ONLY : cumulus_driver 37 USE module_pbl_driver, ONLY : pbl_driver 38 USE module_fddagd_driver, ONLY : fddagd_driver 34 !!!!****MARS MARS 35 !!!!****MARS MARS 36 ! USE module_radiation_driver, ONLY : pre_radiation_driver, radiation_driver 37 ! USE module_surface_driver, ONLY : surface_driver 38 ! USE module_cumulus_driver, ONLY : cumulus_driver 39 ! USE module_pbl_driver, ONLY : pbl_driver 40 ! USE module_fddagd_driver, ONLY : fddagd_driver 39 41 USE module_em, ONLY : init_zero_tendency 40 42 !!MARS … … 172 174 BENCH_END(phy_prep_tim) 173 175 174 ! radiation 175 176 ! this driver is only needed to handle non-local shadowing effects 177 CALL pre_radiation_driver ( grid, config_flags & 178 & ,itimestep=grid%itimestep, ra_call_offset=grid%ra_call_offset & 179 & ,XLAT=grid%xlat, XLONG=grid%xlong, GMT=grid%gmt & 180 & ,julian=grid%julian, xtime=grid%xtime, RADT=grid%radt & 181 & ,STEPRA=grid%stepra & 182 & ,ht=grid%ht,dx=grid%dx,dy=grid%dy,sina=grid%sina,cosa=grid%cosa & 183 & ,shadowmask=shadowmask,slope_rad=config_flags%slope_rad & 184 & ,topo_shading=config_flags%topo_shading & 185 & ,shadlen=config_flags%shadlen,ht_shad=grid%ht_shad,ht_loc=ht_loc & 186 & ,ht_shad_bxs=grid%ht_shad_bxs, ht_shad_bxe=grid%ht_shad_bxe & 187 & ,ht_shad_bys=grid%ht_shad_bys, ht_shad_bye=grid%ht_shad_bye & 188 & ,nested=config_flags%nested, min_ptchsz=grid%min_ptchsz & 189 & ,spec_bdy_width=config_flags%spec_bdy_width & 190 ! indexes 191 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 192 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 193 & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 194 & ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1) & 195 & ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1) & 196 & ,kts=k_start, kte=min(k_end,kde-1) & 197 & ,num_tiles=grid%num_tiles ) 198 199 CALL wrf_debug ( 200 , ' call radiation_driver' ) 200 BENCH_START(rad_driver_tim) 201 202 CALL radiation_driver( & 203 & ACFRCV=grid%acfrcv ,ACFRST=grid%acfrst ,ALBEDO=grid%albedo & 204 & ,CFRACH=grid%cfrach ,CFRACL=grid%cfracl ,CFRACM=grid%cfracm & 205 & ,CUPPT=grid%cuppt ,CZMEAN=grid%czmean ,DT=grid%dt & 206 & ,DZ8W=dz8w ,EMISS=grid%emiss ,GLW=grid%glw & 207 & ,GMT=grid%gmt ,GSW=grid%gsw ,HBOT=grid%hbot & 208 & ,HTOP=grid%htop ,HBOTR=grid%hbotr ,HTOPR=grid%htopr & 209 & ,ICLOUD=config_flags%icloud & 210 & ,ITIMESTEP=grid%itimestep,JULDAY=grid%julday , JULIAN=grid%julian & 211 & ,JULYR=grid%julyr ,LW_PHYSICS=config_flags%ra_lw_physics & 212 & ,NCFRCV=grid%ncfrcv ,NCFRST=grid%ncfrst ,NPHS=1 & 213 & ,P8W=p8w ,P=p_phy ,PI=pi_phy & 214 & ,RADT=grid%radt ,RA_CALL_OFFSET=grid%ra_call_offset & 215 & ,RHO=rho ,RLWTOA=grid%rlwtoa & 216 & ,RSWTOA=grid%rswtoa ,RTHRATEN=grid%rthraten & 217 & ,RTHRATENLW=grid%rthratenlw ,RTHRATENSW=grid%rthratensw & 218 & ,SNOW=grid%snow ,STEPRA=grid%stepra ,SWDOWN=grid%swdown & 219 & ,SWDOWNC=grid%swdownc ,SW_PHYSICS=config_flags%ra_sw_physics & 220 & ,T8W=t8w ,T=t_phy ,TAUCLDC=grid%taucldc & 221 & ,TAUCLDI=grid%taucldi ,TSK=grid%tsk ,VEGFRA=grid%vegfra & 222 & ,WARM_RAIN=grid%warm_rain ,XICE=grid%xice ,XLAND=grid%xland & 223 & ,XLAT=grid%xlat ,XLONG=grid%xlong & 224 !Optional urban 225 & ,DECLIN_URB=grid%declin_urb ,COSZ_URB2D=grid%cosz_urb2d & 226 & ,OMG_URB2D=grid%omg_urb2d & 227 ! 228 & ,Z=grid%z & 229 & ,LEVSIZ=grid%levsiz, N_OZMIXM=num_ozmixm & 230 & ,N_AEROSOLC=num_aerosolc & 231 & ,PAERLEV=grid%paerlev & 232 & ,CAM_ABS_DIM1=grid%cam_abs_dim1, CAM_ABS_DIM2=grid%cam_abs_dim2 & 233 & ,CAM_ABS_FREQ_S=grid%cam_abs_freq_s & 234 & ,XTIME=grid%xtime & 235 ,CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 236 ! indexes 237 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 238 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 239 & ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1) & 240 & ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1) & 241 & ,kts=k_start, kte=min(k_end,kde-1) & 242 & ,num_tiles=grid%num_tiles & 243 ! Optional 244 & , CLDFRA=grid%cldfra & 245 & , PB=grid%pb & 246 & , F_ICE_PHY=grid%f_ice_phy,F_RAIN_PHY=grid%f_rain_phy & 247 & , QV=moist(ims,kms,jms,P_QV), F_QV=F_QV & 248 & , QC=moist(ims,kms,jms,P_QC), F_QC=F_QC & 249 & , QR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 250 & , QI=moist(ims,kms,jms,P_QI), F_QI=F_QI & 251 & , QS=moist(ims,kms,jms,P_QS), F_QS=F_QS & 252 & , QG=moist(ims,kms,jms,P_QG), F_QG=F_QG & 253 & , QNDROP=scalar(ims,kms,jms,P_QNDROP), F_QNDROP=F_QNDROP & 254 #ifdef ACFLUX 255 & ,ACSWUPT=acswupt ,ACSWUPTC=acswuptc & 256 & ,ACSWDNT=acswdnt ,ACSWDNTC=acswdntc & 257 & ,ACSWUPB=acswupb ,ACSWUPBC=acswupbc & 258 & ,ACSWDNB=acswdnb ,ACSWDNBC=acswdnbc & 259 & ,ACLWUPT=aclwupt ,ACLWUPTC=aclwuptc & 260 & ,ACLWDNT=aclwdnt ,ACLWDNTC=aclwdntc & 261 & ,ACLWUPB=aclwupb ,ACLWUPBC=aclwupbc & 262 & ,ACLWDNB=aclwdnb ,ACLWDNBC=aclwdnbc & 263 & ,SWUPT=swupt ,SWUPTC=swuptc & 264 & ,SWDNT=swdnt ,SWDNTC=swdntc & 265 & ,SWUPB=swupb ,SWUPBC=swupbc & 266 & ,SWDNB=swdnb ,SWDNBC=swdnbc & 267 & ,LWUPT=lwupt ,LWUPTC=lwuptc & 268 & ,LWDNT=lwdnt ,LWDNTC=lwdntc & 269 & ,LWUPB=lwupb ,LWUPBC=lwupbc & 270 & ,LWDNB=lwdnb ,LWDNBC=lwdnbc & 271 #endif 272 & ,LWCF=grid%lwcf & 273 & ,SWCF=grid%swcf & 274 & ,OLR=grid%olr & 275 & ,OZMIXM=grid%ozmixm, PIN=grid%pin & 276 & ,M_PS_1=grid%m_ps_1, M_PS_2=grid%m_ps_2, AEROSOLC_1=grid%aerosolc_1 & 277 & ,AEROSOLC_2=grid%aerosolc_2, M_HYBI0=grid%m_hybi & 278 & ,ABSTOT=grid%abstot, ABSNXT=grid%absnxt, EMSTOT=grid%emstot & 279 #ifdef WRF_CHEM 280 & ,CU_RAD_FEEDBACK=config_flags%cu_rad_feedback & 281 & ,AER_RA_FEEDBACK=config_flags%aer_ra_feedback & 282 & ,QC_ADJUST=grid%GD_CLOUD_B , QI_ADJUST=grid%GD_CLOUD2_B & 283 & ,PM2_5_DRY=grid%pm2_5_dry, PM2_5_WATER=grid%pm2_5_water & 284 & ,PM2_5_DRY_EC=grid%pm2_5_dry_ec & 285 & ,TAUAER300=grid%tauaer1, TAUAER400=grid%tauaer2 & ! jcb 286 & ,TAUAER600=grid%tauaer3, TAUAER999=grid%tauaer4 & ! jcb 287 & ,GAER300=grid%gaer1, GAER400=grid%gaer2, GAER600=grid%gaer3, GAER999=grid%gaer4 & ! jcb 288 & ,WAER300=grid%waer1, WAER400=grid%waer2, WAER600=grid%waer3, WAER999=grid%waer4 & ! jcb 289 #endif 290 & ,slope_rad=config_flags%slope_rad,topo_shading=config_flags%topo_shading & 291 & ,shadowmask=shadowmask,ht=grid%ht,dx=grid%dx,dy=grid%dy,sina=grid%sina,cosa=grid%cosa ) 292 293 BENCH_END(rad_driver_tim) 294 295 !********* Surface driver 296 ! surface 297 298 BENCH_START(surf_driver_tim) 299 300 !----------------------------------------------------------------- 301 ! urban related variable are added to arguments of surface_driver 302 !----------------------------------------------------------------- 303 num_roof_layers = grid%num_soil_layers !urban 304 num_wall_layers = grid%num_soil_layers !urban 305 num_road_layers = grid%num_soil_layers !urban 306 CALL nl_get_iswater(grid%id, iswater) 307 308 CALL wrf_debug ( 200 , ' call surface_driver' ) 309 310 CALL surface_driver( & 311 & ACSNOM=grid%acsnom ,ACSNOW=grid%acsnow ,AKHS=grid%akhs & 312 & ,AKMS=grid%akms ,ALBBCK=grid%albbck ,ALBEDO=grid%albedo & 313 & ,EMBCK=grid%embck & 314 & ,BR=br ,CANWAT=grid%canwat ,CHKLOWQ=chklowq & 315 & ,CT=grid%ct ,DT=grid%dt ,DX=grid%dx & 316 & ,DZ8W=dz8w ,DZS=grid%dzs ,FLHC=grid%flhc & 317 & ,FLQC=grid%flqc ,GLW=grid%glw ,GRDFLX=grid%grdflx & 318 & ,GSW=grid%gsw ,SWDOWN=grid%swdown ,GZ1OZ0=gz1oz0 ,HFX=grid%hfx & 319 & ,HT=grid%ht ,IFSNOW=config_flags%ifsnow ,ISFFLX=config_flags%isfflx & 320 & ,ISLTYP=grid%isltyp ,ITIMESTEP=grid%itimestep & 321 & ,IVGTYP=grid%ivgtyp ,LH=grid%lh ,LOWLYR=grid%lowlyr & 322 & ,MAVAIL=grid%mavail ,NUM_SOIL_LAYERS=config_flags%num_soil_layers & 323 & ,P8W=p8w ,PBLH=grid%pblh ,PI_PHY=pi_phy & 324 & ,PSFC=grid%psfc ,PSHLTR=grid%pshltr ,PSIH=psih & 325 & ,BLDT=grid%bldt ,CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 326 & ,PSIM=psim ,P_PHY=p_phy ,Q10=grid%q10 & 327 & ,Q2=grid%q2 ,QFX=grid%qfx ,QSFC=grid%qsfc & 328 & ,QSHLTR=grid%qshltr ,QZ0=grid%qz0 ,RAINCV=grid%raincv & 329 & ,RA_LW_PHYSICS=config_flags%ra_lw_physics ,RHO=rho & 330 & ,RMOL=grid%rmol ,SFCEVP=grid%sfcevp ,SFCEXC=grid%sfcexc & 331 & ,SFCRUNOFF=grid%sfcrunoff & 332 & ,SF_SFCLAY_PHYSICS=config_flags%sf_sfclay_physics & 333 & ,SF_SURFACE_PHYSICS=config_flags%sf_surface_physics ,SH2O=grid%sh2o & 334 & ,SHDMAX=grid%shdmax ,SHDMIN=grid%shdmin ,SMOIS=grid%smois & 335 & ,SMSTAV=grid%smstav ,SMSTOT=grid%smstot ,SNOALB=grid%snoalb & 336 & ,SNOW=grid%snow ,SNOWC=grid%snowc ,SNOWH=grid%snowh & 337 & ,SST=grid%sst ,SST_UPDATE=grid%sst_update & 338 & ,STEPBL=grid%stepbl ,TH10=grid%th10 ,TH2=grid%th2 & 339 & ,THZ0=grid%thz0 ,TH_PHY=th_phy ,TKE_MYJ=grid%tke_myj & 340 & ,TMN=grid%tmn ,TSHLTR=grid%tshltr ,TSK=grid%tsk & 341 & ,TSLB=grid%tslb ,T_PHY=t_phy ,U10=grid%u10 & 342 & ,URATX=grid%uratx ,VRATX=grid%vratx ,TRATX=grid%tratx & 343 & ,UDRUNOFF=grid%udrunoff ,UST=grid%ust ,UZ0=grid%uz0 & 344 & ,U_FRAME=grid%u_frame ,U_PHY=u_phy ,V10=grid%v10 & 345 & ,VEGFRA=grid%vegfra ,VZ0=grid%vz0 ,V_FRAME=grid%v_frame & 346 & ,V_PHY=v_phy ,WARM_RAIN=grid%warm_rain & 347 & ,WSPD=wspd ,XICE=grid%xice ,XLAND=grid%xland & 348 & ,Z0=grid%z0 ,Z=grid%z ,ZNT=grid%znt & 349 & ,ZS=grid%zs ,XICEM=grid%xicem ,ISICE=grid%landuse_isice& 350 & ,USTM=grid%ustm ,CK=grid%ck ,CKA=grid%cka & 351 & ,CD=grid%cd ,CDA=grid%cda & 352 & ,ISFTCFLX=config_flags%isftcflx & 353 & ,OMLCALL=config_flags%omlcall ,OML_HML0=config_flags%oml_hml0 ,OML_GAMMA=config_flags%oml_gamma & 354 & ,TML=grid%tml, T0ML=grid%t0ml, HML=grid%hml, H0ML=grid%h0ml, HUML=grid%huml, HVML=grid%hvml, F=grid%f & 355 & ,ISWATER=iswater & 356 & ,DECLIN_URB=grid%declin_urb ,COSZ_URB2D=grid%cosz_urb2d & !I urban 357 & ,OMG_URB2D=grid%omg_urb2d ,xlat_urb2d=grid%XLAT & !I urban 358 & ,NUM_ROOF_LAYERS=num_roof_layers & !I urban 359 & ,NUM_WALL_LAYERS=num_wall_layers & !I urban 360 & ,NUM_ROAD_LAYERS=num_road_layers & 361 & ,DZR=grid%dzr ,DZB=grid%dzb ,DZG=grid%dzg & !I urban 362 & ,TR_URB2D=grid%tr_urb2d ,TB_URB2D=grid%tb_urb2d & 363 & ,TG_URB2D=grid%tg_urb2d & !H urban 364 & ,TC_URB2D=grid%tc_urb2d ,QC_URB2D=grid%qc_urb2d & !H urban 365 & ,UC_URB2D=grid%uc_urb2d & !H urban 366 & ,XXXR_URB2D=grid%xxxr_urb2d & 367 & ,XXXB_URB2D=grid%xxxb_urb2d & !H urban 368 & ,XXXG_URB2D=grid%xxxg_urb2d & 369 & ,XXXC_URB2D=grid%xxxc_urb2d & !H urban 370 & ,TRL_URB3D=grid%trl_urb3d ,TBL_URB3D=grid%tbl_urb3d & !H urban 371 & ,TGL_URB3D=grid%tgl_urb3d & !H urban 372 & ,SH_URB2D=grid%sh_urb2d ,LH_URB2D=grid%lh_urb2d & 373 & ,G_URB2D=grid%g_urb2d & !H urban 374 & ,RN_URB2D=grid%rn_urb2d , TS_URB2D=grid%ts_urb2d & !H urban 375 & ,FRC_URB2D=grid%frc_urb2d & !H urban 376 & ,UTYPE_URB2D=grid%utype_urb2d & !H urban 377 & ,ucmcall=grid%ucmcall & !H urban 378 ! P-X LSM Variables 379 & ,LANDUSEF=grid%landusef, SOILCTOP=grid%soilctop & ! P-X LSM 380 & ,SOILCBOT=grid%soilcbot & ! P-X LSM 381 & ,RA=grid%ra, RS=grid%rs, LAI=grid%lai & ! P-X LSM 382 & ,NLCAT=grid%num_land_cat, NSCAT=grid%num_soil_cat & ! P-X LSM 383 & ,VEGF_PX=grid%vegf_px, SNOWNCV=grid%snowncv & ! P-X LSM 384 & ,ANAL_INTERVAL=config_flags%interval_seconds & ! P-X LSM 385 & ,PXLSM_SMOIS_INIT=config_flags%pxlsm_smois_init & ! P-X LSM 386 & ,PXLSM_SOIL_NUDGE=config_flags%grid_fdda & ! P-X LSM 387 ! Optional PX LSM nudging 388 & ,t2_ndg_old=fdda2d(ims,1,jms,P_t2_ndg_old) & 389 & ,q2_ndg_old=fdda2d(ims,1,jms,P_q2_ndg_old) & 390 & ,t2_ndg_new=fdda2d(ims,1,jms,P_t2_ndg_new) & 391 & ,q2_ndg_new=fdda2d(ims,1,jms,P_q2_ndg_new) & 392 & ,sn_ndg_old=fdda2d(ims,1,jms,P_sn_ndg_old) & 393 & ,sn_ndg_new=fdda2d(ims,1,jms,P_sn_ndg_new) & 394 ! Indexes 395 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 396 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 397 & , I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 398 & , J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 399 & , KTS=k_start, KTE=min(k_end,kde-1) & 400 & , NUM_TILES=grid%num_tiles & 401 ! Optional 402 & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 403 & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 404 & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 405 & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 406 & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 407 & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 408 & ,CAPG=grid%capg, EMISS=grid%emiss, HOL=hol,MOL=grid%mol & 409 & ,T2OBS=grid%t2obs, Q2OBS=grid%q2obs & 410 & ,RAINBL=grid%rainbl,SR=grid%sr & 411 & ,RAINNCV=grid%rainncv,REGIME=grid%regime,T2=grid%t2,THC=grid%thc & 412 & ,QSG=grid%qsg,QVG=grid%qvg,QCG=grid%qcg,SOILT1=grid%soilt1,TSNAV=grid%tsnav & ! ruc lsm 413 & ,SMFR3D=grid%smfr3d,KEEPFR3DFLAG=grid%keepfr3dflag & ! ruc lsm 414 & ,POTEVP=grid%POTEVP, SNOPCX=grid%SNOPCX, SOILTB=grid%SOILTB & ! ruc lsm 415 & ) 416 BENCH_END(surf_driver_tim) 417 418 !********* 419 ! pbl 420 421 CALL wrf_debug ( 200 , ' call pbl_driver' ) 422 BENCH_START(pbl_driver_tim) 423 CALL pbl_driver( & 424 & AKHS=grid%akhs ,AKMS=grid%akms & 425 & ,BL_PBL_PHYSICS=config_flags%bl_pbl_physics & 426 & ,BLDT=grid%bldt, CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 427 & ,BR=br ,CHKLOWQ=chklowq ,CT=grid%ct & 428 & ,DT=grid%dt ,DX=grid%dx ,DZ8W=dz8w & 429 & ,EL_MYJ=grid%el_myj ,EXCH_H=grid%exch_h ,GRDFLX=grid%grdflx & 430 & ,GZ1OZ0=gz1oz0 ,HFX=grid%hfx ,HT=grid%ht & 431 & ,ITIMESTEP=grid%itimestep ,KPBL=grid%kpbl & 432 & ,LH=grid%lh ,LOWLYR=grid%lowlyr ,P8W=p8w & 433 & ,PBLH=grid%pblh ,PI_PHY=pi_phy ,PSIH=psih & 434 & ,PSIM=psim ,P_PHY=p_phy ,QFX=grid%qfx & 435 & ,QSFC=grid%qsfc ,QZ0=grid%qz0 & 436 & ,RA_LW_PHYSICS=config_flags%ra_lw_physics & 437 & ,RHO=rho ,RQCBLTEN=grid%rqcblten ,RQIBLTEN=grid%rqiblten & 438 & ,RQVBLTEN=grid%rqvblten ,RTHBLTEN=grid%rthblten ,RUBLTEN=grid%rublten & 439 & ,RVBLTEN=grid%rvblten ,SNOW=grid%snow ,STEPBL=grid%stepbl & 440 & ,THZ0=grid%thz0 ,TH_PHY=th_phy ,TKE_MYJ=grid%tke_myj & 441 & ,TSK=grid%tsk ,T_PHY=t_phy ,UST=grid%ust & 442 & ,U10=grid%u10 ,UZ0=grid%uz0 ,U_FRAME=grid%u_frame ,U_PHY=u_phy & 443 & ,V10=grid%v10 ,VZ0=grid%vz0 ,V_FRAME=grid%v_frame ,V_PHY=v_phy & 444 & ,WARM_RAIN=grid%warm_rain ,WSPD=wspd & 445 & ,XICE=grid%xice ,XLAND=grid%xland ,Z=grid%z & 446 & ,ZNT=grid%znt & 447 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 448 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 449 & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 450 & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 451 & ,KTS=k_start, KTE=min(k_end,kde-1) & 452 & ,NUM_TILES=grid%num_tiles & 453 ! Variables Required by ACM PBL - jp 454 & ,ZNU=grid%znu,ZNW=grid%znw,MUT=grid%mut,P_TOP=grid%p_top & 455 ! optional 456 & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 457 & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 458 & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 459 & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 460 & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 461 & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 462 & ,HOL=HOL, MOL=grid%mol, REGIME=grid%REGIME & 463 & ) 464 465 BENCH_END(pbl_driver_tim) 466 467 ! cumulus para. 468 469 CALL wrf_debug ( 200 , ' call cumulus_driver' ) 470 471 472 BENCH_START(cu_driver_tim) 473 CALL cumulus_driver(grid & 474 ! Prognostic variables 475 & ,U=u_phy ,V=v_phy ,TH=th_phy ,T=t_phy & 476 & ,W=grid%w_2 ,P=p_phy ,PI=pi_phy ,RHO=rho & 477 ! Other arguments 478 & ,ITIMESTEP=grid%itimestep ,DT=grid%dt ,DX=grid%dx & 479 & ,CUDT=grid%cudt,CURR_SECS=curr_secs,ADAPT_STEP_FLAG=adapt_step_flag & 480 & ,RAINC=grid%rainc ,RAINCV=grid%raincv ,PRATEC=grid%pratec & 481 & , NCA=grid%nca & 482 & ,HTOP=grid%cutop ,HBOT=grid%cubot ,KPBL=grid%kpbl & 483 & ,DZ8W=dz8w ,P8W=p8w & 484 & ,W0AVG=grid%w0avg ,STEPCU=grid%stepcu & 485 & ,CLDEFI=grid%cldefi ,LOWLYR=grid%lowlyr ,XLAND=grid%xland & 486 & ,APR_GR=grid%apr_gr ,APR_W=grid%apr_w ,APR_MC=grid%apr_mc & 487 & ,APR_ST=grid%apr_st ,APR_AS=grid%apr_as ,APR_CAPMA=grid%apr_capma & 488 & ,APR_CAPME=grid%apr_capme ,APR_CAPMI=grid%apr_capmi & 489 & ,MASS_FLUX=grid%mass_flux ,XF_ENS=grid%xf_ens & 490 & ,PR_ENS=grid%pr_ens ,HT=grid%ht,EDT_OUT=grid%edt_out & 491 & ,imomentum=grid%imomentum,clos_choice=grid%clos_choice & 492 & ,cugd_tten=grid%cugd_tten,cugd_qvten=grid%cugd_qvten,cugd_qcten=grid%cugd_qcten & 493 & ,cugd_ttens=grid%cugd_ttens,cugd_qvtens=grid%cugd_qvtens & 494 & ,ENSDIM=config_flags%ensdim ,MAXIENS=config_flags%maxiens ,MAXENS=config_flags%maxens & 495 & ,MAXENS2=config_flags%maxens2 ,MAXENS3=config_flags%maxens3 & 496 & ,CU_ACT_FLAG=cu_act_flag ,WARM_RAIN=grid%warm_rain & 497 & ,GSW=grid%gsw,cugd_avedx=config_flags%cugd_avedx & 498 & ,PERIODIC_X=(config_flags%polar .OR. config_flags%periodic_x) & 499 & ,PERIODIC_Y=config_flags%periodic_y & 500 ! Selection flag 501 & ,CU_PHYSICS=config_flags%cu_physics & 502 ! Dimension arguments 503 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 504 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 505 & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 506 & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 507 & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 508 & ,KTS=k_start, KTE=min(k_end,kde-1) & 509 & ,NUM_TILES=grid%num_tiles & 510 ! Moisture tendency arguments 511 & ,RQVCUTEN=grid%rqvcuten , RQCCUTEN=grid%rqccuten & 512 & ,RQSCUTEN=grid%rqscuten , RQICUTEN=grid%rqicuten & 513 & ,RQRCUTEN=grid%rqrcuten , RQVBLTEN=grid%rqvblten & 514 & ,RQVFTEN=grid%rqvften & 515 ! Other tendency arguments 516 & ,RTHRATEN=grid%rthraten , RTHBLTEN=grid%rthblten & 517 & ,RTHCUTEN=grid%rthcuten , RTHFTEN=grid%rthften & 518 ! Moisture tracer arguments 519 & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 520 & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 521 & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 522 & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 523 & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 524 & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 525 #ifdef WRF_CHEM 526 & ,GD_CLOUD=grid%GD_CLOUD,GD_CLOUD2=grid%GD_CLOUD2 & 527 #endif 528 & ) 529 BENCH_END(cu_driver_tim) 530 531 CALL wrf_debug ( 200 , ' call fddagd_driver' ) 532 533 BENCH_START(fdda_driver_tim) 534 CALL fddagd_driver(itimestep=grid%itimestep,dt=grid%dt,xtime=grid%XTIME, & 535 id=grid%id, & 536 RUNDGDTEN=grid%rundgdten,RVNDGDTEN=grid%rvndgdten, & 537 RTHNDGDTEN=grid%rthndgdten,RQVNDGDTEN=grid%rqvndgdten, & 538 RMUNDGDTEN=grid%rmundgdten, & 539 u_ndg_old=fdda3d(ims,kms,jms,P_u_ndg_old), & 540 v_ndg_old=fdda3d(ims,kms,jms,P_v_ndg_old), & 541 t_ndg_old=fdda3d(ims,kms,jms,P_t_ndg_old), & 542 q_ndg_old=fdda3d(ims,kms,jms,P_q_ndg_old), & 543 mu_ndg_old=fdda2d(ims,1,jms,P_mu_ndg_old), & 544 u_ndg_new=fdda3d(ims,kms,jms,P_u_ndg_new), & 545 v_ndg_new=fdda3d(ims,kms,jms,P_v_ndg_new), & 546 t_ndg_new=fdda3d(ims,kms,jms,P_t_ndg_new), & 547 q_ndg_new=fdda3d(ims,kms,jms,P_q_ndg_new), & 548 mu_ndg_new=fdda2d(ims,1,jms,P_mu_ndg_new), & 549 u3d=grid%u_2,v3d=grid%v_2,th_phy=th_phy,rho=rho,moist=moist, & 550 p_phy=p_phy,pi_phy=pi_phy,p8w=p8w,t_phy=t_phy, & 551 dz8w=dz8w,z=grid%z,z_at_w=z_at_w, & 552 config_flags=config_flags,dx=grid%DX,n_moist=num_moist, & 553 STEPFG=grid%STEPFG, & 554 pblh=grid%pblh,ht=grid%ht, & 555 IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 556 ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 557 ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 558 ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 559 ,KTS=k_start, KTE=min(k_end,kde-1) & 560 , num_tiles=grid%num_tiles ) 561 BENCH_END(fdda_driver_tim) 176 !!!!****MARS MARS 177 !!!!****MARS MARS 178 179 !! radiation 180 ! 181 !! this driver is only needed to handle non-local shadowing effects 182 ! CALL pre_radiation_driver ( grid, config_flags & 183 ! & ,itimestep=grid%itimestep, ra_call_offset=grid%ra_call_offset & 184 ! & ,XLAT=grid%xlat, XLONG=grid%xlong, GMT=grid%gmt & 185 ! & ,julian=grid%julian, xtime=grid%xtime, RADT=grid%radt & 186 ! & ,STEPRA=grid%stepra & 187 ! & ,ht=grid%ht,dx=grid%dx,dy=grid%dy,sina=grid%sina,cosa=grid%cosa & 188 ! & ,shadowmask=shadowmask,slope_rad=config_flags%slope_rad & 189 ! & ,topo_shading=config_flags%topo_shading & 190 ! & ,shadlen=config_flags%shadlen,ht_shad=grid%ht_shad,ht_loc=ht_loc & 191 ! & ,ht_shad_bxs=grid%ht_shad_bxs, ht_shad_bxe=grid%ht_shad_bxe & 192 ! & ,ht_shad_bys=grid%ht_shad_bys, ht_shad_bye=grid%ht_shad_bye & 193 ! & ,nested=config_flags%nested, min_ptchsz=grid%min_ptchsz & 194 ! & ,spec_bdy_width=config_flags%spec_bdy_width & 195 ! ! indexes 196 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 197 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 198 ! & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 199 ! & ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1) & 200 ! & ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1) & 201 ! & ,kts=k_start, kte=min(k_end,kde-1) & 202 ! & ,num_tiles=grid%num_tiles ) 203 ! 204 ! CALL wrf_debug ( 200 , ' call radiation_driver' ) 205 !BENCH_START(rad_driver_tim) 206 ! 207 ! CALL radiation_driver( & 208 ! & ACFRCV=grid%acfrcv ,ACFRST=grid%acfrst ,ALBEDO=grid%albedo & 209 ! & ,CFRACH=grid%cfrach ,CFRACL=grid%cfracl ,CFRACM=grid%cfracm & 210 ! & ,CUPPT=grid%cuppt ,CZMEAN=grid%czmean ,DT=grid%dt & 211 ! & ,DZ8W=dz8w ,EMISS=grid%emiss ,GLW=grid%glw & 212 ! & ,GMT=grid%gmt ,GSW=grid%gsw ,HBOT=grid%hbot & 213 ! & ,HTOP=grid%htop ,HBOTR=grid%hbotr ,HTOPR=grid%htopr & 214 ! & ,ICLOUD=config_flags%icloud & 215 ! & ,ITIMESTEP=grid%itimestep,JULDAY=grid%julday , JULIAN=grid%julian & 216 ! & ,JULYR=grid%julyr ,LW_PHYSICS=config_flags%ra_lw_physics & 217 ! & ,NCFRCV=grid%ncfrcv ,NCFRST=grid%ncfrst ,NPHS=1 & 218 ! & ,P8W=p8w ,P=p_phy ,PI=pi_phy & 219 ! & ,RADT=grid%radt ,RA_CALL_OFFSET=grid%ra_call_offset & 220 ! & ,RHO=rho ,RLWTOA=grid%rlwtoa & 221 ! & ,RSWTOA=grid%rswtoa ,RTHRATEN=grid%rthraten & 222 ! & ,RTHRATENLW=grid%rthratenlw ,RTHRATENSW=grid%rthratensw & 223 ! & ,SNOW=grid%snow ,STEPRA=grid%stepra ,SWDOWN=grid%swdown & 224 ! & ,SWDOWNC=grid%swdownc ,SW_PHYSICS=config_flags%ra_sw_physics & 225 ! & ,T8W=t8w ,T=t_phy ,TAUCLDC=grid%taucldc & 226 ! & ,TAUCLDI=grid%taucldi ,TSK=grid%tsk ,VEGFRA=grid%vegfra & 227 ! & ,WARM_RAIN=grid%warm_rain ,XICE=grid%xice ,XLAND=grid%xland & 228 ! & ,XLAT=grid%xlat ,XLONG=grid%xlong & 229 !!Optional urban 230 ! & ,DECLIN_URB=grid%declin_urb ,COSZ_URB2D=grid%cosz_urb2d & 231 ! & ,OMG_URB2D=grid%omg_urb2d & 232 !! 233 ! & ,Z=grid%z & 234 ! & ,LEVSIZ=grid%levsiz, N_OZMIXM=num_ozmixm & 235 ! & ,N_AEROSOLC=num_aerosolc & 236 ! & ,PAERLEV=grid%paerlev & 237 ! & ,CAM_ABS_DIM1=grid%cam_abs_dim1, CAM_ABS_DIM2=grid%cam_abs_dim2 & 238 ! & ,CAM_ABS_FREQ_S=grid%cam_abs_freq_s & 239 ! & ,XTIME=grid%xtime & 240 ! ,CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 241 ! ! indexes 242 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 243 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 244 ! & ,i_start=grid%i_start,i_end=min(grid%i_end, ide-1) & 245 ! & ,j_start=grid%j_start,j_end=min(grid%j_end, jde-1) & 246 ! & ,kts=k_start, kte=min(k_end,kde-1) & 247 ! & ,num_tiles=grid%num_tiles & 248 ! ! Optional 249 ! & , CLDFRA=grid%cldfra & 250 ! & , PB=grid%pb & 251 ! & , F_ICE_PHY=grid%f_ice_phy,F_RAIN_PHY=grid%f_rain_phy & 252 ! & , QV=moist(ims,kms,jms,P_QV), F_QV=F_QV & 253 ! & , QC=moist(ims,kms,jms,P_QC), F_QC=F_QC & 254 ! & , QR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 255 ! & , QI=moist(ims,kms,jms,P_QI), F_QI=F_QI & 256 ! & , QS=moist(ims,kms,jms,P_QS), F_QS=F_QS & 257 ! & , QG=moist(ims,kms,jms,P_QG), F_QG=F_QG & 258 ! & , QNDROP=scalar(ims,kms,jms,P_QNDROP), F_QNDROP=F_QNDROP & 259 !#ifdef ACFLUX 260 ! & ,ACSWUPT=acswupt ,ACSWUPTC=acswuptc & 261 ! & ,ACSWDNT=acswdnt ,ACSWDNTC=acswdntc & 262 ! & ,ACSWUPB=acswupb ,ACSWUPBC=acswupbc & 263 ! & ,ACSWDNB=acswdnb ,ACSWDNBC=acswdnbc & 264 ! & ,ACLWUPT=aclwupt ,ACLWUPTC=aclwuptc & 265 ! & ,ACLWDNT=aclwdnt ,ACLWDNTC=aclwdntc & 266 ! & ,ACLWUPB=aclwupb ,ACLWUPBC=aclwupbc & 267 ! & ,ACLWDNB=aclwdnb ,ACLWDNBC=aclwdnbc & 268 ! & ,SWUPT=swupt ,SWUPTC=swuptc & 269 ! & ,SWDNT=swdnt ,SWDNTC=swdntc & 270 ! & ,SWUPB=swupb ,SWUPBC=swupbc & 271 ! & ,SWDNB=swdnb ,SWDNBC=swdnbc & 272 ! & ,LWUPT=lwupt ,LWUPTC=lwuptc & 273 ! & ,LWDNT=lwdnt ,LWDNTC=lwdntc & 274 ! & ,LWUPB=lwupb ,LWUPBC=lwupbc & 275 ! & ,LWDNB=lwdnb ,LWDNBC=lwdnbc & 276 !#endif 277 ! & ,LWCF=grid%lwcf & 278 ! & ,SWCF=grid%swcf & 279 ! & ,OLR=grid%olr & 280 ! & ,OZMIXM=grid%ozmixm, PIN=grid%pin & 281 ! & ,M_PS_1=grid%m_ps_1, M_PS_2=grid%m_ps_2, AEROSOLC_1=grid%aerosolc_1 & 282 ! & ,AEROSOLC_2=grid%aerosolc_2, M_HYBI0=grid%m_hybi & 283 ! & ,ABSTOT=grid%abstot, ABSNXT=grid%absnxt, EMSTOT=grid%emstot & 284 !#ifdef WRF_CHEM 285 ! & ,CU_RAD_FEEDBACK=config_flags%cu_rad_feedback & 286 ! & ,AER_RA_FEEDBACK=config_flags%aer_ra_feedback & 287 ! & ,QC_ADJUST=grid%GD_CLOUD_B , QI_ADJUST=grid%GD_CLOUD2_B & 288 ! & ,PM2_5_DRY=grid%pm2_5_dry, PM2_5_WATER=grid%pm2_5_water & 289 ! & ,PM2_5_DRY_EC=grid%pm2_5_dry_ec & 290 ! & ,TAUAER300=grid%tauaer1, TAUAER400=grid%tauaer2 & ! jcb 291 ! & ,TAUAER600=grid%tauaer3, TAUAER999=grid%tauaer4 & ! jcb 292 ! & ,GAER300=grid%gaer1, GAER400=grid%gaer2, GAER600=grid%gaer3, GAER999=grid%gaer4 & ! jcb 293 ! & ,WAER300=grid%waer1, WAER400=grid%waer2, WAER600=grid%waer3, WAER999=grid%waer4 & ! jcb 294 !#endif 295 ! & ,slope_rad=config_flags%slope_rad,topo_shading=config_flags%topo_shading & 296 ! & ,shadowmask=shadowmask,ht=grid%ht,dx=grid%dx,dy=grid%dy,sina=grid%sina,cosa=grid%cosa ) 297 ! 298 !BENCH_END(rad_driver_tim) 299 ! 300 !!********* Surface driver 301 !! surface 302 ! 303 !BENCH_START(surf_driver_tim) 304 ! 305 !!----------------------------------------------------------------- 306 !! urban related variable are added to arguments of surface_driver 307 !!----------------------------------------------------------------- 308 ! num_roof_layers = grid%num_soil_layers !urban 309 ! num_wall_layers = grid%num_soil_layers !urban 310 ! num_road_layers = grid%num_soil_layers !urban 311 ! CALL nl_get_iswater(grid%id, iswater) 312 ! 313 ! CALL wrf_debug ( 200 , ' call surface_driver' ) 314 ! 315 ! CALL surface_driver( & 316 ! & ACSNOM=grid%acsnom ,ACSNOW=grid%acsnow ,AKHS=grid%akhs & 317 ! & ,AKMS=grid%akms ,ALBBCK=grid%albbck ,ALBEDO=grid%albedo & 318 ! & ,EMBCK=grid%embck & 319 ! & ,BR=br ,CANWAT=grid%canwat ,CHKLOWQ=chklowq & 320 ! & ,CT=grid%ct ,DT=grid%dt ,DX=grid%dx & 321 ! & ,DZ8W=dz8w ,DZS=grid%dzs ,FLHC=grid%flhc & 322 ! & ,FLQC=grid%flqc ,GLW=grid%glw ,GRDFLX=grid%grdflx & 323 ! & ,GSW=grid%gsw ,SWDOWN=grid%swdown ,GZ1OZ0=gz1oz0 ,HFX=grid%hfx & 324 ! & ,HT=grid%ht ,IFSNOW=config_flags%ifsnow ,ISFFLX=config_flags%isfflx & 325 ! & ,ISLTYP=grid%isltyp ,ITIMESTEP=grid%itimestep & 326 ! & ,IVGTYP=grid%ivgtyp ,LH=grid%lh ,LOWLYR=grid%lowlyr & 327 ! & ,MAVAIL=grid%mavail ,NUM_SOIL_LAYERS=config_flags%num_soil_layers & 328 ! & ,P8W=p8w ,PBLH=grid%pblh ,PI_PHY=pi_phy & 329 ! & ,PSFC=grid%psfc ,PSHLTR=grid%pshltr ,PSIH=psih & 330 ! & ,BLDT=grid%bldt ,CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 331 ! & ,PSIM=psim ,P_PHY=p_phy ,Q10=grid%q10 & 332 ! & ,Q2=grid%q2 ,QFX=grid%qfx ,QSFC=grid%qsfc & 333 ! & ,QSHLTR=grid%qshltr ,QZ0=grid%qz0 ,RAINCV=grid%raincv & 334 ! & ,RA_LW_PHYSICS=config_flags%ra_lw_physics ,RHO=rho & 335 ! & ,RMOL=grid%rmol ,SFCEVP=grid%sfcevp ,SFCEXC=grid%sfcexc & 336 ! & ,SFCRUNOFF=grid%sfcrunoff & 337 ! & ,SF_SFCLAY_PHYSICS=config_flags%sf_sfclay_physics & 338 ! & ,SF_SURFACE_PHYSICS=config_flags%sf_surface_physics ,SH2O=grid%sh2o & 339 ! & ,SHDMAX=grid%shdmax ,SHDMIN=grid%shdmin ,SMOIS=grid%smois & 340 ! & ,SMSTAV=grid%smstav ,SMSTOT=grid%smstot ,SNOALB=grid%snoalb & 341 ! & ,SNOW=grid%snow ,SNOWC=grid%snowc ,SNOWH=grid%snowh & 342 ! & ,SST=grid%sst ,SST_UPDATE=grid%sst_update & 343 ! & ,STEPBL=grid%stepbl ,TH10=grid%th10 ,TH2=grid%th2 & 344 ! & ,THZ0=grid%thz0 ,TH_PHY=th_phy ,TKE_MYJ=grid%tke_myj & 345 ! & ,TMN=grid%tmn ,TSHLTR=grid%tshltr ,TSK=grid%tsk & 346 ! & ,TSLB=grid%tslb ,T_PHY=t_phy ,U10=grid%u10 & 347 ! & ,URATX=grid%uratx ,VRATX=grid%vratx ,TRATX=grid%tratx & 348 ! & ,UDRUNOFF=grid%udrunoff ,UST=grid%ust ,UZ0=grid%uz0 & 349 ! & ,U_FRAME=grid%u_frame ,U_PHY=u_phy ,V10=grid%v10 & 350 ! & ,VEGFRA=grid%vegfra ,VZ0=grid%vz0 ,V_FRAME=grid%v_frame & 351 ! & ,V_PHY=v_phy ,WARM_RAIN=grid%warm_rain & 352 ! & ,WSPD=wspd ,XICE=grid%xice ,XLAND=grid%xland & 353 ! & ,Z0=grid%z0 ,Z=grid%z ,ZNT=grid%znt & 354 ! & ,ZS=grid%zs ,XICEM=grid%xicem ,ISICE=grid%landuse_isice& 355 ! & ,USTM=grid%ustm ,CK=grid%ck ,CKA=grid%cka & 356 ! & ,CD=grid%cd ,CDA=grid%cda & 357 ! & ,ISFTCFLX=config_flags%isftcflx & 358 ! & ,OMLCALL=config_flags%omlcall ,OML_HML0=config_flags%oml_hml0 ,OML_GAMMA=config_flags%oml_gamma & 359 ! & ,TML=grid%tml, T0ML=grid%t0ml, HML=grid%hml, H0ML=grid%h0ml, HUML=grid%huml, HVML=grid%hvml, F=grid%f & 360 ! & ,ISWATER=iswater & 361 ! & ,DECLIN_URB=grid%declin_urb ,COSZ_URB2D=grid%cosz_urb2d & !I urban 362 ! & ,OMG_URB2D=grid%omg_urb2d ,xlat_urb2d=grid%XLAT & !I urban 363 ! & ,NUM_ROOF_LAYERS=num_roof_layers & !I urban 364 ! & ,NUM_WALL_LAYERS=num_wall_layers & !I urban 365 ! & ,NUM_ROAD_LAYERS=num_road_layers & 366 ! & ,DZR=grid%dzr ,DZB=grid%dzb ,DZG=grid%dzg & !I urban 367 ! & ,TR_URB2D=grid%tr_urb2d ,TB_URB2D=grid%tb_urb2d & 368 ! & ,TG_URB2D=grid%tg_urb2d & !H urban 369 ! & ,TC_URB2D=grid%tc_urb2d ,QC_URB2D=grid%qc_urb2d & !H urban 370 ! & ,UC_URB2D=grid%uc_urb2d & !H urban 371 ! & ,XXXR_URB2D=grid%xxxr_urb2d & 372 ! & ,XXXB_URB2D=grid%xxxb_urb2d & !H urban 373 ! & ,XXXG_URB2D=grid%xxxg_urb2d & 374 ! & ,XXXC_URB2D=grid%xxxc_urb2d & !H urban 375 ! & ,TRL_URB3D=grid%trl_urb3d ,TBL_URB3D=grid%tbl_urb3d & !H urban 376 ! & ,TGL_URB3D=grid%tgl_urb3d & !H urban 377 ! & ,SH_URB2D=grid%sh_urb2d ,LH_URB2D=grid%lh_urb2d & 378 ! & ,G_URB2D=grid%g_urb2d & !H urban 379 ! & ,RN_URB2D=grid%rn_urb2d , TS_URB2D=grid%ts_urb2d & !H urban 380 ! & ,FRC_URB2D=grid%frc_urb2d & !H urban 381 ! & ,UTYPE_URB2D=grid%utype_urb2d & !H urban 382 ! & ,ucmcall=grid%ucmcall & !H urban 383 ! ! P-X LSM Variables 384 ! & ,LANDUSEF=grid%landusef, SOILCTOP=grid%soilctop & ! P-X LSM 385 ! & ,SOILCBOT=grid%soilcbot & ! P-X LSM 386 ! & ,RA=grid%ra, RS=grid%rs, LAI=grid%lai & ! P-X LSM 387 ! & ,NLCAT=grid%num_land_cat, NSCAT=grid%num_soil_cat & ! P-X LSM 388 ! & ,VEGF_PX=grid%vegf_px, SNOWNCV=grid%snowncv & ! P-X LSM 389 ! & ,ANAL_INTERVAL=config_flags%interval_seconds & ! P-X LSM 390 ! & ,PXLSM_SMOIS_INIT=config_flags%pxlsm_smois_init & ! P-X LSM 391 ! & ,PXLSM_SOIL_NUDGE=config_flags%grid_fdda & ! P-X LSM 392 ! ! Optional PX LSM nudging 393 ! & ,t2_ndg_old=fdda2d(ims,1,jms,P_t2_ndg_old) & 394 ! & ,q2_ndg_old=fdda2d(ims,1,jms,P_q2_ndg_old) & 395 ! & ,t2_ndg_new=fdda2d(ims,1,jms,P_t2_ndg_new) & 396 ! & ,q2_ndg_new=fdda2d(ims,1,jms,P_q2_ndg_new) & 397 ! & ,sn_ndg_old=fdda2d(ims,1,jms,P_sn_ndg_old) & 398 ! & ,sn_ndg_new=fdda2d(ims,1,jms,P_sn_ndg_new) & 399 ! ! Indexes 400 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 401 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 402 ! & , I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 403 ! & , J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 404 ! & , KTS=k_start, KTE=min(k_end,kde-1) & 405 ! & , NUM_TILES=grid%num_tiles & 406 ! ! Optional 407 ! & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 408 ! & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 409 ! & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 410 ! & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 411 ! & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 412 ! & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 413 ! & ,CAPG=grid%capg, EMISS=grid%emiss, HOL=hol,MOL=grid%mol & 414 ! & ,T2OBS=grid%t2obs, Q2OBS=grid%q2obs & 415 ! & ,RAINBL=grid%rainbl,SR=grid%sr & 416 ! & ,RAINNCV=grid%rainncv,REGIME=grid%regime,T2=grid%t2,THC=grid%thc & 417 ! & ,QSG=grid%qsg,QVG=grid%qvg,QCG=grid%qcg,SOILT1=grid%soilt1,TSNAV=grid%tsnav & ! ruc lsm 418 ! & ,SMFR3D=grid%smfr3d,KEEPFR3DFLAG=grid%keepfr3dflag & ! ruc lsm 419 ! & ,POTEVP=grid%POTEVP, SNOPCX=grid%SNOPCX, SOILTB=grid%SOILTB & ! ruc lsm 420 ! & ) 421 !BENCH_END(surf_driver_tim) 422 ! 423 !!********* 424 !! pbl 425 ! 426 ! CALL wrf_debug ( 200 , ' call pbl_driver' ) 427 !BENCH_START(pbl_driver_tim) 428 ! CALL pbl_driver( & 429 ! & AKHS=grid%akhs ,AKMS=grid%akms & 430 ! & ,BL_PBL_PHYSICS=config_flags%bl_pbl_physics & 431 ! & ,BLDT=grid%bldt, CURR_SECS=curr_secs, ADAPT_STEP_FLAG=adapt_step_flag & 432 ! & ,BR=br ,CHKLOWQ=chklowq ,CT=grid%ct & 433 ! & ,DT=grid%dt ,DX=grid%dx ,DZ8W=dz8w & 434 ! & ,EL_MYJ=grid%el_myj ,EXCH_H=grid%exch_h ,GRDFLX=grid%grdflx & 435 ! & ,GZ1OZ0=gz1oz0 ,HFX=grid%hfx ,HT=grid%ht & 436 ! & ,ITIMESTEP=grid%itimestep ,KPBL=grid%kpbl & 437 ! & ,LH=grid%lh ,LOWLYR=grid%lowlyr ,P8W=p8w & 438 ! & ,PBLH=grid%pblh ,PI_PHY=pi_phy ,PSIH=psih & 439 ! & ,PSIM=psim ,P_PHY=p_phy ,QFX=grid%qfx & 440 ! & ,QSFC=grid%qsfc ,QZ0=grid%qz0 & 441 ! & ,RA_LW_PHYSICS=config_flags%ra_lw_physics & 442 ! & ,RHO=rho ,RQCBLTEN=grid%rqcblten ,RQIBLTEN=grid%rqiblten & 443 ! & ,RQVBLTEN=grid%rqvblten ,RTHBLTEN=grid%rthblten ,RUBLTEN=grid%rublten & 444 ! & ,RVBLTEN=grid%rvblten ,SNOW=grid%snow ,STEPBL=grid%stepbl & 445 ! & ,THZ0=grid%thz0 ,TH_PHY=th_phy ,TKE_MYJ=grid%tke_myj & 446 ! & ,TSK=grid%tsk ,T_PHY=t_phy ,UST=grid%ust & 447 ! & ,U10=grid%u10 ,UZ0=grid%uz0 ,U_FRAME=grid%u_frame ,U_PHY=u_phy & 448 ! & ,V10=grid%v10 ,VZ0=grid%vz0 ,V_FRAME=grid%v_frame ,V_PHY=v_phy & 449 ! & ,WARM_RAIN=grid%warm_rain ,WSPD=wspd & 450 ! & ,XICE=grid%xice ,XLAND=grid%xland ,Z=grid%z & 451 ! & ,ZNT=grid%znt & 452 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 453 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 454 ! & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 455 ! & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 456 ! & ,KTS=k_start, KTE=min(k_end,kde-1) & 457 ! & ,NUM_TILES=grid%num_tiles & 458 ! ! Variables Required by ACM PBL - jp 459 ! & ,ZNU=grid%znu,ZNW=grid%znw,MUT=grid%mut,P_TOP=grid%p_top & 460 ! ! optional 461 ! & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 462 ! & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 463 ! & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 464 ! & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 465 ! & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 466 ! & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 467 ! & ,HOL=HOL, MOL=grid%mol, REGIME=grid%REGIME & 468 ! & ) 469 ! 470 !BENCH_END(pbl_driver_tim) 471 ! 472 !! cumulus para. 473 ! 474 ! CALL wrf_debug ( 200 , ' call cumulus_driver' ) 475 ! 476 ! 477 !BENCH_START(cu_driver_tim) 478 ! CALL cumulus_driver(grid & 479 ! ! Prognostic variables 480 ! & ,U=u_phy ,V=v_phy ,TH=th_phy ,T=t_phy & 481 ! & ,W=grid%w_2 ,P=p_phy ,PI=pi_phy ,RHO=rho & 482 ! ! Other arguments 483 ! & ,ITIMESTEP=grid%itimestep ,DT=grid%dt ,DX=grid%dx & 484 ! & ,CUDT=grid%cudt,CURR_SECS=curr_secs,ADAPT_STEP_FLAG=adapt_step_flag & 485 ! & ,RAINC=grid%rainc ,RAINCV=grid%raincv ,PRATEC=grid%pratec & 486 ! & , NCA=grid%nca & 487 ! & ,HTOP=grid%cutop ,HBOT=grid%cubot ,KPBL=grid%kpbl & 488 ! & ,DZ8W=dz8w ,P8W=p8w & 489 ! & ,W0AVG=grid%w0avg ,STEPCU=grid%stepcu & 490 ! & ,CLDEFI=grid%cldefi ,LOWLYR=grid%lowlyr ,XLAND=grid%xland & 491 ! & ,APR_GR=grid%apr_gr ,APR_W=grid%apr_w ,APR_MC=grid%apr_mc & 492 ! & ,APR_ST=grid%apr_st ,APR_AS=grid%apr_as ,APR_CAPMA=grid%apr_capma & 493 ! & ,APR_CAPME=grid%apr_capme ,APR_CAPMI=grid%apr_capmi & 494 ! & ,MASS_FLUX=grid%mass_flux ,XF_ENS=grid%xf_ens & 495 ! & ,PR_ENS=grid%pr_ens ,HT=grid%ht,EDT_OUT=grid%edt_out & 496 ! & ,imomentum=grid%imomentum,clos_choice=grid%clos_choice & 497 ! & ,cugd_tten=grid%cugd_tten,cugd_qvten=grid%cugd_qvten,cugd_qcten=grid%cugd_qcten & 498 ! & ,cugd_ttens=grid%cugd_ttens,cugd_qvtens=grid%cugd_qvtens & 499 ! & ,ENSDIM=config_flags%ensdim ,MAXIENS=config_flags%maxiens ,MAXENS=config_flags%maxens & 500 ! & ,MAXENS2=config_flags%maxens2 ,MAXENS3=config_flags%maxens3 & 501 ! & ,CU_ACT_FLAG=cu_act_flag ,WARM_RAIN=grid%warm_rain & 502 ! & ,GSW=grid%gsw,cugd_avedx=config_flags%cugd_avedx & 503 ! & ,PERIODIC_X=(config_flags%polar .OR. config_flags%periodic_x) & 504 ! & ,PERIODIC_Y=config_flags%periodic_y & 505 ! ! Selection flag 506 ! & ,CU_PHYSICS=config_flags%cu_physics & 507 ! ! Dimension arguments 508 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 509 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 510 ! & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 511 ! & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 512 ! & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 513 ! & ,KTS=k_start, KTE=min(k_end,kde-1) & 514 ! & ,NUM_TILES=grid%num_tiles & 515 ! ! Moisture tendency arguments 516 ! & ,RQVCUTEN=grid%rqvcuten , RQCCUTEN=grid%rqccuten & 517 ! & ,RQSCUTEN=grid%rqscuten , RQICUTEN=grid%rqicuten & 518 ! & ,RQRCUTEN=grid%rqrcuten , RQVBLTEN=grid%rqvblten & 519 ! & ,RQVFTEN=grid%rqvften & 520 ! ! Other tendency arguments 521 ! & ,RTHRATEN=grid%rthraten , RTHBLTEN=grid%rthblten & 522 ! & ,RTHCUTEN=grid%rthcuten , RTHFTEN=grid%rthften & 523 ! ! Moisture tracer arguments 524 ! & ,QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 525 ! & ,QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 526 ! & ,QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 527 ! & ,QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 528 ! & ,QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 529 ! & ,QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 530 !#ifdef WRF_CHEM 531 ! & ,GD_CLOUD=grid%GD_CLOUD,GD_CLOUD2=grid%GD_CLOUD2 & 532 !#endif 533 ! & ) 534 !BENCH_END(cu_driver_tim) 535 ! 536 ! CALL wrf_debug ( 200 , ' call fddagd_driver' ) 537 ! 538 !BENCH_START(fdda_driver_tim) 539 ! CALL fddagd_driver(itimestep=grid%itimestep,dt=grid%dt,xtime=grid%XTIME, & 540 ! id=grid%id, & 541 ! RUNDGDTEN=grid%rundgdten,RVNDGDTEN=grid%rvndgdten, & 542 ! RTHNDGDTEN=grid%rthndgdten,RQVNDGDTEN=grid%rqvndgdten, & 543 ! RMUNDGDTEN=grid%rmundgdten, & 544 ! u_ndg_old=fdda3d(ims,kms,jms,P_u_ndg_old), & 545 ! v_ndg_old=fdda3d(ims,kms,jms,P_v_ndg_old), & 546 ! t_ndg_old=fdda3d(ims,kms,jms,P_t_ndg_old), & 547 ! q_ndg_old=fdda3d(ims,kms,jms,P_q_ndg_old), & 548 ! mu_ndg_old=fdda2d(ims,1,jms,P_mu_ndg_old), & 549 ! u_ndg_new=fdda3d(ims,kms,jms,P_u_ndg_new), & 550 ! v_ndg_new=fdda3d(ims,kms,jms,P_v_ndg_new), & 551 ! t_ndg_new=fdda3d(ims,kms,jms,P_t_ndg_new), & 552 ! q_ndg_new=fdda3d(ims,kms,jms,P_q_ndg_new), & 553 ! mu_ndg_new=fdda2d(ims,1,jms,P_mu_ndg_new), & 554 ! u3d=grid%u_2,v3d=grid%v_2,th_phy=th_phy,rho=rho,moist=moist, & 555 ! p_phy=p_phy,pi_phy=pi_phy,p8w=p8w,t_phy=t_phy, & 556 ! dz8w=dz8w,z=grid%z,z_at_w=z_at_w, & 557 ! config_flags=config_flags,dx=grid%DX,n_moist=num_moist, & 558 ! STEPFG=grid%STEPFG, & 559 ! pblh=grid%pblh,ht=grid%ht, & 560 ! IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 561 ! ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 562 ! ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 563 ! ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 564 ! ,KTS=k_start, KTE=min(k_end,kde-1) & 565 ! , num_tiles=grid%num_tiles ) 566 !BENCH_END(fdda_driver_tim) 562 567 563 568 !!****MARS -
trunk/mesoscale/LMD_LES_MARS/modif_mars/module_first_rk_step_part2.F
r17 r94 37 37 tke_rhs 38 38 USE module_em, ONLY : calculate_phy_tend 39 USE module_fddaobs_driver, ONLY : fddaobs_driver 39 !!!!****MARS MARS 40 ! USE module_fddaobs_driver, ONLY : fddaobs_driver 40 41 USE module_bc, ONLY : set_physical_bc3d, set_physical_bc2d 41 42 USE module_physics_addtendc, ONLY : update_phy_ten … … 540 541 ENDIF 541 542 542 IF ( grid%obs_nudge_opt .EQ. 1 ) THEN 543 # ifdef DM_PARALLEL 544 # include "HALO_OBS_NUDGE.inc" 545 #endif 546 !*********************************************************************** 547 ! This section for obs nudging 548 !$OMP PARALLEL DO & 549 !$OMP PRIVATE ( ij ) 550 551 DO ij = 1 , grid%num_tiles 552 553 CALL fddaobs_driver (grid%grid_id, model_config_rec%grid_id, & 554 model_config_rec%parent_id, config_flags%restart, & 555 grid%obs_nudge_opt, & 556 grid%obs_ipf_errob, & 557 grid%obs_ipf_nudob, & 558 grid%fdda_start, & 559 grid%fdda_end, & 560 grid%obs_nudge_wind, & 561 grid%obs_nudge_temp, & 562 grid%obs_nudge_mois, & 563 grid%obs_nudge_pstr, & 564 grid%obs_coef_wind, & 565 grid%obs_coef_temp, & 566 grid%obs_coef_mois, & 567 grid%obs_coef_pstr, & 568 grid%obs_rinxy, & 569 grid%obs_rinsig, & 570 grid%obs_npfi, & 571 grid%obs_ionf, & 572 grid%obs_nobs_prt, & 573 grid%obs_idynin, & 574 grid%obs_dtramp, & 575 model_config_rec%cen_lat(1), & 576 model_config_rec%cen_lon(1), & 577 config_flags%truelat1, & 578 config_flags%truelat2, & 579 config_flags%map_proj, & 580 model_config_rec%i_parent_start, & 581 model_config_rec%j_parent_start, & 582 grid%parent_grid_ratio, & 583 grid%max_dom, grid%itimestep, & 584 grid%dt, grid%gmt, grid%julday, grid%fdob, & 585 grid%max_obs, & 586 model_config_rec%nobs_ndg_vars, & 587 model_config_rec%nobs_err_flds, & 588 grid%fdob%nstat, grid%fdob%varobs, grid%fdob%errf, & 589 grid%dx, grid%KPBL,grid%HT, & 590 grid%mut, grid%muu, grid%muv, & 591 grid%msftx, grid%msfty, grid%msfux, grid%msfuy, grid%msfvx, grid%msfvy, & 592 p_phy, t_tendf, t0, & 593 grid%u_2, grid%v_2, grid%t_2, & 594 moist(ims,kms,jms,P_QV), & 595 grid%pb, grid%p_top, grid%p, & 596 grid%uratx, grid%vratx, grid%tratx, & 597 ru_tendf, rv_tendf, & 598 moist_tend(ims,kms,jms,P_QV), grid%obs_savwt, & 599 ids,ide, jds,jde, kds,kde, & 600 ims,ime, jms,jme, kms,kme, & 601 grid%i_start(ij), min(grid%i_end(ij),ide-1), & 602 grid%j_start(ij), min(grid%j_end(ij),jde-1), & 603 k_start , min(k_end,kde-1) ) 604 605 ENDDO 606 !$OMP END PARALLEL DO 607 ENDIF ! obs_nudge_opt .eq. 1 543 !!!!****MARS MARS 544 !!!!****MARS MARS 545 546 ! IF ( grid%obs_nudge_opt .EQ. 1 ) THEN 547 !# ifdef DM_PARALLEL 548 !# include "HALO_OBS_NUDGE.inc" 549 !#endif 550 !!*********************************************************************** 551 !! This section for obs nudging 552 ! !$OMP PARALLEL DO & 553 ! !$OMP PRIVATE ( ij ) 554 ! 555 ! DO ij = 1 , grid%num_tiles 556 ! 557 ! CALL fddaobs_driver (grid%grid_id, model_config_rec%grid_id, & 558 ! model_config_rec%parent_id, config_flags%restart, & 559 ! grid%obs_nudge_opt, & 560 ! grid%obs_ipf_errob, & 561 ! grid%obs_ipf_nudob, & 562 ! grid%fdda_start, & 563 ! grid%fdda_end, & 564 ! grid%obs_nudge_wind, & 565 ! grid%obs_nudge_temp, & 566 ! grid%obs_nudge_mois, & 567 ! grid%obs_nudge_pstr, & 568 ! grid%obs_coef_wind, & 569 ! grid%obs_coef_temp, & 570 ! grid%obs_coef_mois, & 571 ! grid%obs_coef_pstr, & 572 ! grid%obs_rinxy, & 573 ! grid%obs_rinsig, & 574 ! grid%obs_npfi, & 575 ! grid%obs_ionf, & 576 ! grid%obs_nobs_prt, & 577 ! grid%obs_idynin, & 578 ! grid%obs_dtramp, & 579 ! model_config_rec%cen_lat(1), & 580 ! model_config_rec%cen_lon(1), & 581 ! config_flags%truelat1, & 582 ! config_flags%truelat2, & 583 ! config_flags%map_proj, & 584 ! model_config_rec%i_parent_start, & 585 ! model_config_rec%j_parent_start, & 586 ! grid%parent_grid_ratio, & 587 ! grid%max_dom, grid%itimestep, & 588 ! grid%dt, grid%gmt, grid%julday, grid%fdob, & 589 ! grid%max_obs, & 590 ! model_config_rec%nobs_ndg_vars, & 591 ! model_config_rec%nobs_err_flds, & 592 ! grid%fdob%nstat, grid%fdob%varobs, grid%fdob%errf, & 593 ! grid%dx, grid%KPBL,grid%HT, & 594 ! grid%mut, grid%muu, grid%muv, & 595 ! grid%msftx, grid%msfty, grid%msfux, grid%msfuy, grid%msfvx, grid%msfvy, & 596 ! p_phy, t_tendf, t0, & 597 ! grid%u_2, grid%v_2, grid%t_2, & 598 ! moist(ims,kms,jms,P_QV), & 599 ! grid%pb, grid%p_top, grid%p, & 600 ! grid%uratx, grid%vratx, grid%tratx, & 601 ! ru_tendf, rv_tendf, & 602 ! moist_tend(ims,kms,jms,P_QV), grid%obs_savwt, & 603 ! ids,ide, jds,jde, kds,kde, & 604 ! ims,ime, jms,jme, kms,kme, & 605 ! grid%i_start(ij), min(grid%i_end(ij),ide-1), & 606 ! grid%j_start(ij), min(grid%j_end(ij),jde-1), & 607 ! k_start , min(k_end,kde-1) ) 608 608 ! 609 !*********************************************************************** 609 ! ENDDO 610 ! !$OMP END PARALLEL DO 611 ! ENDIF ! obs_nudge_opt .eq. 1 612 !! 613 !!*********************************************************************** 610 614 611 615 END SUBROUTINE first_rk_step_part2 -
trunk/mesoscale/LMD_LES_MARS/modif_mars/module_physics_addtendc.F
r17 r94 788 788 !---------------------------------------------------------------------- 789 789 USE module_state_description 790 USE module_cu_kf 791 USE module_cu_kfeta 790 !!!******MARS MARS 791 !!!******MARS MARS 792 ! USE module_cu_kf 793 ! USE module_cu_kfeta 792 794 !---------------------------------------------------------------------- 793 795 IMPLICIT NONE -
trunk/mesoscale/LMD_LES_MARS/modif_mars/solve_em.F
r17 r94 32 32 USE module_diffusion_em 33 33 USE module_polarfft 34 USE module_microphysics_driver 35 USE module_microphysics_zero_out 36 USE module_fddaobs_driver 37 USE module_diagnostics 34 !!!!****MARS MARS 35 !!!!****MARS MARS 36 ! USE module_microphysics_driver 37 ! USE module_microphysics_zero_out 38 ! USE module_fddaobs_driver 39 ! USE module_diagnostics 38 40 #ifdef WRF_CHEM 39 41 USE module_input_chem_data … … 2638 2640 ENDIF 2639 2641 2640 IF (config_flags%mp_physics /= 0) then 2641 2642 !$OMP PARALLEL DO & 2643 !$OMP PRIVATE ( ij, its, ite, jts, jte ) 2644 2645 scalar_tile_loop_1a: DO ij = 1 , grid%num_tiles 2646 2647 IF ( config_flags%periodic_x ) THEN 2648 its = max(grid%i_start(ij),ids) 2649 ite = min(grid%i_end(ij),ide-1) 2650 ELSE 2651 its = max(grid%i_start(ij),ids+sz) 2652 ite = min(grid%i_end(ij),ide-1-sz) 2653 ENDIF 2654 jts = max(grid%j_start(ij),jds+sz) 2655 jte = min(grid%j_end(ij),jde-1-sz) 2656 2657 CALL wrf_debug ( 200 , ' call moist_physics_prep' ) 2658 BENCH_START(moist_physics_prep_tim) 2659 CALL moist_physics_prep_em( grid%t_2, grid%t_1, t0, rho, & 2660 grid%al, grid%alb, grid%p, p8w, p0, grid%pb, & 2661 grid%ph_2, grid%phb, th_phy, pi_phy, p_phy, & 2662 grid%z, z_at_w, dz8w, & 2663 dtm, grid%h_diabatic, & 2664 config_flags,grid%fnm, grid%fnp, & 2665 ids, ide, jds, jde, kds, kde, & 2666 ims, ime, jms, jme, kms, kme, & 2667 its, ite, jts, jte, & 2668 k_start , k_end ) 2669 BENCH_END(moist_physics_prep_tim) 2670 END DO scalar_tile_loop_1a 2671 !$OMP END PARALLEL DO 2672 2673 CALL wrf_debug ( 200 , ' call microphysics_driver' ) 2674 2675 grid%sr = 0. 2676 specified_bdy = config_flags%specified .OR. config_flags%nested 2677 channel_bdy = config_flags%specified .AND. config_flags%periodic_x 2678 2679 BENCH_START(micro_driver_tim) 2680 2681 CALL microphysics_driver( & 2682 & DT=dtm ,DX=grid%dx ,DY=grid%dy & 2683 & ,DZ8W=dz8w ,F_ICE_PHY=grid%f_ice_phy & 2684 & ,ITIMESTEP=grid%itimestep ,LOWLYR=grid%lowlyr & 2685 & ,P8W=p8w ,P=p_phy ,PI_PHY=pi_phy & 2686 & ,RHO=rho ,SPEC_ZONE=grid%spec_zone & 2687 & ,SR=grid%sr ,TH=th_phy & 2688 & ,WARM_RAIN=grid%warm_rain & 2689 & ,T8W=t8w & 2690 & ,CLDFRA=grid%cldfra, EXCH_H=grid%exch_h & 2691 & ,NSOURCE=grid%qndropsource & 2692 #ifdef WRF_CHEM 2693 & ,QLSINK=grid%qlsink,CLDFRA_OLD=grid%cldfra_old & 2694 & ,PRECR=grid%precr, PRECI=grid%preci, PRECS=grid%precs, PRECG=grid%precg & 2695 & ,CHEM_OPT=config_flags%chem_opt, PROGN=config_flags%progn & 2696 #endif 2697 & ,XLAND=grid%xland & 2698 & ,SPECIFIED=specified_bdy, CHANNEL_SWITCH=channel_bdy & 2699 & ,F_RAIN_PHY=grid%f_rain_phy & 2700 & ,F_RIMEF_PHY=grid%f_rimef_phy & 2701 & ,MP_PHYSICS=config_flags%mp_physics & 2702 & ,ID=grid%id & 2703 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 2704 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 2705 #ifdef RUN_ON_GPU 2706 & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 2707 #endif 2708 & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 2709 & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 2710 & ,KTS=k_start, KTE=min(k_end,kde-1) & 2711 & ,NUM_TILES=grid%num_tiles & 2712 & ,NAER=grid%naer & 2713 ! Optional 2714 & , RAINNC=grid%rainnc, RAINNCV=grid%rainncv & 2715 & , SNOWNC=grid%snownc, SNOWNCV=grid%snowncv & 2716 & , GRAUPELNC=grid%graupelnc, GRAUPELNCV=grid%graupelncv & 2717 & , W=grid%w_2, Z=grid%z, HT=grid%ht & 2718 & , MP_RESTART_STATE=grid%mp_restart_state & 2719 & , TBPVS_STATE=grid%tbpvs_state & ! etampnew 2720 & , TBPVS0_STATE=grid%tbpvs0_state & ! etampnew 2721 & , QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 2722 & , QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 2723 & , QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 2724 & , QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 2725 & , QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 2726 & , QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 2727 & , QNDROP_CURR=scalar(ims,kms,jms,P_QNDROP), F_QNDROP=F_QNDROP & 2728 & , QNI_CURR=scalar(ims,kms,jms,P_QNI), F_QNI=F_QNI & 2729 & , QT_CURR=scalar(ims,kms,jms,P_QT), F_QT=F_QT & 2730 & , QNS_CURR=scalar(ims,kms,jms,P_QNS), F_QNS=F_QNS & 2731 & , QNR_CURR=scalar(ims,kms,jms,P_QNR), F_QNR=F_QNR & 2732 & , QNG_CURR=scalar(ims,kms,jms,P_QNG), F_QNG=F_QNG & 2733 & , qrcuten=grid%rqrcuten, qscuten=grid%rqscuten & 2734 & , qicuten=grid%rqicuten,mu=grid%mut & 2735 & , HAIL=config_flags%gsfcgce_hail & ! for gsfcgce 2736 & , ICE2=config_flags%gsfcgce_2ice & ! for gsfcgce 2737 ) 2738 BENCH_END(micro_driver_tim) 2739 2740 #if 0 2741 BENCH_START(microswap_2) 2742 ! for load balancing; communication to redistribute the points 2743 IF ( config_flags%mp_physics .EQ. ETAMPNEW ) THEN 2744 #include "SWAP_ETAMP_NEW.inc" 2745 ELSE IF ( config_flags%mp_physics .EQ. WSM3SCHEME ) THEN 2746 #include "SWAP_WSM3.inc" 2747 ENDIF 2748 BENCH_END(microswap_2) 2749 #endif 2750 2751 CALL wrf_debug ( 200 , ' call moist_physics_finish' ) 2752 BENCH_START(moist_phys_end_tim) 2753 2754 !$OMP PARALLEL DO & 2755 !$OMP PRIVATE ( ij, its, ite, jts, jte, im, ii, jj, kk ) 2756 2757 DO ij = 1 , grid%num_tiles 2758 2759 IF ( config_flags%periodic_x ) THEN 2760 its = max(grid%i_start(ij),ids) 2761 ite = min(grid%i_end(ij),ide-1) 2762 ELSE 2763 its = max(grid%i_start(ij),ids+sz) 2764 ite = min(grid%i_end(ij),ide-1-sz) 2765 ENDIF 2766 jts = max(grid%j_start(ij),jds+sz) 2767 jte = min(grid%j_end(ij),jde-1-sz) 2768 2769 CALL microphysics_zero_out ( & 2770 moist , num_moist , config_flags , & 2771 ids, ide, jds, jde, kds, kde, & 2772 ims, ime, jms, jme, kms, kme, & 2773 its, ite, jts, jte, & 2774 k_start , k_end ) 2775 2776 2777 CALL moist_physics_finish_em( grid%t_2, grid%t_1, t0, grid%muts, th_phy, & 2778 grid%h_diabatic, dtm, config_flags, & 2779 ids, ide, jds, jde, kds, kde, & 2780 ims, ime, jms, jme, kms, kme, & 2781 its, ite, jts, jte, & 2782 k_start , k_end ) 2783 2784 END DO 2785 !$OMP END PARALLEL DO 2786 2787 ENDIF ! microphysics test 2642 !!!!****MARS MARS 2643 !!!!****MARS MARS 2644 2645 ! IF (config_flags%mp_physics /= 0) then 2646 ! 2647 ! !$OMP PARALLEL DO & 2648 ! !$OMP PRIVATE ( ij, its, ite, jts, jte ) 2649 ! 2650 ! scalar_tile_loop_1a: DO ij = 1 , grid%num_tiles 2651 ! 2652 ! IF ( config_flags%periodic_x ) THEN 2653 ! its = max(grid%i_start(ij),ids) 2654 ! ite = min(grid%i_end(ij),ide-1) 2655 ! ELSE 2656 ! its = max(grid%i_start(ij),ids+sz) 2657 ! ite = min(grid%i_end(ij),ide-1-sz) 2658 ! ENDIF 2659 ! jts = max(grid%j_start(ij),jds+sz) 2660 ! jte = min(grid%j_end(ij),jde-1-sz) 2661 ! 2662 ! CALL wrf_debug ( 200 , ' call moist_physics_prep' ) 2663 !BENCH_START(moist_physics_prep_tim) 2664 ! CALL moist_physics_prep_em( grid%t_2, grid%t_1, t0, rho, & 2665 ! grid%al, grid%alb, grid%p, p8w, p0, grid%pb, & 2666 ! grid%ph_2, grid%phb, th_phy, pi_phy, p_phy, & 2667 ! grid%z, z_at_w, dz8w, & 2668 ! dtm, grid%h_diabatic, & 2669 ! config_flags,grid%fnm, grid%fnp, & 2670 ! ids, ide, jds, jde, kds, kde, & 2671 ! ims, ime, jms, jme, kms, kme, & 2672 ! its, ite, jts, jte, & 2673 ! k_start , k_end ) 2674 !BENCH_END(moist_physics_prep_tim) 2675 ! END DO scalar_tile_loop_1a 2676 ! !$OMP END PARALLEL DO 2677 ! 2678 ! CALL wrf_debug ( 200 , ' call microphysics_driver' ) 2679 ! 2680 ! grid%sr = 0. 2681 ! specified_bdy = config_flags%specified .OR. config_flags%nested 2682 ! channel_bdy = config_flags%specified .AND. config_flags%periodic_x 2683 ! 2684 !BENCH_START(micro_driver_tim) 2685 ! 2686 ! CALL microphysics_driver( & 2687 ! & DT=dtm ,DX=grid%dx ,DY=grid%dy & 2688 ! & ,DZ8W=dz8w ,F_ICE_PHY=grid%f_ice_phy & 2689 ! & ,ITIMESTEP=grid%itimestep ,LOWLYR=grid%lowlyr & 2690 ! & ,P8W=p8w ,P=p_phy ,PI_PHY=pi_phy & 2691 ! & ,RHO=rho ,SPEC_ZONE=grid%spec_zone & 2692 ! & ,SR=grid%sr ,TH=th_phy & 2693 ! & ,WARM_RAIN=grid%warm_rain & 2694 ! & ,T8W=t8w & 2695 ! & ,CLDFRA=grid%cldfra, EXCH_H=grid%exch_h & 2696 ! & ,NSOURCE=grid%qndropsource & 2697 !#ifdef WRF_CHEM 2698 ! & ,QLSINK=grid%qlsink,CLDFRA_OLD=grid%cldfra_old & 2699 ! & ,PRECR=grid%precr, PRECI=grid%preci, PRECS=grid%precs, PRECG=grid%precg & 2700 ! & ,CHEM_OPT=config_flags%chem_opt, PROGN=config_flags%progn & 2701 !#endif 2702 ! & ,XLAND=grid%xland & 2703 ! & ,SPECIFIED=specified_bdy, CHANNEL_SWITCH=channel_bdy & 2704 ! & ,F_RAIN_PHY=grid%f_rain_phy & 2705 ! & ,F_RIMEF_PHY=grid%f_rimef_phy & 2706 ! & ,MP_PHYSICS=config_flags%mp_physics & 2707 ! & ,ID=grid%id & 2708 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 2709 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 2710 !#ifdef RUN_ON_GPU 2711 ! & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 2712 !#endif 2713 ! & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 2714 ! & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 2715 ! & ,KTS=k_start, KTE=min(k_end,kde-1) & 2716 ! & ,NUM_TILES=grid%num_tiles & 2717 ! & ,NAER=grid%naer & 2718 ! ! Optional 2719 ! & , RAINNC=grid%rainnc, RAINNCV=grid%rainncv & 2720 ! & , SNOWNC=grid%snownc, SNOWNCV=grid%snowncv & 2721 ! & , GRAUPELNC=grid%graupelnc, GRAUPELNCV=grid%graupelncv & 2722 ! & , W=grid%w_2, Z=grid%z, HT=grid%ht & 2723 ! & , MP_RESTART_STATE=grid%mp_restart_state & 2724 ! & , TBPVS_STATE=grid%tbpvs_state & ! etampnew 2725 ! & , TBPVS0_STATE=grid%tbpvs0_state & ! etampnew 2726 ! & , QV_CURR=moist(ims,kms,jms,P_QV), F_QV=F_QV & 2727 ! & , QC_CURR=moist(ims,kms,jms,P_QC), F_QC=F_QC & 2728 ! & , QR_CURR=moist(ims,kms,jms,P_QR), F_QR=F_QR & 2729 ! & , QI_CURR=moist(ims,kms,jms,P_QI), F_QI=F_QI & 2730 ! & , QS_CURR=moist(ims,kms,jms,P_QS), F_QS=F_QS & 2731 ! & , QG_CURR=moist(ims,kms,jms,P_QG), F_QG=F_QG & 2732 ! & , QNDROP_CURR=scalar(ims,kms,jms,P_QNDROP), F_QNDROP=F_QNDROP & 2733 ! & , QNI_CURR=scalar(ims,kms,jms,P_QNI), F_QNI=F_QNI & 2734 ! & , QT_CURR=scalar(ims,kms,jms,P_QT), F_QT=F_QT & 2735 ! & , QNS_CURR=scalar(ims,kms,jms,P_QNS), F_QNS=F_QNS & 2736 ! & , QNR_CURR=scalar(ims,kms,jms,P_QNR), F_QNR=F_QNR & 2737 ! & , QNG_CURR=scalar(ims,kms,jms,P_QNG), F_QNG=F_QNG & 2738 ! & , qrcuten=grid%rqrcuten, qscuten=grid%rqscuten & 2739 ! & , qicuten=grid%rqicuten,mu=grid%mut & 2740 ! & , HAIL=config_flags%gsfcgce_hail & ! for gsfcgce 2741 ! & , ICE2=config_flags%gsfcgce_2ice & ! for gsfcgce 2742 ! ) 2743 !BENCH_END(micro_driver_tim) 2744 ! 2745 !#if 0 2746 !BENCH_START(microswap_2) 2747 !! for load balancing; communication to redistribute the points 2748 ! IF ( config_flags%mp_physics .EQ. ETAMPNEW ) THEN 2749 !#include "SWAP_ETAMP_NEW.inc" 2750 ! ELSE IF ( config_flags%mp_physics .EQ. WSM3SCHEME ) THEN 2751 !#include "SWAP_WSM3.inc" 2752 ! ENDIF 2753 !BENCH_END(microswap_2) 2754 !#endif 2755 ! 2756 ! CALL wrf_debug ( 200 , ' call moist_physics_finish' ) 2757 !BENCH_START(moist_phys_end_tim) 2758 ! 2759 ! !$OMP PARALLEL DO & 2760 ! !$OMP PRIVATE ( ij, its, ite, jts, jte, im, ii, jj, kk ) 2761 ! 2762 ! DO ij = 1 , grid%num_tiles 2763 ! 2764 ! IF ( config_flags%periodic_x ) THEN 2765 ! its = max(grid%i_start(ij),ids) 2766 ! ite = min(grid%i_end(ij),ide-1) 2767 ! ELSE 2768 ! its = max(grid%i_start(ij),ids+sz) 2769 ! ite = min(grid%i_end(ij),ide-1-sz) 2770 ! ENDIF 2771 ! jts = max(grid%j_start(ij),jds+sz) 2772 ! jte = min(grid%j_end(ij),jde-1-sz) 2773 ! 2774 ! CALL microphysics_zero_out ( & 2775 ! moist , num_moist , config_flags , & 2776 ! ids, ide, jds, jde, kds, kde, & 2777 ! ims, ime, jms, jme, kms, kme, & 2778 ! its, ite, jts, jte, & 2779 ! k_start , k_end ) 2780 ! 2781 ! 2782 ! CALL moist_physics_finish_em( grid%t_2, grid%t_1, t0, grid%muts, th_phy, & 2783 ! grid%h_diabatic, dtm, config_flags, & 2784 ! ids, ide, jds, jde, kds, kde, & 2785 ! ims, ime, jms, jme, kms, kme, & 2786 ! its, ite, jts, jte, & 2787 ! k_start , k_end ) 2788 ! 2789 ! END DO 2790 ! !$OMP END PARALLEL DO 2791 ! 2792 ! ENDIF ! microphysics test 2788 2793 2789 2794 !----------------------------------------------------------- … … 3131 3136 ENDIF 3132 3137 3133 ! calculate some model diagnostics. 3134 3135 CALL wrf_debug ( 200 , ' call diagnostic_driver' ) 3136 3137 CALL diagnostic_output_calc( & 3138 & DPSDT=grid%dpsdt ,DMUDT=grid%dmudt & 3139 & ,P8W=p8w ,PK1M=grid%pk1m & 3140 & ,MU_2=grid%mu_2 ,MU_2M=grid%mu_2m & 3141 & ,U=grid%u_2 ,V=grid%v_2 & 3142 & ,RAINCV=grid%raincv ,RAINNCV=grid%rainncv & 3143 & ,RAINC=grid%rainc ,RAINNC=grid%rainnc & 3144 & ,HFX=grid%hfx ,SFCEVP=grid%sfcevp ,LH=grid%lh & 3145 & ,DT=grid%dt ,SBW=config_flags%spec_bdy_width & 3146 & ,XTIME=grid%xtime & 3147 ! Selection flag 3148 & ,DIAG_PRINT=config_flags%diag_print & 3149 ! Dimension arguments 3150 & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 3151 & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 3152 & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 3153 & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 3154 & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 3155 & ,KTS=k_start, KTE=min(k_end,kde-1) & 3156 & ,NUM_TILES=grid%num_tiles & 3157 & ) 3138 !!!!****MARS MARS 3139 !!!!****MARS MARS 3140 3141 !! calculate some model diagnostics. 3142 ! 3143 ! CALL wrf_debug ( 200 , ' call diagnostic_driver' ) 3144 ! 3145 ! CALL diagnostic_output_calc( & 3146 ! & DPSDT=grid%dpsdt ,DMUDT=grid%dmudt & 3147 ! & ,P8W=p8w ,PK1M=grid%pk1m & 3148 ! & ,MU_2=grid%mu_2 ,MU_2M=grid%mu_2m & 3149 ! & ,U=grid%u_2 ,V=grid%v_2 & 3150 ! & ,RAINCV=grid%raincv ,RAINNCV=grid%rainncv & 3151 ! & ,RAINC=grid%rainc ,RAINNC=grid%rainnc & 3152 ! & ,HFX=grid%hfx ,SFCEVP=grid%sfcevp ,LH=grid%lh & 3153 ! & ,DT=grid%dt ,SBW=config_flags%spec_bdy_width & 3154 ! & ,XTIME=grid%xtime & 3155 ! ! Selection flag 3156 ! & ,DIAG_PRINT=config_flags%diag_print & 3157 ! ! Dimension arguments 3158 ! & ,IDS=ids,IDE=ide, JDS=jds,JDE=jde, KDS=kds,KDE=kde & 3159 ! & ,IMS=ims,IME=ime, JMS=jms,JME=jme, KMS=kms,KME=kme & 3160 ! & ,IPS=ips,IPE=ipe, JPS=jps,JPE=jpe, KPS=kps,KPE=kpe & 3161 ! & ,I_START=grid%i_start,I_END=min(grid%i_end, ide-1) & 3162 ! & ,J_START=grid%j_start,J_END=min(grid%j_end, jde-1) & 3163 ! & ,KTS=k_start, KTE=min(k_end,kde-1) & 3164 ! & ,NUM_TILES=grid%num_tiles & 3165 ! & ) 3158 3166 3159 3167 #ifdef DM_PARALLEL
Note: See TracChangeset
for help on using the changeset viewer.