surf_land_bucket_hetero Subroutine

public subroutine surf_land_bucket_hetero(itime, jour, knon, knindex, debut, dtime, tsurf, p1lay, tq_cdrag, precip_rain, precip_snow, temp_air, spechum, petAcoef, peqAcoef, petBcoef, peqBcoef, pref, plev, u1, v1, gustiness, rugoro, swnet, lwnet, snow, qsol, agesno, tsoil, qsurf, z0m, z0h, alb1_new, alb2_new, evap, fluxsens, fluxlat, tsurf_new, dflux_s, dflux_l, tsurf_tersrf, tsoil_tersrf, qsurf_tersrf, tsurf_new_tersrf, cdragm_tersrf, cdragh_tersrf, swnet_tersrf, lwnet_tersrf, fluxsens_tersrf, fluxlat_tersrf)

Uses

  • proc~~surf_land_bucket_hetero~~UsesGraph proc~surf_land_bucket_hetero surf_land_bucket_hetero module~limit_read_mod limit_read_mod proc~surf_land_bucket_hetero->module~limit_read_mod module~calcul_fluxs_mod calcul_fluxs_mod proc~surf_land_bucket_hetero->module~calcul_fluxs_mod module~yomcst_mod_h yomcst_mod_h proc~surf_land_bucket_hetero->module~yomcst_mod_h module~cpl_mod cpl_mod proc~surf_land_bucket_hetero->module~cpl_mod module~compbl_mod_h compbl_mod_h proc~surf_land_bucket_hetero->module~compbl_mod_h module~phys_state_var_mod phys_state_var_mod proc~surf_land_bucket_hetero->module~phys_state_var_mod module~dimpft_mod_h dimpft_mod_h proc~surf_land_bucket_hetero->module~dimpft_mod_h module~surf_param_mod surf_param_mod proc~surf_land_bucket_hetero->module~surf_param_mod module~dimphy~3 dimphy proc~surf_land_bucket_hetero->module~dimphy~3 module~mod_phys_lmdz_para mod_phys_lmdz_para proc~surf_land_bucket_hetero->module~mod_phys_lmdz_para module~surface_data surface_data proc~surf_land_bucket_hetero->module~surface_data module~indice_sol_mod indice_sol_mod proc~surf_land_bucket_hetero->module~indice_sol_mod module~mod_grid_phy_lmdz mod_grid_phy_lmdz proc~surf_land_bucket_hetero->module~mod_grid_phy_lmdz module~geometry_mod geometry_mod proc~surf_land_bucket_hetero->module~geometry_mod module~dimsoil_mod_h dimsoil_mod_h proc~surf_land_bucket_hetero->module~dimsoil_mod_h module~cdrag_mod cdrag_mod proc~surf_land_bucket_hetero->module~cdrag_mod module~clesphys_mod_h~2 clesphys_mod_h proc~surf_land_bucket_hetero->module~clesphys_mod_h~2 module~fonte_neige_mod fonte_neige_mod proc~surf_land_bucket_hetero->module~fonte_neige_mod module~calcul_fluxs_mod->module~clesphys_mod_h~2 module~cpl_mod->module~dimphy~3 module~cpl_mod->module~mod_phys_lmdz_para module~time_phylmdz_mod time_phylmdz_mod module~cpl_mod->module~time_phylmdz_mod module~iophy iophy module~cpl_mod->module~iophy ioipsl ioipsl module~cpl_mod->ioipsl module~write_field_phy write_field_phy module~cpl_mod->module~write_field_phy module~oasis~2 oasis module~cpl_mod->module~oasis~2 module~phys_state_var_mod->module~dimphy~3 module~phys_state_var_mod->module~dimsoil_mod_h netcdf netcdf module~phys_state_var_mod->netcdf module~mod_phys_lmdz_transfert_para mod_phys_lmdz_transfert_para module~mod_phys_lmdz_para->module~mod_phys_lmdz_transfert_para module~mod_phys_lmdz_mpi_data mod_phys_lmdz_mpi_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_mpi_data module~mod_phys_lmdz_omp_data mod_phys_lmdz_omp_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_omp_data module~fonte_neige_mod->module~dimphy~3 module~fonte_neige_mod->module~indice_sol_mod module~mod_phys_lmdz_omp_transfert mod_phys_lmdz_omp_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_omp_transfert module~mod_phys_lmdz_mpi_transfert mod_phys_lmdz_mpi_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_mpi_transfert module~lmdz_cppkeys_wrapper lmdz_cppkeys_wrapper module~mod_phys_lmdz_mpi_data->module~lmdz_cppkeys_wrapper module~lmdz_mpi lmdz_mpi module~mod_phys_lmdz_mpi_data->module~lmdz_mpi module~oasis~2->module~dimphy~3 module~oasis~2->module~mod_phys_lmdz_para module~oasis~2->module~write_field_phy module~lmdz_cppkeys_wrapper->netcdf iso_fortran_env iso_fortran_env module~lmdz_cppkeys_wrapper->iso_fortran_env

