change_srf_frac Subroutine

public subroutine change_srf_frac(itime, dtime, jour, pctsrf, evap, z0m, z0h, agesno, alb_dir, alb_dif, tsurf, ustar, u10m, v10m, pbl_tke)

Uses

  • proc~~change_srf_frac~~UsesGraph proc~change_srf_frac change_srf_frac module~yomcst_mod_h yomcst_mod_h proc~change_srf_frac->module~yomcst_mod_h module~limit_read_mod limit_read_mod proc~change_srf_frac->module~limit_read_mod module~cpl_mod cpl_mod proc~change_srf_frac->module~cpl_mod module~pbl_surface_mod pbl_surface_mod proc~change_srf_frac->module~pbl_surface_mod module~dimphy~3 dimphy proc~change_srf_frac->module~dimphy~3 module~surface_data surface_data proc~change_srf_frac->module~surface_data module~indice_sol_mod indice_sol_mod proc~change_srf_frac->module~indice_sol_mod module~ocean_slab_mod ocean_slab_mod proc~change_srf_frac->module~ocean_slab_mod module~print_control_mod print_control_mod proc~change_srf_frac->module~print_control_mod module~cpl_mod->module~dimphy~3 module~iophy iophy module~cpl_mod->module~iophy module~mod_phys_lmdz_para mod_phys_lmdz_para module~cpl_mod->module~mod_phys_lmdz_para module~oasis~2 oasis module~cpl_mod->module~oasis~2 ioipsl ioipsl module~cpl_mod->ioipsl module~time_phylmdz_mod time_phylmdz_mod module~cpl_mod->module~time_phylmdz_mod module~write_field_phy write_field_phy module~cpl_mod->module~write_field_phy module~pbl_surface_mod->module~cpl_mod module~pbl_surface_mod->module~dimphy~3 module~pbl_surface_mod->module~surface_data module~surf_land_mod surf_land_mod module~pbl_surface_mod->module~surf_land_mod module~mod_grid_phy_lmdz mod_grid_phy_lmdz module~pbl_surface_mod->module~mod_grid_phy_lmdz module~cdrag_mod cdrag_mod module~pbl_surface_mod->module~cdrag_mod module~wx_pbl_var_mod wx_pbl_var_mod module~pbl_surface_mod->module~wx_pbl_var_mod module~pbl_surface_mod->module~mod_phys_lmdz_para module~climb_hq_mod climb_hq_mod module~pbl_surface_mod->module~climb_hq_mod module~stdlevvar_mod stdlevvar_mod module~pbl_surface_mod->module~stdlevvar_mod module~climb_qbs_mod climb_qbs_mod module~pbl_surface_mod->module~climb_qbs_mod module~lmdz_call_atke lmdz_call_atke module~pbl_surface_mod->module~lmdz_call_atke module~wx_pbl_mod wx_pbl_mod module~pbl_surface_mod->module~wx_pbl_mod module~surf_landice_mod surf_landice_mod module~pbl_surface_mod->module~surf_landice_mod module~coef_diff_turb_mod coef_diff_turb_mod module~pbl_surface_mod->module~coef_diff_turb_mod module~config_ocean_skin_m~2 config_ocean_skin_m module~pbl_surface_mod->module~config_ocean_skin_m~2 module~ioipsl_getin_p_mod ioipsl_getin_p_mod module~pbl_surface_mod->module~ioipsl_getin_p_mod module~pbl_surface_mod->ioipsl module~surf_seaice_mod surf_seaice_mod module~pbl_surface_mod->module~surf_seaice_mod module~climb_wind_mod climb_wind_mod module~pbl_surface_mod->module~climb_wind_mod module~surf_ocean_mod surf_ocean_mod module~pbl_surface_mod->module~surf_ocean_mod module~ocean_slab_mod->module~dimphy~3 module~ocean_slab_mod->module~surface_data module~ocean_slab_mod->module~indice_sol_mod module~ocean_slab_mod->module~mod_grid_phy_lmdz module~mod_phys_lmdz_mpi_data mod_phys_lmdz_mpi_data module~ocean_slab_mod->module~mod_phys_lmdz_mpi_data module~wx_pbl_var_mod->module~dimphy~3 module~mod_phys_lmdz_para->module~mod_phys_lmdz_mpi_data 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_omp_data mod_phys_lmdz_omp_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_omp_data module~climb_hq_mod->module~dimphy~3 module~compbl_mod_h compbl_mod_h module~climb_hq_mod->module~compbl_mod_h module~stdlevvar_mod->module~yomcst_mod_h module~stdlevvar_mod->module~cdrag_mod module~screenc_mod screenc_mod module~stdlevvar_mod->module~screenc_mod module~screenp_mod screenp_mod module~stdlevvar_mod->module~screenp_mod module~climb_qbs_mod->module~dimphy~3 module~lmdz_atke_exchange_coeff lmdz_atke_exchange_coeff module~lmdz_call_atke->module~lmdz_atke_exchange_coeff module~oasis~2->module~dimphy~3 module~oasis~2->module~mod_phys_lmdz_para module~oasis~2->module~write_field_phy module~wx_pbl_mod->module~dimphy~3 module~clesphys_mod_h~2 clesphys_mod_h module~wx_pbl_mod->module~clesphys_mod_h~2 module~lmdz_mpi lmdz_mpi module~mod_phys_lmdz_mpi_data->module~lmdz_mpi module~lmdz_cppkeys_wrapper lmdz_cppkeys_wrapper module~mod_phys_lmdz_mpi_data->module~lmdz_cppkeys_wrapper module~coef_diff_turb_mod->module~clesphys_mod_h~2 module~ioipsl_getin_p_mod->module~mod_phys_lmdz_para module~ioipsl_getin_p_mod->ioipsl module~ioipsl_getin_p_mod->module~mod_phys_lmdz_transfert_para module~strings_mod strings_mod module~ioipsl_getin_p_mod->module~strings_mod module~climb_wind_mod->module~dimphy~3 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~screenc_mod->module~cdrag_mod netcdf netcdf module~lmdz_cppkeys_wrapper->netcdf iso_fortran_env iso_fortran_env module~lmdz_cppkeys_wrapper->iso_fortran_env module~strings_mod->iso_fortran_env


1) For each type of ocean (force, slab, couple) receive new fractions only if it's time
to modify (is_modified=true). Otherwise nothing is done (is_modified=false).



2) Tests and ajustements on the new fractions : - Put to zero fractions that are too small - Test total fraction sum is one for each grid point



3) Initialize variables where a new fraction has appered, i.e. where new sea ice has been formed or where ice free ocean has appread in a grid cell


Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: itime
real, intent(in) :: dtime
integer, intent(in) :: jour
real, intent(inout), DIMENSION(klon,nbsrf) :: pctsrf
real, intent(inout), DIMENSION(klon,nbsrf) :: evap
real, intent(inout), DIMENSION(klon,nbsrf+1) :: z0m
real, intent(inout), DIMENSION(klon,nbsrf+1) :: z0h
real, intent(inout), DIMENSION(klon,nbsrf) :: agesno
real, intent(inout), DIMENSION(klon,nsw,nbsrf) :: alb_dir
real, intent(inout), DIMENSION(klon,nsw,nbsrf) :: alb_dif
real, intent(inout), DIMENSION(klon,nbsrf) :: tsurf
real, intent(inout), DIMENSION(klon,nbsrf) :: ustar
real, intent(inout), DIMENSION(klon,nbsrf) :: u10m
real, intent(inout), DIMENSION(klon,nbsrf) :: v10m

REAL, DIMENSION(klon,klev+1,nbsrf), INTENT(INOUT) :: pbl_tke

real, intent(inout), DIMENSION(klon,klev+1,nbsrf+1) :: pbl_tke

jyg



Calls

