| 1 | MODULE physiq_limit_variables_mod |
|---|
| 2 | ! L. Fita, November 2013. Making them accessible. Since wrfinput/wrfbdy/wrfrst/wrflow files are been used |
|---|
| 3 | |
|---|
| 4 | IMPLICIT NONE |
|---|
| 5 | |
|---|
| 6 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: restart_runoff |
|---|
| 7 | !$OMP THREADPRIVATE(restart_runoff) |
|---|
| 8 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: qsol_rst |
|---|
| 9 | !$OMP THREADPRIVATE(qsol_rst) |
|---|
| 10 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: fder_rst |
|---|
| 11 | !$OMP THREADPRIVATE(fder_rst) |
|---|
| 12 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: snow_rst |
|---|
| 13 | !$OMP THREADPRIVATE(snow_rst) |
|---|
| 14 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: qsurf_rst |
|---|
| 15 | !$OMP THREADPRIVATE(qsurf_rst) |
|---|
| 16 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: evap_rst |
|---|
| 17 | !$OMP THREADPRIVATE(evap_rst) |
|---|
| 18 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: rugos_rst |
|---|
| 19 | !$OMP THREADPRIVATE(rugos_rst) |
|---|
| 20 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: agesno_rst |
|---|
| 21 | !$OMP THREADPRIVATE(agesno_rst) |
|---|
| 22 | REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: ftsoil_rst |
|---|
| 23 | !$OMP THREADPRIVATE(ftsoil_rst) |
|---|
| 24 | |
|---|
| 25 | CONTAINS |
|---|
| 26 | |
|---|
| 27 | SUBROUTINE vars_limit() |
|---|
| 28 | ! Do not do nothing. |
|---|
| 29 | |
|---|
| 30 | IMPLICIT NONE |
|---|
| 31 | |
|---|
| 32 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: restart_runoff |
|---|
| 33 | !$OMP THREADPRIVATE(restart_runoff) |
|---|
| 34 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: qsol_rst |
|---|
| 35 | !$OMP THREADPRIVATE(qsol_rst) |
|---|
| 36 | REAL, ALLOCATABLE, DIMENSION(:), SAVE :: fder_rst |
|---|
| 37 | !$OMP THREADPRIVATE(fder_rst) |
|---|
| 38 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: snow_rst |
|---|
| 39 | !$OMP THREADPRIVATE(snow_rst) |
|---|
| 40 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: qsurf_rst |
|---|
| 41 | !$OMP THREADPRIVATE(qsurf_rst) |
|---|
| 42 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: evap_rst |
|---|
| 43 | !$OMP THREADPRIVATE(evap_rst) |
|---|
| 44 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: rugos_rst |
|---|
| 45 | !$OMP THREADPRIVATE(rugos_rst) |
|---|
| 46 | REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: agesno_rst |
|---|
| 47 | !$OMP THREADPRIVATE(agesno_rst) |
|---|
| 48 | REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: ftsoil_rst |
|---|
| 49 | !$OMP THREADPRIVATE(ftsoil_rst) |
|---|
| 50 | |
|---|
| 51 | END SUBROUTINE |
|---|
| 52 | |
|---|
| 53 | SUBROUTINE vars_limit_init(klon) |
|---|
| 54 | ! Subroutine to initialize limit variables |
|---|
| 55 | |
|---|
| 56 | USE mod_grid_phy_lmdz, ONLY: klon_glo |
|---|
| 57 | USE indice_sol_mod |
|---|
| 58 | |
|---|
| 59 | IMPLICIT NONE |
|---|
| 60 | |
|---|
| 61 | INCLUDE "dimensions.h" |
|---|
| 62 | INCLUDE "dimsoil.h" |
|---|
| 63 | |
|---|
| 64 | INTEGER, INTENT(IN) :: klon |
|---|
| 65 | |
|---|
| 66 | !! IF (ALLOCATED(restart_runoff)) DEALLOCATE(restart_runoff) |
|---|
| 67 | ALLOCATE(restart_runoff(klon)) |
|---|
| 68 | |
|---|
| 69 | !! IF (ALLOCATED(qsol_rst)) DEALLOCATE(qsol_rst) |
|---|
| 70 | ALLOCATE(qsol_rst(klon)) |
|---|
| 71 | !! IF (ALLOCATED(fder_rst)) DEALLOCATE(fder_rst) |
|---|
| 72 | ALLOCATE(fder_rst(klon)) |
|---|
| 73 | !! IF (ALLOCATED(snow_rst)) DEALLOCATE(snow_rst) |
|---|
| 74 | ALLOCATE(snow_rst(klon, nbsrf)) |
|---|
| 75 | !! IF (ALLOCATED(qsurf_rst)) DEALLOCATE(qsurf_rst) |
|---|
| 76 | ALLOCATE(qsurf_rst(klon, nbsrf)) |
|---|
| 77 | !! IF (ALLOCATED(evap_rst)) DEALLOCATE(evap_rst) |
|---|
| 78 | ALLOCATE(evap_rst(klon, nbsrf)) |
|---|
| 79 | !! IF (ALLOCATED(rugos_rst)) DEALLOCATE(rugos_rst) |
|---|
| 80 | ALLOCATE(rugos_rst(klon, nbsrf)) |
|---|
| 81 | !! IF (ALLOCATED(agesno_rst)) DEALLOCATE(agesno_rst) |
|---|
| 82 | ALLOCATE(agesno_rst(klon, nbsrf)) |
|---|
| 83 | !! IF (ALLOCATED(ftsoil_rst)) DEALLOCATE(ftsoil_rst) |
|---|
| 84 | ALLOCATE(ftsoil_rst(klon, nsoilmx, nbsrf)) |
|---|
| 85 | |
|---|
| 86 | RETURN |
|---|
| 87 | |
|---|
| 88 | END SUBROUTINE vars_limit_init |
|---|
| 89 | |
|---|
| 90 | END MODULE physiq_limit_variables_mod |
|---|