Bucket calculations for surface.


Input variables


Calcultaion of fluxes

Calculate snow height, run_off, age of snow

Return albedo : alb1_new and alb2_new are here given the same values

Send to coupler The run-off from river and coast are not calculated in the bucket modele. For testing purpose of the coupled modele we put the run-off to zero. End

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: itime
integer, intent(in) :: jour
integer, intent(in) :: knon
integer, intent(in), DIMENSION(klon) :: knindex
logical, intent(in) :: debut
real, intent(in) :: dtime
real, intent(in), DIMENSION(klon) :: tsurf
real, intent(in), DIMENSION(klon) :: p1lay
real, intent(in), DIMENSION(klon) :: tq_cdrag
real, intent(in), DIMENSION(klon) :: precip_rain
real, intent(in), DIMENSION(klon) :: precip_snow
real, intent(in), DIMENSION(klon) :: temp_air
real, intent(in), DIMENSION(klon) :: spechum
real, intent(in), DIMENSION(klon) :: petAcoef
real, intent(in), DIMENSION(klon) :: peqAcoef
real, intent(in), DIMENSION(klon) :: petBcoef
real, intent(in), DIMENSION(klon) :: peqBcoef
real, intent(in), DIMENSION(klon) :: pref
real, intent(inout), DIMENSION(klon) :: plev
real, intent(in), DIMENSION(klon) :: u1
real, intent(in), DIMENSION(klon) :: v1
real, intent(in), DIMENSION(klon) :: gustiness
real, intent(in), DIMENSION(klon) :: rugoro
real, intent(in), DIMENSION(klon) :: swnet
real, intent(in), DIMENSION(klon) :: lwnet
real, intent(inout), DIMENSION(klon) :: snow
real, intent(inout), DIMENSION(klon) :: qsol
real, intent(inout), DIMENSION(klon) :: agesno
real, intent(inout), DIMENSION(klon, nsoilmx) :: tsoil
real, intent(out), DIMENSION(klon) :: qsurf
real, intent(out), DIMENSION(klon) :: z0m
real, intent(out), DIMENSION(klon) :: z0h
real, intent(out), DIMENSION(klon) :: alb1_new
real, intent(out), DIMENSION(klon) :: alb2_new
real, intent(out), DIMENSION(klon) :: evap
real, intent(out), DIMENSION(klon) :: fluxsens
real, intent(out), DIMENSION(klon) :: fluxlat
real, intent(out), DIMENSION(klon) :: tsurf_new
real, intent(out), DIMENSION(klon) :: dflux_s
real, intent(out), DIMENSION(klon) :: dflux_l
real, intent(in), DIMENSION(klon, nbtersrf) :: tsurf_tersrf
real, intent(inout), DIMENSION(klon, nsoilmx, nbtersrf) :: tsoil_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: qsurf_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: tsurf_new_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: cdragm_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: cdragh_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: swnet_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: lwnet_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: fluxsens_tersrf
real, intent(out), DIMENSION(klon, nbtersrf) :: fluxlat_tersrf

Calls