proc~~change_srf_frac~~CallsGraph proc~change_srf_frac change_srf_frac proc~abort_physic abort_physic proc~change_srf_frac->proc~abort_physic proc~cpl_receive_frac cpl_receive_frac proc~change_srf_frac->proc~cpl_receive_frac proc~ocean_slab_frac ocean_slab_frac proc~change_srf_frac->proc~ocean_slab_frac proc~pbl_surface_newfrac pbl_surface_newfrac proc~change_srf_frac->proc~pbl_surface_newfrac proc~limit_read_frac limit_read_frac proc~change_srf_frac->proc~limit_read_frac 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 interface~gather_omp gather_omp proc~cpl_receive_frac->interface~gather_omp interface~grid1dto2d_mpi grid1dTo2d_mpi proc~cpl_receive_frac->interface~grid1dto2d_mpi histwrite histwrite proc~cpl_receive_frac->histwrite proc~geo2atm geo2atm proc~cpl_receive_frac->proc~geo2atm proc~limit_read_tot limit_read_tot proc~limit_read_frac->proc~limit_read_tot proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort proc~grid1dto2d_mpi_i2 grid1dTo2d_mpi_i2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i2 proc~grid1dto2d_mpi_l3 grid1dTo2d_mpi_l3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l3 proc~grid1dto2d_mpi_l grid1dTo2d_mpi_l interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l proc~grid1dto2d_mpi_l1 grid1dTo2d_mpi_l1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l1 proc~grid1dto2d_mpi_i grid1dTo2d_mpi_i interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i proc~grid1dto2d_mpi_r1 grid1dTo2d_mpi_r1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r1 proc~grid1dto2d_mpi_i1 grid1dTo2d_mpi_i1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i1 proc~grid1dto2d_mpi_l2 grid1dTo2d_mpi_l2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l2 proc~grid1dto2d_mpi_r grid1dTo2d_mpi_r interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r proc~grid1dto2d_mpi_i3 grid1dTo2d_mpi_i3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i3 proc~grid1dto2d_mpi_r3 grid1dTo2d_mpi_r3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r3 proc~grid1dto2d_mpi_r2 grid1dTo2d_mpi_r2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r2 proc~limit_read_tot->proc~abort_physic nf90_open nf90_open proc~limit_read_tot->nf90_open nf90_inquire nf90_inquire proc~limit_read_tot->nf90_inquire nf90_close nf90_close proc~limit_read_tot->nf90_close nf90_inquire_dimension nf90_inquire_dimension proc~limit_read_tot->nf90_inquire_dimension nf90_get_var nf90_get_var proc~limit_read_tot->nf90_get_var nf90_inq_dimid nf90_inq_dimid proc~limit_read_tot->nf90_inq_dimid nf90_get_att nf90_get_att proc~limit_read_tot->nf90_get_att nf90_inq_varid nf90_inq_varid proc~limit_read_tot->nf90_inq_varid interface~xios_recv_field xios_recv_field proc~limit_read_tot->interface~xios_recv_field interface~scatter_omp scatter_omp proc~limit_read_tot->interface~scatter_omp interface~scatter scatter proc~limit_read_tot->interface~scatter proc~geo2atm->proc~abort_physic proc~grid1dto2d_mpi_igen grid1dTo2d_mpi_igen proc~grid1dto2d_mpi_i2->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_lgen grid1dTo2d_mpi_lgen proc~grid1dto2d_mpi_l3->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_l->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_l1->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_i->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_rgen grid1dTo2d_mpi_rgen proc~grid1dto2d_mpi_r1->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_i1->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_l2->proc~grid1dto2d_mpi_lgen proc~grid1dto2d_mpi_r->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_i3->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_r3->proc~grid1dto2d_mpi_rgen proc~grid1dto2d_mpi_r2->proc~grid1dto2d_mpi_rgen proc~xios_recv_field_4d xios_recv_field_4d interface~xios_recv_field->proc~xios_recv_field_4d proc~xios_recv_field_1d xios_recv_field_1d interface~xios_recv_field->proc~xios_recv_field_1d proc~xios_recv_field_2d xios_recv_field_2d interface~xios_recv_field->proc~xios_recv_field_2d proc~xios_recv_field_3d xios_recv_field_3d interface~xios_recv_field->proc~xios_recv_field_3d proc~xios_recv_field_scalar xios_recv_field_scalar interface~xios_recv_field->proc~xios_recv_field_scalar proc~scatter_i1 scatter_i1 interface~scatter->proc~scatter_i1 proc~scatter_r scatter_r interface~scatter->proc~scatter_r proc~scatter_r2 scatter_r2 interface~scatter->proc~scatter_r2 proc~scatter_l2 scatter_l2 interface~scatter->proc~scatter_l2 proc~scatter_i2 scatter_i2 interface~scatter->proc~scatter_i2 proc~scatter_l1 scatter_l1 interface~scatter->proc~scatter_l1 proc~scatter_r3 scatter_r3 interface~scatter->proc~scatter_r3 proc~scatter_i scatter_i interface~scatter->proc~scatter_i proc~scatter_i3 scatter_i3 interface~scatter->proc~scatter_i3 proc~scatter_r1 scatter_r1 interface~scatter->proc~scatter_r1 proc~scatter_l scatter_l interface~scatter->proc~scatter_l proc~scatter_l3 scatter_l3 interface~scatter->proc~scatter_l3 proc~scatter_i1->interface~scatter_omp interface~scatter_mpi scatter_mpi proc~scatter_i1->interface~scatter_mpi proc~scatter_r->interface~scatter_omp proc~scatter_r->interface~scatter_mpi proc~scatter_r2->interface~scatter_omp proc~scatter_r2->interface~scatter_mpi proc~scatter_l2->interface~scatter_omp proc~scatter_l2->interface~scatter_mpi proc~scatter_i2->interface~scatter_omp proc~scatter_i2->interface~scatter_mpi proc~scatter_l1->interface~scatter_omp proc~scatter_l1->interface~scatter_mpi proc~scatter_r3->interface~scatter_omp proc~scatter_r3->interface~scatter_mpi proc~scatter_i->interface~scatter_omp proc~scatter_i->interface~scatter_mpi proc~scatter_i3->interface~scatter_omp proc~scatter_i3->interface~scatter_mpi proc~scatter_r1->interface~scatter_omp proc~scatter_r1->interface~scatter_mpi proc~scatter_l->interface~scatter_omp proc~scatter_l->interface~scatter_mpi proc~scatter_l3->interface~scatter_omp proc~scatter_l3->interface~scatter_mpi proc~scatter_mpi_i1 scatter_mpi_i1 interface~scatter_mpi->proc~scatter_mpi_i1 proc~scatter_mpi_l1 scatter_mpi_l1 interface~scatter_mpi->proc~scatter_mpi_l1 proc~scatter_mpi_r1 scatter_mpi_r1 interface~scatter_mpi->proc~scatter_mpi_r1 proc~scatter_mpi_r scatter_mpi_r interface~scatter_mpi->proc~scatter_mpi_r proc~scatter_mpi_i scatter_mpi_i interface~scatter_mpi->proc~scatter_mpi_i proc~scatter_mpi_i2 scatter_mpi_i2 interface~scatter_mpi->proc~scatter_mpi_i2 proc~scatter_mpi_r2 scatter_mpi_r2 interface~scatter_mpi->proc~scatter_mpi_r2 proc~scatter_mpi_r3 scatter_mpi_r3 interface~scatter_mpi->proc~scatter_mpi_r3 proc~scatter_mpi_l scatter_mpi_l interface~scatter_mpi->proc~scatter_mpi_l proc~scatter_mpi_l2 scatter_mpi_l2 interface~scatter_mpi->proc~scatter_mpi_l2 proc~scatter_mpi_i3 scatter_mpi_i3 interface~scatter_mpi->proc~scatter_mpi_i3 proc~scatter_mpi_l3 scatter_mpi_l3 interface~scatter_mpi->proc~scatter_mpi_l3 proc~scatter_mpi_igen scatter_mpi_igen proc~scatter_mpi_i1->proc~scatter_mpi_igen proc~scatter_mpi_lgen scatter_mpi_lgen proc~scatter_mpi_l1->proc~scatter_mpi_lgen proc~scatter_mpi_rgen scatter_mpi_rgen proc~scatter_mpi_r1->proc~scatter_mpi_rgen proc~scatter_mpi_r->proc~scatter_mpi_rgen proc~scatter_mpi_i->proc~scatter_mpi_igen proc~scatter_mpi_i2->proc~scatter_mpi_igen proc~scatter_mpi_r2->proc~scatter_mpi_rgen proc~scatter_mpi_r3->proc~scatter_mpi_rgen proc~scatter_mpi_l->proc~scatter_mpi_lgen proc~scatter_mpi_l2->proc~scatter_mpi_lgen proc~scatter_mpi_i3->proc~scatter_mpi_igen proc~scatter_mpi_l3->proc~scatter_mpi_lgen proc~mpi_scatterv MPI_SCATTERV proc~scatter_mpi_igen->proc~mpi_scatterv proc~scatter_mpi_rgen->proc~mpi_scatterv proc~scatter_mpi_lgen->proc~mpi_scatterv proc~mpi_scatterv->proc~lmdz_mpi_wrapper_abort

Called by

proc~~change_srf_frac~~CalledByGraph proc~change_srf_frac change_srf_frac proc~physiq physiq proc~physiq->proc~change_srf_frac proc~physiq~2 physiq proc~physiq~2->proc~change_srf_frac 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