CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ sfc_nst_run()

subroutine sfc_nst::sfc_nst_run ( integer, intent(in) im,
real (kind=kind_phys), intent(in) hvap,
real (kind=kind_phys), intent(in) cp,
real (kind=kind_phys), intent(in) hfus,
real (kind=kind_phys), intent(in) jcal,
real (kind=kind_phys), intent(in) eps,
real (kind=kind_phys), intent(in) epsm1,
real (kind=kind_phys), intent(in) rvrdm1,
real (kind=kind_phys), intent(in) rd,
real (kind=kind_phys), intent(in) rhw0,
real (kind=kind_phys), intent(in) pi,
real (kind=kind_phys), intent(in) tgice,
real (kind=kind_phys), intent(in) sbc,
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) usfco,
real (kind=kind_phys), dimension(:), intent(in) vsfco,
integer, intent(in) icplocn2atm,
real (kind=kind_phys), dimension(:), intent(in) t1,
real (kind=kind_phys), dimension(:), intent(in) q1,
real (kind=kind_phys), dimension(:), intent(in), optional tref,
real (kind=kind_phys), dimension(:), intent(in) cm,
real (kind=kind_phys), dimension(:), intent(in) ch,
logical, intent(in) lseaspray,
real (kind=kind_phys), dimension(:), intent(in) fm,
real (kind=kind_phys), dimension(:), intent(in) fm10,
real (kind=kind_phys), dimension(:), intent(in) prsl1,
real (kind=kind_phys), dimension(:), intent(in) prslki,
real (kind=kind_phys), dimension(:), intent(in) prsik1,
real (kind=kind_phys), dimension(:), intent(in) prslk1,
logical, dimension(:), intent(in) wet,
integer, dimension(:), intent(in) use_lake_model,
real (kind=kind_phys), dimension(:), intent(in) xlon,
real (kind=kind_phys), dimension(:), intent(in) sinlat,
real (kind=kind_phys), dimension(:), intent(in) stress,
real (kind=kind_phys), dimension(:), intent(in) sfcemis,
real (kind=kind_phys), dimension(:), intent(in) dlwflx,
real (kind=kind_phys), dimension(:), intent(in) sfcnsw,
real (kind=kind_phys), dimension(:), intent(in) rain,
real (kind=kind_phys), intent(in) timestep,
integer, intent(in) kdt,
real (kind=kind_phys), intent(in) solhr,
real (kind=kind_phys), dimension(:), intent(in) xcosz,
real (kind=kind_phys), dimension(:), intent(in) wind,
logical, dimension(:), intent(in) flag_iter,
logical, dimension(:), intent(in) flag_guess,
integer, intent(in) nstf_name1,
integer, intent(in) nstf_name4,
integer, intent(in) nstf_name5,
logical, intent(in) lprnt,
integer, intent(in) ipr,
logical, intent(in) thsfc_loc,
real (kind=kind_phys), dimension(:), intent(inout) tskin,
real (kind=kind_phys), dimension(:), intent(inout) tsurf,
real (kind=kind_phys), dimension(:), intent(inout), optional xt,
real (kind=kind_phys), dimension(:), intent(inout), optional xs,
real (kind=kind_phys), dimension(:), intent(inout), optional xu,
real (kind=kind_phys), dimension(:), intent(inout), optional xv,
real (kind=kind_phys), dimension(:), intent(inout), optional xz,
real (kind=kind_phys), dimension(:), intent(inout), optional zm,
real (kind=kind_phys), dimension(:), intent(inout), optional xtts,
real (kind=kind_phys), dimension(:), intent(inout), optional xzts,
real (kind=kind_phys), dimension(:), intent(inout), optional dt_cool,
real (kind=kind_phys), dimension(:), intent(inout), optional z_c,
real (kind=kind_phys), dimension(:), intent(inout), optional c_0,
real (kind=kind_phys), dimension(:), intent(inout), optional c_d,
real (kind=kind_phys), dimension(:), intent(inout), optional w_0,
real (kind=kind_phys), dimension(:), intent(inout), optional w_d,
real (kind=kind_phys), dimension(:), intent(inout), optional d_conv,
real (kind=kind_phys), dimension(:), intent(inout), optional ifd,
real (kind=kind_phys), dimension(:), intent(inout), optional qrain,
real (kind=kind_phys), dimension(:), intent(inout) qsurf,
real (kind=kind_phys), dimension(:), intent(inout) gflux,
real (kind=kind_phys), dimension(:), intent(inout) cmm,
real (kind=kind_phys), dimension(:), intent(inout) chh,
real (kind=kind_phys), dimension(:), intent(inout) evap,
real (kind=kind_phys), dimension(:), intent(inout) hflx,
real (kind=kind_phys), dimension(:), intent(inout) ep,
character(len=*), intent(out) errmsg,
integer, intent(out) errflg )
  • Calculate latent and sensible heat flux over open water with tskin.
  • Calculate sensible heat flux (qrain) due to rainfall.
  • Calculate input non solar heat flux as upward = positive to models here
  • Call cool_skin(), which is the sub-layer cooling parameterization (Fairfall et al. (1996) [57]).
  • Call convdepth() to calculate depth for convective adjustments.
  • Call the diurnal thermocline layer model dtm_1p().
  • If dtl heat content xt > 0.0, call dtm_1p_mda() to apply minimum depth adjustment (mda).
  • Call sw_ps_9b() to compute the fraction of the solar radiation absorbed by the depth delz (Paulson and Simpson (1981) [160]). And calculate the total heat absorbed in warm layer.
  • Call cal_ttop() to calculate the diurnal warming amount at the top layer with thickness of dz.
  • Call dt_1p_mwa() to apply maximum warming adjustment.
  • Call dtm_1p_mta() to apply maximum temperature adjustment.
  • Call cal_w() to calculate w_0 and w_d.
  • Calculate latent and sensible heat flux over open water with updated tskin for the grids of open water and the iteration is on.
  • Include sea spray effects

Definition at line 27 of file sfc_nst.f90.

References nst_module::cal_ttop(), nst_module::cal_w(), nst_module::convdepth(), nst_module::cool_skin(), module_nst_water_prop::density(), nst_module::dtl_reset(), nst_module::dtm_1p(), nst_module::dtm_1p_fca(), nst_module::dtm_1p_mda(), nst_module::dtm_1p_mta(), nst_module::dtm_1p_mwa(), nst_module::dtm_1p_tla(), module_nst_water_prop::get_dtzm_point(), module_nst_water_prop::grv(), and module_nst_water_prop::rhocoef().

Here is the call graph for this function: