GG SUBROUTINE pbl_surface_init(fder_rst, snow_rst, qsurf_rst, ftsoil_rst) jyg
jyg
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real, | public, | ALLOCATABLE, DIMENSION(:,:), SAVE | :: | snow | |||
| real, | public, | ALLOCATABLE, DIMENSION(:,:,:), SAVE | :: | ftsoil | |||
| real, | public, | ALLOCATABLE, DIMENSION(:), SAVE | :: | ydTs0 | |||
| real, | public, | ALLOCATABLE, DIMENSION(:), SAVE | :: | ydqs0 | |||
| integer, | public, | SAVE | :: | iflag_pbl_surface_t2m_bug | |||
| integer, | public, | SAVE | :: | iflag_new_t2mq2m | |||
| logical, | public, | SAVE | :: | ok_bug_zg_wk_pbl | |||
| real, | protected, | SAVE | :: | smallestreal |
Allocate and initialize module variables with fields read from restart file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(in), | DIMENSION(klon) | :: | fder_rst | ||
| real, | intent(in), | DIMENSION(klon, nbsrf) | :: | snow_rst | ||
| real, | intent(in), | DIMENSION(klon, nbsrf) | :: | qsurf_rst | ||
| real, | intent(in), | DIMENSION(klon, nsoilmx, nbsrf) | :: | ftsoil_rst |
|
|
| real, | intent(in), | DIMENSION(klon) | :: | hice_rst | ||
| real, | intent(in), | DIMENSION(klon) | :: | tice_rst | ||
| real, | intent(in), | DIMENSION(klon) | :: | bilg_cumul_rst |
! nrlmd+jyg le 02/05/2011 et le 20/02/2012 t_x, q_x, t_w, q_w, & ! jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 d_wake_dlt,d_wake_dlq, & ! ! nrlmd le 13/06/2011 ! ! ! jyg le 08/02/2012 ! zxfluxt, zxfluxq, q2m, flux_q, tke, & jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 tke_x, tke_w & !
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(in) | :: | dtime | |||
| real, | intent(in) | :: | date0 | |||
| integer, | intent(in) | :: | itap | |||
| integer, | intent(in) | :: | jour | |||
| logical, | intent(in) | :: | debut | |||
| logical, | intent(in) | :: | lafin | |||
| real, | intent(in), | DIMENSION(klon) | :: | rlon | ||
| real, | intent(in), | DIMENSION(klon) | :: | rlat | ||
| real, | intent(in), | DIMENSION(klon) | :: | rugoro | ||
| real, | intent(in), | DIMENSION(klon) | :: | rmu0 | ||
| real, | intent(in), | DIMENSION(klon) | :: | lwdown_m | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | pphi | ||
| real, | intent(in), | DIMENSION(klon) | :: | cldt |
! nrlmd+jyg le 02/05/2011 et le 20/02/2012 REAL, DIMENSION(klon,klev), INTENT(IN) :: t_x ! Temp\'erature hors poche froide REAL, DIMENSION(klon,klev), INTENT(IN) :: t_w ! Temp\'erature dans la poches froide REAL, DIMENSION(klon,klev), INTENT(IN) :: q_x ! REAL, DIMENSION(klon,klev), INTENT(IN) :: q_w ! Pareil pour l'humidit\'e |
|
| real, | intent(in), | DIMENSION(klon) | :: | rain_f | ||
| real, | intent(in), | DIMENSION(klon) | :: | snow_f | ||
| real, | intent(in), | DIMENSION(klon) | :: | bs_f | ||
| real, | intent(in), | DIMENSION(klon) | :: | solsw_m | ||
| real, | intent(in), | DIMENSION(klon) | :: | solswfdiff_m | ||
| real, | intent(in), | DIMENSION(klon) | :: | sollw_m | ||
| real, | intent(in), | DIMENSION(klon) | :: | gustiness | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | t | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | q | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | qbs | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | u | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | v | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | wake_dlt | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | wake_dlq | ||
| real, | intent(in), | DIMENSION(klon) | :: | wake_cstar | ||
| real, | intent(in), | DIMENSION(klon) | :: | wake_s | ||
| real, | intent(in), | DIMENSION(klon,klev) | :: | pplay | ||
| real, | intent(in), | DIMENSION(klon,klev+1) | :: | paprs | ||
| real, | intent(in), | DIMENSION(klon, nbsrf) | :: | pctsrf | ||
| real, | intent(inout), | DIMENSION(klon, nbsrf) | :: | ts |
jyg |
|
| real, | intent(in), | DIMENSIOn(6) | :: | SFRWL | ||
| real, | intent(inout), | DIMENSION(klon, nsw, nbsrf) | :: | alb_dir | ||
| real, | intent(inout), | DIMENSION(klon, nsw, nbsrf) | :: | alb_dif | ||
| 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+1), INTENT(INOUT) :: tke |
|
| real, | intent(inout), | DIMENSION(klon, nbsrf+1) | :: | wstar | ||
| real, | intent(out), | DIMENSION(klon) | :: | cdragh | ||
| real, | intent(out), | DIMENSION(klon) | :: | cdragm | ||
| real, | intent(out), | DIMENSION(klon) | :: | zu1 | ||
| real, | intent(out), | DIMENSION(klon) | :: | zv1 | ||
| real, | intent(inout), | DIMENSION(klon, nbsrf) | :: | beta | ||
| real, | intent(out), | DIMENSION(klon, nsw) | :: | alb_dir_m | ||
| real, | intent(out), | DIMENSION(klon, nsw) | :: | alb_dif_m | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxsens | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxevap | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxsnowerosion | ||
| real, | intent(out), | DIMENSION(klon) | :: | icesub_lic | ||
| real, | intent(out), | DIMENSION(klon) | :: | alb3_lic | ||
| real, | intent(out), | DIMENSION(klon) | :: | runoff | ||
| real, | intent(out), | DIMENSION(klon) | :: | snowhgt | ||
| real, | intent(out), | DIMENSION(klon) | :: | qsnow | ||
| real, | intent(out), | DIMENSION(klon) | :: | to_ice | ||
| real, | intent(out), | DIMENSION(klon) | :: | sissnow | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxtsol |
! jyg le ??? |
|
| real, | intent(out), | DIMENSION(klon) | :: | zxfluxlat | ||
| real, | intent(out), | DIMENSION(klon) | :: | zt2m | ||
| real, | intent(out), | DIMENSION(klon) | :: | qsat2m | ||
| integer, | intent(out), | DIMENSION(klon, 6) | :: | zn2mout | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_t | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_q | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_qbs | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_u | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_v | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | d_t_diss | ||
| real, | intent(out), | DIMENSION(klon,klev) | :: | d_t_w | ||
| real, | intent(out), | DIMENSION(klon,klev) | :: | d_q_w | ||
| real, | intent(out), | DIMENSION(klon,klev) | :: | d_t_x | ||
| real, | intent(out), | DIMENSION(klon,klev) | :: | d_q_x |
! jyg |
|
| real, | intent(out), | DIMENSION(klon) | :: | zxsens_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxfluxlat_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxsens_w | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxfluxlat_w |
REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_wake_dlt REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_wake_dlq |
|
| real, | intent(inout), | DIMENSION(klon, nbsrf) | :: | delta_tsurf | ||
| real, | intent(in), | DIMENSION(klon) | :: | wake_dens |
! |
|
| real, | intent(out), | DIMENSION(klon) | :: | cdragh_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | cdragh_w | ||
| real, | intent(out), | DIMENSION(klon) | :: | cdragm_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | cdragm_w | ||
| real, | intent(out), | DIMENSION(klon) | :: | kh | ||
| real, | intent(out), | DIMENSION(klon) | :: | kh_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | kh_w |
! |
|
| real, | intent(out) | :: | zcoefh(:,:,:) | |||
| real, | intent(out) | :: | zcoefm(:,:,:) |
! nrlmd+jyg le 02/05/2011 et le 20/02/2012 |
||
| real, | intent(out), | DIMENSION(klon) | :: | slab_wfbils | ||
| real, | intent(out), | DIMENSION(klon) | :: | qsol | ||
| real, | intent(out), | DIMENSION(klon) | :: | zq2m | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_pblh |
! jyg le 08/02/2012 |
|
| real, | intent(out), | DIMENSION(klon) | :: | s_plcl |
! jyg le 08/02/2012 |
|
| real, | intent(out), | DIMENSION(klon) | :: | s_pblh_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_plcl_x | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_pblh_w |
! |
|
| real, | intent(out), | DIMENSION(klon) | :: | s_plcl_w |
! |
|
| real, | intent(out), | DIMENSION(klon) | :: | s_capCL | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_oliqCL | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_cteiCL | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_pblT | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_therm | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_trmb1 | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_trmb2 | ||
| real, | intent(out), | DIMENSION(klon) | :: | s_trmb3 | ||
| real, | intent(out), | DIMENSION(klon) | :: | zustar | ||
| real, | intent(out), | DIMENSION(klon) | :: | zu10m | ||
| real, | intent(out), | DIMENSION(klon) | :: | zv10m | ||
| real, | intent(out), | DIMENSION(klon) | :: | fder_print | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxqsurf | ||
| real, | intent(out), | DIMENSION(klon) | :: | delta_qsurf | ||
| real, | intent(out), | DIMENSION(klon) | :: | rh2m | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | zxfluxu | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | zxfluxv | ||
| 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(out), | DIMENSION(klon, nbsrf) | :: | sollw | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | solsw | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | d_ts | ||
| real, | intent(inout), | DIMENSION(klon, nbsrf) | :: | evap | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | fluxlat | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | t2m | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | wfbils | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | wfevap | ||
| real, | intent(out), | DIMENSION(klon, klev, nbsrf) | :: | flux_t | ||
| real, | intent(out), | DIMENSION(klon, klev, nbsrf) | :: | flux_u | ||
| real, | intent(out), | DIMENSION(klon, klev, nbsrf) | :: | flux_v | ||
| real, | intent(out), | DIMENSION(klon) | :: | dflux_t | ||
| real, | intent(out), | DIMENSION(klon) | :: | dflux_q | ||
| real, | intent(out), | DIMENSION(klon) | :: | zxsnow | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | zxfluxt | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | zxfluxq | ||
| real, | intent(out), | DIMENSION(klon, klev) | :: | zxfluxqbs | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | q2m | ||
| real, | intent(out), | DIMENSION(klon, klev, nbsrf) | :: | flux_q | ||
| real, | intent(out), | DIMENSION(klon, klev, nbsrf) | :: | flux_qbs | ||
| real, | intent(inout), | DIMENSION(klon, klev+1, nbsrf+1) | :: | tke_x | ||
| real, | intent(out), | DIMENSION(klon,klev+1,nbsrf+1) | :: | eps_x | ||
| real, | intent(inout), | DIMENSION(klon, klev+1, nbsrf+1) | :: | wake_dltke |
jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 ! |
|
| real, | intent(inout), | DIMENSION(klon, klev, nbsrf) | :: | treedrg | ||
| real, | intent(inout), | DIMENSION(klon) | :: | hice | ||
| real, | intent(inout), | DIMENSION(klon) | :: | tice | ||
| real, | intent(inout), | DIMENSION(klon) | :: | bilg_cumul | ||
| real, | intent(inout), | DIMENSION(klon) | :: | fcds | ||
| real, | intent(inout), | DIMENSION(klon) | :: | fcdi | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dh_basal_growth | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dh_basal_melt | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dh_top_melt | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dh_snow2sic | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dtice_melt | ||
| real, | intent(inout), | DIMENSION(klon) | :: | dtice_snow2sic |
|
|
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | tsurf_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nsoilmx, nbtersrf) | :: | tsoil_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | qsurf_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | tsurf_new_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | cdragm_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | cdragh_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | swnet_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | lwnet_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | fluxsens_tersrf | ||
| real, | intent(inout), | DIMENSION(klon, nbtersrf) | :: | fluxlat_tersrf |
Deallocate module variables
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real, | intent(out), | DIMENSION(klon) | :: | fder_rst | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | snow_rst | ||
| real, | intent(out), | DIMENSION(klon, nbsrf) | :: | qsurf_rst | ||
| real, | intent(out), | DIMENSION(klon, nsoilmx, nbsrf) | :: | ftsoil_rst |
Return module variables for writing to restart file |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | itime | |||
| real, | intent(in), | DIMENSION(klon,nbsrf) | :: | pctsrf_new |
|
|
| real, | intent(in), | DIMENSION(klon,nbsrf) | :: | pctsrf_old |
|
|
| 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,nbsrf) | :: | tsurf | ||
| real, | intent(inout), | DIMENSION(klon,nsw,nbsrf) | :: | alb_dir | ||
| real, | intent(inout), | DIMENSION(klon,nsw,nbsrf) | :: | alb_dif | ||
| real, | intent(inout), | DIMENSION(klon,nbsrf) | :: | ustar | ||
| real, | intent(inout), | DIMENSION(klon,nbsrf) | :: | u10m | ||
| real, | intent(inout), | DIMENSION(klon,nbsrf) | :: | v10m | ||
| real, | intent(inout), | DIMENSION(klon,klev+1,nbsrf+1) | :: | tke |
|