proc~~surf_land_bucket_hetero~~CallsGraph proc~surf_land_bucket_hetero surf_land_bucket_hetero proc~cpl_send_land_fields cpl_send_land_fields proc~surf_land_bucket_hetero->proc~cpl_send_land_fields proc~soil_hetero soil_hetero proc~surf_land_bucket_hetero->proc~soil_hetero proc~calbeta calbeta proc~surf_land_bucket_hetero->proc~calbeta proc~fonte_neige fonte_neige proc~surf_land_bucket_hetero->proc~fonte_neige proc~calbeta_clim calbeta_clim proc~surf_land_bucket_hetero->proc~calbeta_clim proc~albsno albsno proc~surf_land_bucket_hetero->proc~albsno proc~cdrag cdrag proc~surf_land_bucket_hetero->proc~cdrag proc~average_surf_var average_surf_var proc~surf_land_bucket_hetero->proc~average_surf_var proc~eff_surf_param eff_surf_param proc~surf_land_bucket_hetero->proc~eff_surf_param proc~calcul_fluxs calcul_fluxs proc~surf_land_bucket_hetero->proc~calcul_fluxs proc~gath2cpl gath2cpl proc~cpl_send_land_fields->proc~gath2cpl proc~ini_csts INI_CSTS proc~cdrag->proc~ini_csts proc~coare_cp coare_cp proc~cdrag->proc~coare_cp proc~coare30_flux_cnrm COARE30_FLUX_CNRM proc~cdrag->proc~coare30_flux_cnrm ecumev6_flux ecumev6_flux proc~cdrag->ecumev6_flux amax1 amax1 proc~cdrag->amax1 interface~getin_p getin_p proc~cdrag->interface~getin_p proc~clc_core_cp clc_core_cp proc~cdrag->proc~clc_core_cp proc~sens_heat_rain sens_heat_rain proc~calcul_fluxs->proc~sens_heat_rain proc~psiuo psiuo proc~coare_cp->proc~psiuo proc~psit_30 psit_30 proc~coare_cp->proc~psit_30 interface~gather_omp gather_omp proc~gath2cpl->interface~gather_omp interface~grid1dto2d_mpi grid1dTo2d_mpi proc~gath2cpl->interface~grid1dto2d_mpi proc~abort_physic abort_physic proc~coare30_flux_cnrm->proc~abort_physic proc~coare30_flux_cnrm->proc~psiuo proc~coare30_flux_cnrm->proc~psit_30 proc~esat esat proc~sens_heat_rain->proc~esat proc~mpi_abort MPI_ABORT proc~abort_physic->proc~mpi_abort getin_dump getin_dump proc~abort_physic->getin_dump restclo restclo proc~abort_physic->restclo histclo histclo proc~abort_physic->histclo proc~grid1dto2d_mpi_i grid1dTo2d_mpi_i interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i proc~grid1dto2d_mpi_i3 grid1dTo2d_mpi_i3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i3 proc~grid1dto2d_mpi_r1 grid1dTo2d_mpi_r1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r1 proc~grid1dto2d_mpi_i2 grid1dTo2d_mpi_i2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i2 proc~grid1dto2d_mpi_i1 grid1dTo2d_mpi_i1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i1 proc~grid1dto2d_mpi_r3 grid1dTo2d_mpi_r3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r3 proc~grid1dto2d_mpi_l2 grid1dTo2d_mpi_l2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l2 proc~grid1dto2d_mpi_l3 grid1dTo2d_mpi_l3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l3 proc~grid1dto2d_mpi_r grid1dTo2d_mpi_r interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r proc~grid1dto2d_mpi_l grid1dTo2d_mpi_l interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l proc~grid1dto2d_mpi_r2 grid1dTo2d_mpi_r2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r2 proc~grid1dto2d_mpi_l1 grid1dTo2d_mpi_l1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l1 proc~grid1dto2d_mpi_igen grid1dTo2d_mpi_igen proc~grid1dto2d_mpi_i->proc~grid1dto2d_mpi_igen proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort proc~grid1dto2d_mpi_i3->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_rgen grid1dTo2d_mpi_rgen proc~grid1dto2d_mpi_r1->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_i2->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_i1->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_r3->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_lgen grid1dTo2d_mpi_lgen proc~grid1dto2d_mpi_l2->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_l3->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_r->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_l->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_r2->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_l1->proc~grid1dto2d_mpi_lgen

Called by

proc~~surf_land_bucket_hetero~~CalledByGraph proc~surf_land_bucket_hetero surf_land_bucket_hetero proc~surf_land surf_land proc~surf_land->proc~surf_land_bucket_hetero proc~surf_land~2 surf_land proc~surf_land~2->proc~surf_land_bucket_hetero proc~pbl_surface pbl_surface proc~pbl_surface->proc~surf_land proc~pbl_surface~2 pbl_surface proc~pbl_surface~2->proc~surf_land proc~physiq physiq proc~physiq->proc~pbl_surface proc~physiq~2 physiq proc~physiq~2->proc~pbl_surface proc~old_lmdz1d old_lmdz1d proc~old_lmdz1d->proc~physiq proc~call_physiq call_physiq proc~call_physiq->proc~physiq proc~call_physiq~2 call_physiq proc~call_physiq~2->proc~physiq proc~scm scm proc~scm->proc~physiq program~lmdz1d lmdz1d program~lmdz1d->proc~old_lmdz1d program~lmdz1d->proc~scm proc~calfis calfis proc~calfis->proc~call_physiq proc~leapfrog leapfrog proc~leapfrog->proc~calfis program~gcm~2 gcm program~gcm~2->proc~leapfrog

Contents