subroutine __noahmpdrv_f90__::noahmpdrv_run |
( |
integer, intent(in) | im, |
|
|
integer, intent(in) | km, |
|
|
integer, intent(in) | lsnowl, |
|
|
integer, intent(in) | itime, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | ps, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | u1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | v1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | t1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | q1, |
|
|
integer, dimension(:), intent(in) | soiltyp, |
|
|
integer, dimension(:), intent(in) | soilcol, |
|
|
integer, dimension(:), intent(in) | vegtype, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | sigmaf, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | dlwflx, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | dswsfc, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | snet, |
|
|
real(kind=kind_phys), intent(in) | delt, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | tg3, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | cm, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | ch, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | prsl1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | prslk1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | prslki, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | prsik1, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | zf, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | pblh, |
|
|
logical, dimension(:), intent(in) | dry, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | wind, |
|
|
integer, dimension(:), intent(in) | slopetyp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | shdmin, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | shdmax, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | snoalb, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | sfalb, |
|
|
logical, dimension(:), intent(in) | flag_iter, |
|
|
real(kind=kind_phys), intent(in) | con_g, |
|
|
integer, intent(in) | idveg, |
|
|
integer, intent(in) | iopt_crs, |
|
|
integer, intent(in) | iopt_btr, |
|
|
integer, intent(in) | iopt_run, |
|
|
integer, intent(in) | iopt_sfc, |
|
|
integer, intent(in) | iopt_frz, |
|
|
integer, intent(in) | iopt_inf, |
|
|
integer, intent(in) | iopt_rad, |
|
|
integer, intent(in) | iopt_alb, |
|
|
integer, intent(in) | iopt_snf, |
|
|
integer, intent(in) | iopt_tbot, |
|
|
integer, intent(in) | iopt_stc, |
|
|
integer, intent(in) | iopt_trs, |
|
|
integer, intent(in) | iopt_diag, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | xlatin, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | xcoszin, |
|
|
integer, intent(in) | iyrlen, |
|
|
real(kind=kind_phys), intent(in) | julian, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | garea, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | rainn_mp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | rainc_mp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | snow_mp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | graupel_mp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | ice_mp, |
|
|
real(kind=kind_phys), dimension(:), intent(in) | rhonewsn1, |
|
|
real(kind=kind_phys), intent(in) | con_hvap, |
|
|
real(kind=kind_phys), intent(in) | con_cp, |
|
|
real(kind=kind_phys), intent(in) | con_jcal, |
|
|
real(kind=kind_phys), intent(in) | rhoh2o, |
|
|
real(kind=kind_phys), intent(in) | con_eps, |
|
|
real(kind=kind_phys), intent(in) | con_epsm1, |
|
|
real(kind=kind_phys), intent(in) | con_fvirt, |
|
|
real(kind=kind_phys), intent(in) | con_rd, |
|
|
real(kind=kind_phys), intent(in) | con_hfus, |
|
|
logical, intent(in) | thsfc_loc, |
|
|
logical, intent(in) | cpllnd, |
|
|
logical, intent(in) | cpllnd2atm, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | weasd, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | snwdph, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tskin, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tprcp, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | srflag, |
|
|
real(kind=kind_phys), dimension(:,:), intent(inout) | smc, |
|
|
real(kind=kind_phys), dimension(:,:), intent(inout) | stc, |
|
|
real(kind=kind_phys), dimension(:,:), intent(inout) | slc, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | canopy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | trans, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tsurf, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | zorl, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | rb1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fm1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fh1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | ustar1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | stress1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fm101, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fh21, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | rmol1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | flhc1, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | flqc1, |
|
|
logical, intent(in) | do_mynnsfclay, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | snowxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tvxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tgxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | canicexy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | canliqxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | eahxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | tahxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | cmxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | chxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fwetxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | sneqvoxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | alboldxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | qsnowxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | wslakexy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | zwtxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | waxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | wtxy, |
|
|
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout) | tsnoxy, |
|
|
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout) | zsnsoxy, |
|
|
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout) | snicexy, |
|
|
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout) | snliqxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | lfmassxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | rtmassxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | stmassxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | woodxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | stblcpxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | fastcpxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | xlaixy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | xsaixy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | taussxy, |
|
|
real(kind=kind_phys), dimension(:,:), intent(inout) | smoiseq, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | smcwtdxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | deeprechxy, |
|
|
real(kind=kind_phys), dimension(:), intent(inout) | rechxy, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | albdvis, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | albdnir, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | albivis, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | albinir, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | emiss, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | sncovr1, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | qsurf, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | gflux, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | drain, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | evap, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | hflx, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | ep, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | runoff, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | cmm, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | chh, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | evbs, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | evcw, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | sbsno, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | pah, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | ecan, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | etran, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | edir, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | snowc, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | stm, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | snohf, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | smcwlt2, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | smcref2, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | wet1, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | t2mmp, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | q2mp, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | zvfun, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | ztmax, |
|
|
real(kind=kind_phys), dimension(:), intent(out) | rca, |
|
|
character(len=*), intent(out) | errmsg, |
|
|
integer, intent(out) | errflg, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | canopy_heat_storage_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | rainfall_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sw_absorbed_total_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sw_reflected_total_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | lw_absorbed_total_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | temperature_bare_grd_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | temperature_veg_grd_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | temperature_veg_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | temperature_bare_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | spec_humidity_veg_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | spec_humidity_bare_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sw_absorbed_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sw_absorbed_ground_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | snowmelt_out_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | snowmelt_shallow_ccpp, |
|
|
real(kind=kind_phys), dimension(:,:), intent(out), optional | albedo_direct_snow_ccpp, |
|
|
real(kind=kind_phys), dimension(:,:), intent(out), optional | albedo_diffuse_snow_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_vegetated_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_bare_ground_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sensible_heat_grd_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sensible_heat_leaf_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | sensible_heat_grd_bar_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | latent_heat_grd_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | latent_heat_grd_bare_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ground_heat_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ground_heat_bare_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | lw_absorbed_grd_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | lw_absorbed_leaf_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | lw_absorbed_grd_bare_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | latent_heat_trans_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | latent_heat_leaf_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_leaf_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_below_canopy_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_vegetated_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | ch_bare_ground_2m_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | precip_adv_heat_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | precip_adv_heat_grd_v_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | precip_adv_heat_grd_b_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | spec_humid_sfc_veg_ccpp, |
|
|
real(kind=kind_phys), dimension(:), intent(out), optional | spec_humid_sfc_bare_ccpp ) |
|
private |