Changeset 1067 for LMDZ4/trunk/libf/phylmd/surf_land_mod.F90
- Timestamp:
- Dec 17, 2008, 2:30:13 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/surf_land_mod.F90
r996 r1067 1 !2 ! $Header$3 1 ! 4 2 MODULE surf_land_mod 5 3 6 USE surface_data, ONLY : ok_veget7 USE dimphy8 9 #ifdef CPP_VEGET10 USE surf_land_orchidee_mod11 #endif12 USE surf_land_bucket_mod13 14 4 IMPLICIT NONE 15 5 … … 21 11 rlon, rlat, & 22 12 debut, lafin, zlev, ccanopy, swnet, lwnet, albedo, & 23 tsurf, p1lay, tq_cdrag, precip_rain, precip_snow, temp_air, spechum, & 24 petAcoef, peqAcoef, petBcoef, peqBcoef, & 25 pref, u1_lay, v1_lay, rugoro, pctsrf, & 13 tsurf, p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, & 14 AcoefH, AcoefQ, BcoefH, BcoefQ, & 15 AcoefU, AcoefV, BcoefU, BcoefV, & 16 pref, u1, v1, rugoro, pctsrf, & 26 17 snow, qsol, agesno, tsoil, & 27 18 z0_new, alb1_new, alb2_new, evap, fluxsens, fluxlat, & 28 19 qsurf, tsurf_new, dflux_s, dflux_l, & 20 flux_u1, flux_v1, & 29 21 lwdown_m) 22 23 USE dimphy 24 USE surface_data, ONLY : ok_veget 25 USE surf_land_orchidee_mod 26 USE surf_land_bucket_mod 27 USE calcul_fluxs_mod 30 28 31 29 INCLUDE "indicesol.h" … … 46 44 REAL, DIMENSION(klon), INTENT(IN) :: tsurf 47 45 REAL, DIMENSION(klon), INTENT(IN) :: p1lay 48 REAL, DIMENSION(klon), INTENT(IN) :: tq_cdrag46 REAL, DIMENSION(klon), INTENT(IN) :: cdragh, cdragm 49 47 REAL, DIMENSION(klon), INTENT(IN) :: precip_rain, precip_snow 50 48 REAL, DIMENSION(klon), INTENT(IN) :: temp_air, spechum 51 REAL, DIMENSION(klon), INTENT(IN) :: petAcoef, peqAcoef52 REAL, DIMENSION(klon), INTENT(IN) :: petBcoef, peqBcoef49 REAL, DIMENSION(klon), INTENT(IN) :: AcoefH, AcoefQ, BcoefH, BcoefQ 50 REAL, DIMENSION(klon), INTENT(IN) :: AcoefU, AcoefV, BcoefU, BcoefV 53 51 REAL, DIMENSION(klon), INTENT(IN) :: pref ! pressure reference 54 REAL, DIMENSION(klon), INTENT(IN) :: u1 _lay, v1_lay52 REAL, DIMENSION(klon), INTENT(IN) :: u1, v1 55 53 REAL, DIMENSION(klon), INTENT(IN) :: rugoro 56 54 REAL, DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf … … 75 73 REAL, DIMENSION(klon), INTENT(OUT) :: tsurf_new 76 74 REAL, DIMENSION(klon), INTENT(OUT) :: dflux_s, dflux_l 75 REAL, DIMENSION(klon), INTENT(OUT) :: flux_u1, flux_v1 ! flux for U and V at first model level 77 76 78 77 ! Local variables … … 84 83 REAL, DIMENSION(klon) :: epot_air ! potential air temperature 85 84 REAL, DIMENSION(klon) :: tsol_rad, emis_new ! output from interfsol not used 85 REAL, DIMENSION(klon) :: u0, v0 ! surface speed 86 86 INTEGER :: i 87 87 … … 117 117 END DO 118 118 119 #ifdef CPP_VEGET120 119 ! temporary for keeping same results using lwdown_m instead of lwdown 121 120 CALL surf_land_orchidee(itime, dtime, date0, knon, & 122 121 knindex, rlon, rlat, pctsrf, & 123 122 debut, lafin, & 124 zlev, u1 _lay, v1_lay, temp_air, spechum, epot_air, ccanopy, &125 tq_cdrag, petAcoef, peqAcoef, petBcoef, peqBcoef, &123 zlev, u1, v1, temp_air, spechum, epot_air, ccanopy, & 124 cdragh, AcoefH, AcoefQ, BcoefH, BcoefQ, & 126 125 precip_rain, precip_snow, lwdown_m, swnet, swdown, & 127 126 pref_tmp, & … … 129 128 tsol_rad, tsurf_new, alb1_new, alb2_new, & 130 129 emis_new, z0_new, qsurf) 131 #endif132 130 133 131 ! … … 144 142 !**************************************************************************************** 145 143 CALL surf_land_bucket(itime, jour, knon, knindex, debut, dtime,& 146 tsurf, p1lay, tq_cdrag, precip_rain, precip_snow, temp_air, &147 spechum, petAcoef, peqAcoef, petBcoef, peqBcoef, pref, &148 u1 _lay, v1_lay, rugoro, swnet, lwnet, &144 tsurf, p1lay, cdragh, precip_rain, precip_snow, temp_air, & 145 spechum, AcoefH, AcoefQ, BcoefH, BcoefQ, pref, & 146 u1, v1, rugoro, swnet, lwnet, & 149 147 snow, qsol, agesno, tsoil, & 150 148 qsurf, z0_new, alb1_new, alb2_new, evap, & … … 153 151 ENDIF ! ok_veget 154 152 153 !**************************************************************************************** 154 ! Calculation for all land models 155 ! - Flux calculation at first modele level for U and V 156 !**************************************************************************************** 157 ! Suppose zero surface speed 158 u0(:)=0.0 159 v0(:)=0.0 160 CALL calcul_flux_wind(knon, dtime, & 161 u0, v0, u1, v1, cdragm, & 162 AcoefU, AcoefV, BcoefU, BcoefV, & 163 p1lay, temp_air, & 164 flux_u1, flux_v1) 165 155 166 END SUBROUTINE surf_land 156 167 !
Note: See TracChangeset
for help on using the changeset viewer.